Teori Bahasa Pemrograman Visual Basic Kuliah 1:Perkenalan dan Sylabus ZULHALIM, SKom, MTI STMIK JAYAKARTA 2013
Zulhalim, SKom, MTI
1
Sylabus (1) 1. 2. 3. 4. 5. 6. 7. 8. 4/7/2014
Perkenalan / Sylabus .NET Framework Form dan Kontrol Pemrograman I Pemrograman II Fungsi Standar Pemrograman OOP UTS Zulhalim, SKom, MTI
2
Sylabus (2) 9. ADO.NET 10. Konsep Database MS Access 11. Konsep Laporan Crystal Report 12. Optimasi, Debugging, Testing 13. Instalasi Aplikasi 14. Presentasi Tugas I 15. Presentasi Tugas II 16. UAS 4/7/2014
Zulhalim, SKom, MTI
3
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 Sertifikasi MCTS (Exam 70 – 526), Tan Amelia, Cerdas Pustaka Publisher, 2008 Beginning Programming Visual Basic 2005 Trainning Video, InsertKnowledgehere.com, 2006 Zulhalim, SKom, MTI
5
Peraturan Absensi
Wajib 50% kehadiran, jika kurang maka diberikan nilai “D” / gagal Kehadiran 100%, minimal nilai adalah “C” Harap berikan surat sakit / izin, jika berhalangan hadir
Penilaian
4/7/2014
10% 30% 15% 45%
absensi UTS tugas UAS Zulhalim, SKom, MTI
6
Tugas Kelompok Buat kelompok yang terdiri dari maksimum 5 orang Tugas membuat paper mengenai 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 4/7/2014
Zulhalim, SKom, MTI
7
Kontak Dosen Email_1:
[email protected] Email_2:
[email protected] YM ID: zoelhalim HP: 0812 806 5138
Zulhalim, SKom, MTI
8
Bahasa Pemrograman Adalah teknik komando/instruksi standar untuk memerintah komputer. Bahasa pemrograman ini merupakan suatu himpunan 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. 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 Basic BASICA, 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 . 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 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 Framework Merupakan teknologi yang dibuat Microsoft untuk cross-development (Desktop & Web application) dan cross-flatform Sejarah
4/7/2014
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 Zulhalim, SKom, MTI
13
Arsitektur .NET Framework
Zulhalim, SKom, MTI
14
Common Language Runtime Merupakan antarmuka antara kode sumber dan sistem operasi Menyediakan fitur–fitur:
Memory management Common type system Garbage collection
Menggantikan runtime file 4/7/2014
Zulhalim, SKom, MTI
15
Object Oriented Penuh OO: pemrograman berorientasikan kepada object dengan konsep objects, methods dan properties 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 4/7/2014
Zulhalim, SKom, MTI
16
Type Safety Type Safety:
Merupakan pelaksanaan kompatibilitas suatu variabel ketika memindahkan data dari satu 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
Zulhalim, SKom, MTI
17
Kompiler baru Aplikasi dapat langsung dicompile pada DOS prompt menggunakan wsc.exe Kompilasi tidak langsung mengubah kode 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 4/7/2014
Zulhalim, SKom, MTI
18
File Kode Sumber VB.NET .sln file solution yang berisi informasi tentang project .suo file solution selected user option .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 4/7/2014
Zulhalim, SKom, MTI
19
Perubahan dari VB 6.0 Tipe 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 Function menggunakan Return untuk menghasilkan nilai pada nama fungsi Short circuit pada operator AND Variable length:
Short Byte, Integer Short, Long Integer Zulhalim, SKom, MTI
20
Question ?
THANK YOU Zulhalim, SKom, MTI
21
Teori Bahasa Pemrograman Visual Basic Kuliah 2: .NET Framework ZULHALIM, SKom, MTI STMIK JAYAKARTA
4/7/2014
Zulhalim, SKom, MTI
Definisi .NET Framework .NET Framework adalah lingkungan membangun (develop), menyebarkan(deploy), dan menjalankan (run) aplikasi dan service Web Adalah platform tunggal di mana semua orang dapat mengembangkan aplikasi menggunakan suatu sistem 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 lainnya Membuat informasi tersedia di setiap saat dan di setiap tempat Menyederhanakan pengembangan dan penyebaran aplikasi 4/7/2014
Zulhalim, SKom, MTI
Bahasa .NET Compliant Microsoft
C# C++ VB.NET/ ASP.NET Jscript.NET
Lainnya
4/7/2014
COBOL Pascal Dephi Perl Phyton Small Talk Zulhalim, SKom, MTI
Tujuan .NET Framework Menyediakan lingkungan:
Pemrograman berorientasi object, baik secara lokal dan remote / Internet 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) 4/7/2014
Zulhalim, SKom, MTI
Desain .NET Framework Interoperability
Interaksi antara aplikasi lama dan baru (version)
Common Runtime Engine
Proses kompilasi tidak langsung menjadi kode 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
4/7/2014
Menyediakan beberapa kelas dasar yang terdiri dari beberapa fungsi umum Zulhalim, SKom, MTI
Desain .NET Framework – contd. Simplified Development
Instalasi pada sistem tujuan dengan mudah dan keamanan yang baik
Security
Deteksi terhadap “vulnerabilities” seperti Buffer Overflow pada aplikasi
Portability
4/7/2014
Platform dan Machine Independent, suatu kode yang ditulis menggunakan .NET framework haruslah dapat diimplementasikan tanpa sama sekali mengubah kode tersebut Zulhalim, SKom, MTI
Arsitektur .NET Common Language Infrastucture
Menyediakan infrastruktur yang “language independent”
Assemblies
Merupakan beberapa file data “manifest” yang memiliki “metadata” untuk assembly (simple text, version number, dan public key token)
Metadata
4/7/2014
Mengandung informasi tentang assembly, CLR mengecek metadata untuk memastikan module/metode yang benar akan dieksekusi Zulhalim, SKom, MTI
Arsitektur .NET –contd. Class Library
Merupakan perpustakaan dari banyak kelas yang dapat diakses oleh semua bahasa pemrograman .Net compatibe
Security
Code Access Security, validasi dan verifikasi – pengaturan hak / permission granted
Memory management
4/7/2014
Membebaskan developer untuk mengatur memory (mengalokasikan dan membebaskan ketika sudah selesai) menggunakan “garbage collection” Zulhalim, SKom, MTI
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) 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
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 Micro Framework
.NET Framework 2.0 (VS.NET 2005)
4/7/2014
Jan 2006, 64 bit support, scheduler dan memory management tersendiri, ASP.NET (Themes, Skin, web komponen
Zulhalim, SKom, MTI
Versi .NET –contd. .NET Framework 3.0 (WinFX)
Nov 2006, Integerasi dengan Win Vista dan Win Server 2008 Tambahan komponen:
Windows Presentation Fondation (WPF) Windows Communication Foundation (WCF) Windows WorkFlow Foundation (WF) Windows CardSpace
.NET Framework 3.5
4/7/2014
Nov 2007, RTM , VB.NET 9.0 Compiler Language Integrated Query (LINQ) SQL, XML, Object Zulhalim, SKom, MTI
Diskusi…. Kompetitor .NET Framework ?
Kekurangan .NET Framework ?
4/7/2014
Zulhalim, SKom, MTI
Diskusi.. Future Development:
Paralel LINQ (PLINQ)
Task Paralel Library (TPL)
4/7/2014
Zulhalim, SKom, MTI
Question ?
THANK YOU 4/7/2014
Zulhalim, SKom, MTI
Teori Bahasa Pemrograman Visual Basic Kuliah 3: Form dan Kontrol ZULHALIM, SKom, MTI STMIK JAYAKARTA
4/7/2014
Zulhalim, SKom, MTI
1
Definisi Form Form 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 pengguna Suatu form merupakan suatu object yang 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 form Sedangkan dalam VB.Net, form disimpan dalam file *.vb seperti class lainnya dan dapat dilihat kode form nya
4/7/2014
Zulhalim, SKom, MTI
2
Form Sebagai Class Public Class Form1 Inherits System.Windows.Forms.Form End Class
Pada saat kita menambahkan suatu form, terdapat dua baris kode paling atas yang merupakan deklarasi awal dari form Baris 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 Baris kedua menggunakan pernyataan Inherits yang menentukan dari mana class Form1 diturunkan yaitu dari namespace System.Windows.Forms.Form Dari dua baris kode tersebut dapat disimpulkan bahwa form dalam VB .NET adalah class dan class form diturunkan dari class System.Windows.Forms.Form Setelah form baru ditambahkan ke proyek, form tersebut dapat memiliki menu sendiri, menanggapi event, tempat kontrol diletakkan, dan sebagainya Untuk 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 4/7/2014
Zulhalim, SKom, MTI
3
Modal Vs Modeless Form 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()
Form modeless
Form yang tidak harus ditutup terlebih dahulu ketika pengguna membuka form lainnya Gunakan metode Show() untuk menampilkan form sebagai form modeless
4/7/2014
Namaform.Show ()
Zulhalim, SKom, MTI
4
Mengubah Warna Form Menggunakan 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:
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
4/7/2014
Zulhalim, SKom, MTI
5
FormBorderStyle Form Windows memiliki beberapa model yang berbeda. Model diatur menggunakan properti FormBodyStyle Model 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 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
4/7/2014
Zulhalim, SKom, MTI
6
StartPosition Properti StartPosition menentukan posisi form ketika pertama kali dijalankan Mengatur posisi form di tengah-tengah layar akan membuat aplikasi Anda terlihat profesional. Caranya pilih properti StartPosition dengan CenterScreen Biasanya setelah form ditampilkan, pemakai dapat mengubah posisi form seperti:
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
4/7/2014
Zulhalim, SKom, MTI
7
Z - Order Ketika form Anda berisi banyak kontrol, mungkin Anda perlu untuk mengatur ulang urutan tampilan kontrol Contohnya ketika Anda memiliki label kemudian di atasnya disisipkan GroupBox maka label menjadi tidak terlihat karena tertutup GroupBox Urutan posisi kontrol tersebut disebut zorder di mana kontrol yang diletakkan paling belakang berada pada bagian paling atas form Posisi kontrol disebut layer/lapisan Gunakan metode BringToFront untuk meletakkan kontrol pada bagian paling atas dari zorder Sebaliknya gunakan metode SendToBack untuk mengirimkan kontrol pada bagian paling bawah dari z-order Contoh 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 4/7/2014
Zulhalim, SKom, MTI
8
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 tersendiri Aplikasi MDI terdiri dari satu form induk dan banyak form anak Anda dapat menentukan form anak mana yang aktif/fokus dengan klik mouse Pada aplikasi MDI pemakai dapat dengan cepat berpindah antar jendela anak dengan susunan jendela anak: tile/berjajar atau cascade/menumpuk Untuk 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
4/7/2014
Zulhalim, SKom, MTI
9
Msgbox MsgBox(prompt[,tombol][,Judul]) Kotak pesan (msgBox) gunanya untuk menampilkan kotak dialog berisi pesan dan menunggu pemakai untuk menutup dengan cara mengklik suatu tombol Prompt merupakan string yang akan ditampilkan sebagai pesan dalam kotak pesan Jika Prompt berisi lebih dari satu baris, Anda dapat menambahkan pemisah baris menggunakan karakter carriage return/pindah baris Chr(13), karakter linefeed Chr(10) atau kombinasi keduanya Tombol bersifat opsional merupakan angka yang menunjukkan nilai dari tombol yang ditampilkan, model icon yang digunakan, menentukan tombol default dan modalitas dari kotak pesan Judul, 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
4/7/2014
Zulhalim, SKom, MTI
10
InputBox InputBox$(prompt[,judul][, default][,xpos][,ypos]) 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 teks Prompt 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 carraige return Chr(13), karakter linefeed Chr(10) atau kombinasi keduanya Judul merupakan judul yang muncul di baris judul kotak dialog Jika Anda tidak mengisi argumen Judul maka yang digunakan sebagai judul adalah judul aplikasi Default merupakan input default yang dapat Anda gunakan untukmengantisipasi respon dari pemakai. Gunakan argumen ini untuk ditamplikan ketika kotak dialog pertama kali dibuka Xpox dan Ypos merupakan kordinat dari sudut kiri atas kotak dialog dalam satuan pixel Teks yang dimasukkan pemakai dalam kotak dialog diberikan ke variabel. Nilai kembalian selalu string walaupun pemakai memasukkan informasi berupa angka atau tanggal 4/7/2014
Zulhalim, SKom, MTI
11
Menu Menu terdiri dari beberapa perintah (command) yang dikumpulkan/group berdasarkan kegunaan / topik yang umum atau sama Menu memudahkan pengguna dalam melakukan navigasi fungsi terhadap aplikasi 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:
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) mnuFile.MenuItems.Add(mnuFileExit) Menu = mmMainMenu End Sub
Design Time: Gunakan kontrol MainMenu dan Menu Designer Run Time: Gunakan fungsi AddMenu untuk menambahkan suatu menu pada MainMenu
4/7/2014
Zulhalim, SKom, MTI
12
Common Dialog Box Merupakan 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 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
4/7/2014
Zulhalim, SKom, MTI
13
Contoh Common Dialog Box
4/7/2014
Zulhalim, SKom, MTI
14
Mengenal Kontrol Form Windows adalah bagian dari .NET Framework yang dapat Anda gunakan membuat antarmuka aplikasi Kuliah ini difokuskan pada pengenalan kontrol dan komponen form Windows dasar dan penerapannya pada aplikasi Kontrol dan komponen form Windows default yang terdapat di ToolBox, gambar dan tabel keterangannya sebagai berikut:
4/7/2014
Zulhalim, SKom, MTI
15
Menampilkan Teks Label
Menampilkan teks tetapi pemakai tidak dapat mengubahnya secara langsung
LinkLabel
Menampilkan teks dengan model 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
4/7/2014
Zulhalim, SKom, MTI
16
Edit Teks TextBox
Menampilkan teks yang dapat diedit oleh pemakai pada saat programdijalankan atau diubah oleh program
RichText Box
Menampilkan teks dengan format plain text atau rich-text document
4/7/2014
Zulhalim, SKom, MTI
17
Memilih suatu daftar ListBox
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 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
4/7/2014
Zulhalim, SKom, MTI
18
Menangani Gambar PictureBox
Menampilkan file gambar seperti bitmap, png dan icon
ImageList
4/7/2014
Berfungsi sebagai tempat penyimpanan gambar
Zulhalim, SKom, MTI
19
Mengatur nilai CheckBox
Menampilkan kotak cek dan label teks, Umumnya digunakan untuk mengatur pilihan
RadioButton
Menampilkan tombol yang dapat berganti antara off dan on
TrackBar
4/7/2014
Digunakan untuk mengatur suatu nilai pada skala dengan cara menggerakkan “petunjuk” sepanjang skala Zulhalim, SKom, MTI
20
Kotak Dialog OpenFileDialog
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
FontDialog
Menampilkan kotak dialog di mana pemakai dapat mengatur font dan atributnya
ColorDialog
Menampilkan kotak dialog untuk memilih warna sebagai bagian dari antarmuka
4/7/2014
Zulhalim, SKom, MTI
21
Membuat Menu Main Menu
Menyediakan antarmuka untuk mendesain menu secara langsung
Context Menu
4/7/2014
Menampilkan menu popup ketika pemakai mengklik mouse kanan pada suatu object
Zulhalim, SKom, MTI
22
Mengelompokan kontrol lain Group Box
Mengelompokan kumpulan kontrol, bisa diberi label judul dan frame yang tidak dapat digulung
Panel
Mengelompokan kumpulan kontrol, tidak bisa diberi label judul dan frame yang dapat digulung
TabControl
4/7/2014
Menyediakan halaman tab untuk mengorganisasikan dan mengakses object yang dikelompokan secara efisien Zulhalim, SKom, MTI
23
Pertolongan HelpProvider
Menggabungkan help HTML dengan aplikasi Windows
ToolTip
Menampilkan teks ketika pemakai menunjuk pada suatu kontrol
ErrorProvider
4/7/2014
Menampilkan informasi kesalahan ke pemakai
Zulhalim, SKom, MTI
24
Mengatur Print dan Report PrintPreviewControl
Menampilkan dokumen bagaimana akan terlihat ketika dicetak
PrintDocument
Mengatur properti bagaimana akan terlihat ketika dicetak
PrintDocument
Mengatur properti mencetak dan mencetak dokumen dalam aplikasi Windows
CrystalReportViewer
4/7/2014
Menampilkan jendela bagaimana tampilan objek Crystal Report terlihat ketika dicetak
Zulhalim, SKom, MTI
25
Command Button
Digunakan untuk memula, menghentikan atau menginterupsi suatu proses
Toolbar
Berisi kumpulan kontrol tombol
Notify Icon
4/7/2014
Menampilkan icon dalam daerah status notify dari taskbar yang mewakili aplikasi yaang berjalan dalam background Zulhalim, SKom, MTI
26
Pemisah Panel
Splitter Untuk mengubah ukuran kontrol docking
Visualisasi Proses
Progress Bar Secara grafikal menunjukan jalannya proses sampai
selesai dari suatu aksi
Menampilkan Data
DataGrid Menampilkan data secara tabular dari suatu dataset
4/7/2014
Zulhalim, SKom, MTI
27
Question ?
THANK YOU 4/7/2014
Zulhalim, SKom, MTI
28
Teori Bahasa Pemrograman Visual Basic Kuliah 4: Pemrograman Dasar I ZULHALIM, SKom, MTI STMIK JAYAKARTA
4/7/2014
Zulhalim, SKom, MTI
1
Variabel Variabel adalah data yang disimpan di memory (named memory location) Dim I as Integer Aturan penamaan variabel
Dim X as String = “abc” Dim A, B, C As Long
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
4/7/2014
Zulhalim, SKom, MTI
2
4/7/2014
Zulhalim, SKom, MTI
3
Konstanta Sama seperti variabel, tapi tidak dapat diubah ketika sudah dideklarasikan Digunakan untuk menyimpan nilai yang tidak akan berubah atau diproteksi pada waktu eksekusi Ada konstanta yang sudah built-in seperti “pi”, vbred, dsb 4/7/2014
Const X As Integer = 5 Const gravitasi As Long = 0.98 Const str As String = “App Name”
Zulhalim, SKom, MTI
4
Operator
Pembanding
Penjumlahan z = x + y z += x Pengurangan z = x - y z -= x Pembagian z = x / y z = x \ y z /= x z \= x Pangkat z = x ^ y Modulus z = x mod y
4/7/2014
<,>,=,>=,<=, <> LIKE IS
String concation s = “JAYA” & “KARTA” s = “1” + “1” Logical AND OR NOT XOR ANDALSO ORELSE
Zulhalim, SKom, MTI
5
Scope Variable Private
Object hanya dapat diakses pada class yang sama
Public
Object dapat diakses dari luar class dalam satu aplikasi
Friend
Object mempunyai scope pada aplikasi dimana class tersebut di deklarasikan
Protected
Berlaku pada class dan turunan dari class
Protected Friend
4/7/2014
Berlaku pada class, aplikasi dan turunan class
Zulhalim, SKom, MTI
6
‘One Dimensional
Array
Dim MyArr(10) As Integer
Array menyimpan banyak data dalam satu nama variable dengan tipe data yang sama Array dapat diakses menggunakan index (numerical subscript) Fungsi Redim [Preserve] untuk mendefinisikan jumlah Array kembali Array dapat terdiri dari satu atau beberapa dimensi 4/7/2014
Zulhalim, SKom, MTI
Dim MyArr() as String Dim MyArr() as Long = {0,1,2,3) ‘Multi Dimesional Dim MyArr(5,10) Dim MyArr( , )
7
Struktur
Structure Student
Struktur untuk membuat custom datatype, terdiri dari satu atau beberapa variable dengan tipe data yang sama ataupun berbeda Setiap anggota dalam struktur memiliki nama yang unik, walaupun masih dalam satu kesatuan nama struktur
Dim ID As String Dim Name As String Dim Birth As Date End Structure
Dim Siswa As Student Siswa.ID = “0100001” Siswa.Name = “Adi” Siswa.Birth = 01/01/1984
[Public|Private|friend] Structure varname Declaration End Stucture 4/7/2014
Zulhalim, SKom, MTI
8
Collections Adalah kumpulan (group) dari object Sama seperti Array, tetapi tidak bisa di redimensioned Lebih lambat dari array, tetapi sangat menguntungkan karena collection adalah sebuah object dan array adalah datatype Dim colPeople As New Collections.StringCollection() colPeople.Add (“Adi”) 4/7/2014
Zulhalim, SKom, MTI
9
Sub name {[ByVal|ByRef]} [{argument }]
Sub
[statement] [Exit Sub]
Sub adalah blok program End Sub yang dapat dieksekusi berkali-kali pada bagian program yang berbeda Sub Hitung(a as long, b as long) tanpa menuliskan kembali kode tesebut secara Dim c as long berulang-ulang C=a+b Sub mempermudah End Sub pencarian kesalahan, karena penulisan kode sumber yang sedikit dan unik
4/7/2014
Zulhalim, SKom, MTI
10
Function name ([{argument }]) As datatype
Function
[statement]
Sama seperti Sub, tetapi dapat menghasilkan nilai output (return value) Function digunakan merangkai blok kode sumber yang memiliki satu tujuan Function ada yang sudah built-in (cstr, val, ucase, dll) yang ada pada system .net framework NESTED Function …. 4/7/2014
[Exit function] [return value] End Function
Function Pangkat(n As Long, x As Integer ) As Long Dim A As Long A=n^x Return = a End Function
Zulhalim, SKom, MTI
11
Function Multiply(ParamArray Args() As Integer) As Integer
Arguments
Dim I As Integer
ByRef:
Dim Val As Integer = 1
Memakai variable referensi, jika ada perubahan pada variable tersebut maka akan merubah variable referensinya juga
For I = 0 to Args.Length() – 1
ByVal: (default)
Val = Val * Args(I) Next Return Val End Function
Menggandakan variable referensinya, sehingga tidak merubah variable referensi
I = Multiply(2,3)
ParamArray:
I = Multiply(2,3,4)
Digunakan apabila argument tidak dapat ditentukan banyaknya
I = Multiply(2,3,4,………,n)
4/7/2014
Zulhalim, SKom, MTI
12
Question ?
THANK YOU 4/7/2014
Zulhalim, SKom, MTI
13
Teori Bahasa Pemrograman Visual Basic Kuliah 5: Pemrograman Dasar II ZULHALIM, SKom, MTI STMIK JAYAKARTA
4/7/2014
Zulhalim, SKom, MTI
1
If…Then…Else If condition Then [statement] [ElseIf condition-n Then [elseif statement] [Else [else statement]] End If
4/7/2014
Zulhalim, SKom, MTI
If total < 10 then harga = harga + 100 Else harga = harga - 100 End If
2
Select Case Select Case testexpression [Case expressionlist-n [statements-n]] … Select Case expression
[Case Else [elsestatements]]
Case 1 Case Is <= 5
End Select
Case 1 to 10 Case Else End Select
4/7/2014
Zulhalim, SKom, MTI
3
For … Next Loops For counter = start To end [Step step] [statements] For i = 1 to 5 [Exit For] nilai = nilai + i [statement] Next i Next [counter] For Each nilai in myarray If nilai = 5 then Exit For End If Next i 4/7/2014
For Each element In group [statements] [Exit For] Next [element]
Zulhalim, SKom, MTI
4
Do While | Until Loops Do [{While | Until} condition] [statements] [Exit Do] [statements]
Do While nilai < 100 nilai = nilai + 1 Loop
Loop Do nilai = nilai + 1 Loop Until nilai < 100
Do [statement] [Exit Do] [statement]
Loop [{While | Until} condition] 4/7/2014
Zulhalim, SKom, MTI
5
Try – Catch - Finnaly Try [ tryStatements ] [ Catch [ exception [ As type ] ] [ When expression ] Public Sub TryExample() [ catchStatements ] ] Dim x As Integer = 5 ' Declare variables. [ Exit Try ] Dim y As Integer = 0 Try ' Set up structured error handling. ... x /= y ' Cause a "Divide by Zero" error. Catch ex As Exception [ Finally When y = 0 ' Catch the error. MsgBox(ex.toString) ' Show friendly [ finallyStatements ] ] error message. Finally End Try Beep() ' Beep after error processing. End Try End Sub 4/7/2014
Zulhalim, SKom, MTI
6
Diskusi… Daftar bilangan ganjil 1 – 100 Aplikasi login (Username & password) Program menghitung nilai mata kuliah(A,B,C,D,E) Nilai terbesar dan terkecil dari suatu Array
4/7/2014
Zulhalim, SKom, MTI
7
Question ?
THANK YOU 4/7/2014
Zulhalim, SKom, MTI
8
Teori Bahasa Pemrograman Visual Basic Kuliah 6: Fungsi Standar ZULHALIM, SKom, MTI STMIK JAYAKARTA
4/7/2014
Zulhalim, SKom, MTI
1
Fungsi String ASC()
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 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()
4/7/2014
Merubah nilai string menjadi nilai numerik Val(“100”) = 100 Zulhalim, SKom, MTI
2
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()
Menghilangkan spasi di kiri pada string Ltrim(“ basic”) = “basic”
RTrim
Menghilangkan spasi di kanan pada string Rtrim(“basic “) = “basic”
Trim
4/7/2014
Menghilangkan spasi di kanan dan kiri pada string Trim(“ basic “ ) = “basic”
Zulhalim, SKom, MTI
3
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”
MID()
Memotong nilai string dari posisi X sebanyak Y Mid(“KOMPUTER”,3,2) = “MP”
StrReverse()
4/7/2014
Membalikan urutan suatu karakter dalam suatu kata StrReverse(“KOMPUTER”) = “RETUPMOK”
Zulhalim, SKom, MTI
4
Fungsi Matematika Abs()
Menghasilkan nilai absolut Abs(-100) = 100
Ceiling()
Membulatkan nilai pecahan ke atas Ceiling(10.1) = 11
Floor()
Membulatkan nilai pecahan ke bawah Floor(10.9) = 10
Int()
Menghasilkan nilai integer Int(4.98) = 4
Round()
4/7/2014
Membulatkan angka sampai desimal tertentu Round(17.15,1) = 17.2 Zulhalim, SKom, MTI
5
Fungsi Matematika (2) Mod()
Menghasilkan nilai hasil bagi Mod(4,3) = 1
Sqrt()
Menentukan akar kwadrat Sqrt(25) = 5
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
4/7/2014
Zulhalim, SKom, MTI
6
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()
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()
4/7/2014
Menampilkan bilangan heksadesimal dari bilangan desimal Hex(47) = 2F Zulhalim, SKom, MTI
7
Fungsi Statistik Avg()
Menghitung nilai rata-rata
Count()
Menghitung banyaknya data
Max()
Menghasilkan nilai terbesar
Min()
Menghasilkan nilai terkecil
Sum()
4/7/2014
Menjumlah suatu nilai
Zulhalim, SKom, MTI
8
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 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)
4/7/2014
Mengambil bagian dari tanggal yang diuji DatePart(DateInterval.Year, #8/17/2008#) = 2008 Zulhalim, SKom, MTI
9
Fungsi DateTime (2) Second(date)
Mengambil nilai detik dari tanggal
Minute(date)
Mengambil nilai menit dari tanggal
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)
4/7/2014
Mengmbil nilai tahun dari suatu tanggal Zulhalim, SKom, MTI
10
Fungsi DateTime (3) DateValue()
Mengubah string ke tipedata date (tanggal) DateValue(“15 Maret 2008”) = 15/03/2008
TimeValue()
Mengubah string ke tipedata date (jam)
WeekDay()
4/7/2014
Menghasilkan angka hari kedalam satu minggu Weekday(#10/27/2008#) = 1
Zulhalim, SKom, MTI
11
Fungsi Format Format(number,formatstring) 4/7/2014
#.#.00 Currency (Rp. 150.000) Fixed (maksimal 2 angka desimal) 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) Zulhalim, SKom, MTI
12
Fungsi File / Folder FileCopy(source, destination)
Membuat duplikat suatu file dari source ke destination Filecopy(“C:\test.txt”, “D:\text.txt”)
Rename(Old, New)
Mengubah nama file/folder dari old ke new Rename(“C:\test.txt”, “C:\textNew.txt”)
Kill(Pathname)
4/7/2014
Menghapus file/folder dari pathname Kill((“C:\test.txt”) Zulhalim, SKom, MTI
13
Question ?
THANK YOU 4/7/2014
Zulhalim, SKom, MTI
14
Teori Bahasa Pemrograman Visual Basic Kuliah 7: Pemrograman OOP ZULHALIM, SKom, MTI STMIK JAYAKARTA
4/7/2014
Zulhalim, SKom, MTI
1
Object Oriented Programming Visual Basic 6 merupakan Object-Based programming, sedangkan VB.NET adalah ObjectOriented Programming dengan mengukung empat pilar utama dari OOP yaitu:
Polymorphisme 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 4/7/2014
Zulhalim, SKom, MTI
2
OOP- contd Kemampuan 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 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
4/7/2014
Zulhalim, SKom, MTI
3
Object & Class Object:
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 Object2 yang berbeda berinteraksi satu dengan yang lain tanpa mengetahui detail data dari masing-2 data ataupun koding
Class:
Class ClsNama [variable] [property] [method]
Merupakan koleksi dari object-2 yang bertipe [event declaration] sama Setelah suatu class telah didefinisikan, End Class sejumlah object-2 dapat dibuat berdasarkan class tersebut Dim ObjNama As New ClsNama
4/7/2014
Zulhalim, SKom, MTI
4
Constructor & Deconstructor Constructor
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 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
4/7/2014
Dim Mata as Integer Dim Mulut as Integer Public Sub New()
Destructor
Class Orang
Zulhalim, SKom, MTI
mata = 2 mulut = 1 End Sub Public Sub Finalize() mata = 0 mulut = 0 End Sub End Class
5
Inheritance (pemanfaatan kembali) Proses inheritance dilakukan dengan menurunkan suatu class baru dari class yang telah ada Class lama disebut dengan “base class” dan class yang baru disebut “derived class” 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
4/7/2014
Zulhalim, SKom, MTI
Class Mobil [statement] End Class -----------------------Class Sedan Inherits Mobil [statement] End Class
6
Polymorphisme Kemampuan untuk memiliki lebih dari satu bentuk Dapat mengubah perilaku fungsi turunan dari suatu class (Overriding) Dapat membuat banyak fungsi dengan nama yang sama dengan daftar argument yang berbeda (Overloading) Class Hitung Public Overloads Function Tambah(x as integer, y as integer) Return x + y End Function Public Overloads Function Tambah(x As Double, y as Double) Return x + y End Function End Class
4/7/2014
Class BujurSangkar Public Overridable Function Keliling(x as double) as double Return 4 * x End Function End Class Class Lingkaran Inherits BujurSangkar Public Overridable Function Keliling(x as double) as double Return 2 * 3.14 * x End Function End Class
Zulhalim, SKom, MTI
7
Encapsulation Teknik untuk menyembunyikan informasi dari suatu object dengan mengkombinasikan data dan operasi pada object tersebut Data dan operasi dipisahkan, mana yang disembunyikan (private)dan mana yang dapat diakses oleh object yang lain (public)
Class Hitung Private Function Tambah(x as integer, y as integer) as integer return x + y End Function Private Function Kali(x as integer, y as integer) as integer return 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
4/7/2014
Zulhalim, SKom, MTI
8
Abstraction Menampilkan hal2 yang penting tanpa mengikutsertakan detail latar belakang atau penjelasan Suatu class abstrak tidak dapat digunakan untuk membuat object (tidak dapat membuat instance tetapi harus diwariskan) 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 dikembangkan Membuat class abstrak menggunakan MustInherit
4/7/2014
Zulhalim, SKom, MTI
MustInherit Public Class clsName MustOveride Function X MustOveride Function X MustOveride Function X End Class
9
Question ?
THANK YOU 4/7/2014
Zulhalim, SKom, MTI
10
TUGAS KELOMPOK Materi
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 Roman 12pt double space, Max 40 Halaman. Dikumpulkan pada pertemuan ke 12
Presentasi 4/7/2014
Jadwal pada pertemuan 13-14-15 Tediri dari max 10 slide PPT Waktu max 10 menit 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 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.NET 4/7/2014
Zulhalim, SKom, MTI
13
Teori Bahasa Pemrograman Visual Basic Kuliah 9: ADO.NET ZULHALIM, SKom, MTI STMIK JAYAKARTA
26/05/2008
Zulhalim, SKom, MTI
1
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 ADO.NET menggunkan XML (eXtensible Markup Language) untuk memberikan data dari Server ke Client
26/05/2008
Zulhalim, SKom, MTI
2
eXtensible Markup Language (XML) XML merupakan suatu standar untuk membuat (formating) data yang extensible, self-describing dan memecahkan banyak masalah terhadap manipulasi dan transportasi data XML adalah format dokumen berbasis 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
26/05/2008
Zulhalim, SKom, MTI
3
ADO Vs ADO.NET Representasi 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 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
26/05/2008
Zulhalim, SKom, MTI
4
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 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
26/05/2008
Zulhalim, SKom, MTI
5
Arsitektur ADO.NET Komponen 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 Storage NET Data Provider merupakan serangkaian Class yang memungkinkan kode untuk berinteraksi dengan sumber data untuk memanggil, mengupdate dan mengubah data ADO.NET memiliki dua NET Data Provider yaitu: SQL Server NET Data Provider dan OLE DB NET Data Provider
26/05/2008
Zulhalim, SKom, MTI
6
Object ADO.NET Connection
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 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
26/05/2008
Zulhalim, SKom, MTI
7
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 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 26/05/2008 Zulhalim, SKom, MTI
8
Diskusi… Kerugian dan Keuntungan ADO.NET thd ADO 2.X ? Kerugian dan Keuntungan menggunakan XML ? Teknologi yang menjadi kompetitor ADO.NET ?
26/05/2008
Zulhalim, SKom, MTI
9
Question ?
THANK YOU 26/05/2008
Zulhalim, SKom, MTI
10
Konsep Database dan Pengenalan 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 datadata 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 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 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
.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 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 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 Blank Database untuk membuat database yang baru. • Maka akan muncul dialog seperti berikut yang artinya simpan database baru dengan nama yang sesuai dengan informasi yang akan dibangun serta letakan pada folder directory yang telah disiapkan.
Pembuatan Tabel • Jika ingin membuat table, maka pilih object table dan pilih create table
Pembuatan Tabel dan Relasi antar Tabel
TUJUAN • • •
•
Menjelaskan pembuatan tabel pada Access Memberi aturan pada field yang ada pada Tabel 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 : – 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 – 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 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”
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.
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 perubahannya • 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 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 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 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 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. – 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 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 ZULHALIM, SKom, MTI STMIK JAYAKARTA 2008
02/06/2008
Zulhalim, SKom, MTI
1
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 nonprosedural 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.
02/06/2008
Zulhalim, SKom, MTI
2
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. 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.
02/06/2008
Zulhalim, SKom, MTI
3
Fitur-2 SQL Server SQL 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. 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
4
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 datadata 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. 02/06/2008
Zulhalim, SKom, MTI
6
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 :
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
02/06/2008
Zulhalim, SKom, MTI
7
Sintaks DDL CREATE DATABASE bank_xxxx ON PRIMARY (NAME=Pbd, FILENAME=’d:\……………………….na ma folder anda…………………….\pbd_data.mdf ’, SIZE=5, MAXSIZE=50, FILEGROWTH=2) LOG ON (NAME=Pbdlog, FILENAME=’d:\……………………….na ma folder anda…………………….\pbd_log.ldf’, SIZE=3, MAXSIZE=20, FILEGROWTH=1)
02/06/2008
ALTER TABLE pegawai ADD alamat varchar(300) ALTER TABLE pegawai ALTER COLUMN nama varchar(100) ALTER TABLE pegawai DROP COLUMN nama DROP TABLE pegawai 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]))
Zulhalim, SKom, MTI
8
Properti Fields Type 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. 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 kolomkolomnya. 02/06/2008
Zulhalim, SKom, MTI
9
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. 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.
02/06/2008
Zulhalim, SKom, MTI
10
Sintaks DML SELECT [*| nama_kolom1, nama_kolom2, nama_kolomN] FROM nama_tabel UPDATE nama_tabel SET nama_kolom = “nilai_data_baru” WHERE [kondisi]; DELETE FROM nama_tabel WHERE [kondisi]; INSERT INTO nama_tabel (field1, field2, fieldN) VALUES (value1, value2, valueN)
02/06/2008
Zulhalim, SKom, MTI
11
Klausa JOIN Join 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) Join 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 Join Join 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 Join Hampir 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
02/06/2008
Zulhalim, SKom, MTI
12
View
CREATE VIEW view_name (daftar_field) AS ekspresi_select
View 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 database lainnya. 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 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 view tidak boleh mengandung ORDER BY. Jumlah kolom (field) yang tertera di daftar_field harus sama dengan jumlah kolom pada ekspresi_select. Daftar_field bersifat 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.
02/06/2008
Zulhalim, SKom, MTI
13
EXECUTE nama_proc
Stored Procedure
CREATE PROCEDURE nama_proc
@parameter_1 TipeData_1, ..., @parameter_n TipeData_n OUTPUT AS
perintah_perintah_SQL
Stored 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. 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.
02/06/2008
Zulhalim, SKom, MTI
14
Trigger
CREATE TRIGGER [trigger_name] ON [table_name | view_name] FOR INSERT | UPDATE | DELETE AS sql_statement [ . . . n]
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 rutinrutin 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.
02/06/2008
Zulhalim, SKom, MTI
15
Question ?
THANK YOU 02/06/2008
Zulhalim, SKom, MTI
16
Teori Bahasa Pemrograman Visual Basic Kuliah 12: Konsep Pelaporan dengan Crystal Report ZULHALIM, SKom, MTI STMIK JAYAKARTA
09/06/2008
Zulhalim, SKom, MTI
1
Konsep Pelaporan Laporan 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 :
crystal report oracle report SAP B1 Report
Sedangkan aplikasi open source seperti:
BIRT (Business Inteligent and Reporting Tools) Jasper Report
09/06/2008
Zulhalim, SKom, MTI
2
Pengenalan Crystal Report Crystal Report (CR) adalah program Third-Party (pihak Ketiga) untuk membuat laporan pada aplikasi Windows dan Web Vendor CR Crystal Decision Inc (dahulu Seagate Software Inc.) memiliki sejarah kerja sama yang panjang dengan Micrsoft, karena VB versi sebelumnya juga disertakan program CR CR 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 laporan CR menggunakan pendekatan Drag-Drop untuk mengatur object laporan kedalam Designer 09/06/2008
Zulhalim, SKom, MTI
3
Crytal Report Designer (CRD) CRD merupakan lingkungan dalam CR untum mendesain dan memodifikasi laporan CRD memiliki tiga bagian yaitu:
Field Explorer 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
09/06/2008
Zulhalim, SKom, MTI
4
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 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
09/06/2008
Zulhalim, SKom, MTI
5
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 seksi Details Object yang terletak di Group Header akan tercetak pada awal tiaptiap group baru. Seksi ini umumnya berisi nama field group Object yang terletak di Group Footer akan dicetak pada akhir tiaptiap group. Seksi ini umumnya berisi nilai summary/ ringkasan jika ada
09/06/2008
Zulhalim, SKom, MTI
6
Field Explorer Merupakan 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 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
09/06/2008
Zulhalim, SKom, MTI
7
Question ?
THANK YOU 09/06/2008
Zulhalim, SKom, MTI
8
Teori Bahasa Pemrograman Visual Basic Kuliah 13: Aplikasi Web Form (ASP.NET) ZULHALIM, SKom, MTI STMIK JAYAKARTA
16/06/2008
Zulhalim, SKom, MTI
1
Konsep Web Form Web Form merupakan peningkatan kemampuan Rapid Application Development (RAD) dari VB untuk Aplikasi Web, developer dapat membuat form based web page Web form dapat mendesain Web application sama seperti membuat Windows form pada Windows aplication Web Form memisahkan kode dari isi dari suatu halaman web, hal ini membantu suatu group yang berlainan untuk berkosentrasi pada kode dan isi page IDE dari Web Form sama seperti Windows Form, hanya saja web form tidak memiliki window, hanya suatu page yang kosong Sama seperti Windows Controls, Web Form mempunyai kontrol tersendiri. Bagaimanapun Web Control memiliki keterbatasan karena keterbatasan dalam model web
16/06/2008
Zulhalim, SKom, MTI
2
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
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
16/06/2008
Zulhalim, SKom, MTI
3
Web Form vs Windows Form Throughput
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
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
16/06/2008
Zulhalim, SKom, MTI
4
Web Form vs Classic ASP Webform 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 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
16/06/2008
Zulhalim, SKom, MTI
5
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 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
16/06/2008
Zulhalim, SKom, MTI
6
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 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
16/06/2008
Zulhalim, SKom, MTI
7
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 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
8
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 ? Bagaimana metode deployment untuk aplikasi Web forms ?
16/06/2008
Zulhalim, SKom, MTI
11
Question ?
THANK YOU 16/06/2008
Zulhalim, SKom, MTI
12
Teori Bahasa Pemrograman Visual Basic Lanjutan Kuliah 14: Debugging dan Testing ZULHALIM, SKom, MTI STMIK JAYAKARTA
23/06/2008
Zulhalim, SKom, MTI
1
Jenis Kesalahan / Bugs Sebagai 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
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
23/06/2008
Zulhalim, SKom, MTI
2
Konsep Debugging Debug 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
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
23/06/2008
Eksekusi dimana Kursor berada
Zulhalim, SKom, MTI
3
Watches Watches 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, 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 23/06/2008
Zulhalim, SKom, MTI
4
Breakpoints Breakpoint merupakan titik dimana kita akan menghentikan program untuk meilihat kondisi dan nilai variable dari alur program pada saat eksekusi Apabila program telah berhenti pada breakpoint kita dapat melakukan investigasi dari kesalahan ynag terjadi dengan menjalankan progam secara line-by-line Dalam 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 breakpoint Kita juga dapat menambahkan Breakpoint Condition, yaitu untuk mensyaratkan suatu breakpoint yang akan terjadi (apakah true atau have changed)
23/06/2008
Zulhalim, SKom, MTI
5
Testing Phases Unit 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 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
23/06/2008
Zulhalim, SKom, MTI
6
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 Testing
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
23/06/2008
Zulhalim, SKom, MTI
7
Question ?
THANK YOU 23/06/2008
Zulhalim, SKom, MTI
8