Anda di halaman 1dari 12

Ditulis oleh : Wahyu Pratama SEWASOFT

Penggila teknologi OOP, khususnya pada Visual Basic .Net Semata Wayang Software

Jalan

BERDIKARI
Berdiri Dengan Kaki Sendiri
Sebelum menggunakan panduan Visual Basic .Net ini, ada beberapa hal yang harus
anda ketahui, dimulai dari berikut ini:
 Panduan ini ditulis dengan sepenuh hati.
 Panduan ini bersifat gratis. Dengan pengertian panduan ini tidaklah dijual. Jadi,
kalau anda mendapatkan panduan ini dengan membayar ataupun membeli,
maka bisa dipastikan anda telah dibodoh-bodohi sebodoh-bodohnya.
 Saya paling takut bila di kemudian hari mengalami karma, khususnya karma
yang berasal dari menjual jasa, khususnya lagi pada panduan yang telah saya
tulis ini. Itu sebabnya, sekali lagi, panduan ini tidak dijual atau tepatnya gratis.
 Saya pun tetap merasa ketakutan bila di kemudian hari ada yang menuntut saya
dengan dalih waktu yang dimilikinya (maksudnya para pembaca – red) habis sia-
sia ketika membaca panduan ini. Untuk menghadapi hal tersebut, maka dalih
saya pun adalah sebagai berikut:
 Pastikan anda telah memiliki kemampuan dan pengetahuan yang layak
didalam dunia pemrograman Visual Basic .Net.
 Pastikan anda sudah memiliki dokumentasi pada saat membaca panduan ini.
Dokumentasi yang dimaksud adalah MSDN alias Microsoft Developer
Network. Mengingat panduan yang saya tulis selalu berkiblatkan dari MSDN.
 Saya selalu bermain di area penulisan kode. Dan juga selalu memanfaatkan
semua elemen atau komponen yang ada pada .Net Framework. Jadi kalau
pengetahuan anda hanya sebatas Windows Form dan Database Entity
Relational saja. Maka bisa dipastikan apa yang ada pada panduan ini akan
bertolak belakang dengan kepribadian dan pola pikir yang telah anda
bangun dan gunakan selama ini.
 Panduan ini hanya menceritakan pengalaman pribadi saya selaku programmer
Visual Basic .Net. Sehingga apa yang telah saya perlihatkan kepada anda bisa
anda anggap atau nilai dengan benar maupun salah, atau sesuai maupun tidak
sesuai dengan penilaian anda.
Pendahuluan
Nostalgia
Lama sudah saya menjadi programmer Visual Basic .Net. Semua itu dihitung sejak
Visual Basic .Net 2003 hingga Visual Basic .Net 2010. Dan ketika Visual Basic .Net
sudah mencapai versi 2019, saya pun tetap bertahan di Visual Basic .Net 2010. Kenapa
demikian? Sederhana saja, alasannya seperti berikut ini:
 Saya bukan tipikal orang yang tergesa-gesa.
 Semua .Net Framework selalu dibangun berdasarkan operating system sasaran.
Dan berhubung operating system yang saya gunakan masihlah windows 7. Maka
saya tetap bertahan menggunakan Visual Basic .Net 2010.
 Harus anda pahami, semua .Net Framework yang dibuat Microsoft pasti akan
selalu memiliki kemajuan. Dan ada kalanya ada teknik atau teknologi yang tidak
dimiliki oleh .Net Framework versi terdahulu. Atas dasar inilah saya akan selalu
pindah ke .Net Framework versi selanjutnya. Ambil contoh, generik diperkenalkan
pada .Net Framework 2.0. Dikarenakan pada .Net Framework versi 1.0, 1.1, 1.2,
dan 1.3 belum ada teknik teknologi generik. Maka saya pun hijrah dari Visual Basic
.Net 2003 menuju Visual Basic .Net 2005. Jadi disini terlihat jelas, bila ada teknik
teknologi yang tidak dimiliki oleh versi terdahulu (atau versi yang saat ini sedang
digunakan – red), maka pada saat itulah saya akan hijrah ke .Net Framework versi
selanjutnya.
 Anda harus paham, adanya .Net Framework versi baru biasanya terjadi
dikarenakan hal-hal sebagai berikut:
 Terjadi kemajuan. Dimana anda akan menemukan teknik teknologi yang baru.
 Segala bug yang terjadi pada .Net Framework versi terdahulu telah diperbaiki.
 Terjadi pembinasaan (biasa disebut sebagai obsolete – red). Dalam artian,
