[Artikel] Cara Menulis Kode Program

Forum diskusi bebas yang tidak membahas masalah pemrograman.
Forum rules
Semua aktivitas posting disini tidak akan menambah jumlah post.

[Artikel] Cara Menulis Kode Program

Postby vberror13 » 24 Dec 2011, 00:09

Pada minggu-minggu terakhir tahun ini saya dapat tambahan tugas (tanpa tambahan upah :D ) untuk mengadakan skill test bagi kandidat programmer. Skill testnya berupa pembuatan aplikasi web yang dapat melakuakn Create-Read-Update-Delete data dari dan ke database. Aplikasi cuma perlu satu table dengan beberapa field dan beberapa helai halaman web. Saya yakin seharusnya aplikasi itu dapat selesai dalam waktu 3 jam karena mock-up (halaman webnya) sudah selesai dibuat dan kandidat cuma perlu menambahkan server-side script untuk CRUDnya.

Salah satu kriteria penilaian saya tentang programmer yang baik adalah cara mereka menulis kode program. Ini sama sekali bukan tentang algoritma, namun lebih kepada cara mengetikkan kode programmnya. Saya sangat yakin bila programmer dapat menuliskan kode program yang *dapat* di baca oleh orang lain, maka ia akan berhasil menjadi programmer yang handal.

Berikut kriteria yang saya buat, dan mohon tanggapan TS sekalian.
    Kerapian menuliskan sintaks
  • indentasi
    Agak susah saya mengartikan kata "indentasi". Tapi saya yakin teman-teman tahu hal itu. Contohnya seperti ini
    Code: Select all
    VB family syntax:
    Function CreateDatabaseConnection()
       Dim strConnection as String
       strConnection = GetConfig("connectionString")
       If (strConnection = "") Then
             'do something
       End If
    end Function

    C family syntax:
    function createDatabaseConnection()
    {
       $strConnection = getConfig("connectionString");
       If ($strConnection == "")
       {
          /* do something */
       }
    }


    Di situ terlihat bahwa kalang prosedur dibuat pada indent 0 dan baris kode selanjutnya dimulai pada jarak yang lebih jauh ke kanan. Begitu pula baris kode dalam kalang IF-Then dimulai pada indent yang lebih jauh ke kanan.
    Coba aja kalo lihat kode program kayak gini:
    Code: Select all
    VB family syntax
    Function CreateDatabaseConnection()
    Dim strConnection as String
    strConnection = GetConfig("connectionString")
    If (strConnection == "") Then
    'do something
    End If
    end Function

    C family syntax:
    function createDatabaseConnection()
    {
    $strConnection = getConfig("connectionString");
    If ($strConnection = "")
    {
    /* do something */
    }
    }



    Malas banget lihatnya, kan? :D

  • Pemenggalan baris.
    Satu baris kode tidak boleh lebih panjang dari lebar text-editor. Jadi dalam pengetikan kode harus diperhatikan jangan sampai horizontal scroll bar text editor muncul. Ini untuk mempermudah pembacaan kode program pada saat review ulang. Kita nggak perlu repot menyeret horizontal scrollbar agar bisa melihat kode yang melewati layar.
    Contoh yang baik seperti ini:
    goodcode1.png


    Yang jelek kayak gini:

    badcode1.png


    Baris kode yang sangat panjang dan melewati lebar layar cenderung membuat kita lalai. Untuk perintah query seperti contoh, sangat susah melihat query secara lengkap dan memahami querynya.
    Dengan dibuat menjadi beberapa baris, perintah query terlihat utuh dan mudah dipahami. Betul?



(bersambung..)
You do not have the required permissions to view the files attached to this post.
:ymbilly: :ymbilly: :ymbilly: =:) :ymbilly:
Just Because You Are Unique, Doesn't Mean You Are Useful

Post vberror13 telah mendapat 4 kopi dari:
novaedp, pujanggabageur, Rayzen, trail
User avatar
vberror13
Global Moderator
Global Moderator
 
Posts: 1844
Joined: 13 Mar 2010, 20:34
Location: Medan Indonesia
Memberi kopi: 296 cangkir
Mendapat kopi: 321 cangkir

