Sunday, January 30, 2011

Tahapan membuat program dengan baik



Dengan kemajuan teknologi keinginan dan kebutuhan akan informasi semakin meningkat juga, apalagi sekarang mulai masuk era online, era cepat saji, sehingga kebutuhan akan data dan informasi yang cepat saji menjadi keinginan mutlak pimpinan,institusi bahkan client kita. Untuk itu perancanagn sistem atau program untuk memenuhi kebutuhan tersebut harus dirancang dengan baik dan tepat, apalagi sekarang banyak pemimpin yang sebenarnya tidak mengetahui seluk beluk dari sistem/program tapi berani memutuskan untuk merancang dan menyediakan sistem/program tersebut dalam waktu yang singkat. Bahkan menganggap membuat program seperti kayaknya menggoreng tempe yang menunggu minyak panas tempe dimasukkan, dibolak-balik dah jadi tidak sampai 30 dah jadi. Berdeda dengan prorgram dah jadi yang sudah menjadi produk masal, tidak membutuhkan modifikasi. kalau itu tinggal membeli cd program dah jadi tersebut sehingga  tidak usah memerlukan analisis lagi karena programnya dah jadi dan ndak bisa/perlu di modif.
Untuk bisa menghasilkan program yang baik memerlukan analisis yang baik pula, baik itu analisis sistem, stuktur data maupun analisis requirement, selin itu juga dipelukan persiapan-persiapan yang matang. Hal ini berlaku bagi siapapun, bahkan seorang programmer professional sekalipun.  Sedangkan tahapan apas aja untuk membuat program yang baik akan saya jelaskan dibawah.
Program memang sudah menjadi kebutuhan pokok bagi masyarakat IT. karena segala sesuatu yang dilakukan di dalam IT pastilah memerlukan program. Program yang paling sederhana sekalipun setidaknya memiliki 3 bagian:
  1. Input – Masukan data.

  2. Proses – pemrosesan input.

  3. Output – keluaran program, kebutuhan yang kita harapkan.

Dalam membuat program, pemrograman adalah pokok dari proses pembuatan program itu sendiri namun pemrograman bergantung dari pemahaman persoalan, analisis sistem, perencanaan-perencanaan  dalam mendesain program itu sendiri.
Selain pemrograman hal yang utama harus dilakukan adalah merencanakan langkah-langkah yang harus diambil dalam menyelesaikan masalah. Karena dengan mengetahui masalah dan langkah-langkah penyelesaikan berarti kita sudah menyelesaikan program tersebut sebanyak 50% dari total pekerjaan, selanjutnya adalah teknis pembuatan itu sendiri yang di kenal dengan pemrograman/koding.Sebaliknya jika kita tidak bisa mengetahui masalah dan belum bisa membuat perencanaan berarti kita sudah merencanakan kegalan itu sendiri.
Dalam membuat sebuah program setidaknya ada beberapa hal yang perlu anda lakukan:
  1. Mendefinisikan Masalah/Defining the problem

    Masalah/Probem disini adalah kompenan apa saja yang diperlukan agar program ini jalan dikenal dengan masukan/inputnya apa saja, mendefinisikan apa yang nanti akan dilakukan oleh program dan bagaimana keluaran dari program yang kita harapkan nantinya. Pada tahap ini juga dikenal requirement analisis atau analisa kebutuhan.

  2. Perencanaan/Planning/Desain sistem

    Pada tahap ini adalah medefinisikan langkah-langkah apa saja yang dilakukan oleh program dalam menyelesaikan permasalahan yang ada. Bentuk dari perencanaan itu bisa berupa flowchart ataupun algoritma dari program, sehingga kita akan tahu proses apa saja yang ada dalam program tersebut. semakin detail flowchart  atau algoritma yang dibuat semakin mudah juga pada tahap implementasi/coding nantinya.

Flowchart adalah suatu diagram menggunakan simbol-simbol khusus yang sudah menjadi standard internasional yang berisi langkah-langkah untuk menyelesaikan suatu masalah. sedangkan algoritma kbukan merupakan simbol tapi keterangan-keterangan yang sesuai dengan  keinginan kita, tidak ada standarnya. Oleh karena itu flowchart biasa juga disebut sebagai algoritma dalam bentuk simbol-simbol khusus yang dihubungkan dengan anak panah.
Membuat flowchart terlebih dahulu akan lebih menghemat waktu daripada langsung melakukan coding sambil mencoba-coba. Kegiatan mencoba-coba akan menghabiskan waktu ketika implementasi/koding karena harus merubah koding yang lumayan banyak. Karena itu, biasakan membuat flowchart terlebih dahulu sebelum memecahkan suatu masalah.
  1. Implementasi/Koding/Programming

    Kini saatnya anda menulis program, tahap ini juga mencakup tahap perbaikan error dan testing. Menulis program dengan terstruktur dan sesuai dengan flowchart yang telah kita buat.

  2. Dokumentasi/Documentation

    Setelah tahap coding selesai, sangat disarankan bagi anda untuk membuat semacam dokumentasi. Tambahkan komentar-komentar pada program anda dan “bukukan” program yang akan anda buat. Hal ini akan bermanfaat jika anda sudah membuat program yang begitu banyak, dan suatu ketika nanti (mungkin bertahun-tahun kemudian) anda ingin mengambil sebagian dari code program anda yang lama untuk disisipkan pada program anda yang baru. Bayangkan jika anda tidak membuat dokumentasi, waktu anda akan sangat terbuang dengan menelusuri program-program lama anda satu-persatu.

  3. Testing

    • Unit Testing

      Menguji setiap unit dan modul yang terdapat dalam program tersebut

    • Integration Testing

      Menguji integrasi yang dilakukan kepada program seperti halnya ketika program tersebut sudah diinstall di client kita yang membutuhkan integrasi dengan sisitem yang lain seperti halnya integrasi dengan database.

    • Validation Testing

      menguji masukan yang diberikan kepada program. apapun masukannya program harus bisa menyelesaikan dengan baik.

    • Sistem Testing

      Pada tahap ini menguji permorfa dari program, apabila program dijalankan dengan kondisi-kondisi tertentu bagaimana?

  4. Operasional dan Maintenance

    Pada tahap ini sebenarnya bagaimana program yang telah kita buat dan testing ini bekerja sebagaimana mestinya, update program, menyeselaikan bug yang tidak ditemukan pada saat testing, serta pengembangan yang dapat dilakukan dengan program tersebut.

Setelah kita tahu bagaimana atau langkah -langkah dalam membuat program yang baik, alangkah sebaiknya dalam perencanaan sistem atau program tidak asal-asalan bahkan hanya menganggap seperti menggoreng tempe itu tadi, dibolak-balik matang, ingat Programmer juga manusia.. bukan robot yang sekali pencet bisa menyelesaikan masalah.