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.









Kirim email ke