Re: [Artikel] Cara Menulis Kode Program

Postby novaedp » 24 Dec 2011, 08:18

mantap om :-bd :-bd :-bd
boleh di tambahin g om ? :D :D :D
just wanna code something and share it.
novaedp
Prajurit Kepala
Prajurit Kepala
 
Posts: 463
Joined: 26 Mar 2010, 18:56
Memberi kopi: 8 cangkir
Mendapat kopi: 58 cangkir

Re: [Artikel] Cara Menulis Kode Program

Postby trail » 24 Dec 2011, 08:26

silakan ditambahin om nova, saya rasa om error tidak keberatan....
@_@....@_@....@_@
User avatar
trail
Database Moderator
Database Moderator
 
Posts: 1347
Joined: 11 Mar 2010, 14:27
Location: Surabaya
Memberi kopi: 47 cangkir
Mendapat kopi: 103 cangkir

Re: [Artikel] Cara Menulis Kode Program

Postby novaedp » 24 Dec 2011, 09:38

mohon iijn nambahin om vb :)

ak biasanya menambahkan "comment" untuk baris/blok program tertentu, misal:

Code: Select all
'deklarasi tipe data untuk badan snake dan dinding
Private Type Part
    X As Integer
    Y As Integer
End Type

Private Type Wall
    X As Integer
    Y As Integer
End Type

'array utk menyimpan koordinat badan snake dan dinding
Dim Part() As Part
Dim Wall() As Wall


atau :

Code: Select all
Picture1.ScaleMode = 3 'scalemode di set ke pixel


comment2 ini akan memudahkan orang lain memahami alur aplikasi yang kita buat

CMIIW :) :) :)
just wanna code something and share it.
novaedp
Prajurit Kepala
Prajurit Kepala
 
Posts: 463
Joined: 26 Mar 2010, 18:56
Memberi kopi: 8 cangkir
Mendapat kopi: 58 cangkir

Re: [Artikel] Cara Menulis Kode Program

Postby vberror13 » 24 Dec 2011, 22:19

novaedp wrote:aku biasanya menambahkan "comment" untuk baris/blok program tertentu

:-bd Nah, itu juga salah satu ciri dari programmer yang handal: memberikan tanda/remark/comment untuk baris tertentu agar orang lain mudah mengartikan baris kodenya.
Dari contoh kode yang dibuat oom novaedp, saya bisa mengira bahwa ini adalah sebagian dari kode game. :D

