Senin, 06 April 2015
Partial Class
Berbeda dengan VB6, VB.NET dapat membuat beberapa Class sekaligus dalam satu file. Jika anda menuliskan coding yang sangat banyak dalam satu class dan anda ingin memecahnya menjadi beberapa bagian agar tidak rancu dan bingung, anda dapat menggunakan Partial Class.
Pertama, buat projek baru dengan visual basic dan pilih Console Application.
Kemudian buatlah class baru dengan nama Matematika.vb
Selanjutnya kita akan langsung menuliskan coding pada Class Matematika.vb. Misalkan kita mempunyai beberapa deretan variable dan fungsi pada Class Matematika.vb dan kemudian kita ingin memecahnya menjadi 2 bagian.
Public Class Matematika
Public BilanganPertama As Integer
Public BilanganKedua As Integer
Public Function Pengurangan() As Integer
Return BilanganPertama - BilanganKedua
End Function
Public Function Penambahan() As Integer
Return BilanganPertama + BilanganKedua
End Function
Public Function Pembagian() As Integer
Return BilanganPertama / BilanganKedua
End Function
Public Function Perkalian() As Integer
Return BilanganPertama * BilanganKedua
End Function
End Class
Dari class diatas kita akan memecahkannya menjadi dua dengan nama class yang sama yaitu Matematika tetapi kita juga harus menambahkan method Partial sebelum pendeklarasian Class. Untuk Classpertama kita gunakan untuk menampung variable dan Class kedua untuk menampung fungsi.
Partial Public Class Matematika
Public BilanganPertama As Integer
Public BilanganKedua As Integer
End Class
Partial Public Class Matematika
Public Function Pengurangan() As Integer
Return BilanganPertama - BilanganKedua
End Function
Public Function Penambahan() As Integer
Return BilanganPertama + BilanganKedua
End Function
Public Function Pembagian() As Integer
Return BilanganPertama / BilanganKedua
End Function
Public Function Perkalian() As Integer
Return BilanganPertama * BilanganKedua
End Function
End Class
Dan sekarang Class Matematika sudah terpecah menjadi 2 bagian. Tetapi walaupun terpecah menjadi 2, Class Matematika tetap menjadi satu kesatuan. Sekarang kita akan mulai implementasi dari Class Matematika.
Buka Modul1.vb dan masuk pada kalang Sub Main(). Tuliskan coding berikut ini dan jalankan program anda.
Module Module1
Sub Main()
'deklarasi class mahasiswa
Dim mtk As New Matematika
'Memberi nilai dari variabel
mtk.BilanganKedua = 2
mtk.BilanganPertama = 10
Console.WriteLine("Penambahan : " & mtk.Penambahan)
Console.WriteLine("Pengurangan : " & mtk.Pengurangan)
Console.WriteLine("Perkalian : " & mtk.Perkalian)
Console.WriteLine("Pembagian : " & mtk.Pembagian)
Console.ReadLine()
End Sub
End Module
Cara Bekerja MCVV pada PostgreSQL
Setiap row di PostgreSQL memiliki dua ID transaksi: createtion transaction ID yang menunjukkan ID transaksi yang membuat row tersebut, serta expiration transaction ID yang menunjukkan transaksi yang membuat row tersebut kedaluwarsa. Ketika UPDATE dilakukan, PostgreSQL menciptakan row baru dan meng-expire row lama. Ini row yang sama -- hanya saja berbeda versi. PostgreSQL menciptakan row versi baru hasil perubahan, tapi juga mempertahankan row versi lama yang sudah kedaluwarsa.
Jelas kan sekarang..... kenapa namanya Multi-Versioning.... Pada sistem database yang menggunakan row-level locking tidak mempertahankan versi lama dari data yang diubah, sehingga kebutuhan untuk mengkunci data muncul untuk menjaga konsistensi data. Setelah sekarang Anda tahu bagaimana PostgreSQL menciptakan versi data, Anda mungkin bertanya-tanya bagaimana PostgreSQL bisa tahu versi yang mana untuk ditampilkan....
Sebenarnya cukup sederhana. Pada awal query, PostgreSQL mencatat dua hal: 1) ID transaksi saat ini berjalan, dan 2) semua ID transaksi yang belum di-commit. Jika ada permintaan query, PostgreSQL menampilkan semua versi row yang cocok dengan kriteria berikut:
- row tersebut memiliki creation transaction ID yang sudah di-commit namun kurang dari counter transaksi saat ini berjalan.
- row tersebut tidak memiliki expiration transaction ID atau expiration transaction ID-nya masih termasuk dalam proses yang belum di-commit.
Kekuatan MVCC adalah dalam tracking ID transaksi untuk menentukan versi dari data yang harus ditampilkan, sehingga locking tidak lagi diperlukan. Cara ini sangat logis dan efisien. Pengguna baru untuk PostgreSQL pasti akan senang dengan perbaikan kinerja saat memanfaat database yang punya MVCC dibanding sistem database yang menggunakan row-level locking, terlebih lagi jika aplikasi berjalan di lingkungan multi-user dengan user yang banyak.
Selain itu, MVCC menawarkan keuntungan lain: hot backup. MVCC memungkinkan PostgreSQL untuk membuat backup database penuh sementara database hidup. Untuk sistem database lain yang mengharuskan semua user menghentikan aktifitas kemudian shutdown database sebelum proses backup dilakukan. Tidak demikian halnya dengan PostgreSQL karena hanya perlu mengambil snapshot dari seluruh database pada titik waktu tertentu dan melakukan backup, bahkan ketika data sedang dimasukkan, diperbarui atau dihapus.
Kesimpulannya, MVCC memastikan bahwa pembaca (SELECT) tidak pernah menunggu untuk penulis (UPDATE) dan penulis tidak pernah menunggu pembaca. Jika Anda tidak percaya bahwa MVCC di PostgreSQL lebih baik dari row-level-locking, saya tantang Anda untuk mencoba sendiri menggunakan PostgreSQL.
Referensi : PojokProgrammer, Postgre 9.4 Online Documentation
Referensi : PojokProgrammer, Postgre 9.4 Online Documentation
Multi-Versioning Concurrency Control (MCVV) PostgreSQL
PostgreSQL | Setiap programmer yang pernah membuat aplikasi multi-user pasti pernah dibuat frustrasi gara-gara lock bisa menyebabkan pengguna menunggu atau bahkan sampai deadlock dan aplikasi hang. walaupun database yang digunakan sudah menggunakan table-level, page-level, column-level, atau row-level locking, masalah yang sama tetap muncul: SELECT oleh satu user nge-block UPDATE oleh user lain sampai transaksi user pertama selesai, dan juga sebaliknya UPDATE satu user nge-block SELECT oleh user lainnya sampai transaksi user pertama selesai.
Namun bagi Anda yang sudah menggunakan PostgreSQL pasti tahu bahwa problem seperti di atas tidak akan terjadi karena di PostgreSQL ada fitur canggih yang disebut Multi-Versioning Concurrency Control (MVCC) sehingga SELECT tidak pernah nge-block UPDATE, dan UPDATE tidak pernah nge-block SELECT.
Dinamakan Multi-Versioning versi data yang dilihat oleh satu user (atau satu transaction) akan berbeda dengan data yang terlihat oleh user yang ada di transaction lain. Artinya perubahan data yang terjadi dalam database melalui UPDATE, INSERT, atau DELETE yang dilakukan oleh satu transaction tidak akan terlihat oleh user lain yang berbeda transaction. Perubahan baru akan terlihat ketika sudah terjadi COMMIT.
Sebuah contoh sederhana di bawah ini menunjukkan perbedaan antara low-level locking di sistem database tradisional dengan MVCC yang ada di PostgreSQL.
SELECT headline FROM news_items
Pernyataan ini membaca data dari sebuah table bernama news_items dan menampilkan semua baris dalam kolom yang disebut headline. Untuk database yang menggunakan low-level locking, pernyataan SELECT tidak akan berhasil dan harus menunggu jika ada pengguna lain secara bersamaan memasukkan (INSERT) atau memperbarui (UPDATE) data dalam tabel item berita. Transaksi yang mengubah data memegang lock pada row yang diubah dan karena itu semua baris dari tabel tidak dapat ditampilkan. Pengguna yang menunggu karena ter-block bisa frustrasi karena tidak tahu kapan lock akan dilepas. Bayangkan jika si pengguna yang melakukan perubahan data lupa COMMIT dan meninggalkan komputernya untuk makan siang..... :))
Dalam PostgreSQL, dalam kondisi apapun, pengguna selalu dapat melihat tabel news_items. Tidak perlu menunggu lock dilepas, bahkan jika beberapa pengguna yang memasukkan dan memperbarui data dalam tabel. Ketika seorang pengguna menjalankan query SELECT, PostgreSQL menampilkan snapshot, atau versi, dari semua data yang dilakukan sebelum perubahan dilakukan oleh pengguna lain. Update data apapun yang merupakan bagian dari transaksi yang dilakuka oleh user lain tidak akan terlihat. cukup masuk akal, bukan?
Karena penulis belum begitu mahir menggunakan postgre, maka berikut saya cantumkan link referensi dari artikel ini :
Fungsi String VB.NET
Sebuah dasar merupakan hal yang penting, terutama adalah algoritma. Jadi sebelum anda membuat sebuah program, anda minimal harus sudah memiliki sebuah gambaran atau perencanaan terlebih dahulu. Jika algoritma sudah terpikirkan, itu akan memudahkan anda ketika menuliskan kode. Kesalahan bagi seorang pembuat program adalah langsung duduk didepan komputer dan menulis kode, padahal algoritmanya saja belum terfikirkan. Lalu apa yang akan terjadi? mungkin anda akan menghapus kode anda berulang-ulang kali atau bahkan anda harus membuat projek baru terus terus dan terus. Hal tersebut sangat disayangkan dan akan membuang waktu anda.
Langsung pada inti permasalahan yaitu fungsi string pada VB.NET. Ini juga merupakan salah satu fungsi dasar dari VB.NET dan yang paling sering anda gunakan nantinya. Berikut adalah fungsi-fungsi yang akan kita pelajari.
Silahkan buat projek baru di Visual Basic. Kemudian double clik pada kalang Form sehingga akan menampilkan lembar untuk menulis kode.
Pada event Form_Load buatkan sebuah variable dengan tipe data String dan isikan pula nilainya. Variable ini akan digunakan untuk pembelajaran kali ini.
Contoh :
1. Length
Hasil : 22Pada event Form_Load buatkan sebuah variable dengan tipe data String dan isikan pula nilainya. Variable ini akan digunakan untuk pembelajaran kali ini.
Contoh :
Dim strValue As String = "Microsoft visual basic"
1. Length
Digunakan untuk menghitung jumlah / panjang String.
Contoh : Menghitung panjang nilai string pada variable strValue
String.Length
Contoh : Menghitung panjang nilai string pada variable strValue
MessageBox.Show(strValue.Length.ToString())
2. Left
Digunakan untuk mengambil nilai string dari sebelah kiri sebanyak x.
Microsoft.VisualBasic.Left(String, Panjang)
Contoh : Mengambil 9 karater string dari kiri.
MessageBox.Show(Microsoft.VisualBasic.Left(strValue, 9))
3. Mid
Digunakan untuk mengambil nilai string dari tengah dimulai dari x sebanyak x. Bingungkan? :D
Microsoft.VisualBasic.Mid(String, Start, Panjang)
Contoh : Mengambil karakter ke 11 sebanyak 7.
MessageBox.Show(Microsoft.VisualBasic.Mid(strValue, 11, 7))
4. Right
Digunakan untuk mengambil nilai String dari kanan sebanyak x.
Microsoft.VisualBasic.Right(String, Panjang)
Contoh : Mengambil 5 karakter String dari sebelah kanan.
MessageBox.Show(Microsoft.VisualBasic.Right(strValue, 5))
5. Substring
Digunakan untuk mengambil nilai string mulai dari index x sebanyak x.
Diatas dituliskan "index", perlu diketahui bahwa index pada VB.NET dimulai dari 0 bukan 1. Fungsinya hampir sama dengan fungsi Left,Right,Mid.
String.Substring(Index_Start, Panjang)
Contoh : Mengambil nilai String dari karakter ke 0 sebanyak 10.
MessageBox.Show(strValue.Substring(0, 10))
6. Split
Digunakan untuk memotong String berdasarkan karakter tertentu.
String.Split(karakter)(index)
Contoh : Memotong String berdasarkan karakter Spasi (" ")
MessageBox.Show(strValue.Split(" ")(0))
Jika kita cermati nilai dari variable strValue, maka kita tahu terdapat dua karakter spasi. Jika kita potong berdasarkan spasi, maka ada 3 nilai yang kita dapatkan, yaitu 1. Microsoft, 2. Visual, 3. Basic. Tetapi karena nilai kembali yang dihasilkan adalah berdasarkan urutan index maka nilai yang dihasilkan berawal dari 0 bukan 1.
Lihat pada karakter terakhir, disitu dituliskan (0). Berarti yang ditampilkan adalah kata Microsoft.
Dan hasilnya seperti berikut :
0 = Microsoft
1 = Visual
2 = Basic
Dan berikut kode lengkapnya :
TAG :
Fungsi String Visual Basic, Fungsi String VB,NET, Fungsi String VB NET, Tutorial Visual Basic, Tutorial VB NET, Tutorial VB.NET, Tutorial VB.NET Bahasa Indonesia, Tutorial Visual Basic Bahasa Indonesia, Tutorial VB NET Bahasa Indonesia.
Minggu, 05 April 2015
Pengenalan Visual Basic.NET (VB.NET)
- Sejarah Singkat
- Lalu bagaimana dengan Visual Basic Classic? Apakah masih layak digunakan?
- VB6 vs VB.NET
- VB6 atau VB.NET?
Jika anda baru pertama kali atau ingin mempelajari Visual Basic, saya rekomendasikan langsung menggunakan VB.NET. Tetapi jika anda sudah terbiasa dengan VB6 atau sudah merasa nyaman dengan VB6 anda boleh saja tetap menggunakan VB6, tetapi akan lebih baik jika anda mulai bermigrasi dari VB6 ke VB.NET.
Langganan:
Komentar
(
Atom
)

