DeretCode|

Tips, Trik dan Tutorial
Seputar IT, Coding, Internet Marketing, Keahlian, Pendidikan, Hobi Dan Lainnya
Night :

Tips Menjadi Programmer Profesional Dengan Menerapkan Code Program Yang Efektif Dan Efisien

advertisement
    Menjadi seorang programmer bukan hanya sekedar membuat aplikasi atau sistem bisa berjalan tanpa ada error. Namun lebih dari pada itu, seorang programmer di tuntut untuk dapat membuat program berjalan secara efektif dan efisien. 
Seorang programmer harus memperhitungkan baris code yang dia tulis, source memori yang digunakan dan algoritma yang paling tepat dalam memecahkan sebuah masalah. 
Bagi seorang yang baru terjun ke dunia programmer, sering sekali mengabaikan hal ini, karena hanya fokus ke fungsional, apakah aplikasi atau sistem berjalan semestinya atau tidak.
Sehingga kadang untuk membuat aplikasi sederhana saja membutuhkan rentetan baris code yang sebenaranya bisa di minimalisir. Mungkin untuk aplikasi sederhana tidak akan jadi masalah, namun untuk aplikasi yang rumit dan kompleks , ini bisa mempengaruhi performa aplikasi dan code sulit untuk di menejemen, apalagi jika kita bekerja dalam tim.

Oleh karena itu, pada postingan kali ini, saya akan berbagi tips bagai mana cara menjadi seorang programmer professional dengan selalu mempertimbangkan code program yang efektif dan efisien

Code program yang efisien

Apa itu efisien?, 
Efisien adalah sebuah cara yang dilakukan untuk menangani masalah secara tepat dengan tidak membuang-buang waktu, energi dan biaya. 
Jika kita mencoba membuat code program yang efisien maka kalian perlu memperhatikan hal-hal berikut.

Jumlah Baris Code

Baris code yang bertele-tele biasanya menjadi ciri yang membedakan apakah kamu programmer pemula atau berpengalaman. 
Penulisan code yang singkat akan membuat kode terlihat rapih dan lebih mudah dibaca . 
Contoh code yang bertele-tele.
bool status;
static void ButtonToggle_Click(bool status)
{
  if (status == true)
  {
  	this.status = false;
  }
  else
  {
  	this.status true;
  }
}
Ada dua hal yang tidak efesien dari code diatas, pertama komperasi dua nila boolean dan yang kedua penggunaan percabangan "if else". Seharusnya kita dapat meminimalisir dengan membuang dua hal tersebut, sehingga codenya menjadi seperti ini.
bool status;
static void ButtonToggle_Click(bool status)
{
  this.status = !status;
}

Penggunaan Resource dan Memori

Penggunaan memori dari aplikasi yang kita buat harus di sesuaikan dengan fungsinya.
Tidak masalah kita menggunakan banyak resource jika aplikasi yang kita buat cukup kompleks. Yang jadi masalah disini adalah jika menggunakan banyak resource namun tidak kita gunakan. Contoh code yang boros resource.
using System;
using System.Collections.Generic;
using System.Data;
using System.Data.SqlClient;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace AplikasiPenjumlahanBilanganBulat
{
    class Program
    {
    	double result
        static void Main(string[] args)
        {
            double A = 15, B = 10;
            result = A + B;
            Console.Write(A + B);
        }
    }
}
Ada tiga hal yang perlu di perbaiki dari code aplikasi penjumlahah diatas, yaitu  menghapus importing libarary yang tidak digunakan, menghapus variable result karena tidak terpakai dan mengganti type variable double menjadi integer. Optimasi code diatas menjadi seperti ini.
using System;
namespace AplikasiPenjumlahanBilanganBulat
{
    class Program
    {
        static void Main(string[] args)
        {
            int A = 15, B = 10;
            Console.Write(A + B);
        }
    }
}
Mengimport library artinya menambah ukuran file dari aplikasi yang kita buat, membuat variable atau object artinya menambah penggunaan memori ram. 
Penggunaan type varable juga harus di sesuaikan dengan fungsionalitas dari aplikasi, untuk lebih jelasnya kalian bisa lihat gambar berikut
Type -type data dan ukurannya

Waktu Pemerosesan

Selalu perhatikan step-step prosesor dalam mengeksekusi baris code yang kita tulis. Semakin sedikit step yang di kerjakan semakin cepat pemerosesannya,
Misalnya memanggil sebuah metode fungsi dengan return nilai yang sama secara berulang-ulang dapat menambah waktu pemerosesan. Untuk lebih jelasnya kalian bisa perhatikan code berikut.
static void Main(string[] args)
{
  Console.WriteLine("NAMA:"+getTable("user").Rows[0][1]);
  Console.WriteLine("DIVISI:" + getTable("user").Rows[0][2]);
  Console.WriteLine("EMAIL:" + getTable("user").Rows[0][3]);
}
Code yang kita tulis memang cuma tiga baris, tapi kita mencoba mengakses fungsi getTable secara berulang-ulang dengan return nilai yang sama, padahal didalam fungsi getTable ada banyak sekali baris code yang perlu di kerjakan prosesor.
Akan lebih efektif jika kita mengalokasikan nilai yang sudah di dapat dari fungsi getTable kedalam variable, sehingga codenya menjadi seperti ini.
static void Main(string[] args)
{
   var datarow = getTable("select * from user where id=1").Rows[0];
   Console.WriteLine("NAMA:"+ datarow[1]);
   Console.WriteLine("DIVISI:" + datarow[2]);
   Console.WriteLine("EMAIL:" + datarow[3]);
} 
Kemudian masalah lain yang bisa memperlambat pemerosesan adalah perulangan (loop) yang tidak tepat. Contohnya seperti code berikut
var panjang=5;
for(a = 0; a <=panjang;a++)
{
   for(b=0;b<a;b++)
   {
      document.write("*");
   }
   document.write("<br/>");
}
Code javascipt di atas memiliki fungsi untuk menampilkan "*" dalam bentuk segitiga siku-siku dengan cara nested loop atau perulangan bersarang, sehingga waktu pemrosesannya menjadi bertambah. Kita bisa merubah codenya menjadi menjadi single looping seperti code berikut.
var panjang=5;
var bintang=""
for(a = 0; a <=5;a++)
{
   bintang += "*";
   document.write(bintang+"<br/>");
}
Code diatas akan mengasilkan hasil yang sama namun dengan proses yang jauh lebih cepat.