Jadi selain kriteria "Kerapian menuliskan sintaks", kriteria lainnya adalah:
    Kemudahan mengartikan kode program.
    Programmer yang baik selalu memberikan keterangan pada kode programmnya agar programmer lain dapat memahami alur program yang ia buat.
  • Pemberian keterangan mengenai variabel, fungsi, class, konstanta, statement, ekspresi yang jelas dan tepat.
    Contohnya udah diberikan sama oom novaedp. Saya lebih gampang mengartikan kode programnya dan bisa memakai variabel yang tepat bila diminta bergabung untuk meneruskan kode program tersebut.

    Namun harus diingat bahwa tidak semua baris kode harus diberikan keterangan. Terlalu banyak keterangan dalam kode program malah bisa membuat pembaca kodenya jadi bosan bahkan bingung. Cukuplah keterangan diberikan pada bagian-bagian yang perlu; seperti yang dicontohkan tadi.
  • Penamaan yang jelas
    Ini menyangkut penamaan variabel, fungsi, class, const, property, object dan lainnya yang sudah memberikan keterangan yang cukup. Jangan pernah memberikan nama variabel yang tidak dapat diartikan dengan mudah oleh orang lain, karena sewaktu-waktu kita juga bisa lupa variabel tersebut digunakan untuk apa.

    Contoh penamaan variabel yang jelek adalah seperti ini:

    Code: Select all
    VB family:
    Dim fn As String ' fullname/nama lengkap
    Dim hd As String  'home address/ alamat rumah


    Meskipun telah diberikan keterangan bahwa fn adalah variable utuk menyimpan fullname / nama lengkap, tetap saja pada baris-baris setelah deklarasi tersebut tidak membuat orang nyaman membacanya. Variabel bernama "fn" bisa diartikan sebagai "file name" dan "hd" bisa diartikan sebagai "header".

    Banyak cara untuk membuat penamaan yang baik. Setiap programmer boleh saja menerapkan pemakaian notasi CamelCase (UpperCamelCase atau lowerCamelCase), Hungarian, Mixed_Case_With_Underscores atau lainnya. Yang harus menjadi pertimbangan adalah bahwa penamaan itu harus sesuai dengan code-convention bahasa program yagn dipakai. Jika sedang melakukan koding dengan bahasa BASIC (vb6, vbscript, vb.net) , pakailah cara penamaan yang berlaku di bahasa vb tersebut. Jangan mencampur aduk cara penamaan yang biasa di vb dengan di php. Biasanya di vb penamaan memakai notasi UpperCamelCase dan di php memakai lowerCamelCase.
    Dan bila pun ingin memakai lowerCamelCase di vb, tetaplah memakai lowerCamelCase. Jangan nanti pada satu bagian program memakai lowerCamelCase dan pada bagian lain memakai UpperCamelCase.

    Dan ingat pula bahwa fungsi/method suatu class harus dinamai sebagai "kata kerja (verb)". Variable/property bisa selain kata kerja. Jangan menerjemahkan kata inggris ke kata indonesia dan membuatnya sebagai identifier bila tidak tahu jenis katanya.
    Tipikal kesalahan:
    Code: Select all
    Dim konek as Adodb.Connection
    Dim conn as adodb.Connection


    Konek , mungkin berasal dari kata inggris "Connect" yang ditulis berdasarkan bunyi. "Connect/english" berarti menghubungkan. Kata "menghubungkan" adalah kata kerja, jadi tidak cocok untuk object/variabel.
    Conn, mungkin berasal dari singkatan kata inggris "Connection". Padahal dalam bahasa inggris, Conn adalah kata lain dari "con", yaitu menyetir kapal.
    Dalam film Start Trek: "Picard, you have the Conn."

(bersambung lagi...).
:ymbilly: :ymbilly: :ymbilly: =:) :ymbilly:
Just Because You Are Unique, Doesn't Mean You Are Useful
User avatar
vberror13
Global Moderator
Global Moderator
 
Posts: 1844
Joined: 13 Mar 2010, 20:34
Location: Medan Indonesia
Memberi kopi: 296 cangkir
Mendapat kopi: 321 cangkir

Re: [Artikel] Cara Menulis Kode Program

Postby pujanggabageur » 26 Dec 2011, 08:28

Jangan pula menggunakan notasi alay ketika menamai variabel, seperti berikut:
Code: Select all
Dim nAM4l3nGk4P As String

;;)
Wajib hukumnya mematuhi Peraturan Memposting!
Diajar babarengan
User avatar
pujanggabageur
Global Moderator
Global Moderator
 
Posts: 2813
Joined: 13 Mar 2010, 14:15
Location: di depan LCD ViewSonic
Memberi kopi: 159 cangkir
Mendapat kopi: 293 cangkir

Re: [Artikel] Cara Menulis Kode Program

Postby vberror13 » 27 Dec 2011, 10:04

:D yup, notasi al4y sama sekali tidak bisa dibenarkan.

