Indotect

Belajar itu tidak harus mahal

Senin, 06 April 2015

Partial Class

Tidak ada komentar :


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

Tidak ada komentar :

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 : PojokProgrammerPostgre 9.4 Online Documentation

Multi-Versioning Concurrency Control (MCVV) PostgreSQL

Tidak ada komentar :

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

Tidak ada komentar :


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 :
Dim strValue As String = "Microsoft visual basic"




1. Length
Digunakan untuk menghitung jumlah / panjang String.
String.Length

Contoh : Menghitung panjang nilai string pada variable strValue

MessageBox.Show(strValue.Length.ToString())
Hasil : 22

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))
Hasil : "Microsoft"

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))
Hasil : "Visual"

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))
Hasil : "Basic"

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))
Hasil : "Microsoft"

6. Split

Digunakan untuk memotong String berdasarkan karakter tertentu.
String.Split(karakter)(index)

Contoh : Memotong String berdasarkan karakter Spasi (" ")

MessageBox.Show(strValue.Split(" ")(0))
Hasil :
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)

Tidak ada komentar :


  • Sejarah Singkat 
Sejak awal kemunculannya yaitu pada tahun 1991, Visual Basic menjadi salah satu bahasa pemrograman yang banyak digunakan oleh para programmer, akan tetapi pada masa itu fitur dari Visual Basic dirasa kurang lengkap salah satunya adalah tidak adanya konsep OOP (Object Oriented Programming). Namun pada tahun 2001 Microsoft yang merupakan perusahaan software terbesar memperkenalkan teknologi terbaru, yaitu .NET Framework yang mensupport bahasa pemrogramman Visual Basic. Dan pada saat itu pula Microsoft memberi nama baru yaitu VB.NET yang sudah powerfull dan didukung dengah pemrograman berorientasi objek.


  • Lalu bagaimana dengan Visual Basic Classic? Apakah masih layak digunakan? 
Banyak orang menilai Visual Basic Classic sudah ketinggalan jaman seiring munculnya platform NET. Padahal pemikiran tersebut salah, Visual Basic Classic tidaklah ketinggalan jaman akan tetapi lebih tepat dikatakan mulai ditinggalkan Microsoft. Jadi semua fitur yang ada pada Visual Basic Classic sudah tidak lagi dikambangkan oleh Microsoft.


  • VB6 vs VB.NET
VB.NET adalah bahasa baru yang sudah di redesign dan direstrukturisasi. Bahasa ini sudah dibuat menjadi lebih modern dengan penambahan fitur baru pada object design, data akses, form, dan masih banyak lagi. Bahkan format file juga sudah berubah. Sayangnya perubahan yang signifikan tersebut membuat VB.NET tidak 100% backward compatible dengan VB6. Project dari VB6 harus di upgrade untuk dapat berjalan di VB.NET. Anda dapat menggunakan upgrade wizard untuk masalah ini, namun untuk aplikasi yang kompleks tetap membutuhkan tambahan modifikasi secara manual. Banyak orang yang berpendapat upgrade dari VB6 ke VB.NET tidak sekedar upgrade melainkan migrasi aplikasi. Meskipun untuk migrasi membutuhkan kerja ekstra namun VB.NET akan sangat menarik untuk dipelari oleh developer VB6.



  • 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.