teknik teknologi yang terdahulu sudah tidak bisa digunakan lagi.
Pada Visual Basic .Net 2010, fondasi yang dimilikinya sudah sangat kokoh dan
tangguh. Mengingat semua teknologi para pendahulunya sudah dibakukan. Ambil
contoh sebagai berikut:
 Teknik teknologi generik. Teknik teknologi ini diperkenalkan pada era .Net
Framework 2.0 atau tepatnya Visual Basic .Net 2005 atau Visual Basic 8.
 Teknik teknologi linq (Language Integrated Query – red). Teknik teknologi ini
diperkenalkan pada era .Net Framework 3.5 atau tepatnya Visual Basic .Net 2008
atau Visual Basic 9. Tidak sampai disitu saja. Anda pun akan mendapatkan teknik
teknologi extension. Dimana anda bisa membuat sebuah penyisipan yang
ditujukan pada objek yang anda kehendaki.
Sedangkan pada Visual Basic .Net 2010 sendiri, yang mana fondasi .Net Framework
yang dimilikinya adalah 4.0. Maka anda akan mendapati pembaruan pada Lambda.
Sesungguhnya lambda sendiri sudah ada sejak .Net Framework 3.5. Sayangnya lambda
kala itu belumlah tangguh. Pada .Net Framework 4.0, lambda bisa digunakan sebagai
blok prosedur pengganti AddressOf atau Delegate. Lucunya, dahulu saya paling sering
menghindari keberadaan AddressOf ataupun Delegate. Tapi ketika lambda bisa
digunakan untuk menghadapi AddressOf maupun Delegate. Saya malah jadi senang
berurusan dengan AddressOf maupun Delegate. Pada akhirnya, Visual Basic .Net2010
cukup tangguh dan mumpuni untuk membangun sebuah aplikasi. Entah itu untuk
sasaran wilayah desktop-base maupun web-base. Jadi, jangan pernah merasa minder
ketika banyak programmer Visual Basic .Net sudah menggunakan versi terkini, dalam
artian diatas versi 2010. Belum tentu para programmer tersebut menggunakan
sekaligus memanfaatkan semua komponen yang ada pada .Net Framework.

Maksud Dan Tujuan


Kalau anda lihat judul artikel atau panduan kali ini, tentu anda akan merasa bingung,
karena judul yang saya buat hanyalah satu kata atau kalimat saja, yaitu jalan. Judul ini
berasal dari pandangan saya mengenai program aplikasi itu sendiri. Microsoft selama
ini telah memberlakukan pola dasar untuk mempelajari Visual Basic .Net, ataupun
yang lainnya yang masih satu keluarga besar Visual Studio .Net. Pola dasar tersebut
dikenal dengan nama konsep abc. Konsep abc itu sendiri merujuk kepada addressing,
binding, dan contract. Sayangnya, konsep tersebut tidak dikuasai oleh para
programmer Visual Basic .Net (saya tidak tahu dengan programmer diluar Visual
Basic .Net–red) yang ada di Indonesia, sangat menyedihkan sekali memang.
Kebanyakan para programmer Visual Basic .Net di Indonesia lebih asyik mengutak-
ngatik database entity relational ketimbang mempelajari fondasi OOP yang ada di .Net
Framework itu sendiri, khususnya yang ada pada Visual Basic .Net. Sekalipun begitu,
ada hal lain yang ingin saya perlihatkan kepada anda. Belasan tahun saya menjadi
programmer Visual Basic .Net. Saya baru menyadari, apapun yang namanya
addressing, binding, contract, inherits, hingga program aplikasi itu sendiri. Sebetulnya
menjelaskan mengenai jalan. Disini, kalimat jalan saya tujukan pada proses, bukan
hasil. Mengingat hasil bisa saja sama atau bahkan menipu. Tapi kalau sudah
berbicara mengenai proses, maka anda akan melihat kejadian yang sesungguhnya,
bahkan secara keseluruhan.
Yuk, Kita Mulai
Apa Itu Class?
Pada dunia .Net Framework, class adalah sebuah objek yang memiliki sifat bawaan
berupa pewarisan atau biasa dikenal dengan istilah inherits. Dari sini, anda harus
memahami, bahwa istilah pewarisan atau inherits akan selalu merujuk ke object
relational. Dalam artian, sebuah objek bisa memiliki keterkaitan dengan objek yang
lainnya. Dan disini kata keterkaitan merujuk kepada struktur atau anggota yang ada
didalam objek tersebut. Supaya tidak membingungkan anda, anggap saja saya
membuat empat buat class, dengan nama DataDiri, DataSiswa, DataMahasiswa dan
DataKaryawan, yang mana penulisan kodenya seperti berikut ini:
Public Class DataDiri
Property NamaLengkap As String
Property TanggalLahir As Date
End Class