Selanjutnya, poin berikut juga harus diperhatikan:
    Kebersihan kode program.
    Pada baris-baris kode program, bagian-bagian yang tidak perlu harus dihilangkan, dan hanya bagian yang perlu saja yang harus ada.
  • Baris yang tidak diperlukan lagi harus dihilangkan dari source code.
    Seringkali kita menuliskan beberapa baris program dan kemudian memberikan kode remark/comment terhadap baris tersebut agar baris itu tidak dieksekusi. Ini sering dilakukan karena programmer ingin mencoba cara lain, namun cara yang telah dibuat sebelumnya tidak dihilangkan karena ada kemungkinan baris tersebut akan dikembalikan seperti semula. Contohnya:

    Code: Select all
    vb family:

    'if txtusername.text = rs("Username") Then
    If trim(txtusername.text) = trim(rs("username")) Then
    ...
    ...
    End If



    Terlihat bahwa baris yang pertama (if txtusername.text=rs("username") Then) tidak lagi dipakai, dan baris keduanya yang dipakai. Karena baris pertama tidak lagi dipakai, baris ini harus dihilangkan dalam source-code. Kalau anda ingin membuat back-up source-code , buat lah pada file lain pada direktori lain di komputer anda. Jangan langsung pada source-code tersebut.
  • Hapus semua variable yang tidak pernah dipakai

    Variabel yang dideklarasikan namun tidak pernah dipakai harus dibuang. Selain *katanya* untuk menghemat memori, variabel yang tidak pernah dipakai akan membuat bingung dikemudian hari: "Ini variable untuk apa , ya? ". Anda bisa jadi menghabiskan waktu untuk menemukan pemakaian variable tersebut dan menemukan bahwa variable itu tidak pernah dipakai.

Jadi bagi saya ada 3K yang penting diperhatikan dalam penulisan kode program: Kerapian (Penulisan), Kemudahan (membaca) dan Kebersihan (dari hal-hal yang tidak perlu). Nanti kalo ada waktu senggang, kita tambahkan "K" yang lainnya. Dan tentu saja saya berharap anda bisa menambahkannya sendiri. :D
:ymbilly: :ymbilly: :ymbilly: =:) :ymbilly:
Just Because You Are Unique, Doesn't Mean You Are Useful
User avatar
vberror13
Global Moderator
Global Moderator
 
Posts: 1844
Joined: 13 Mar 2010, 20:34
Location: Medan Indonesia
Memberi kopi: 296 cangkir
Mendapat kopi: 321 cangkir

Re: [Artikel] Cara Menulis Kode Program

Postby pujanggabageur » 27 Dec 2011, 10:20

vberror13 wrote:variabel yang tidak pernah dipakai akan membuat bingung dikemudian hari: "Ini variable untuk apa , ya? ". Anda bisa jadi menghabiskan waktu untuk menemukan pemakaian variable tersebut dan menemukan bahwa variable itu tidak pernah dipakai.


Itu betul sekali om, saya sering mengalaminya (tapi itu dulu) :D
Dan habislah waktu saya untuk mencari kegunaan variabel tersebut, sebelum kemudian menghapusnya.

Tapi untungnya di VS .Net ada fitur canggih yah, sesuatu banget jadinya.
Wajib hukumnya mematuhi Peraturan Memposting!
Diajar babarengan
User avatar
pujanggabageur
Global Moderator
Global Moderator
 
Posts: 2813
Joined: 13 Mar 2010, 14:15
Location: di depan LCD ViewSonic
Memberi kopi: 159 cangkir
Mendapat kopi: 293 cangkir

Re: [Artikel] Cara Menulis Kode Program

Postby ekaperintis » 27 Dec 2011, 11:05

pujanggabageur wrote:Tapi untungnya di VS .Net ada fitur canggih yah, sesuatu banget jadinya.


Kalau tidak menggangu aktivitas, boleh juga lebih di rinci tentang fitur canggih tersebut >:D<
Image
User avatar
ekaperintis
Sersan Satu
Sersan Satu
 
Posts: 2077
Joined: 17 Mar 2010, 14:27
Location: Parungpanjang-Bogor
Memberi kopi: 82 cangkir
Mendapat kopi: 152 cangkir

Re: [Artikel] Cara Menulis Kode Program

Postby pujanggabageur » 27 Dec 2011, 11:13

Lha itu lho om, kalau kita deklarasikan suatu variabel tapi tidak di-assign nilainya, maka...
Ada garis hijau di bawah nama variabel yang memberitahukan bahwa variabel tidak digunakan.
Wajib hukumnya mematuhi Peraturan Memposting!
Diajar babarengan
User avatar
pujanggabageur
Global Moderator
Global Moderator
 
Posts: 2813
Joined: 13 Mar 2010, 14:15
Location: di depan LCD ViewSonic
Memberi kopi: 159 cangkir
Mendapat kopi: 293 cangkir

Next

Return to Diskusi Umum

Who is online

Users browsing this forum: No registered users and 1 guest