Teori Bahasa Pemrograman Visual Basic - zulhalim.com fileVisual Basic Kuliah 1:Perkenalan ......
-
Upload
phungthien -
Category
Documents
-
view
255 -
download
2
Transcript of Teori Bahasa Pemrograman Visual Basic - zulhalim.com fileVisual Basic Kuliah 1:Perkenalan ......
Teori Bahasa Pemrograman Visual Basic
Kuliah 1:Perkenalan dan Sylabus
Zulhalim, SKom, MTI 1
ZULHALIM, SKom, MTI
STMIK JAYAKARTA
2013
Kuliah 1:Perkenalan dan Sylabus
Sylabus (1)
1. Perkenalan / Sylabus
2. .NET Framework
3. Form dan Kontrol
4/7/2014 Zulhalim, SKom, MTI 2
4. Pemrograman I
5. Pemrograman II
6. Fungsi Standar
7. Pemrograman OOP
8. UTS
Sylabus (2)
9. ADO.NET
10. Konsep Database MS Access
11. Konsep Laporan Crystal Report
4/7/2014 Zulhalim, SKom, MTI 3
12.Optimasi, Debugging, Testing
13. Instalasi Aplikasi
14. Presentasi Tugas I
15. Presentasi Tugas II
16.UAS
Syarat awal / pre-request
Konsep Algoritma Pemrograman
Konsep Pemrograman Object-Oriented
Konsep Sistem Database
4/7/2014 Zulhalim, SKom, MTI 4
Material Penunjang
Pemrograman Dasar Visual Basic .NET 2005, Panduan Sertifikasi MCTS (Exam 70-526) , Yuswanto, Cerdas Pustaka Publisher , 2008
Membangun Aplikasi Database Menggunakan ADO.NET 2.0, Panduan
Zulhalim, SKom, MTI 5
Menggunakan ADO.NET 2.0, Panduan Sertifikasi MCTS (Exam 70 – 526), Tan Amelia, Cerdas Pustaka Publisher, 2008
Beginning Programming Visual Basic 2005 Trainning Video, InsertKnowledgehere.com, 2006
PeraturanAbsensi� Wajib 50% kehadiran, jika kurang maka diberikan nilai “D” / gagal
� Kehadiran 100%, minimal nilai adalah “C”
� Harap berikan surat sakit / izin, jika berhalangan
4/7/2014 Zulhalim, SKom, MTI 6
� Harap berikan surat sakit / izin, jika berhalangan hadir
Penilaian� 10% absensi
� 30% UTS
� 15% tugas
� 45% UAS
Tugas Kelompok
Buat kelompok yang terdiri dari maksimum 5 orang
Tugas membuat paper mengenai pemrograman Visual Basic .NET, spesifikasi
4/7/2014 Zulhalim, SKom, MTI 7
pemrograman Visual Basic .NET, spesifikasi akan diberikan sebelum UTS
Paper dikumpulkan maksimum pada pertemuan ke 12 (dua belas)
Tugas dipresentasikan didepan kelas pada akhir kuliah ini / sebelum UAS
Kontak Dosen
Email_1: [email protected]
Email_2: [email protected]
YM ID: zoelhalim
Zulhalim, SKom, MTI 8
YM ID: zoelhalim
HP: 0812 806 5138
Bahasa Pemrograman
Adalah teknik komando/instruksi standar untuk memerintah komputer.
Bahasa pemrograman ini merupakan suatu himpunan dari aturan sintaks dan semantik yang dipakai untuk dari aturan sintaks dan semantik yang dipakai untuk mendefinisikan program komputer.
Bahasa ini memungkinkan seorang programmer dapat menentukan secara persis data mana yang akan diolah oleh komputer, bagaimana data ini akan disimpan/diteruskan, dan jenis langkah apa secara persis yang akan diambil dalam berbagai situasi.
4/7/2014 Zulhalim, SKom, MTI 9
Generasi Bhs Pemrograman
0 Bahasa Mesin, yaitu memberikan perintah kepada komputer dengan memakai kode bahasa biner, contohnya 01100101100110
1st Bahasa Tingkat Rendah, atau dikenal dengan istilah bahasa rakitan (Assembly), yaitu memberikan perintah kepada komputer dengan memakai kode-kode singkat (kode mnemonic), contohnya MOV, SUB, CMP, JMP, JGE, JL, LOOP, dsb.CMP, JMP, JGE, JL, LOOP, dsb.
2nd Bahasa Tingkat Menengah, yaitu bahasa komputer yang memakai campuran instruksi dalam kata-kata bahasa manusia (lihat contoh Bahasa Tingkat Tinggi di bawah) dan instruksi yang bersifat simbolik, contohnya {, }, ?, <<, >>, &&, ||, dsb.
3rd Bahasa Tingkat Tinggi, yaitu bahasa komputer yang memakai instruksi berasal dari unsur kata-kata bahasa manusia, contohnya begin, end, if, for, while, and, or, dsb.
4th Bahasa SQL, untuk query ke sistem database (select,insert, update, delete)
4/7/2014 Zulhalim, SKom, MTI 10
Versi Visual BasicBASICA, BASIC, GWBASIC, Qbasic, TurboBasic
Visual Basic 1.0 dirilis untuk Windows Mei 1991, untuk DOS dirilis pada September 1992
Visual Basic 2.0 dirilis pada November 1992
Visual Basic 3.0 dirilis pada musim semi 1993 dgn Microsoft Jet Database Engine .Database Engine .
Visual Basic 4.0 (Agustus 1995) adalah versi pertama yang dapat membuat program 32-bit seperti program 16-bit dan ActiveX.
Dengan versi 5.0 (Februari 1997), Microsoft merilis Visual Basic eksklusif untuk versi 32-bit.
Visual Basic 6.0 (pertengahan 1998) telah diimprovisasi di beberapa bagian, termasuk kemampuan barunya, yaitu membuat aplikasi web.
Zulhalim, SKom, MTI 11
Versi Visual Basic .NET
VB.NET 2002 (VB 7.0), Feb 2002 dengan .NET Framework 1.0
VB.NET 2003 (VB 7.1), Mar 2003 dengan .NET Framework 1.1 dan Compact .NET FrameworkFramework 1.1 dan Compact .NET Framework
VB 2005 (VB 8.0), .NET framework 2.0, “My” , “using”code
VB 2008 (VB 9.0), Nov 2007, .NET Framework 3.5, LINQ dan PLINQ support
VB 2010 (VB 10), Apr 2010, .NET Framework 4.0, mobile application, C# support
4/7/2014 Zulhalim, SKom, MTI 12
.NET FrameworkMerupakan teknologi yang dibuat Microsoft untuk cross-development (Desktop & Web application) dan cross-flatform
SejarahDynamic Data Exchange (DDE) di Windows 3.0
4/7/2014 Zulhalim, SKom, MTI 13
� Dynamic Data Exchange (DDE) di Windows 3.0
� Common Object Model (COM) dan Distributed COM (DCOM)
� CORBA oleh IBM, Sun dan Apple
� COM+, Microsoft Transaction Server (MTS) dan Distributed Network Architecture (DNA)
� 2001: .NET framework untuk Windows 95 keatas
� .NET compact framework untuk Windows CE
Arsitektur .NET Framework
Zulhalim, SKom, MTI 14
Common Language Runtime
Merupakan antarmuka antara kode sumber dan sistem operasi
Menyediakan fitur–fitur:
4/7/2014 Zulhalim, SKom, MTI 15
Menyediakan fitur–fitur:
� Memory management
� Common type system
� Garbage collection
Menggantikan runtime file
Object Oriented Penuh
OO: pemrograman berorientasikan kepada object dengan konsep objects, methods dan properties
Sudah support inheritance (pewarisan)
4/7/2014 Zulhalim, SKom, MTI 16
Sudah support inheritance (pewarisan)� Overriding, replace existing method
� Overloading, supplement existing method
Penggunaan namespace untuk menjaga sumber daya aplikasi yang terpisah untuk menjaga global conflicts
Type Safety
Type Safety:
� Merupakan pelaksanaan kompatibilitas suatu variabel ketika memindahkan data dari satu variabel ke variable yang lain
Zulhalim, SKom, MTI 17
variabel ke variable yang lain
Casting: proses secara explicit mengubah tipe data variable (CLng,Cdbl,CStr, dll)
Option Strict [On / Off]
Operasi bitwise, kondisi IF harus Boolean
Kompiler baru
Aplikasi dapat langsung dicompile pada DOS prompt menggunakan wsc.exe
Kompilasi tidak langsung mengubah kode kedalam kode mesin spesifik, kode dicompile
4/7/2014 Zulhalim, SKom, MTI 18
kedalam kode mesin spesifik, kode dicompile menjadi MSIL (Microsoft Intermediate Languange)
Syntax MSIL sama seperti kode mesin, tetapi setiap EXE atau DLL yang dihasilkan masih diinterpretasikan lagi oleh CLR pada saat Runtime
File Kode Sumber VB.NET
.sln � file solution yang berisi informasi tentang project
.suo � file solution selected user option
.vb � berisi definisi dari form
4/7/2014 Zulhalim, SKom, MTI 19
.vb � berisi definisi dari form
.resx � file resources dari form
.vbproj � file project dan daftar file yang termasuk kedalam aplikasi
vbproj.user � file project selected user option
Perubahan dari VB 6.0Tipe data Variant dihilangkan
Semua array dimulai dari 0 (option base n)
Fixed length string dihilangkan (dim s * 12)
NULL value, gunakan fungsi isnull()
GoTo,GoSub dihilangkan
Zulhalim, SKom, MTI 20
GoTo,GoSub dihilangkan
Function menggunakan Return untuk menghasilkan nilai pada nama fungsi
Short circuit pada operator AND
Variable length: � Short� Byte, Integer � Short, Long � Integer
Question ?
Zulhalim, SKom, MTI 21
THANK YOU
Teori Bahasa Pemrograman Visual Basic
Kuliah 2: .NET Framework
4/7/2014 Zulhalim, SKom, MTI
Kuliah 2: .NET Framework
ZULHALIM, SKom, MTI
STMIK JAYAKARTA
Definisi .NET Framework.NET Framework adalah lingkungan membangun (develop), menyebarkan(deploy), dan menjalankan (run) aplikasi dan service WebAdalah platform tunggal di mana semua orang dapat mengembangkan aplikasi menggunakan suatu sistem yang mirip dengan “Virtual Machine”
4/7/2014 Zulhalim, SKom, MTI
yang mirip dengan “Virtual Machine”
Mirip seperti Java Virtual Machine (JVM), tetapi tidak ada penghalang menggunakan bahasa yang kompatible dengan .NET Framework (VB, C++, C#, J# dan 20 + bahasa lainnyaMembuat informasi tersedia di setiap saat dan di setiap tempatMenyederhanakan pengembangan dan penyebaran aplikasi
Bahasa .NET Compliant
Microsoft� C#
� C++
� VB.NET/ ASP.NET
Jscript.NET
4/7/2014 Zulhalim, SKom, MTI
� Jscript.NET
Lainnya� COBOL
� Pascal
� Dephi
� Perl
� Phyton
� Small Talk
Tujuan .NET Framework
Menyediakan lingkungan:� Pemrograman berorientasi object, baik secara lokal dan remote / Internet
� Meminimalkan konfilk saat deployment dan
4/7/2014 Zulhalim, SKom, MTI
� Meminimalkan konfilk saat deployment dan versioning
� Mengeliminasi masalah performa dari lingkungan “scripted” dan “interpreted”
Membuat pengembang memiliki pengalaman yang konsisten dalam berbagai tipe aplikasi (Windows dan Web)
Desain .NET FrameworkInteroperability� Interaksi antara aplikasi lama dan baru (version)
Common Runtime Engine� Proses kompilasi tidak langsung menjadi kode mesin (MSIL � JIT � native code)
4/7/2014 Zulhalim, SKom, MTI
mesin (MSIL � JIT � native code)
Language Independent� Spesifikasi Common Type System menentukan tipe data dan struktur bahasa program yang bisa atau tidak bisa berinteraksi
Base Class Library� Menyediakan beberapa kelas dasar yang terdiri dari beberapa fungsi umum
Desain .NET Framework –
contd.Simplified Development� Instalasi pada sistem tujuan dengan mudah dan keamanan yang baik
Security� Deteksi terhadap “vulnerabilities” seperti Buffer
4/7/2014 Zulhalim, SKom, MTI
� Deteksi terhadap “vulnerabilities” seperti Buffer Overflow pada aplikasi
Portability� Platform dan Machine Independent, suatu kode yang ditulis menggunakan .NET framework haruslah dapat diimplementasikan tanpa sama sekali mengubah kode tersebut
Arsitektur .NETCommon Language Infrastucture� Menyediakan infrastruktur yang “language independent”
Assemblies� Merupakan beberapa file data “manifest” yang
4/7/2014 Zulhalim, SKom, MTI
� Merupakan beberapa file data “manifest” yang memiliki “metadata” untuk assembly (simple text, version number, dan public key token)
Metadata� Mengandung informasi tentang assembly, CLR mengecek metadata untuk memastikan module/metode yang benar akan dieksekusi
Arsitektur .NET –contd.
Class Library� Merupakan perpustakaan dari banyak kelas yang dapat diakses oleh semua bahasa pemrograman .Net compatibe
Security
4/7/2014 Zulhalim, SKom, MTI
Security� Code Access Security, validasi dan verifikasi –pengaturan hak / permission granted
Memory management� Membebaskan developer untuk mengatur memory (mengalokasikan dan membebaskan ketika sudah selesai) menggunakan “garbage collection”
4/7/2014 Zulhalim, SKom, MTI
Tahapan Kompilasi
Kode sumber diubah menjadi “assembly”, yang menyimpan semua informasi tentang aplikasi
Proses kompilasi mengubah assembly menjadi “intermediate language” – Microsoft Intermediate Language (MSIL)
4/7/2014 Zulhalim, SKom, MTI
Language (MSIL)
Ketika dieksekusi MSIL dikonversikan ke kode mesin oleh Common Language Runtime (CLR) just-in-time (JIT compiler)
Dengan MSIL, aplikasi dapat dijalankan oleh semua platform yang support CLR tanpa mengubah kode sumber
4/7/2014 Zulhalim, SKom, MTI
Versi .NET Framework
.NET Framework 1.0� Feb 2002, release pertama
.NET Framework 1.1 (VS.NET 2003)� Apr 2003, ASP.NET control, Code Access Security, Built-in ODBC dan ORACLE support, IPV6, .NET
4/7/2014 Zulhalim, SKom, MTI
� Apr 2003, ASP.NET control, Code Access Security, Built-in ODBC dan ORACLE support, IPV6, .NET Micro Framework
.NET Framework 2.0 (VS.NET 2005)� Jan 2006, 64 bit support, scheduler dan memory management tersendiri, ASP.NET (Themes, Skin, web komponen
Versi .NET –contd..NET Framework 3.0 (WinFX)� Nov 2006, Integerasi dengan Win Vista dan Win Server 2008
� Tambahan komponen:� Windows Presentation Fondation (WPF)
4/7/2014 Zulhalim, SKom, MTI
� Windows Communication Foundation (WCF)
� Windows WorkFlow Foundation (WF)
� Windows CardSpace
.NET Framework 3.5� Nov 2007, RTM , VB.NET 9.0 Compiler
� Language Integrated Query (LINQ) � SQL, XML, Object
Diskusi….
Kompetitor .NET Framework ?
4/7/2014 Zulhalim, SKom, MTI
Kekurangan .NET Framework ?
Diskusi..
Future Development:
� Paralel LINQ (PLINQ)
4/7/2014 Zulhalim, SKom, MTI
� Task Paralel Library (TPL)
Question ?
4/7/2014 Zulhalim, SKom, MTI
THANK YOU
Teori Bahasa Pemrograman Visual Basic
Kuliah 3: Form dan Kontrol
4/7/2014 Zulhalim, SKom, MTI 1
Kuliah 3: Form dan Kontrol
ZULHALIM, SKom, MTI
STMIK JAYAKARTA
Definisi FormForm merupakan representasi dari suatu window (bagian yang dapat dilihat oleh pengguna dari suatu penampilan aplikasi)Kegunaan form adalah untuk menampilkan informasi kepada pengguna atau untuk mengumpulkan input dari penggunaSuatu form merupakan suatu object yang mempunyai:
4/7/2014 Zulhalim, SKom, MTI 2
mempunyai:� Properties: mendefinisikan penampilan (appearance)� Method: mendefinisikan perilaku (behaviour)� Events: mendefinisikan interaksi dengan pengguna
Pada VB 6, form disimpan dalam file *.frm yang dapat diubah tetapi tidak dapat dilihat kode formSedangkan dalam VB.Net, form disimpan dalam file *.vb seperti class lainnya dan dapat dilihat kode form nya
Form Sebagai Class
Pada saat kita menambahkan suatu form, terdapat dua baris kode paling atas yang merupakan deklarasi awal dari formBaris pertama mendeklarasikan class baru dengan nama Form1. Dalam VB.NET kita dapat mendeklarasikan class dalam sembarang tempat di file kode, tidak terbatas di modul class saja
Public Class Form1Inherits System.Windows.Forms.Form
End Class
4/7/2014 Zulhalim, SKom, MTI 3
tempat di file kode, tidak terbatas di modul class sajaBaris kedua menggunakan pernyataan Inherits yang menentukan dari mana class Form1 diturunkan yaitu dari namespace System.Windows.Forms.FormDari dua baris kode tersebut dapat disimpulkan bahwa form dalam VB .NET adalah class dan class form diturunkan dari class System.Windows.Forms.FormSetelah form baru ditambahkan ke proyek, form tersebut dapat memiliki menu sendiri, menanggapi event, tempat kontrol diletakkan, dan sebagainyaUntuk mempermudah kita membuat aplikasi, kita dapat membuat class turunan yang inherit/mewarisi fungsionalitas dari base class form sehingga kita dapat dengan mudah memodifikasi form sesuai keinginan
Modal Vs ModelessForm modal � Form yang harus ditutup terlebih
dahulu sebelum pengguna dapat mengakses form lainnya
� Gunakan metode ShowDialog() untuk menampilkan form sebagai form modal
---vb 6---
Namaform.Show vbmodal
---Vb.Net---
Namaform.ShowDialog()
4/7/2014 Zulhalim, SKom, MTI 4
sebagai form modal
Form modeless � Form yang tidak harus ditutup
terlebih dahulu ketika pengguna membuka form lainnya
� Gunakan metode Show() untuk menampilkan form sebagai form modeless
Namaform.ShowDialog()
Namaform.Show ()
Mengubah Warna FormMenggunakan Jendela Properti Palette: � Untuk mengatur nilai properti BackColor dan ForeColor dapat
digunakan tiga pelette yang sudah ada di jendela properti VB .NET yaitu: palette custom, palette Web, dan palette System
� Untuk mengakses palette, dalam jendela Properties, pilih BackColor atau ForeColor.
� Selanjutnya klik panah bawah pada sebelah kanan jendela Properties untuk membuka palette dan memilih warna
Menggunakan Nilai Warna yang Sudah Didefinisikan:
4/7/2014 Zulhalim, SKom, MTI 5
Menggunakan Nilai Warna yang Sudah Didefinisikan: � Dalam VB 6, nilai warna dimasukkan dalam tipe data angkat
long integer, sedangkan dalam VB.NET warna dimasukkan pada dua tipe data baru nama namaspace: System.Drawing.Color dan System.Drawing
� Systemcolor (kedua tipe memiliki nilai kembalian berupa struktur warna berupa angkat 32 bit). Anda dapat menggunakan anggota dari class System.Drawing.Color dan System.Drawing
� SystemColor untuk menerapkan nilai warna yang sudah didefinisikan ke aplikasi Anda. Contohnya: Color.Black adalah anggota dari System.Drawing.Color
FormBorderStyleForm Windows memiliki beberapa model yang berbeda. Model diatur menggunakan properti FormBodyStyleModel akan mengubah tampilan dasar jendela ketika form berjalan seperti:� None: Jendela tanpa border dan pemakai tidak dapat mengubah ukuran jendela.
Biasanya digunakan untuk layar splash/pembuka� FixedSingle: Jendela dengan border garis tunggal dan pemakai tidak dapat
mengubah ukuran jendela� Fixed3D: Jendela dengan border efek 3D atau efek timbul dan pemakai tidak
dapat mengubah ukuran jendela
4/7/2014 Zulhalim, SKom, MTI 6
dapat mengubah ukuran jendela� FixedDialog: Mirip FixedSingle, kecuali border terlihat memiliki ceruk dan
pemakai tidak dapat mengubah ukuran jendela.Model ini biasanya digunakan untuk membuat kotak dialog
� Sizeable: Pengaturan deafult, di mana pemakai dapat mengubah ukuran jendela dan tampilannya seperti FixedSingle
� FixedToolWindow: Border tunggal, jendela yang tidak dapat diubah ukurannya, hanya ada tombol Close dan teks dengan ukuran kecil di baris judul. Tidak menampilkan icon di baris judul dan di taskbar
� SizeableToolWindow: Seperti FixedToolWindow tetapi ukuran jendela dapat diubah
StartPositionProperti StartPosition menentukan posisi form ketika pertama kali dijalankanMengatur posisi form di tengah-tengah layar akan membuat aplikasi Anda terlihat profesional. Caranya pilih properti StartPosition dengan CenterScreenBiasanya setelah form ditampilkan, pemakai dapat mengubah posisi form seperti:
Manual: Posisi form disesuaikan dengan nilai yang didefinisikan
4/7/2014 Zulhalim, SKom, MTI 7
� Manual: Posisi form disesuaikan dengan nilai yang didefinisikan dalam properti Location
� CenterScreen: Menampilkan form di tengah layar� WindowsDefaultLocation: Menampilkan form pada lokasi
default Windows� Windows DefaultBounds: Menampilkan form pada lokasi default
Windows dengan ukuran batas yang ditentukan oleh Windows default
� CenterParent: Menampilkan form anak di tengah form induk
Z - OrderKetika form Anda berisi banyak kontrol, mungkin Anda perlu untuk mengatur ulang urutan tampilan kontrolContohnya ketika Anda memiliki label kemudian di atasnya disisipkan GroupBox maka label menjadi tidak terlihat karena tertutup GroupBoxUrutan posisi kontrol tersebut disebut zorder di mana kontrol yang diletakkan paling belakang berada pada bagian paling atas formPosisi kontrol disebut layer/lapisanGunakan metode BringToFront untuk meletakkan kontrol pada
4/7/2014 Zulhalim, SKom, MTI 8
Gunakan metode BringToFront untuk meletakkan kontrol pada bagian paling atas dari zorderSebaliknya gunakan metode SendToBack untuk mengirimkan kontrol pada bagian paling bawah dari z-orderContoh kodenya sebagai berikut:� lblJudul.BringToFront ‘Letakkan di depan atau� GroupBox1.SendToBack ‘ Kirim ke belakang
Selain dengan kode, pada waktu desain urutan z-order bisa juga diubahdengan cara pilih objek kemudian klik menu Format>Order> Bring To Front untuk meletakkan di depan atau klik menu Format> Order>Send To Back untuk mengirimkan ke belakang
Aplikasi MDI (Multiple Document Interface)
Aplikasi MDI (antar muka dengan banyak dokumen) akan menampilkan banyak dokumen secara bersamaan, dengan masing-masing dokumen ditampilkan secara bersamaan, dengan masing-masing dokumen ditampilkan dalam Windows tersendiriAplikasi MDI terdiri dari satu form induk dan banyak form anakAnda dapat menentukan form anak mana yang aktif/fokus dengan klik mousePada aplikasi MDI pemakai dapat dengan cepat berpindah antar jendela anak dengan susunan jendela anak: tile/berjajar atau cascade/menumpuk
4/7/2014 Zulhalim, SKom, MTI 9
dengan susunan jendela anak: tile/berjajar atau cascade/menumpukUntuk membuat form induk, atur properti form IsMD Icontainer dengan Tree, Sedangkan untuk membuat form anak cukup dengan menambahkan form baru. Form induk MDI didukung dengan menu Windows dengan submenu:� Arrange Icons: Menampilkan icon dari form anak yang disusun sepanjang bagian
bawah dari form induk� Cascade: Menampilkan form anak secara cascade/menumpuk satu dengan lainnya
ke bawah� TileHorizontal: Menampilkan form anak secara tile/sejajar (tanpa menumpuk)
dimana masing-masing jendela anak mengisi lebar dari form induk� TileVertical: Menampilkan form anak secara tile/berjajar dimana masing-masing
jendela anak mengisi tinggi dari form induk
Msgbox
Kotak pesan (msgBox) gunanya untuk menampilkan kotak dialog berisi pesan dan menunggu pemakai untuk menutup dengan cara mengklik suatu tombolPrompt merupakan string yang akan ditampilkan sebagai pesan dalam kotak pesanJika Prompt berisi lebih dari satu baris, Anda dapat menambahkan pemisah baris menggunakan karakter
MsgBox(prompt[,tombol][,Judul])
4/7/2014 Zulhalim, SKom, MTI 10
menambahkan pemisah baris menggunakan karakter carriage return/pindah baris Chr(13), karakter linefeed Chr(10) atau kombinasi keduanyaTombol bersifat opsional merupakan angka yang menunjukkan nilai dari tombol yang ditampilkan, model icon yang digunakan, menentukan tombol default dan modalitas dari kotak pesanJudul, bersifat opsional merupakan string yang ditampilkan pada baris judul kotak pesan.Fungsi MsgBox memiliki nilai kembalian berupa angka integer yang menunjukkan tombol apa yang ditekan pemakai
InputBox
Kotak input (InputBox) gunanya untuk menampilkan teks pada kotak dialog, menunggu pemakai untuk meng input teks, kemudian mengklik tombol OK atau Cancel dan selanjutnya memberi nilai kembalian yang berupa string yang berada dalam kotak teksPrompt merupakan string yang akan ditampilkan sebagai pesan dalam kotak input. Jika diperlukan prompt akan dipecah menjadi banyak baris secara otomatis. Untuk mengatur pindah baris melalui kode gunakan karakter
InputBox$(prompt[,judul][, default][,xpos][,ypos])
4/7/2014 Zulhalim, SKom, MTI 11
otomatis. Untuk mengatur pindah baris melalui kode gunakan karakter carraige return Chr(13), karakter linefeed Chr(10) atau kombinasi keduanyaJudul merupakan judul yang muncul di baris judul kotak dialog Jika Anda tidak mengisi argumen Judul maka yang digunakan sebagai judul adalah judul aplikasiDefault merupakan input default yang dapat Anda gunakan untukmengantisipasi respon dari pemakai. Gunakan argumen ini untuk ditamplikan ketika kotak dialog pertama kali dibukaXpox dan Ypos merupakan kordinat dari sudut kiri atas kotak dialog dalam satuan pixelTeks yang dimasukkan pemakai dalam kotak dialog diberikan ke variabel. Nilai kembalian selalu string walaupun pemakai memasukkan informasi berupa angka atau tanggal
MenuMenu terdiri dari beberapa perintah (command) yang dikumpulkan/group berdasarkan kegunaan / topik yang umum atau samaMenu memudahkan pengguna dalam melakukan navigasi fungsi terhadap aplikasiMenu dapat diakses oleh mouse dan keyboard dengan menentukan shortcut
Public Sub AddMenu()Dim mmMainMenu As New MainMenu()Dim mnuFile As New MenuItem()Dim mnuFileExit As New MenuItem()mnuFile.Text = "&File"mnuFileExit.Text = "E&xit"mmMainMenu.MenuItems.Add(mnuFile)
4/7/2014 Zulhalim, SKom, MTI 12
Menu dapat diakses oleh mouse dan keyboard dengan menentukan shortcut menggunakan kombinasi Alt + shorcut character (gunakan simbol “&” pada judul menu atau gunakan properti AccessKey untuk menentukan shortcut character)Membuat menu:� Design Time: Gunakan kontrol
MainMenu dan Menu Designer� Run Time: Gunakan fungsi AddMenu
untuk menambahkan suatu menu pada MainMenu
mnuFile.MenuItems.Add(mnuFileExit)Menu = mmMainMenuEnd Sub
Common Dialog BoxMerupakan dialogbox yang sudah ada (preconfigured) dalam Windows Forms framework, digunakan untuk suatu fungsi standar dengan tampilan yang familiar (dapat dengan mudah diingat) seperti:� OpenFileDialog: untuk membuka file dari suatu path /
direktori� SaveFileDialog: untuk menyimpan file kedalam suatu
path / direktori� FontDialog: untuk memilih fontasi dengan menghasilkan
4/7/2014 Zulhalim, SKom, MTI 13
� FontDialog: untuk memilih fontasi dengan menghasilkan nama jenis huruf yang dipilih
� ColorDialog: untuk memilih warna dengan menghasilkan color string yang dipilih
� PrintDialog: untuk mencetak file / object ke printer atau suatu file
� PrintPreviewDialog: sama seperti PrintDialog tetapi sebelum dicetak akan ditampilkan dahuku preview-nya
� PageSetupDialog: untuk mengatur properti halaman yang akan dicetak seperti: margin, papersize, orientation
Contoh Common Dialog Box
4/7/2014 Zulhalim, SKom, MTI 14
Mengenal KontrolForm Windows adalah bagian dari .NET Framework yang dapat Anda gunakan membuat antarmuka aplikasiKuliah ini difokuskan pada pengenalan kontrol dan komponen form Windows dasar dan penerapannya pada aplikasiKontrol dan komponen form Windows default yang terdapat di ToolBox, gambar dan tabel keterangannya sebagai berikut:
4/7/2014 Zulhalim, SKom, MTI 15
Menampilkan TeksLabel� Menampilkan teks tetapi pemakai
tidak dapat mengubahnya secara langsung
LinkLabel� Menampilkan teks dengan model
link web dan akan memicu suatu
4/7/2014 Zulhalim, SKom, MTI 16
link web dan akan memicu suatu event ketika pemakai mengkliknya
Status� Terletak di bagian bawah form
induk dan berisi informasi tentang keadaan aplikasi sekarang. Informasi ditampilkan dalam jendela yangmemiliki frame/panel
Edit TeksTextBox� Menampilkan teks yang dapat
diedit oleh pemakai pada saat programdijalankan atau diubah oleh program
RichText BoxMenampilkan teks dengan format
4/7/2014 Zulhalim, SKom, MTI 17
� Menampilkan teks dengan format plain text atau rich-text document
Memilih suatu daftarListBox
� Menampilkan daftar teks dan image gambar (icon)
CheckList Box� Menampilkan daftar item yang dapat digulung,
masing-masing item disertai dengan kotak cek
ComboBox� Menampilkan daftar drop-down dari item
ListView� Menampilkan item dengan satu diantara empat
4/7/2014 Zulhalim, SKom, MTI 18
� Menampilkan item dengan satu diantara empat cara:Tampilkan teks saja, teks dengan iconkecil, teks dengan icon besar, dan tampilan report
TreeView� Menampilkan kumpulan hierarkial dari objek node
yang selalu berisi teks dengan tambahan berupa kotak cek dengan icon
DomainUpDown� Menampilkan daftar item teks di mana pemakai
dapat menggulung menggunakan tombol up dan down
NumericUpDown� Menampilkan daftar angka di mana pemakai dapat
menggulung menggunakan tombol up dan down
Menangani Gambar
PictureBox
� Menampilkan file gambar seperti bitmap, png dan icon
4/7/2014 Zulhalim, SKom, MTI 19
ImageList
� Berfungsi sebagai tempat penyimpanan gambar
Mengatur nilai
CheckBox� Menampilkan kotak cek dan label teks, Umumnya
digunakan untuk mengatur pilihan
RadioButton
4/7/2014 Zulhalim, SKom, MTI 20
RadioButton� Menampilkan tombol yang dapat berganti antara
off dan on
TrackBar� Digunakan untuk mengatur suatu nilai pada skala
dengan cara menggerakkan “petunjuk” sepanjang skala
Kotak DialogOpenFileDialog� Menampilkan kotak dialog di mana pemakai dapat
melakukan navigasi dan membuka file
SaveFileDialog� Menampilkan kotak dialog di mana pemakai dapat memberi
nama dan menyimpan file
4/7/2014 Zulhalim, SKom, MTI 21
nama dan menyimpan file
FontDialog� Menampilkan kotak dialog di mana pemakai dapat mengatur
font dan atributnya
ColorDialog� Menampilkan kotak dialog untuk memilih warna sebagai
bagian dari antarmuka
Membuat Menu
Main Menu
� Menyediakan antarmuka untuk mendesain menu secara langsung
4/7/2014 Zulhalim, SKom, MTI 22
Context Menu
� Menampilkan menu popup ketika pemakai mengklik mouse kanan pada suatu object
Mengelompokan kontrol lain
Group Box� Mengelompokan kumpulan kontrol, bisa diberi
label judul dan frame yang tidak dapat digulung
Panel
4/7/2014 Zulhalim, SKom, MTI 23
Panel� Mengelompokan kumpulan kontrol, tidak bisa
diberi label judul dan frame yang dapat digulung
TabControl� Menyediakan halaman tab untuk
mengorganisasikan dan mengakses object yang dikelompokan secara efisien
Pertolongan
HelpProvider
� Menggabungkan help HTML dengan aplikasi Windows
ToolTip
4/7/2014 Zulhalim, SKom, MTI 24
ToolTip
� Menampilkan teks ketika pemakai menunjuk pada suatu kontrol
ErrorProvider
� Menampilkan informasi kesalahan ke pemakai
Mengatur Print dan Report
PrintPreviewControl� Menampilkan dokumen bagaimana akan terlihat ketika
dicetak
PrintDocumentMengatur properti bagaimana akan terlihat ketika dicetak
4/7/2014 Zulhalim, SKom, MTI 25
� Mengatur properti bagaimana akan terlihat ketika dicetak
PrintDocument� Mengatur properti mencetak dan mencetak dokumen dalam
aplikasi Windows
CrystalReportViewer� Menampilkan jendela bagaimana tampilan objek Crystal
Report terlihat ketika dicetak
Command
Button
� Digunakan untuk memula, menghentikan atau menginterupsi suatu proses
Toolbar
4/7/2014 Zulhalim, SKom, MTI 26
Toolbar
� Berisi kumpulan kontrol tombol
Notify Icon
� Menampilkan icon dalam daerah status notify dari taskbar yang mewakili aplikasi yaang berjalan dalam background
Pemisah Panel� Splitter
� Untuk mengubah ukuran kontrol docking
Visualisasi Proses
4/7/2014 Zulhalim, SKom, MTI 27
Visualisasi Proses� Progress Bar
� Secara grafikal menunjukan jalannya proses sampai selesai dari suatu aksi
Menampilkan Data� DataGrid
� Menampilkan data secara tabular dari suatu dataset
Question ?
4/7/2014 Zulhalim, SKom, MTI 28
THANK YOU
Teori Bahasa Pemrograman Visual Basic
Kuliah 4: Pemrograman Dasar I
4/7/2014 Zulhalim, SKom, MTI 1
Kuliah 4: Pemrograman Dasar I
ZULHALIM, SKom, MTI
STMIK JAYAKARTA
VariabelVariabel adalah data yang disimpan di memory (named memory location)
Aturan penamaan variabel� Dimulai dengan karakter
Dim I as Integer
Dim X as String = “abc”
Dim A, B, C As Long
4/7/2014 Zulhalim, SKom, MTI 2
� Dimulai dengan karakter alphabetic
� Hanya dapat terdiri dari karakter, number, dan underscore
� Tidak ada spasi
� Panjang maksimum 254 karakter
� Harus unik di dalam suatu blok program
Dim A, B, C As Long
4/7/2014 Zulhalim, SKom, MTI 3
KonstantaSama seperti variabel, tapi tidak dapat diubah ketika sudah dideklarasikan
Digunakan untuk
Const X As Integer = 5
Const gravitasi As Long = 0.98
4/7/2014 Zulhalim, SKom, MTI 4
Digunakan untuk menyimpan nilai yang tidak akan berubah atau diproteksi pada waktu eksekusi
Ada konstanta yang sudah built-in seperti “pi”, vbred, dsb
Const str As String = “App Name”
OperatorPenjumlahan� z = x + y� z += xPengurangan� z = x - y� z -= xPembagian
z = x / y
Pembanding� <,>,=,>=,<=, <>� LIKE� IS
String concation� s = “JAYA” & “KARTA”
� s = “1” + “1”
Logical
4/7/2014 Zulhalim, SKom, MTI 5
� z = x / y� z = x \ y� z /= x� z \= xPangkat� z = x ^ yModulus� z = x mod y
Logical� AND� OR� NOT� XOR� ANDALSO� ORELSE
Scope VariablePrivate � Object hanya dapat diakses pada class yang sama
Public� Object dapat diakses dari luar class dalam satu aplikasi
FriendObject mempunyai scope pada aplikasi dimana class
4/7/2014 Zulhalim, SKom, MTI 6
� Object mempunyai scope pada aplikasi dimana class tersebut di deklarasikan
Protected� Berlaku pada class dan turunan dari class
Protected Friend� Berlaku pada class, aplikasi dan turunan class
ArrayArray menyimpan banyak data dalam satu nama variable dengan tipe data yang sama
Array dapat diakses menggunakan index
‘One Dimensional
Dim MyArr(10) As Integer
Dim MyArr() as String
Dim MyArr() as Long = {0,1,2,3)
‘Multi Dimesional
Dim MyArr(5,10)
4/7/2014 Zulhalim, SKom, MTI 7
menggunakan index (numerical subscript)
Fungsi Redim [Preserve] untuk mendefinisikan jumlah Array kembali
Array dapat terdiri dari satu atau beberapa dimensi
Dim MyArr(5,10)
Dim MyArr( , )
StrukturStruktur untuk membuat custom datatype, terdiri dari satu atau beberapa variable dengan tipe data yang sama ataupun berbeda
Setiap anggota dalam struktur
Structure Student
Dim ID As String
Dim Name As String
Dim Birth As Date
End Structure
Dim Siswa As Student
4/7/2014 Zulhalim, SKom, MTI 8
Setiap anggota dalam struktur memiliki nama yang unik, walaupun masih dalam satu kesatuan nama struktur
[Public|Private|friend] Structure varname
Declaration
End Stucture
Dim Siswa As Student
Siswa.ID = “0100001”
Siswa.Name = “Adi”
Siswa.Birth = 01/01/1984
CollectionsAdalah kumpulan (group) dari object
Sama seperti Array, tetapi tidak bisa di re-dimensioned
Lebih lambat dari array, tetapi sangat
4/7/2014 Zulhalim, SKom, MTI 9
array, tetapi sangat menguntungkan karena collection adalah sebuah object dan array adalah datatype
Dim colPeople As New Collections.StringCollection()
colPeople.Add (“Adi”)
SubSub adalah blok program yang dapat dieksekusi berkali-kali pada bagian program yang berbeda tanpa menuliskan kembali kode tesebut secara
Sub name {[ByVal|ByRef]} [{argument }]
[statement]
[Exit Sub]
End Sub
Sub Hitung(a as long, b as long)
Dim c as long
4/7/2014 Zulhalim, SKom, MTI 10
kode tesebut secara berulang-ulang
Sub mempermudah pencarian kesalahan, karena penulisan kode sumber yang sedikit dan unik
Dim c as long
C = a + b
End Sub
FunctionSama seperti Sub, tetapi dapat menghasilkan nilai output (return value)
Function digunakan merangkai blok kode sumber yang memiliki satu
Function name ([{argument }]) As datatype
[statement]
[Exit function]
[return value]
End Function
Function Pangkat(n As Long, x As
4/7/2014 Zulhalim, SKom, MTI 11
sumber yang memiliki satu tujuan
Function ada yang sudah built-in (cstr, val, ucase, dll) yang ada pada system .net framework
NESTED Function ….
Function Pangkat(n As Long, x As Integer ) As Long
Dim A As Long
A = n ^ x
Return = a
End Function
ArgumentsByRef:
Memakai variable referensi, jika ada perubahan pada variable tersebut maka akan merubah variable referensinya juga
ByVal: (default)
Function Multiply(ParamArray Args() As Integer) As Integer
Dim I As Integer
Dim Val As Integer = 1
For I = 0 to Args.Length() – 1
Val = Val * Args(I)
Next
Return Val
4/7/2014 Zulhalim, SKom, MTI 12
ByVal: (default)
Menggandakan variable referensinya, sehingga tidak merubah variable referensi
ParamArray:
Digunakan apabila argument tidak dapat ditentukan banyaknya
Return Val
End Function
I = Multiply(2,3)
I = Multiply(2,3,4)
I = Multiply(2,3,4,………,n)
Question ?
4/7/2014 Zulhalim, SKom, MTI 13
THANK YOU
Teori Bahasa Pemrograman Visual Basic
Kuliah 5: Pemrograman Dasar II
4/7/2014 Zulhalim, SKom, MTI 1
Kuliah 5: Pemrograman Dasar II
ZULHALIM, SKom, MTI
STMIK JAYAKARTA
If…Then…ElseIf condition Then
[statement]
[ElseIf condition-n Then
[elseif statement]
[Else
If total < 10 then
harga = harga + 100
Else
harga = harga - 100
End If
4/7/2014 Zulhalim, SKom, MTI 2
[Else
[else statement]]
End If
Select CaseSelect Case testexpression
[Case expressionlist-n
[statements-n]] …
[Case ElseSelect Case expression
Case 1
4/7/2014 Zulhalim, SKom, MTI 3
[Case Else
[elsestatements]]
End Select
Case 1
Case Is <= 5
Case 1 to 10
Case Else
End Select
For … Next LoopsFor counter = start To end [Step step]
[statements]
[Exit For]
[statement]
Next [counter]
For i = 1 to 5
nilai = nilai + i
Next i
4/7/2014 Zulhalim, SKom, MTI 4
Next [counter]
For Each element In group
[statements]
[Exit For]
Next [element]
For Each nilai in myarray
If nilai = 5 then
Exit For
End If
Next i
Do While | Until LoopsDo [{While | Until} condition]
[statements]
[Exit Do]
[statements]
Loop
Do While nilai < 100
nilai = nilai + 1
Loop
4/7/2014 Zulhalim, SKom, MTI 5
Loop
Do
[statement]
[Exit Do]
[statement]
Loop [{While | Until} condition]
Do
nilai = nilai + 1
Loop Until nilai < 100
Try – Catch - FinnalyTry
[ tryStatements ]
[ Catch [ exception [ As type ] ] [ When expression ]
[ catchStatements ] ]
[ Exit Try ]
Public Sub TryExample()
Dim x As Integer = 5 ' Declare variables.
[ Exit Try ]
...
[ Finally
[ finallyStatements ] ]
End Try
4/7/2014 Zulhalim, SKom, MTI 6
Dim y As Integer = 0
Try ' Set up structured error handling.
x /= y ' Cause a "Divide by Zero" error.
Catch ex As Exception
When y = 0 ' Catch the error.
MsgBox(ex.toString) ' Show friendly error message.
Finally
Beep() ' Beep after error processing.
End Try
End Sub
Diskusi…
Daftar bilangan ganjil 1 – 100
Aplikasi login (Username & password)
Program menghitung nilai mata
4/7/2014 Zulhalim, SKom, MTI 7
Program menghitung nilai mata kuliah(A,B,C,D,E)
Nilai terbesar dan terkecil dari suatu Array
Question ?
4/7/2014 Zulhalim, SKom, MTI 8
THANK YOU
Teori Bahasa Pemrograman Visual Basic
Kuliah 6: Fungsi Standar
4/7/2014 Zulhalim, SKom, MTI 1
Kuliah 6: Fungsi Standar
ZULHALIM, SKom, MTI
STMIK JAYAKARTA
Fungsi StringASC()� Mengubah nilai string menjadi nilai angka kode karakter ASCII� Asc(“A”) = 65
CHR()� Mengubah kode ASCII menjadi nilai string� Chr(97) = “a”
Lcase()� Mengubah nilai string menjadi huruf kecil
4/7/2014 Zulhalim, SKom, MTI 2
� Mengubah nilai string menjadi huruf kecil� Lcase(“SELAMAT DATANG”) = “selamat datang”)
Ucase()� Mengubah nilai string menjadi huruf besar� Ucase(“adi”) = “ADI”
Str()� Merubah niali numerik menjadi nilai string � Str(100) = “100”
Val()� Merubah nilai string menjadi nilai numerik� Val(“100”) = 100
Fungsi String (2)Len()� Menghitung jumlah karakter pada nilai string
� Len(“BASIC”) = 5
InStr()� Mencari posisi suatu string pada suatu teks string
� InStr(1, “VISUAL BASIC”, “BASIC”) = 8
LTrim()
4/7/2014 Zulhalim, SKom, MTI 3
LTrim()� Menghilangkan spasi di kiri pada string
� Ltrim(“ basic”) = “basic”
RTrim � Menghilangkan spasi di kanan pada string
� Rtrim(“basic “) = “basic”
Trim� Menghilangkan spasi di kanan dan kiri pada string
� Trim(“ basic “ ) = “basic”
Fungsi String (3)
LEFT()� Memotong nilai string dari kiri sebanyak N� Left(“KOMPUTER”,3) = “KOM”
RIGHT()� Memotong nilai string dari kanan sebanyak N� Right(“KOMPUTER”, 2) = “ER”
4/7/2014 Zulhalim, SKom, MTI 4
� Right(“KOMPUTER”, 2) = “ER”
MID()
� Memotong nilai string dari posisi X sebanyak Y
� Mid(“KOMPUTER”,3,2) = “MP”
StrReverse()
� Membalikan urutan suatu karakter dalam suatu kata
� StrReverse(“KOMPUTER”) = “RETUPMOK”
Fungsi MatematikaAbs()� Menghasilkan nilai absolut
� Abs(-100) = 100
Ceiling()� Membulatkan nilai pecahan ke atas
� Ceiling(10.1) = 11
Floor()
4/7/2014 Zulhalim, SKom, MTI 5
Floor()� Membulatkan nilai pecahan ke bawah
� Floor(10.9) = 10
Int()� Menghasilkan nilai integer
� Int(4.98) = 4
Round()� Membulatkan angka sampai desimal tertentu
� Round(17.15,1) = 17.2
Fungsi Matematika (2)Mod()� Menghasilkan nilai hasil bagi
� Mod(4,3) = 1
Sqrt()� Menentukan akar kwadrat
� Sqrt(25) = 5
Exp()
4/7/2014 Zulhalim, SKom, MTI 6
Exp()� Menghasilkan nilai basis logaritma atau bilangan exponensial
� Exp(100) = 2.688117141E+43
Log()� Menghasilkan bilangan logaritma natural basis e dari expresi angka
� Log(100) = 4.6051701
Log10()� Menghasilkan bilangan logaritma basis 10
� Log10(100) = 2
Fungsi Matematika (3)Tan()� Menghasilkan nilai tangen pada suatu sudut
� Tan(30 * math.pi / 180) = 0.5773
Atan()� Menghasilkan nilai arc-tangen (dalam radian)
� Atan(3.14) = 1.2624806
Sin()
4/7/2014 Zulhalim, SKom, MTI 7
� Menghasilkan nilai sinus pada suatu sudut
� Sin(90 *(3.14 / 180)) = 0.99999
Cos()� Menghasilkan nilai cos pada suatu sudut
� Cos(3.24) = -0,99999
Oct()� Mengasilkan bilangan oktal dari bilangan desimal
� Oct(96) = 105
Hex()� Menampilkan bilangan heksadesimal dari bilangan desimal
� Hex(47) = 2F
Fungsi StatistikAvg()
� Menghitung nilai rata-rata
Count()
� Menghitung banyaknya data
Max()
4/7/2014 Zulhalim, SKom, MTI 8
Max()
� Menghasilkan nilai terbesar
Min()
� Menghasilkan nilai terkecil
Sum()
� Menjumlah suatu nilai
Fungsi DateTime
Now()� Menghasilkan tanggal dan jam sistem pada saat ini
� Now() = 27/10/2008 17:00:00
DateAdd(interval,N, Date)� Menambah nilai dengan variable interval
4/7/2014 Zulhalim, SKom, MTI 9
� Menambah nilai dengan variable interval
� DateAdd(DateInterval.Day, 30, #8/17/2008#) = 16/09/2008
DateDiff(Interval,Date1, Date2)� Menghitung selisih di antara dua tanggal sebesar interval
� Datediff(DateInterval.DayOfYear,#3/15/2008#, #3,25,2008#) = 10
DatePart(interval, date)� Mengambil bagian dari tanggal yang diuji
� DatePart(DateInterval.Year, #8/17/2008#) = 2008
Fungsi DateTime (2)
Second(date)� Mengambil nilai detik dari tanggal
Minute(date)� Mengambil nilai menit dari tanggal
Hour(date)
4/7/2014 Zulhalim, SKom, MTI 10
Hour(date)� Mengambil nilai jam dari tanggal
Day(date)� Mengambil nilai hari dari suatu tanggal
Month(date)� Mengambil nilai bulan dari suatu tanggal
Year(date)� Mengmbil nilai tahun dari suatu tanggal
Fungsi DateTime (3)
DateValue()
� Mengubah string ke tipedata date (tanggal)
� DateValue(“15 Maret 2008”) = 15/03/2008
TimeValue()
Mengubah string ke tipedata date (jam)
4/7/2014 Zulhalim, SKom, MTI 11
� Mengubah string ke tipedata date (jam)
WeekDay()
� Menghasilkan angka hari kedalam satu minggu
� Weekday(#10/27/2008#) = 1
Fungsi FormatFormat(number,formatstring)� #.#.00
� Currency (Rp. 150.000)
� Fixed (maksimal 2 angka desimal)
� General Number (5 desimal)
4/7/2014 Zulhalim, SKom, MTI 12
� General Number (5 desimal)
� Percent (12 � 1200.00 %)
� Scientific (1,50E+04)
� Short Date (27/10/08)
� Long Date (27 Oktober 2008)
� Ddd (senin)
� Short Time (17:00)
� On/off, true/false, yes/no (1 = on/true/yes)
Fungsi File / Folder
FileCopy(source, destination)� Membuat duplikat suatu file dari source ke destination
� Filecopy(“C:\test.txt”, “D:\text.txt”)
Rename(Old, New)
4/7/2014 Zulhalim, SKom, MTI 13
Rename(Old, New)� Mengubah nama file/folder dari old ke new
� Rename(“C:\test.txt”, “C:\textNew.txt”)
Kill(Pathname)� Menghapus file/folder dari pathname
� Kill((“C:\test.txt”)
Question ?
4/7/2014 Zulhalim, SKom, MTI 14
THANK YOU
Teori Bahasa Pemrograman Visual Basic
Kuliah 7: Pemrograman OOP
4/7/2014 Zulhalim, SKom, MTI 1
Kuliah 7: Pemrograman OOP
ZULHALIM, SKom, MTI
STMIK JAYAKARTA
Object Oriented ProgrammingVisual Basic 6 merupakan Object-Based programming, sedangkan VB.NET adalah Object-Oriented Programming dengan mengukung empat pilar utama dari OOP yaitu:� Polymorphisme
Inheritance
4/7/2014 Zulhalim, SKom, MTI 2
� Inheritance
� Abstraction
� Encapsulation
Tujuan utama: menghilangkan beberapa kelemahan yang terdapat pada pendekatan prosedural, pada OOP data diperlukan sebagai elemen yang penting dan tidak boleh mengalir secara bebas dalam program
OOP- contdKemampuan utama:� Menekankan data dari pada prosedur� Program terbagi kedalam object2� Data disembunyikan dari akses oleh function2 eksternal� Object dapat berkomunikasi satu dengan yang lain melalui
function� Data baru dan function dapat dengan mudah ditambahkan pada
4/7/2014 Zulhalim, SKom, MTI 3
� Data baru dan function dapat dengan mudah ditambahkan pada saat dibutuhkan
� Mengikuti pendekatan “bottom-up”
Keunggulan:� Menyediakan struktur modular untuk program� Memudahkan maintenance dan modifikasi terhadap kode serta
membuat perubahan yang minimal� Menyediakan kerangka kerja yang baik untuk kode library yang
mana menyediakan komponen yang mudah disesuikan dan dimodifikasi
Object &ClassObject:� Merupakan dasar dari entitas runtime dalam
sistem berorientasi object, masalah pada pemrograman adalah menganalisa dalam arti objek dan komunikasi diantara mereka
� Ketika program dijalankan, object berinteraksi satu dengan yang lain dengan saling mengirim message
Class ClsNama
4/7/2014 Zulhalim, SKom, MTI 4
message� Object2 yang berbeda berinteraksi satu
dengan yang lain tanpa mengetahui detail data dari masing-2 data ataupun koding
Class:� Merupakan koleksi dari object-2 yang bertipe
sama� Setelah suatu class telah didefinisikan,
sejumlah object-2 dapat dibuat berdasarkan class tersebut
[variable]
[property]
[method]
[event declaration]
End Class
Dim ObjNama As New ClsNama
Constructor &DeconstructorConstructor� adalah anggota fungsi yang memiliki tugas
untuk imenginisialisasi object dari classnya� Dijalankan ketika object dari class tersebut
diciptakan� Pada VB.NET suatu constructor harus
dibuat dengan suatu sub procedure dengan nama “New” pada class
Class Orang
Dim Mata as Integer
Dim Mulut as Integer
Public Sub New()
mata = 2
mulut = 1
End Sub
Public Sub Finalize()
4/7/2014 Zulhalim, SKom, MTI 5
dibuat dengan suatu sub procedure dengan nama “New” pada class
Destructor� Dijalankan ketika suatu object dimusnahkan� Didalam suatu destructor kota dapat
menempatkan koding untuk membersihkan object setelah digunakan
� Di VB.NET, menggunakan metode “Finalize” untuk membuat destructor yang otomatis akan dijalankan ketika runtime
Public Sub Finalize()mata = 0mulut = 0
End Sub
End Class
Inheritance (pemanfaatan kembali)Proses inheritance dilakukan dengan menurunkan suatu class baru dari class yang telah adaClass lama disebut dengan “base class” dan class yang baru disebut “derived class”
Class turunan akan mewariskan
Class Mobil
[statement]
End Class
------------------------
4/7/2014 Zulhalim, SKom, MTI 6
Class turunan akan mewariskan semua atau sebagian dari segala sesuatu yang terdapat pada “base class”
Pada VB.NET menggunakan keyword “Inherits” untuk menurunkan suatu class
Class Sedan
Inherits Mobil
[statement]
End Class
PolymorphismeKemampuan untuk memiliki lebih dari satu bentukDapat mengubah perilaku fungsi turunan dari suatu class (Overriding)Dapat membuat banyak fungsi dengan nama yang sama dengan daftar argument yang berbeda (Overloading)
Class HitungPublic Overloads Function
Class BujurSangkarPublic Overridable Function Keliling(x as double) as double
4/7/2014 Zulhalim, SKom, MTI 7
Public Overloads Function Tambah(x as integer, y as integer)
Return x + yEnd FunctionPublic Overloads Function Tambah(x As Double, y as Double)
Return x + yEnd FunctionEnd Class
Public Overridable Function Keliling(x as double) as double Return 4 * x
End FunctionEnd Class
Class LingkaranInherits BujurSangkarPublic Overridable Function Keliling(x as double) as double
Return 2 * 3.14 * x End FunctionEnd Class
EncapsulationTeknik untuk menyembunyikan informasi dari suatu object dengan mengkombinasikan data dan operasi pada object tersebut
Class Hitung
Private Function Tambah(x as integer, y as integer) as integer
return x + yEnd Function
Private Function Kali(x as integer, y as integer) as integer
4/7/2014 Zulhalim, SKom, MTI 8
tersebut
Data dan operasi dipisahkan, mana yang disembunyikan (private)dan mana yang dapat diakses oleh object yang lain (public)
integer) as integerreturn x * y
End Function
Public Function TambahKali(x as integer, y as integer) as integer
Return tambah(x , y) + kali(x ,y)End Function
End Class
AbstractionMenampilkan hal2 yang penting tanpa mengikutsertakan detail latar belakang atau penjelasanSuatu class abstrak tidak dapat digunakan untuk membuat object (tidak dapat membuat instance tetapi harus diwariskan)Dirancang untuk berlaku sebagai base
MustInherit Public Class clsName
MustOveride Function XMustOveride Function XMustOveride Function X
4/7/2014 Zulhalim, SKom, MTI 9
Dirancang untuk berlaku sebagai base class (untuk diwariskan ke class yang lain)Digunakan sebagai konsep desain yang menjadi acuan pengembangan bagi class-class yang akan dikembangkanMembuat class abstrak menggunakan MustInherit
End Class
Question ?
4/7/2014 Zulhalim, SKom, MTI 10
THANK YOU
TUGAS KELOMPOKMateri
� Terdiri dari kata pengantar, Revision History, daftar isi, bab1 pendahuluan, bab2 penjelasan, bab3 kesimpulan dan daffar pustaka
� Kertas A4, Margin 4-3-3-3, Font Times New � Kertas A4, Margin 4-3-3-3, Font Times New Roman 12pt double space, Max 40 Halaman.
� Dikumpulkan pada pertemuan ke 12
Presentasi
� Jadwal pada pertemuan 13-14-15
� Tediri dari max 10 slide PPT
� Waktu max 10 menit
4/7/2014 Zulhalim, SKom, MTI 11
Revision History
No Tanggal Kegiatan PIC
1 01/11/13 Pencarian bahan materi Adi
2 10/11/13 Buat Bab 1 Budi
.. .... .... ....
4/7/2014 Zulhalim, SKom, MTI 12
.. .... .... ....
1. Visual Studio 2012
2. Visual Studio LightSwitch 2012
3. SAP Crystal Report 2013
4. Ms SQL Server 2012
5. Gambas
6. Xojo Real Basic
7. Mono Project
8. Visual WebGUI8. Visual WebGUI
9. .Net Framework 4.5
10. Language Integrated Query (LINQ)
11.Windows Presentation Fondation (WPF)
12.Task Paralel Library
13.ASP.NET
14.ADO.NET4/7/2014 Zulhalim, SKom, MTI 13
Teori Bahasa Pemrograman Visual Basic
Kuliah 9: ADO.NET
26/05/2008 Zulhalim, SKom, MTI 1
Kuliah 9: ADO.NET
ZULHALIM, SKom, MTI
STMIK JAYAKARTA
Konsep ADO.NET
ADO.NET (ActiveX Data Object for .NET Framework) adalah kumpulan class yang berisi komponen untuk melakukan koneksi, akses dan manipulasi database
ADO.NET merupakan pengembangan dari pendahulunya ADO 2.6 (ActiveX Data Object) yang terdapat pada VB 6.0
26/05/2008 Zulhalim, SKom, MTI 2
2.6 (ActiveX Data Object) yang terdapat pada VB 6.0
ADO.NET menggunkan XML (eXtensible Markup Language) untuk memberikan data dari Server ke Client
eXtensible Markup Language(XML)
XML merupakan suatu standar untuk membuat (formating) data yang extensible, self-describing dan memecahkan banyak masalah terhadap manipulasi dan transportasi dataXML adalah format dokumen berbasis Text mirip dengan HTML, tetapi khusus
26/05/2008 Zulhalim, SKom, MTI 3
Text mirip dengan HTML, tetapi khusus untuk menyimpan informasi dan merupakan metode untuk menampilkan data terstruktur� Suatu dokumen XML memiliki sedikitnya
satu elemen yang dipisahkan oleh satu Start Tag dan satu End Tag, XML dokumen sama seperti HTML, hanya saja tag dibuat dan ditentukan oleh pembuatnya
ADO Vs ADO.NETRepresentasi data dalam memory� ADO: menggunkan object Recordset yang menangani baris tunggal data,
seperti tabel database� ADO.NET: menggunkan object DataSet yang dapat berisi satu atau lebih
tabel yang mewakili object DataTable
Relasi di antara banyak tabel� ADO: Memerlukan query JOIN untuk menggabungkan data dari banyak
tabel database menjadi tabel tunggal
26/05/2008 Zulhalim, SKom, MTI 4
tabel database menjadi tabel tunggal� ADO.NET: adanya object DataRelation untuk menghubungkan baris dalam
sebuah object DataTable dengan baris dalam object Datatable lainnya
Navigasi Data� ADO: digunakan metode .MoveNext untuk mengakses data dalam setiap
baris recordset� ADO.NET: Dataset menggunkan akses non-squential ke baris dalam tabel,
akases data tersebut miirp akses data pada suatu collection atau array. Hal ini dimungkinkan karena adanya collection RowSet dari DataTable yang digunakan untuk mengakses baris dari index, mengikuti relasi untuk navigasi dari setiap baris dalam suatu tabel yang berhubungan dengan baris pada tabel lainnya
ADO Vs ADO.NET (2)Koneksi Datatabase� ADO: menggunakan Recordset dan
melakukan pemanggilan ke provider OLE DB
� ADO.NET: menggunkan class Data Adapter, kemudian Data Adapter akan melakukan pemanggilan ke provider
26/05/2008 Zulhalim, SKom, MTI 5
melakukan pemanggilan ke provider OLE-DB atau SQL Server
Skalabilitas� ADO: menggunakan model koneksi
open connection database yang mempertahankan koneksi tetap terhubung sehingga akan memakan sumber daya sistem, sebab sistem akan terus memilihara hubungan ke database walaupun tidak ada transaksi
Arsitektur ADO.NETKomponen ADO.NET dipisahkan antara akses data dari manipulasi data, pemisahan tersebut untuk mendukung model koneksi Disconected, terlihat dari dua komponen utama yaitu: NET Data Provider dan Data StorageNET Data Provider merupakan
26/05/2008 Zulhalim, SKom, MTI 6
NET Data Provider merupakan serangkaian Class yang memungkinkan kode untuk berinteraksi dengan sumber data untuk memanggil, meng-update dan mengubah dataADO.NET memiliki dua NET Data Provider yaitu: SQL Server NET Data Provider dan OLE DB NET Data Provider
Object ADO.NETConnection� Berguna untujk membuat koneksi ke database� Menggunakan OLEDBConnection dan SQLConnection, untuk
mendapatkan performa yang lebih baik dan kecepatan akses sebaiknya menggunakan SQLConnection
Command� Setelah melakukan koneksi, object Command digunakan untuk
menjalankan perintah yang akan memanggil dari sumber data dengan
26/05/2008 Zulhalim, SKom, MTI 7
menjalankan perintah yang akan memanggil dari sumber data dengan properti CommadType yang memiliki 3 konstatanta, yaitu:� Text: berupa perintah SQL � StoredProcedure: perintah berupa storedprocedure� TableDirect: perintah berupa nama tabel
DataAdapter� Melakukan koordinasi antara representasi data dalam memori dan
sumber data permanen� Berkerja sebagai duta antara data dengan mekanisme akses data
sehingga dapat memanggil dan menyimpan data dari sumber data dan object DataSet
Object ADO.NET (2)DataReader
� Merupakan mekanisme secara cepat untuk memanggilaliran data yang bersifat forward-only dan read-only
� .NET provider SQL Server melakukan mekanisme DataReader sehingga dapat menggunakan sesering mungkin dan menampilkan secara cepat data yang bersifat read-only
DataSet� Merupakan representasi data dalam memory yang
26/05/2008 Zulhalim, SKom, MTI 8
� Merupakan representasi data dalam memory yang memberikan model pemrograman relational yang konsisten, tanpa memperhatikan asal sumber data
� Suatu DataSet mewakili serangkaian data secara lengkap termasuk tabel, constrain, dan relasi antar table
DataTable� DataSet ADO.NET berisi satu atau lebih tabel
(DataTable) yang disimpan sebagai collection DataTable
� Model navigasi yang user-friendly untuk memindahkan data di antara DataTable
DataRelation� Digunakan untuk membuat relasi antar tabel� DataSet berisi suatu collection dari object
DataRelation dalam properti Relation
Diskusi…
Kerugian dan Keuntungan ADO.NET thd ADO 2.X ?
Kerugian dan Keuntungan menggunakan XML ?
26/05/2008 Zulhalim, SKom, MTI 9
menggunakan XML ?
Teknologi yang menjadi kompetitor ADO.NET ?
Question ?
26/05/2008 Zulhalim, SKom, MTI 10
THANK YOU
Konsep Database dan
Pengenalan AccessPengenalan Access
TUJUAN
• Menjelaskan tentang Konsep Database
• Mengenalkan Microsoft Access
Perlunya Data
• Data diperlukan dalam segala hal, baik berupa pengukuran, pencatatan, pengumpulan informasi, maupun pengambilan keputusan semuanya memerlukan data.
• Dengan kata lain data sangat dibutuhkan karena informasi yang ada akan memberikan arti yang sangat penting baik untuk saat ini maupun untuk akan datang.
Pengertian Database
• Database adalah suatu kumpulan data-data
yang disusun sedemikian rupa sehingga
membentuk informasi yang sangat berguna.
• Database terbentuk dari sekelompok data-• Database terbentuk dari sekelompok data-
data yang memiliki jenis/sifat sama.
Contohnya : data mahasiswa, data dosen, dll.
Istilah dalam Database
• Database: Sekumpulan data yang saling berhubungan untuk mencapai suatu tujuan.
• Data: fakta-fakta yang dapat disimpan dan mempunyai arti tertentu
• Tabel : Tempat untuk menyimpan data, tabel terdiri dari field dan recordTabel : Tempat untuk menyimpan data, tabel terdiri dari field dan record
• Field : disebut juga dengan kolom, yaitu bagian tabel tempat menyimpan sebuah item data.
• Record : disebut juga dengan baris, yaitu satu bagian informasi yang disimpan dalam tabel, misal data seorang mahasiswa akan disimpan dalam satu record yang terdiri dari beberapa kolom/field
Mengenal Microsoft Access
• Microsoft Access adalah salah satu dari
Relasional Database Management System
(DBMS).
• DBMS adalah sebuah program yang memiliki • DBMS adalah sebuah program yang memiliki
fasilitas penyimpanan dan pemanggilan
struktur informasi pada sistem komputer.
Yang disimpan dalam Microsoft Access
• Selain tabel, sebuah file database Access juga berisi
bermacam-macam obyek database yang lain
diantaranya:
– queri untuk mengorganisasi data,
– forms untuk berinteraksi dengan data pada layar,
– reports untuk mencetak hasil,
– macros dan program Visual Basic untuk memperluas
fungsionalitas dari aplikasi database.
• Semua obyek ini disimpan dalam file
<filename>.mdb.
Pembuatan Database di Access
• Dalam Access, ada 3 (tiga) cara untuk membuat
database
– Membuat database baru
Pilihan yang digunakan adalah : Blank Access database
– Menggunakan database wizard– Menggunakan database wizard
Pilihan yang digunakan adalah : Access database wizard, pages and
projects.
– Menggunakan database yang sudah pernah dibuat
Pilihan yang digunakan adalah : Open an existing file
Menjalankan Microsoft Access
• Jalankan Microsoft Access dan buat database baru dengan nama Penjualan.mdb.
• Kerjakan sesuai dengan petunjuk langkah-langkah petunjuk langkah-langkah berikut :
– Siapkan instalasi Microsft Acces yang merupakan satu paket dengan Microsoft Office.
– Pilih menu Microsft Acces pada menu yang tersedia dalam windows.
Membuat Database baru
• Kemudian pilih BlankDatabase untuk membuatdatabase yang baru.
• Maka akan muncul dialogseperti berikut yang artinyaMaka akan muncul dialogseperti berikut yang artinyasimpan database barudengan nama yang sesuaidengan informasi yang akandibangun serta letakan padafolder directory yang telahdisiapkan.
Pembuatan Tabel
• Jika ingin membuat table, maka pilih object table dan
pilih create table
Pembuatan Tabel dan
Relasi antar TabelRelasi antar Tabel
TUJUAN
• Menjelaskan pembuatan tabel pada Access
• Memberi aturan pada field yang ada pada
Tabel
• Mengelola Tabel dengan operasi • Mengelola Tabel dengan operasi
penambahan, penghapusan, perubahan dan
pencarian data pada Tabel
• Menjelaskan pemberian relasi antar tabel
Membuat Tabel
• Untuk mencatat informasi maka harus dibuat
table sebagai tempat menyimpan dan
mengelola data. Langkah yang harus
dikerjakan adalah :dikerjakan adalah :
– Merancang table yang akan dibuat,
– Merancang struktur table seperti apa
– Mengatur hubungan/relasi antar table satu
dengan table lain supaya informasinya terpadu.
Mengelola Tabel
• Mengelola data dalam table terdiri dari :
– Menambah Data
– Mengedit atau merubah data
– Menghapus Data– Menghapus Data
– Mencari dan Mengganti Data
Pembuatan Tabel
• Langkah-langkah pembuatan tabel :
– Klik menu/object table
Pembuatan Tabel
• Pilih create table in design view
• Ketik struktur table yang akan dibuat, sesuai dengan perancangan informasi yang akan dibangun. Ketik nama fieldnya, tentukan juga type datanya dan atur lebarnya data, pilih Field Size.
• Tentukan constraint atau batasan-batasan table. Bila suatu field digunakan sebagai kunci utama,maka field tersebut harus menjadi Primary Key.
Pembuatan Tabel
• Buat tabel untuk menyimpan data Buku. Pada struktur table tersebut, field sebagai Primary Key adalah KodeBuku karena sebagai informasi utama yang membedakan antara buku yang satu dengan yang lain, dan selalu satu dengan yang lain, dan selalu bersifat Unique.
• Letakkan kursor di field tersebut yaitu KodeBuku
• Klik tombol mouse sebelah kanan dan tentukan KodeBuku sebagai Primary Key
• Hasil akhir dari tabel Buku :
Memberi aturan pada field
• Bila ingin memberi aturan pada fields tertentu misalnya KodeBuku,
misalkan diberikan ketentuan sebagai berikut :
– Input Mask : L99
– Validasi Rule : Left([KodeBuku],1)="K" Or Left([KodeBuku],1)="L"
– Validasi Text : “Tidak boleh sembarang memasukan data” – Validasi Text : “Tidak boleh sembarang memasukan data”
Menyimpan tabel
• Simpan perancangan struktur table diatas, klik
menu File, lalu pilih simpan maka beri nama
table tersebut.
Mengelola Tabel
• Mengelola Tabel meliputi operasi
penambahan, penghapusan, perubahan dan
pencarian data pada Tabel.
Menambah Data pada Tabel
• Untuk menambahkan data pada tabel :
– Pilih Table yang akan ditambah datanya, klik dua kali
– Ketik data-data yang dinginkan seperti contoh berikut ini :
Data tidak sesuai dengan
aturan validasi
• Data yang dimasukkan harus sesuai dengan aturan yang telah
dirancang pada validasi rule sebelumnya dimana data kode
buku yang dimasukan harus berawalan K atau L dengan diikuti
2 angka dibelakangnya. Bila yang dimasukan bukan awalan K
atau L seperti G04 maka akan muncul message kesalahan. atau L seperti G04 maka akan muncul message kesalahan.
Primary Key sama
• Bila data pada Primary Key sama , misalkan data K02
sudah ada, di entri lagi dengan data lain yaitu K02
dengan judul buku yang berbeda, maka ada duplikasi
data pada field KodeBuku, maka akan muncul :
Merubah Data pada Tabel
• Buka Table yang akan diedit datanya:
• Arahkan kursor kearah record yang akan dirubah datanya, misal ingin merubah data pada record 2, maka pilih record 2 pada tabel tersebut lalu ketik perubahannyaperubahannya
• Lalu rubah sesuai dengan data mana yang akan dirubah
• Lakukan edit data pada record ke 3 untuk data Algoritma Pemrograman ganti menjadi Konsep Pemrograman
Menghapus Data pada Tabel
• Buka table yang berisi data yang akan dihapus.
• Misal : hapus data pada record 5 untuk data Basis
Data.
• Arahkan kursor ke data yang akan dihapus,klik kiri • Arahkan kursor ke data yang akan dihapus,klik kiri
sehingga record diblock :
• Lalu klik kanan, maka akan muncul menu sebagai
berikut :
Menghapus Data pada Tabel
• Pilih Delete Record, maka akan ada konfirmasi
apakah akan menghapus record tersebut :
• Pilih Yes jika ingin menghapus maka data akan
dihapus
Mencari dan Mengganti Data pada
Tabel
• Untuk mencari data pada tabel, caranya :
– Buka table yang akan dicari datanya, misal table Buku.
– Klik menu edit, Find
– Ketik data yang dicari, pada kotak isian Find What
– Pilih table Buku: table pada kotak isian Look In
– Pilih Whole Field pada kotak isian Match
– Pilih All pada kota Search.
– Misal : lakukan pencarian data untuk pengarang Tessy
Badriyah, buku apa saja yang dikarang.
Mencari dan Mengganti Data pada
Tabel
• Untuk mencari sekaligus mengganti data, caranya :– Buka table yang akan dicari datanya, misal table Buku.
– Klik menu edit, Find
– Ketik data yang dicari, pada kotak isian Find What, misal : Image Processing
– Pada kotak isian Replace With : misal ketik : Pengolahan – Pada kotak isian Replace With : misal ketik : Pengolahan Citra
– Pilih table Buku: table pada kotak isian Look In
– Pilih Any Part of Field pada kotak isian Match
– Pilih Replace All pada kota Search, dan pilih Yes.
Memberi Relasi antar Tabel
• Pembuatan relasi antar tabel bertujuan untuk
membuat hubungan antar table agar ada relasi
antara table yang satu dengan yang lain.
• Sebagai contoh sistem informasi perpustakaan, yang Sebagai contoh sistem informasi perpustakaan, yang
terdiri table sebagai berikut:
– table buku
– table peminjaman
– table anggota.
Pembuatan Relasi Tabel
• Langkah-langkah pembuatan relasi antar tabel :• Buat tabel buku seperti berikut :
• |Tabel buku sudah terisi data sebagai berikut :
Pembuatan Relasi Tabel
• Buat table Anggota seperti dibawah ini :
• Tabel anggota sudah terisi data sebagai berikut :
Pembuatan Relasi Tabel
• Buat table Pinjam seperti dibawah ini :
• Tabel pinjam sudah terisi data sebagai berikut :
Pembuatan relasi tabel
• Untuk membuat Relasi antar Tabel, pada menu, klik
Tools -> Relationships
Pembuatan Relasi Tabel
• Tambahkan tabel-tabel pada skema relasi dengan mengklik icon
• Tambahkan tabel satu persatu, pilih tabel persatu, pilih tabel kemudian klik tombol Add.
• Terakhir klik tombol Close
Pembuatan Relasi Tabel
• Hubungan antar tabel :
– Antara tabel anggota dan tabel pinjam (field KodeAnggota
yang ada pada tabel pinjam merupakan foreign key yang
berhubungan dengan field KodeAnggota yang merupakan
primary key pada tabel Anggota.primary key pada tabel Anggota.
– Antara tabel buku dan tabel pinjam (field KodeBuku yang
ada pada tabel pinjam merupakan foreign key yang
berhubungan dengan field KodeBuku yang merupakan
primary key pada tabel Buku.
Pembuatan Relasi Tabel
• Untuk mewujudkan relasi antar tabel yang sudah ditentukan diatas,
lakukan klik and drag dari foreign key yang ada pada tabel anak ke
primary key yang ada pada tabel induk. Sebagai contoh, di-klik field
KodeAnggota pada tabel Pinjam kemudian drag ke field KodeAnggota
yang ada pada tabel Anggota.
• Kemudian muncul jendela untuk menentukan property dari relasi • Kemudian muncul jendela untuk menentukan property dari relasi
yang terbentuk, berikan tanda centang pada Enforce Referential
Integrity
Pembuatan Relasi Tabel
• Hasil akhir relasi antar tabel sebagai berikut :
Teori Bahasa Pemrograman Visual Basic
Kuliah 11: Konsep Database SQL Server
02/06/2008 Zulhalim, SKom, MTI 1
Kuliah 11: Konsep Database SQL Server
ZULHALIM, SKom, MTI
STMIK JAYAKARTA
2008
Pengenalan SQL Server
SQL (Structured Query Language) (baca : sequel) adalah salah satu bahasa generasi level ke-4 (4th GL) yang awalnya dikembangkan oleh IBM di San Jose Research Laboratory . Berbeda dengan bahasa pemrograman level ke-3 (3rd GL), SQL adalah bahasa yang bersifat request oriented dan bersifat non-prosedural sehingga lebih mudah untuk dipelajari karena sintaks yang digunakan hampir menyerupai bahasa yang digunakan
02/06/2008 Zulhalim, SKom, MTI 2
prosedural sehingga lebih mudah untuk dipelajari karena sintaks yang digunakan hampir menyerupai bahasa yang digunakan oleh manusia untuk berkomunikasi. Sehingga SQL lebih fleksibel dalam penggunaannya. Selain itu SQL juga bersifat non case sensitif. Banyak vendor-vendor pembuat DBMS (Database Management System) saat ini menggunakan SQL sebagai standarisasi dalam produk mereka seperti ORACLE, Microsoft SQL Server, PostGreSQL, MySQL.
Bagian-2 SQL Server
DDL (Data Definition Language), yaitu bahasa yang mempunyai kemampuan untuk mendefinisikan data yang berhubungan dengan pembuatan dan penghapusan objek seperti tabel, indeks, bahkan basis datanya sendiri. Misalnya CREATE, DROP, ALTER.DML (Data Manipulation Language), yaitu bahasa yang berhubungan dengan proses manipulasi data pada tabel, record.
02/06/2008 Zulhalim, SKom, MTI 3
berhubungan dengan proses manipulasi data pada tabel, record. Misalnya : INSERT, UPDATE, SELECT, DELETE.DCL (Data Control Language), yaitu bahasa yang berhubungan dengan pengendalian akses ke database. Misalnya : GRANT, REVOKE.DTL (Data Transaction Language), yaitu bahasa yang berhubungan dengan pengaturan transaksi yang terjadi di dalam database. Misalnya : COMMIT, ROLLBACK, ROLLFORWARD.
Fitur-2 SQL ServerSQL Server Service Manager, Fasilitas ini mempunyai kemampuan untuk melakukan cara pengaturan seluruh objek dari SQL Server, SQL Server Agent, dan Distributed Transaction.SQL Server Profiler, Utilitas ini memungkinkan untuk memonitor, merekam aktivitas kegiatan pada server database sehingga mempunyai kemampuan untuk melakukan analisa terhadap aktivitas server database.
02/06/2008 Zulhalim, SKom, MTI 4
terhadap aktivitas server database.SQL Query Analyzer, Tool ini adalah fasilitas yang digunakan untuk mengeksekusi pernyataan Transact-SQL secara interaktif, seperti membuat database, edit, insert dan menghapus data.Data Transformation Service, Digunakan untuk mentransfer data dari format SQL server ke format database lain seperti format database Acces, Excel, Paradox atau sebaliknya.
02/06/2008 Zulhalim, SKom, MTI 5
Object SQL Server
Diagrams, Merupakan sebuah diagram yang digunakan untuk mendesain sebuah relasi/ hubungan antar tabel-tabel dalam sebuah database.Tables, Menyimpan baris-baris atau record-record data, tabel adalah inti dari sebuah database yang dikelompokkan dalam bentuk baris dan kolom.Views, sebuah tabel virtual yang digunakan untuk mengakses data-data tertentu pada sebuah tabel, data-data penting yang tidak
02/06/2008 Zulhalim, SKom, MTI 6
Views, sebuah tabel virtual yang digunakan untuk mengakses data-data tertentu pada sebuah tabel, data-data penting yang tidak ditampilkan secara public dapat disembunyikan dengan menggunakan view.Stored Procedure, Adalah sekumpulan perintah SQL yang tersimpan dalam server database dan dapat dieksekusi melalui perintah execute (nama sp)[parameter]Users, Adalah orang atau pengguna yang diberi hak untuk mengakses database pada server database.Function, Sama halnya seperti Stored Procedure yaitu sekumpulan perintah SQL, akan tetapi Function akan mengembalikan nilai sedangkan Stored Procedure tidak mengembalikan nilai.
Data Definition Language
Seperti telah dijelaskan di modul sebelumnya, DDL adalah sebuah bahasa yang digunakan untuk mendefinisikan data dan obyek pada database.
Berikut ini sintaks-sintaks yang termasuk dalam DDL didalam SQL Server :
02/06/2008 Zulhalim, SKom, MTI 7
didalam SQL Server :� CREATE DATABASE, Untuk membuat database
� CREATE TABLE, Untuk membuat tabel
� CREATE VIEW, Untuk membuat view
� CREATE PROCEDURE, Untuk membuat Stored Procedure
� ALTER TABLE, Mengubah struktur kolom pada tabel
� DROP TABEL, Menghapus Tabel
Sintaks DDLCREATE DATABASE bank_xxxxON PRIMARY(NAME=Pbd,FILENAME=’d:\……………………….nama folder anda…………………….\pbd_data.mdf’,SIZE=5,
ALTER TABLE pegawai ADD alamat varchar(300)
ALTER TABLE pegawai ALTER COLUMN nama varchar(100)
ALTER TABLE pegawai DROP
02/06/2008 Zulhalim, SKom, MTI 8
SIZE=5,MAXSIZE=50,FILEGROWTH=2)LOG ON(NAME=Pbdlog,FILENAME=’d:\……………………….nama folder anda…………………….\pbd_log.ldf’,SIZE=3,MAXSIZE=20,FILEGROWTH=1)
CREATE TABLE table_name(fieldname1_name type_data([NULL|NOT NULL]),fieldname2_name type_data([NULL|NOT NULL]),fieldname3_name type_data([NULL|NOT NULL]),fieldnameN_name type_data([NULL|NOT NULL]),primary key ([fieldname]))
ALTER TABLE pegawai DROP COLUMN nama
DROP TABLE pegawai
Properti FieldsType Data, Setiap pembuatan field/kolom pada sebuah tabel, harus ditentukan tipe datanya. Tipe data merupakan jenis data yang akan disimpan pada sebuah tabel. Pada listing program di atas pada baris 2, 3 ,4 , 5, dan 6 terdapat tipe data yang berlainan, hal tersebut didasari oleh data yang berjenis apa yang Akan dimasukkan kedalam sebuah tabel. Contoh pada baris [2] terdapat tipe data “int” atau integer (data yang dimasukkan berupa data bilangan bulat), pada baris [3] adalah bertipe “Varchar(200)” (data yang dimasukkan berupa karakter string yang panjang maksimal adalah 200 karakter) Nilai Null, menyatakan bahwa sebuah kolom boleh berisi Null, nilai Null tidak sama dengan nol, kosong atau lainya, tetapi Null adalah tidak ada data yang dimasukkan, nilainya tidak diketahui. Null tidak boleh dipakai pada kolom-kolom yang mempunyai sifat Identity atau primary key.
02/06/2008 Zulhalim, SKom, MTI 9
Identity atau primary key.Auto Increment, Adalah nilai yang dihasilkan dinaikkan secara berurutan, didefinisikan dengan menggunakan properti Identity, pada baris [2] nilai idpeg dimulai dari 1 dan dinaikkan berurutan 1 kali.Default Value, Default menyebutkan nilai sebuah kolom apabila tidak ada nilai yang diberikan saat record dimasukkan. Pada baris [5] bertipe “bit”, nilai default status pegawai adalah 1, dapat diartikan nilai “1” adalah status pegawai tetap dan nilai “0” adalah status pegawai tidak tetap.Constraint, memberlakukan integritas data dan menjaga kualitas data dalam database. Contoh pada baris [6] hanya nilai ('I','P','K','B','H','LL') yang boleh diinputkan, selain nilai tersebut tidak boleh diinputkan, jika diinputkan maka server database akan memberikan pesan error.Rule, Fungsinya sama dengan Constraint, tetapi jika pada Constraint dilakukan pada saat pembuatan tabel atau perubahan tabel, Rule dilakukan jika tabel sudah ada berikut kolom-kolomnya.
Data Manipulation Language
DML yaitu bahasa yang berhubungan dengan proses manipulasi data pada tabel, record. � SELECT, Perintah ini digunakan untuk
menampilkan baris-baris data dari tabel.
02/06/2008 Zulhalim, SKom, MTI 10
menampilkan baris-baris data dari tabel.
� INSERT, Perintah ini digunakan untuk menambah data/ record kedalam tabel.
� UPDATE, Perintah ini digunakan untuk mengubah data/ record dari tabel.
� DELETE, Perintah ini digunakan untuk menghapus data/ record dari tabel.
Sintaks DML
SELECT [*| nama_kolom1, nama_kolom2, nama_kolomN] FROM nama_tabel
UPDATE nama_tabel SET nama_kolom = “nilai_data_baru”
WHERE [kondisi];
02/06/2008 Zulhalim, SKom, MTI 11
DELETE FROM nama_tabel WHERE [kondisi];
INSERT INTO nama_tabel (field1, field2, fieldN) VALUES (value1, value2, valueN)
Klausa JOINJoin merupakan sebuah operasi yang digunakan untuk mendapatkan data gabungan dari dua tabel atau lebih. Operasi ini digunakan dalam perintah SELECT dan biasanya dipakai untuk memperoleh detail data dari tabel-tabel yang saling terkait (memiliki relasi). Misalnya karena tabel rekening hanya memuat kode_cabang saja tanpa nama_cabang, maka harus direlasikan dengan tabel cabang_bank yang memiliki informasi nama_cabang. Terdapat 3 jenis operasi join, yaitu :
� Cross (Cartesian) JoinMenghasilkan kombinasi semua baris yang terdapat dalam tabel-tabel yang digabungkan, baik
02/06/2008 Zulhalim, SKom, MTI 12
Menghasilkan kombinasi semua baris yang terdapat dalam tabel-tabel yang digabungkan, baik itu yang tidak berpasangan maupun yang berpasangan. Pada kenyataannya join jenis ini tidak akan pernah dipakai. Meskipun begitu join jenis inilah yang merupakan dasar dari join antar tabel.
� Inner JoinJoin jenis ini hanya akan menghasilkan output berupa kombinasi baris-baris yang berpasangan saja. Kombinasi baris yang bukan pasangan akan dieliminasi. Baris-baris yang tidak memiliki pasangan pada tabel lainnya juga tidak akan dimunculkan.
� Outer JoinHampir sama dengan Inner Join, hanya saja baris yang tidak memiliki pasangan tetap akan dimunculkan. Join jenis ini dibagi lagi menjadi :
� Left Outer Join� Right Outer Join� Full Outer Join
ViewView merupakan suatu cara alternatif untuk melihat data dari satu atau lebih tabel didalam database. View dapat dipandang sebagai suatu virtual table(tabel tak nyata) atau suatu stored query (query yang tersimpan).Dalam membuat view, terdapat beberapa peraturan atau petunjuk :� View hanya dapat dibuat pada database yang sedang aktif atau sedang dipakai.
Meskipun begitu, tabel atau view lain yang direferensi dapat berasal dari databaselainnya. Nama view harus sesuai dengan aturan penamaan identifier dan harus unik untuk setiap user. Sebagai tambahan, namanya harus berbeda dengan tabel-tabel milik user yang membuat view. Biasanya, nama view dimulai dengan awalan huruf
CREATE VIEW view_name (daftar_field)AS ekspresi_select
02/06/2008 Zulhalim, SKom, MTI 13
milik user yang membuat view. Biasanya, nama view dimulai dengan awalan huruf v atau awalan view_ atau akhiran _view, contohnya vNasabah, view_Nasabah atau Rekening_view.
� View dapat dibuat berdasarkan view yang lain. Query yang didefinisikan dalam viewtidak boleh mengandung ORDER BY. Jumlah kolom (field) yang tertera di daftar_field harus sama dengan jumlah kolom pada ekspresi_select. Daftar_fieldbersifat optional, artinya boleh tidak ditulis. Tapi ada beberapa kondisi tertentu yang menyebabkan daftar_field menjadi wajib ditulis, yaitu :
� Terdapat kolom didalam view yang diturunkan dari ekspresi aritmatika, fungsi atau konstanta.
� Dua atau lebih kolom dalam view memiliki nama yang sama (biasanya terjadi karena berasal dari tabel- tabel yang di-join).
� Memang sengaja mau memberi nama kolom secara manual.
Stored ProcedureStored procedure (stor-proc) merupakan sekumpulan perintah-perintah SQL yang tersimpan dengan nama tertentu dan diproses sebagai sebuah kesatuan. Secara sederhana dapat dikatakan sebagai sebuah sub-program yang tersimpan di database. Stor-proc sangat mirip dengan prosedur atau rutin pada berbagai bahasa pemrograman dalam hal bahwa mereka sama-sama dapat melakukan hal-hal berikut :
� Menerima parameter sebagai input dan mengembalikan nilai-nilai dalam bentuk parameter output kepada yang memanggilnya. Mengandung perintah-perintah program yang melakukan operasi didalam database, termasuk memanggil prosedur lainnya. Mengembalikan suatu nilai status pada pemanggilnya untuk mengindikasikan kesuksesan atau kegagalan prosedur dan alasan mengapa prosedur tersebut gagal.
CREATE PROCEDURE nama_proc@parameter_1 TipeData_1,...,@parameter_n TipeData_n OUTPUTASperintah_perintah_SQL
EXECUTE nama_proc
02/06/2008 Zulhalim, SKom, MTI 14
prosedur tersebut gagal.� Keuntungan-keuntungan menggunakan stor-proc (menyimpan kode program di database)
dibandingkan dengan menyimpan kode program di aplikasi adalah :� Pemrograman menjadi lebih modular� Prosedur hanya dibuat sekali, disimpan dalam database, dan dapat dipanggil berulang kali dari program/
interface seperti visual basic, delphi, dll (reusability). Stor-proc dapat dimodifikasi tanpa harus mengubah kode program yang memanggil stor-proc tersebut (modifiable).
� Eksekusi program akan menjadi lebih cepat� Menjalankan program untuk mengakses database tentu saja akan lebih cepat jika dilakukan didalam
database itu sendiri.� Mengurangi lalu lintas jaringan� Efek dari penggunaan stor-proc akan lebih terasa jika menggunakan aplikasi client/ server yang mengakses
database di komputer (host) lain, dengan hanya mengirimkan stor-proc saja jauh lebih cepat prosesnya daripada mengirimkan baris-baris perintah SQL yang ada di kode program interface (perintah-perintah query yang diketikkan di VB).
� Dapat digunakan untuk mekanisme keamanan� User dapat diberi hak untuk menjalankan stor-proc walaupun user tersebut tidak memiliki hak untuk
menjalankan perintah-perintah query yang ada didalamnya.
Trigger
Trigger adalah sekumpulan perintah Transact-SQL yang secara otomatis dijalankan apabila ada perintah INSERT, DELETE,atau UPDATE yang dijalankan didalam tabel.Aplikasi utama dari Trigger adalah pembuatan metode validasi dan batasan akses kedalam database, seperti misalnya rutin-rutin keamanan. Daripada memberikan kontrol untuk aplikasi, kita bisa memberikan kontrol untuk tabel itu sendiri melalui
CREATE TRIGGER [trigger_name] ON [table_name | view_name] FOR INSERT | UPDATE | DELETE AS
sql_statement [ . . . n]
02/06/2008 Zulhalim, SKom, MTI 15
rutin keamanan. Daripada memberikan kontrol untuk aplikasi, kita bisa memberikan kontrol untuk tabel itu sendiri melalui trigger, sehingga penanganan database bisa jauh lebih aman. Aplikasi yang dapat dilakukan oleh trigger diantaranya adalah :� Membuat isi dari kolom yang diambil dari kolom yang lain.� Membuat mekanisme validasi yang mencakup query pada banyak
tabel.� Membuat log untuk mendaftarkan penggunaan tabel.� Meng-update tabel-tabel lain apabila ada penambahan atau
perubahan lain didalam tabel yang sedang aktif.
Question ?
02/06/2008 Zulhalim, SKom, MTI 16
THANK YOU
Teori Bahasa Pemrograman Visual Basic
Kuliah 12: Konsep Pelaporan dengan
09/06/2008 Zulhalim, SKom, MTI 1
Kuliah 12: Konsep Pelaporan dengan Crystal Report
ZULHALIM, SKom, MTI
STMIK JAYAKARTA
Konsep PelaporanLaporan bagi sebuah perusahaan merupakan bagian yang sangat penting.dari sebuah laporan, perusahaan bisa menganalisis data-data yang tersimpan dalam database dan menampilkan data dalam bentuk yang bermakna dan menarik.Aplikasi yang umum dipakai oleh perusahaan untuk membuat laporan adalah aplikasi berlisensi seperti :
09/06/2008 Zulhalim, SKom, MTI 2
Aplikasi yang umum dipakai oleh perusahaan untuk membuat laporan adalah aplikasi berlisensi seperti :� crystal report� oracle report� SAP B1 Report
Sedangkan aplikasi open source seperti:� BIRT (Business Inteligent and Reporting Tools)� Jasper Report
Pengenalan Crystal ReportCrystal Report (CR) adalah program Third-Party (pihak Ketiga) untuk membuat laporan pada aplikasi Windows dan WebVendor CR Crystal Decision Inc (dahulu Seagate Software Inc.) memiliki sejarah kerja sama yang panjang dengan Micrsoft, karena VB versi
09/06/2008 Zulhalim, SKom, MTI 3
panjang dengan Micrsoft, karena VB versi sebelumnya juga disertakan program CRCR sekarang diintergrasikan kedalam VB.NET sehingga menjadi bagian dari IDE (Integrated Development Environment) VB.NET, bisa dilihat pada bagian Crytstal report Designer untuk mendesain dan memodifikasi laporanCR menggunakan pendekatan Drag-Drop untuk mengatur object laporan kedalam Designer
Crytal Report Designer (CRD)
CRD merupakan lingkungan dalam CR untum mendesain dan memodifikasi laporanCRD memiliki tiga bagian yaitu:� Field Explorer
� menampilkan daftar semua field
09/06/2008 Zulhalim, SKom, MTI 4
� menampilkan daftar semua field termasuk field database, formula, SQL Statement dsb
� Toolbar� Berisi perintah-perintah yang ada
dalam mendasain laporan
� Report Designer� Berguna untuk mendesain laporan
Crystal Report
Report Section(1)Seksi report akan menampilkan obect laporan yang berada dalam tiap-tiap seksi yaitu:� Report Header
� Object yang terletak di bagian ini hanya dicetak sekali saja pada awal laporan. Seksi ini umumnya berisi judul laporan dan informasi yang hanya terlihat pada awal laporan
� Page Header� Object yang terletak di bagian ini hanya dicetak pada bagian awal tiap
09/06/2008 Zulhalim, SKom, MTI 5
� Object yang terletak di bagian ini hanya dicetak pada bagian awal tiap halaman. Seksi ini umumnya berisi informasi yang ingin ditampilkan pada bagian atas tiap halaman
� Details� Object yang terletak di bagian ini akan dicetak pada tiap tiap record
baru. Seksi ini berisi field data untuk badan laporan
� Page Footer� Object yang terletak di bagian ini akan dicetak pada bagian bawah tiap
halaman. Seksi ini umumnya berisi nomor halaman dan informasi lainnya yang ingin ditampilkan pada bagian bawah tiap halaman seperti nama pembuat laporan dan tanggal dicetak
Report Section (2)� Report Footer
� Object yang terletak di bagian ini hanya dicetak sekali saja pada saat akhir laporan. Seksi ini umumnya berisi informasi yang ingin terlihat sekali saja pada akhir laporan seperti ringkasan
� Seksi Report Tambahan� Jika ditambahkan group, summary atau subtotal ke laporan, SR akan membuat tambahan dua seksi yaitu Grup Header yang terletak diatas seksi detail dan Group Footer yang terletak dibawah
09/06/2008 Zulhalim, SKom, MTI 6
akan membuat tambahan dua seksi yaitu Grup Header yang terletak diatas seksi detail dan Group Footer yang terletak dibawah seksi Details
� Object yang terletak di Group Header akan tercetak pada awal tiap-tiap group baru. Seksi ini umumnya berisi nama field group
� Object yang terletak di Group Footer akan dicetak pada akhir tiap-tiap group. Seksi ini umumnya berisi nilai summary/ ringkasan jika ada
Field ExplorerMerupakan window untuk memilih field amna yang akan ditampilkan, seperti:� Database Fields: data dari database sumber� Formula Fields: berupa rumus / alur program untuk
menampilkan data� Parameter Fields: merupakan nilai kembalian (passing) dari
aplikasi lain atau dari report utama ke subreport
09/06/2008 Zulhalim, SKom, MTI 7
� Parameter Fields: merupakan nilai kembalian (passing) dari aplikasi lain atau dari report utama ke subreport
� Running Total Fields: melakukan kalkulasi terhadap data secara berurutan
� Group Name Fields: nama dari gruping data yang sudah ditentukan
Special Fields: merupakan data khusus dari report seperti: PrintDate, PrintTime, Page N of M
Question ?
09/06/2008 Zulhalim, SKom, MTI 8
THANK YOU
Teori Bahasa Pemrograman Visual Basic
Kuliah 13: Aplikasi Web Form (ASP.NET)
16/06/2008 Zulhalim, SKom, MTI 1
Kuliah 13: Aplikasi Web Form (ASP.NET)
ZULHALIM, SKom, MTI
STMIK JAYAKARTA
Konsep Web Form
Web Form merupakan peningkatan kemampuan Rapid Application Development (RAD) dari VB untuk Aplikasi Web, developer dapat membuat form based web pageWeb form dapat mendesain Web application sama seperti membuat Windows form pada Windows aplicationWeb Form memisahkan kode dari isi dari suatu halaman web,
16/06/2008 Zulhalim, SKom, MTI 2
Web Form memisahkan kode dari isi dari suatu halaman web, hal ini membantu suatu group yang berlainan untuk berkosentrasi pada kode dan isi pageIDE dari Web Form sama seperti Windows Form, hanya saja web form tidak memiliki window, hanya suatu page yang kosongSama seperti Windows Controls, Web Form mempunyai kontrol tersendiri. Bagaimanapun Web Control memiliki keterbatasan karena keterbatasan dalam model web
Web Form vs Windows Form
User Interface� WinForm mendapatkan keunggulan dengan memakai .NET WInforms dan class – class graphic untuk membuat user interface yang kaya, sedangkan dalam web form, interaksi pengguna memerlukan sumber daya yang banyak yang menghubungkan dengan server dan membuat response yang lambat
Keamanan
16/06/2008 Zulhalim, SKom, MTI 3
Keamanan� WinForm mendapatkan akses yang lengkap kepada sumberdaya komputer, sedangkan keamanan WebForm dibatasi oleh browser security
Platform Client� Semua Client dalam WinForm memerlukan .NET Framework, sedangkan WebForm hanya memerlukan suatu browser yang dapat dibuka oleh semua platform Client. Net framework hanya digunakan untuk Web Server nya saja
Web Form vs Windows FormThroughput� Winform dijalankan pada sisi client (Client Side), maka akan didapatkan respon tercepat dan hasil yang maksimal. WebForm tergantung kepada network traffic diatas HTTP dan biasanya tidak dapat memberikan hasil yang tinggi dan mungkin tidak cocok untuk aplikasi yang memerlukan hasil yang cepat dan transaksi yang banyak
16/06/2008 Zulhalim, SKom, MTI 4
yang cepat dan transaksi yang banyak
Deployment� Karena WinForm dijalankan pada komputer client, maka harus diinstall untuk semua pengguna desktop. Pada saat jumlah pengguna berkembang dan dengan setiap update realease aplikasi yang baru, deployment menjadi susah dan rumit untuk dijalankan. WebForm tidak memerlukan sama sekali deployment di client, hanya memerlukan browser untuk menjalankan aplikasi WebForm
Web Form vs Classic ASPWebform menggunakan ASP.NET yang sudah terintegrasi kedalam .NET Framework, berikut ini benefit dari ASP.NET terhadap classic ASP:� Simplicity
� ASP.NET dapat melakukan tugas umum dengan mudah seperti: subnission, client authentication, site configuration dan deployment
Improved Performance
16/06/2008 Zulhalim, SKom, MTI 5
� Improved Performance� Karena ASP.NET di kompilasi oleh CLR, maka akan mendapatkan keuntungan dari Early Binding dan JIT yang dapat meningkatkan performance secara significant
� Strong Type language� ASP.NET sekarang menggunakan Visual Basic sebagai bahasa pemrogramannnya, beda seperti VBScript yang hanya support tipe data Variant. Dengan VB dalam ASP.NET kita dapat support banyak tipe data
Web Form vs Classic ASP� Event Driven Model
� ASP.NET support event-drivent model, sama seperti VB yang dapat mengeliminasi case-statement yang banyak untuk menentukan button yang mana yang mendapatkan interaksi user
� Non-Spaghetti code� Model pemrograman ASP.NET memisahkan kode dari presentasi tampilan, membuat pembuatan dan perawatan kode
16/06/2008 Zulhalim, SKom, MTI 6
presentasi tampilan, membuat pembuatan dan perawatan kode menjadi lebih mudah
� State Management� ASP.NET menyediakan easy-tou-use aplication dan session states yang familiar bagi programer ASP. Di ASP, sesion state berada pada memory server menjadikan tidak dapat digunakan dalam Web Farm. ASP.NET mengeliminasi keterbatasan ini dengan memindahkan session tidak saja diluar proses tetapi di luar komputer juga. ASP.NET menggunakan state server proses dedicated yang berjalan sebagai suatu Windows NT Service (Port 42424). Itu berarti kita dapat membuat suatu server state dedicated untuk web farm, juga dapat menggunakan SQL server untuk menyimpan state
Web Form vs Classic ASP� Security
� ASP.NET menyediakan service authorization dan authentication untuk menambahkan service IIS authentication. ASP.NET dapat melakukan hal tersebut yang dapat disimpan dalam database atau pada suatu config file
� Configuration
16/06/2008 Zulhalim, SKom, MTI 7
� Configuration� ASP.NET menggunakan XML File untuk menyimpan setting konfigurasi dari pada menggunakan IIS metabase. Hal tersebut mebuat deployment dari site menjadi lebih mudah, khusus nya pada suatu Web Farm
� Web Services� ASP.NET dapat mem-publish / memberikan service suatu fungsi bisnis untuk partner bisnis didalam standar protokol Web
Web Form vs Classic ASP
� Cache Service� ASP.NET dapat menyimpan sementara (Cache) output dari suatu page dinamik yang dapat meningkatkan throughput
� Debugging� ASP.NET mempunyai suatu utilitas Tracing yang sudah built-in, tidak perlu lagi menggunakan response. Kita bisa
16/06/2008 Zulhalim, SKom, MTI 8
� ASP.NET mempunyai suatu utilitas Tracing yang sudah built-in, tidak perlu lagi menggunakan response. Kita bisa men-trace eksekusi program secara periodik
� Deployment� Deployment menjadi lebih mudah sama seperti meng-copy file, karena semua setting konfigurasi dari site terdapat pada file XML. Juga menjauhkan dari DLL Hell (component registration, versioning, Locked DLL. Kita juga dapat melakukan re-compile dan men-deploy nya tanpa memerlukan restart Web Server
16/06/2008 Zulhalim, SKom, MTI 9
16/06/2008 Zulhalim, SKom, MTI 10
Diskusi
Keuntungan dan kerugian Web Form di banding Windows Forms ?
Web Form lebih baik digunakan untuk aplikasi apa saja ?
16/06/2008 Zulhalim, SKom, MTI 11
aplikasi apa saja ?
Bagaimana metode deployment untuk aplikasi Web forms ?
Question ?
16/06/2008 Zulhalim, SKom, MTI 12
THANK YOU
Teori Bahasa Pemrograman Visual Basic Lanjutan
Kuliah 14: Debugging dan Testing
23/06/2008 Zulhalim, SKom, MTI 1
Kuliah 14: Debugging dan Testing
ZULHALIM, SKom, MTI
STMIK JAYAKARTA
Jenis Kesalahan / BugsSebagai developer yang sudah menghasilkan banyak project, ada suatu jaminan yaitu “pasti ada kesalahan / bugs” . Bugs dapat datang dari banyak bentuk, tetapi terdapat 3 jenis bugs yaitu:� Syntax-related
� Biasanya paling mudah untuk diketahui dengan IDE VB.NET dengan adanya pemberitahuan kesalahan dari syntax kode, hal ini biasanya terjadi apabila kesalahan dalam menulis perintah atau nama variable
23/06/2008 Zulhalim, SKom, MTI 2
terjadi apabila kesalahan dalam menulis perintah atau nama variable
� Runtime Error� Terjadi apabila kode benar secara syntax (compiler tidak memberikan
pesan Error apapun), tetapi error muncul pada saat program dieksekusi. Apabila kita tidak menambahkan fungsi Error handling, program akan halted
� Logic Error� Jenis ini sangat sulit untuk deiketahui, biasanya ketika perilaku yang
tidak diharapkan muncul dalam eksekusi program. Hal tersebut biasanya karena adanya kesalahan algoritma pada struktur program
Konsep DebuggingDebug Menu� VB.NET IDE debug Menu menyediakan berberapa tools untuk Debug. Setiap tools menyediakan cara unik untuk mengkontrol eksekusi program secara Line-by-Line, yaitu:� Step Into
23/06/2008 Zulhalim, SKom, MTI 3
� Step Into� mengeksekusi secara line-by-line
� Step Out: � kembali ke Calling metode untuk procedure
� Step Over: � eksekusi secara Real Time tidak secara Line-By-Line
� Run To Cursor� Eksekusi dimana Kursor berada
WatchesWatches menyediakan suatu mekanisme dimana kita dapat berinteraksi dengan data aktual pada saat runtime
Kita dapat melihat nilai dari suatu variable dan nilai properties dari suatu object,
23/06/2008 Zulhalim, SKom, MTI 4
properties dari suatu object, kita juga dapat menentukan nilai baru
Watches sangat berguna ketika kita akan menyelusuri eksekusi kode program karena dapat melihat apa yang terjadi jika suatu variable memiliki suatu nilai yang lain pada waktu yang spesifik
BreakpointsBreakpoint merupakan titik dimana kita akan menghentikan program untuk meilihat kondisi dan nilai variable dari alur program pada saat eksekusiApabila program telah berhenti pada breakpoint kita dapat melakukan investigasi dari kesalahan ynag terjadi dengan menjalankan progam secara line-by-line
23/06/2008 Zulhalim, SKom, MTI 5
menjalankan progam secara line-by-lineDalam VB.NET terdapat fitur baru yaitu Breakpoints Window yang memudahkan kita untuk mengatur Breakpoint dalam hal menghapus dan mengubah breakpoint tanpa mencari breakpoint tersebut, karena sudah ada daftar breakpointKita juga dapat menambahkan Breakpoint Condition, yaitu untuk mensyaratkan suatu breakpoint yang akan terjadi (apakah true atau have changed)
Testing PhasesUnit Testing� Tahapan ini merupakan tahapan yang paling awal dalam pelaksanaan testing� Melaksanakan test pada fungsi dan modul apakah hasilnya telah sesuai dengan
spesifikasi
Integration Testing� Dilakukan apabila Unit Testing menghasilkan hasil yang diinginkan� Masing – masing modul telah dapat berfungsi sebagaimana mestinya, interaksi
antar modul di test apakah dapat berjalan bersama-sama dengan modul lainnya, kemudian dijadikan paket aplikasi yang utuh
23/06/2008 Zulhalim, SKom, MTI 6
kemudian dijadikan paket aplikasi yang utuh� Melakukan integrasi program dari banyak modul, dimana modul-modul tersebut
dapat dikerjakan lebih dari satu orang atau banyak team
Beta Testing� Setelah didapatkan paket program yang utuh, menjadi produk aplikasi� Produk aplikasi tersebut dipaketkan dalam bentuk pre-release product agar user
dapat mencoba produk tersebut� User yang melakukan testing adalah orang yang tidak terlibat dalam proses
development aplikasi, disarankan orang yang baru tetapi sudah paham domain pengetahuan dasar dari aplikasi tersebut
Testing Phase (2)Regression Testing� Setelah produk dipakai/dijual mungkin saja customer meminta perubahan
spesifikasi atau menambah fitur baru dalam aplikasi� Spesifikasi diubah atau di tambah, maka akan ada ada perubahan dalam kode
modul program� Perubahan tersebut di test agar perubahan pada suatu modul tidak
mengganggu modul yang lain
Stress TestingBiasanya aplikasi dapat berjalan normal dengan jumlah beban / user yang
23/06/2008 Zulhalim, SKom, MTI 7
� Biasanya aplikasi dapat berjalan normal dengan jumlah beban / user yang sedikit, tetapi bagaimana dengan banyak user pada pemakaian yang nyata?
� Misalnya aplikasi dapat berjalan baik dengan 10 user, padahal di pemakaian nyata jumlah user adalan 1000 orang
� Dengan stress testing, developer dapat melaksanakan suatu simulasi stress testing menggunakan user yang banyak atau menggunakan tools stress testing (test robots)
Performance Monitoring� Untuk melakukan stress testing, kita dapat menggunakan Windows system
monitor dengan menambahkan item/counter yang akan di selidiki� Windows System Monitor menampilkan graphis mengenai item yang diselidiki
dalam bentuk graph atau counter untuk masing-masing item
Question ?
23/06/2008 Zulhalim, SKom, MTI 8
THANK YOU