Public Class DataSiswa


Inherits DataDiri
Property NomorIndukSiswa As String
Property TahunAjaran As Date
Property Kelas As String
End Class

Public Class DataKaryawan


Inherits DataDiri
Property NomorIndukKaryawan As String
Property Jabatan As String
End Class

Public Class DataMahasiswa


Inherits DataDiri
Property NomorIndukMahasiswa As String
Property TotalSKS As Integer
Property Jurusan As String
End Class

Berdasarkan penulisan kode di-


atas. Class DataDiri berkedudu-
kan sebagai moyang. Dalam
artian class seperti DataSiswa,
DataKaryawan dan DataMaha-
siswa adalah turunan dari class
DataDiri. Seandainya Visual
Basic .Net yang anda miliki
versi berbayar, dimulai dari Gambar 1
standar hingga ultimate,
maka anda memiliki fasilitas class diagram. Dimana fasilitas ini akan memperlihatkan
alur objek yang ada pada project yang sedang anda buat. Sebagai contoh, diagram
alur class yang telah saya buat akan seperti yang ada pada gambar 1.
Berdasarkan gambar 1, itulah yang disebut dengan object relational. Dimana class
DataDiri menyerahkan struktur atau anggota yang dimilikinya ke class lainnya.
Sehingga anda bisa mengambil kesimpulan sebagai berikut:
 Ketika ada perubahan atau perombakan, entah itu penambahan atau
pengurangan pada anggota yang ada di class DataDiri. maka semua class turunan
akan mengetahuinya.
 Lain lagi ceritanya ketika class turunan mengalami perubahan atau perombakan,
sudah pasti class moyang, dalam hal ini DataDiri, tidak mengetahui apapun.
 Terakhir yang perlu anda camkan adalah, anda harus berhati-hati ketika
mendesain class moyang. Sebab bila di kemudian hari anda melakukan
pengurangan anggota, maka pada saat itu pula class turunan akan langsung
mengalami error.
Nah, itulah dia yang namanya class pada Visual Basic .Net. Jadi, kalau anda
membandingkan class yang ada pada Visual Basic .Net dengan Visual Basic. Sudah
pasti bertolak belakang. Mengingat Visual Basic belum menganut konsep OOP.

Tingkatan Class
Pada dunia pemrograman yang berfondasikan OOP, tepatnya pada .Net Framework,
yang namanya class memiliki tiga tingkatan. Sederhana seperti berikut ini:
 Class tingkat pertama:
Ini adalah class terendah dan juga tidak memiliki bentuk fisik sama sekali. Dalam
artian belum memiliki tingkat kesulitan sama sekali. Anda bisa berpatokan pada
class yang telah saya buat, yaitu DataDiri, DataSiswa, DataMahasiswa dan
DataKaryawan. Sekedar mengingatkan, class seperti ini tidak bisa dibawa ke area
Design View.
 Class tingkat kedua:
Ini adalah class menengah. Ada kemungkinan anda sering menggunakannya,
semisal Timer. Sekalipun begitu, class menengah bisa dibawa ke area Design View
sekalipun belum memiliki bentuk fisik sama sekali.
 Class tingkat ketiga:
