Nambahin dikit ya...
Dulu banget ada yang bilang, sebelum belajar sebuah bahasa program,
belajarlah *Logika Pemrograman**
***Dengan memantabkan logika pemrograman dengan sendirinya kita akan
tahu (karena mencari tahu) nama2 fungsi dan kegunaannya seiring dengan
keperluan yang diperlukan didalam logika pemrograman (hadeh bahasanya) :D
Kalau diibaratkan dalam bahasa manusia, logika pemrograman adalah bahasa
hati, misal kita ingin mengucapkan kata yang mewakili kegiatan
"*Memasukan makanan kedalam mulut, mengunyah dan menelannya*", maka :
Dalam bahasa Pemrograman Jawa ada beberapa function yang bisa
digunakan,misal "*Dahar*", "*Mangan*", "*Mbadok*", "*Nggaglak*",
"*Nyekek*", *"Nguntal*", dst
Dalam bahasa Pemrograman Indonesia bisa digunakan function "*Makan*"
Dalam bahasa Pemrograman Inggris bisa digunakan function "*Eat*"
Dalam bahasa Pemrograman Dayak bisa digunakan function "*Kuman*"
Darimana kita tahu function2 yang digunakan dalam Bahasa Pemrograman ?
bisa dengan membaca kamus bahasa (Buka Help) atau bertanya langsung
kepada orang yang mengerti bahasanya (Ask The Audience) :D
Jadi kalau kita tahu apa bahasa hatinya "*Memasukan makanan kedalam
mulut, mengunyah dan menelannya*" dalam bahasa pemrograman Dayak dan
bagaimana memfungsikannnya dalam sebuah kalimat, kita tidak perlu
menghapal sebuah kalimat yang mengandung kata tersebut ex: *Kuman Helu
Lek* yang maksudnya kurang lebih, *Makan Dulu Mas Bro*
Dalam masing2 bahasa pemrograman ada kelebihan dan kekurangannya, misal
kata *Makan *dalama bahasa indonesia adalah sebuah function yang
universal, kita dapat menggunakannya terhadap object apa saja, mulai
presiden sampai pengemis pinggir jalan, berbeda hal nya dengan bahasa
pemrograman Jawa, kita tidak bisa seenaknya menggunakan kata *Nguntal
*kepada object yang berlevel diatas kita ex: *Pak SBY, nguntal disik yuk
!*, yakinlah tidak sampai 5 menit bakal ada cap 5 jari di pipi kita
hasil karya Paspampres :D
Sama dengan For ... Next, For Each ... Next, Do... Loop, While... Wend,
dst semua gunanya sama, untuk proses looping, tapi penggunaannya ada
waktunya masing2
Pasti dimilis sering kita lihat saat ada anggota milis yang posting
pertanyaan yang kurang jelas kemudian ada post susulan yang berbunyi
"Ini maksudnya Apa"
"Yang Itu maunya digimanakan ?"
"Apakah Begini ?"
Semua pertanyaan2 diatas adalah untuk mempertegas / memperjelas /
mengklarifikasi dalam konversi kedalam bahasa hati sang programmer,
untuk selanjut di terjemahkan kedalam bahasa program (VBA) sehingga
menjadi untaian kata2 indah bercode ra genah (^_^)
Jadi kesimpulannya:
Untuk Jadi Programmer, musti kudu wajib Bin harus Ngerti Logika
Pemrograman atau dalam istilah bahasan diatas bisa disebut juga bermain2
dengan Bahasa Hati, tapi jangan sampai terjadi Konspirasi Hati demi
kemakmuran Source Code (^_^)V , maksudnya jangan sampai karena logic
nya ngeblank, codenya yang ditulis jadi puanjang, muter2 bolak balik,
kesana kemari, padahal tujuannya cuman kesitu situ aja
Ex:
Misal kita punya Cell A1 s/d A10, isinya angka 1 sampai 10 , lalu ingin
menjumlahnya di cell C1
Code1: Range("C1").Formula = "=SUM(" & Range("C1").Offset(0,
-2).Address & ":" & Range("C1").Offset(0, -2).End(xlDown).Address & ")"
Code2: Range("C1") = Evaluate("SUM(" &
Range("A1").CurrentRegion.Address & ")")
Code3: Range("C1") = WorksheetFunction.Sum(Range("A1").CurrentRegion)
Code4: [C1] = [SUM(A1:A10)]
dari contoh kode diatas, semuanya tujuannya sama, tapi masing2 ada
kekurangan dan kelebihannya, ada yang mbulet ada yang langsung, ada yang
dinamis ada yang tidak, dst
Kira2 begitu tambahan dati saya, silahkan ditambahi atau dikurangi jika
ada yang kurang pas dalam penyampaian
Rgds,
[dp]
On 18-09-2013 8:02, Mr. Kid wrote:
Waduh, saya ndak mudeng, pemetaannya yang seperti apa.
Setahu saya, jika menggunakan object selalu sudah dibawakan Object
Model References nya. Kalau Excel, berarti sudah ada Excel Object
Model References nya.
Penggunaan variabel dan sebagainya tidak mungkin tinggal ceplok sana
ceplok sini, comot sana dan comot sini. Karena variabel adalah nama
sesuatu. Justru dengan disediakan datatype oleh VB/VBA yang hanya
sedikit dan dengan pemahaman konsep variabel dan datatype lah maka
bisa membentuk berbagai macam variabel sesuai kebutuhan.
Begitupula algoritma suatu proses. Inti dari suatu algoritma adalah
logika prosesnya, bukan bunyi baris per baris kodenya. Misalnya
mendaftar nama-nama sheet, maka algoritmanya berbunyi :
'melakukan loop terhadap semua sheet yang ada'
dan bukan berupa
Dim sht As Worksheet
For Each sht in thisworkbook.worksheets
'blablabla
Next sht
Justru yang harusnya dipahami adalah dengan mendengar kalimat berbunyi
'melakukan loop terhadap semua sheet yang ada' maka akan terbentuk
sebuah prosedur untuk mendaftar sheet, bahkan bisa jadi sebuah
library. Dengan begitu, tidak akan ada keterikatan antara pengguna VBA
dengan contoh-contoh prosedur yang tersebar luas. Cukup dengar berita
algoritma nya seperti apa, maka akan bisa membentuk prosedurnya
sendiri. Hal inilah yang akan memudahkan dalam berkreasi menyelesaikan
seluruh tuntutan penggunaan VBA.
Biasanya, sulitnya menerapkan pengetahuan tentang pemrograman pada
dunia nyata terletak pada kurang runutnya atau keengganan untuk
merunut setiap baris kode contoh yang ditemui hingga menemukan
algoritma dari baris-baris kode tersebut. Kebanyakan pengguna VBA
lebih senang untuk bisa copas dan ubah sana sini lalu di-pas-pas-ken
dengan kebutuhan daripada memahami apa yang sebenarnya dilakukan
prosedur tersebut dan bagaimana membuat yang sesuai kebutuhan.
Kalau masih enggan untuk berusaha memahami maksud setiap baris kode
yang pernah ditemui, biasanya sampai 5 tahun belajar pemrograman
setiap hari 3 sampai 4 jam pun gak akan bisa membangun aplikasi yang
kompleks. Selalu saja terhenti pada level otomasi sederhana dan itupun
kurang bersifat dinamis mengikuti kebutuhan.
Untuk bisa memahami setiap baris kode yang ditemui tidak harus orang
IT kok. Banyak yang lulusan kuliah jurusan IT juga nol besar kalau
memahami algoritma pemrograman. Yang dibutuhkan justru yang mau untuk
berusaha memahami sampai bertemu suatu algoritma proses ini adalah
begini, proses itu adalah begitu.
Mungkin begini saja. Di link ini
<http://b-excel.blogspot.com/2013/09/kasus-001-belajarvba-upto-011-range-03.html>
ada contoh membangun sebuah proses dari nol hanya berdasar materi
BelajarVBA sampai 011 Range 03. Dari algoritma yang bisa didapatkan
pada contoh tersebut, bagi yang sudah punya pengetahuan lebih luas
tentang VBA akan bisa membangun prosedur paling sekitar 13 sampai 15
baris kode saja dari deklarasi prosedur sampai End Sub.
Met belajar semuanya....
Wassalam,
Kid.
2013/9/17 hendrik karnadi <hendrikkarn...@yahoo.com
<mailto:hendrikkarn...@yahoo.com>>
Yang bikin bingung barangkali waktu menceritakan kembali dongeng
Mr. Kid (menulis sendiri VBA script) pada saat menghadapi dunia
nyata (memecahkan kasus2) khususnya bongkar pasang (manipulasi)
Variabel.
Barangkali guideline Mr. Kid perlu ditambah "pemetaan" seperti
"pemetaan" yang dibuat oleh Leonardo Da Vinci untuk melukis, jadi
tinggal ceplok sana ceplok sini jadilah karya besar seperti
monalisa. Barangkali, ini yang membuat para pemerhati VBA semakin
lama semakin bingung karena belum mendapat "pola" nya (kayak
tukang jahit gitu...).
Maaf, kebanyakan 'barangkali" karena hanya menduga-duga.
Salam,
HK
------------------------------------------------------------------------
*From:* Mr. Kid <mr.nm...@gmail.com <mailto:mr.nm...@gmail.com>>
*To:* BeExcel <belajar-excel@yahoogroups.com
<mailto:belajar-excel@yahoogroups.com>>
*Sent:* Tuesday, 17 September 2013, 14:39
*Subject:* [belajar-excel] Belajar VBA
Dear BeExceller,
Jumlah pageviews di dashboard blog milis
http://b-excel.blogspot.com/ untuk materi BelajarVBA sudah banyak
yang di-klik.
Kenapa kok ndak ada yang buka thread tentang kebingungan dalam
membaca materi BelajarVBA yang masuk milis ya...
mbok yao buka topik tentang kebingungan yang menimpa dalam membaca
artikel BelajarVBA-nya dimilis.
Banyak BeExceller yang bersedia menjelaskan tentang VBA kok.
Mumpung masih materi dasar VBA. Begitu paham beneran yang dasaran
tersebut, nanti yang lebih rumit bisa dengan mudah dipahami
walaupun otodidak entah darimana.
Buat yang sudah pada canggih VBA-nya, jangan bosen untuk ngoreksi ya.
Kalau cekrip-nya kelihatan gak epektip dan gak singkat, harap
maklum ya...
Soale Kid lagi belajar VBA, tapi emang bisanya ya segitu juga.
Namanya juga belajaran ya....
lagipula, mumpung banyak temen BeExceller yang pengen belajar VBA,
jadi bisa sekalian belajar bersama dan saling berbagi...
OK guys, ditunggu loh topik milis tentang kebingungan yang ditemui
saat baca artikel belajar VBA ya...
Oh iya...
Sorry, artikelnya belum membahas tentang cara record macro. Soale
masih pake metode lama, dari bangun pondasi baru bangun temboknya.
Kid ndak bisa kalo bangun tembok lalu gali tanah untuk pasang
ceker ayam nya. Jadinya pelan banget deh majunya. Jadi kasihan
sama yang dah gak sabaran.
Regards,
Kid.