Tips menulis code yang efisien dalam menangani masalah 
1. Tindakan Preventif
Code yang tidak efisien biasanya disebabkan karena kita menulis code sambil membanyangkan algoritma yang belum jelas. Sehingga kita membuat semua fungsi dan variable yang kita anggap akan kita gunakan. Oleh karena itu, kita pastikan bahwa algoritma yang kita gunakan sudah tepat sebelum menulis code program, sehingga kita bisa fokus dalam menulis code.
2. Tindakan Korektif
Cara ini adalah dengan memperbaiki code yang sudah kita tulis, dengan menganalisa tiap baris code apakah bisa di optimasi atau tidak.

Code program yang efektif (Tepat)

Apa itu efektif?
Efektif adalah cara yang dilakukan yang benar-benar dapat menangani masalah tanpa ada masalah lain yang akan timbul. Syarat-syarat code yang efektif adalah sebagai berikut

Hasil Kalkulasi Benar

Pada kondisi tertentu mungkin hasil yang di dapat benar tapi pada kondisi lain hasil yang didapat salah. Ini bisa terjadi karena salah dalam menentukan type variable. Contohnya sebagai berikut.
class Program
    {
        static void Main(string[] args)
        {
            int A = Convert.ToInt32(Console.ReadLine());
            int B = Convert.ToInt32(Console.ReadLine());
            int Hasil =A/B;
            Console.Write(Hasil);
        }
    }
Code diatas akan selalu menghasilkan bilangan bulat karena kita menggunakan type data interger pada variable "Hasil". Harusnnya kita menggunakan type data float atau double untuk menghasilkan bilangan desimal.

Tidak Terjadi Anormali Sistem

Selalu perhatikan enkapsulasi data dan type static dan non-static. Ini sangat penting agar perogram yang kita buat dapat berjalan normal tanpa bug. Ini bisa sangat penting jika kalian membuat program seperti berikut.
using System;
namespace Robot
{
    class Program
    {
        static void Main(string[] args)
        {
            while (true)
            {
                Console.Write("Pilih: 1 Untuk Manusia\nPilih: 2 Untuk Monster\nPilihmu: ");
                var pilih = Console.ReadLine();
                switch (pilih)
                {
                    case "1":
                        Console.WriteLine(new Robot().behaviour("Manusia"));
                        break;
                    case "2":
                        Robot.mode_penghancur = true;
                        Console.WriteLine(new Robot().behaviour("Monster"));
                        break;
                }
            }
        }
    }
    class Robot
    {
        public static bool mode_penghancur = false;
        public String behaviour(String obj)
        {
            if (mode_penghancur)
                return "\n----Hancurkan :"+ obj + "------\n";
            else
                return "\n----Lindungi :" + obj + "------\n";
        }
    }
}
Tentu kita gak mau kan robot yang kita buat malah jadi ancaman buat kita sendiri : D. Masalahnya adalah kita mendeklarasikan variable mode_penghancur di class robot dengan keyword public dan static sehingga ketika kita membuat object baru dari class robot, nilai dari variable mode_penghancur tidak ikut berubah ke default.

Akurasi Mendekati 100%

Jika kita mencoba membuat sebuah aplikasi recognition sepeti face unlock di iphone. Urungkan niatmu jika akurasinya di bawah 50%. Atau kalian membuat aplikasi machine learning lainnya untuk membuat keputusan usahkan di atas 75%. Selalu gunakan metode dan data trainning yg tepat dalam membuat AI kalian

Tips membuat program agar efektif dalam menangani masalah
1. Buat sebuah UML dan Flowchat sistem
Uml dan Flowchart dibuat untuk membantu kita dalam membangun sebuah sistem, jadi manfaatkanlah.
2. Pilih variable yang sesuai ketika menulis code
Analisa karakteristik dari data agar bisa memilih type data yang tepat
3. Lakukan pengujian (Testing)
Selalu lakukan pengujian untuk setiap fungsi yang ada dalam aplikasi dan lakukan pengetesan keseluruhan aplikasi jika aplikasi selesai di kembangkan.


Sekian dulu tutorial singkat tips menjadi programmer profesional. Jangan lupa di share jika kalian merasa artikel ini bermanfaat, kalau ada pertanyaan silahkan tulis di kolom komentar. Good Luck!
advertisement



0 Komentar untuk " Tips Menjadi Programmer Profesional Dengan Menerapkan Code Program Yang Efektif Dan Efisien"

Silahkan berkomentar dengan baik dan bijak!