Ini adalah class tingkat tinggi. Dikatakan demikian dikarenakan anda akan
menemukan banyak kerumitan yang dikandung oleh class ini. Ditambah lagi class
ini memiliki bentuk fisik, sehingga bisa dibawa ke area Design View. Class seperti
ini sudah sering anda gunakan, mulai dari Form, Control, dan UserControl.
Nah, sampai disini saya ingin memberitahukan kepada anda, mengingat banyak sekali
programmer Visual Basic .Net (saya tidak tahu dengan programmer diluar Visual Basic
.Net – red) yang tidak menyadarinya. Yaitu, sesungguhnya class tingkat satu dan class
tingkat dua bisa anda temukan pada tipe project apapun. Entah itu pada area
Windows Form, Windows Presentation Form, ASP .Net, Silverlight, dan tetek-bengek
lainnya. Tapi, kalau sudah menjelaskan mengenai class tingkat ketiga, maka class
tersebut hanya akan anda temukan pada area project yang sedang digunakan, dan
memang hanya ditujukan pada satu wilayah atau area project. Mengingat class tingkat
ketiga dibuat dengan karakteristik yang berbeda dan unik.
Kelemahan Class Pada Visual Basic .Net
Sekalipun Visual Basic .Net dibangun diatas fondasi .Net Framework. Tidak serta
merta kedudukan Visual Basic .Net bisa sederajat dengan saudara atau sepupunya
yang lain. Dan memang sejak awal saya menjadi programmer Visual Basic, terhitung
dari versi 4, saya sudah menyadarinya kalau Visual Basic sampai kapan pun akan
berada pada posisi sebagai anak tiri, bwahahaha, hiks.
Disini, satu hal yang saya benci dari class yang dimiliki oleh Visual Basic .Net adalah
tidak bisa melakukan pewarisan ganda, atau terkadang saya menyebutnya sebagai
perkawinan. Sederhananya, kalau anda pernah memiliki keinginan membuat control
visual yang menjadi turunan dari Textbox dan Button. Maka hal seperti itu hanya bisa
terjadi pada bahasa pemrograman diluar Visual Basic .Net. Mengingat pada Visual
Basic .Net, yang namanya pewarisan hanya bersifat searah. Harap maklum lah,
Microsoft sampai hari ini sepertinya masih menjadikan Visual Basic .Net sebagai
bahasa pemrograman berorientasi tujuan alias goal oriented.

Apa Itu Interface?


Interface adalah sebuah objek yang sifatnya hanya sebatas kerangka dasar, atau
bagan, atau boleh juga anda menyebutnya sebagai blue print. Dan atas dasar inilah
anda tidak akan bisa memasukkan unsur logika didalamnya. Sampai disini, tentu anda
akan berpikir, apa gunanya kalau tidak bisa dimasukkan unsur logika sama sekali?
Jawabannya pun sangat sederhana sekali. Interface berfungsi sebagai jembatan.
Sederhanya seperti ini, kalau anda pernah membuat dua buah objek yang berbeda,
tetapi struktur atau anggotanya ternyata sama. Maka alangkah baiknya anda
membuat sebuah interface dan kemudian menerapkannya pada dua objek yang
berbeda jenis tersebut. Tujuannya hanya satu, supaya memory yang berasal dari dua
objek yang berbeda jenis tersebut mengalir ke sumber yang sama. Ambil contoh, saya
memiliki sebuah interface mengenai biodata dengan nama BiodataI, yang mana
penulisan kodenya sebagai berikut:
Public Interface BiodataI
Property NamaLengkap As String
Property TanggalLahir As Date
Property TempatLahir As String
End Interface

Sekali lagi, dikarenakan interface hanyalah sebuah kerangka dasar atau bagan atau
blue print, maka anda tidak akan menemukan alur logika atau biasa disebut sebagai
blok prosedur. Setelah itu, saya akan membuat class Biodata guna menerapkan
interface BiodataI yang telah saya buat, saya beri nama BiodataC, yang mana
penulisan kodenya sebagai berikut:
Public Class BiodataC
Implements BiodataI

Public Property NamaLengkap As String Implements BiodataI.NamaLengkap


Get

End Get
Set(ByVal value As String)
End Set
End Property

Public Property TanggalLahir As Date Implements BiodataI.TanggalLahir


Get

End Get
Set(ByVal value As Date)

End Set
End Property

Public Property TempatLahir As String Implements BiodataI.TempatLahir


Get

End Get
Set(ByVal value As String)

End Set
End Property
End Class

Nah, pada penulisan kode diatas, itulah yang akan selalu terjadi ketika anda
menuliskan implements sebuah interface, dalam hal ini adalah BiodataI. Sekedar
mengingatkan saja, ketika anda menuliskan implements sebuah interface, dan
kemudian meng-enter, maka pada saat itu pula compiler akan menyediakan blok
prosedur sesuai dengan interface yang dituju atau digunakan. Pada penulisan kode
diatas, saya sengaja membiarkan blok prosedur yang ada kosong melompong.
Mengingat disini saya hanya berniat menjelaskan kegunaan interface. Dari sini, saya
akan membuat Biodata versi structure, saya beri nama BiodataS, yang mana penulisan
kodenya seperti berikut:
Public Structure BiodataS
Implements BiodataI

Public Property NamaLengkap As String Implements BiodataI.NamaLengkap


Get

End Get
Set(ByVal value As String)

End Set
End Property

Public Property TanggalLahir As Date Implements BiodataI.TanggalLahir


Get

End Get
Set(ByVal value As Date)

End Set
End Property

Public Property TempatLahir As String Implements BiodataI.TempatLahir


Get

End Get
Set(ByVal value As String)

End Set
End Property
End Structure

Pada saat ini, anda telah mendapat-


kan dua buah objek yang berlainan
jenis, yaitu class dan structure, Gambar 2
sekalipun begitu, kedua objek yang berlainan jenis tersebut memiliki anggota yang
sama. Nah, disini kalau anda meminta bantuan class diagram, maka anda akan
mendapati alur diagram seperti yang ada pada gambar 2. Berdasarkan gambar
tersebut, sekali lagi anda akan melihat adanya dua objek yang berbeda jenis tetapi
memiliki anggota yang sama. Berhubung saya hanya sekedar menjelaskan interface
dari segi penerapan atau implements, maka anda tidak akan menemukan garis
penghubung sama sekali.

Pewarisan Ganda Atau Pernikahan Pada Interface


Yang menyenangkan dari dunia OOP pada .Net Framework adalah adanya pewarisan
ganda atau pernikahan. Sayangnya, sekali lagi, pada Visual Basic .Net, hal seperti itu
hanya terjadi pada area interface saja. Dan untungnya itu masih bisa terjadi, bwahaha.
Sekarang, saya akan membuat contoh mengenai pewarisan ganda atau pernikahan
pada interface. Tapi ini hanya sekedar ilustrasi saja. Ambil contoh, saya membuat
sebuah interface dengan nama SifatBapak, yang mana penulisan kodenya sebagai
berikut:
Public Interface SifatBapak
Property Sabar As Integer
Property SusahDibilangin As Integer
End Interface

Setelah itu saya membuat interface dengan nama SifatIbu, yang mana penulisan
kodenya sebagai berikut:
Public Interface SifatIbu
Property Cerewet As Integer
Property SukaMembandingkan As Integer
End Interface

Berdasarkan penulisan kode diatas, maka anda akan menemukan, baik SifatBapak dan
SifatIbu adalah dua interface yang berbeda atau lebih tepatnya berdiri sendiri.
Kemudian dari sini, saya membuat interface SifatAnak, yang mana penulisan kodenya
sebagai berikut:
Public Interface SifatAnak
Inherits SifatBapak, SifatIbu
Property Pemalas As Integer
End Interface

Nah, seperti yang anda lihat pada penulisan kode diatas, yaitu pada interface
SifatAnak. Berdasarkan penulisan kode tersebut, maka anda akan menemukan bahwa
interface SifatAnak terbentuk dari interface SifatBapak dan SifatIbu. Dan hal ini pula
yang menyebabkan bahwa interface Sifat-
Anak sedikit lebih rumit atau kompleks
daripada interface SifatBapak dan SifatIbu.
Sekali lagi, kalau anda meminta bantuan
class diagram, maka class diagram yang akan
anda dapati sama seperti yang ada pada
gambar 3. Dan seperti yang anda lihat pada
gambar 3, disitulah kenikmatan yang saya
rasakan ketika saya melakukan pewarisan
ganda atau pernikahan. Kalau anda belum
pernah menyelami dunia OOP pada .Net
Framework, maka saya pastikan anda akan
kesulitan merasakan kenikmatan yang bisa Gambar 3
anda dapati pada dunia OOP yang ada pada
.Net Framework. Sehingga saya pun berharap anda berkenan menghabiskan waktu
anda di dunia penulisan kode ketika anda mendesain program aplikasi pada Visual
Basic .Net ataupun bahasa pemrograman yang lainnya yang berfondasikan OOP.

Dahsyatnya Generic Ketika Disandingkan Ke Interface


Ketika saya hijrah, dari Visual Basic .Net 2003 menuju Visual Basic .Net 2005. Dan juga
dikala saya mengenal teknik teknologi generik. Maka disaat itu pula saya merombak
semua alur logika yang pernah saya buat. Dari yang awal mulanya masih jarang
menggunakan interface, apalagi mengandalkannya, dan disaat itu, justru paling
senang menggunakan interface, bahkan selalu mengandalkan interface. Dan pada
kesempatan kali ini, saya akan memperlihatkan kepada anda, betapa dahsyatnya
interface ketika disusupi generik. Ambil contoh, saya ingin membuat sebuah prosedur
yang bisa digunakan sebagai konversi, saya beri nama Fungsi, yang mana penulisan
kodenya sebagai berikut:
Public Interface Fungsi(Of Ke, Nilai)
Function Fungsi(ByVal Ke As Ke) As Nilai
End Interface

Bagi para programmer MFC alias Microsoft Foundation C alias Visal C++, generik akan
selalu diartikan sebagai template. Dan buat saya, saya akan selalu mengartikan
generik sebagai multi tafsir. Saya sebut demikian dikarenakan anda bebas
mengartikannya, semau anda malahan. Sebagai bukti, saya akan menerapkan
interface fungsi seperti berikut:
Public Class UjiFungsi
Implements Fungsi(Of String, Integer), Fungsi(Of Integer, String), _
Fungsi(Of String, Byte), Fungsi(Of Byte, String), _
Fungsi(Of Integer, Object), Fungsi(Of String, Object)

Public Function Fungsi(ByVal Ke As Integer) As String _


Implements Fungsi(Of Integer, String).Fungsi

End Function
Public Function Fungsi1(ByVal Ke As String) As Integer _
Implements Fungsi(Of String, Integer).Fungsi

End Function
Public Function Fungsi2(ByVal Ke As String) As Byte _
Implements Fungsi(Of String, Byte).Fungsi

End Function
Public Function Fungsi3(ByVal Ke As Byte) As String _
Implements Fungsi(Of Byte, String).Fungsi

End Function
Public Function Fungsi4(ByVal Ke As Integer) As Object _
Implements Fungsi(Of Integer, Object).Fungsi

End Function
Public Function Fungsi5(ByVal Ke As String) As Object _
Implements Fungsi(Of String, Object).Fungsi

End Function
End Class

Nah, seperti yang anda lihat pada penulisan


kode diatas. Biarpun penulisan kode diatas
hanyalah ilustrasi. Tapi coba anda lihat
kembali. Interface yang saya gunakan
hanyalah satu, tetapi ketika diterapkan,
justru itu semau saya, sejauh tidak
mengalami error tentunya, hahaha. Sekedar
mengingatkan, apa yang telah saya lakukan
hanyalah bersumber pada satu tempat saja,
yaitu interface Fungsi. Jadi kalau saya
meminta bantuan class diagram, maka anda Gambar 4
bisa berpatokan pada gambar 4.

Kesimpulan
Ketika saya masih tergolong baru didalam mempelajari fondasi .Net Framework. Saya
selalu berpatokan, bahwa yang namanya OOP sudah pasti akan selalu menitik
beratkan pewarisan atau inherits. Tapi di kemudian hari, saya tarik kembali kata-kata.
Dikarenakan selain teknik teknologi pewarisan atau inherits, ternyata masih ada satu
teknik teknologi lagi, yaitu penerapan atau implements. Kesimpulan ini saya ambil
ketika saya ingin membangun sesuatu yang memiliki kesamaan dan bisa diterapkan
pada dua objek yang berbeda jenis, yaitu class dan structure.
Jadi, apapun istilah yang akan anda temukan ketika anda memasuki dunia
pemrograman, entah itu pewarisan atau inherits, penerapan atau implements,
addressing, binding, contract, dan segala macam tetek-bengek lainnya, sebenarnya itu
hanya menceritakan sebuah jalan, itu saja.
Tentang Penulis
Tidak ada yang istimewa, hanya seorang programmer kacangan yang sedang belajar
sekaligus menjalani kehidupan sebagai penulis. Sekalipun begitu, apapun yang saya
tulis akan selalu menitikberatkan pada OOP dan .Net Framework. Hal ini terjadi
dikarenakan filosofi dunia pemrograman pada hari ini adalah change is forever alias
selamanya berubah, bahkan ada lagi filosofi yang lain berbunyi change is eternal alias
perubahan itu abadi.
Akhir kata, semoga apa yang saya tulis ini bisa membantu anda didalam mendesain
alur logika. Bila ada pertanyaan, sebaiknya anda langsung mencari dokumentasinya ke
MSDN. Mengingat MSDN gudangnya ilmu.

Wahyu Pratama
Mayang, Gatak, Surakarta, Solo

2 Rajab 1441/26 Febuari 2020

Anda mungkin juga menyukai