Pengenalan Pemrograman Komputer Bagi Pemula - Part 3 (Alur Pembuatan Program)


  Sebagai seorang programmer yang baik, tentu saja tidak melakukan pembuatan dan pengkodean program secara langsung, namun harus merancang berbagai perencanaan atau langkah - langkah kerja program secara sistematis dan metodologi terstruktur yang memisahkan proses suatu aplikasi menjadi beberap bagian.

    Langkah kerja program atau metodologi terstruktur bisa juga disebut sebagai algoritma. Algoritma adalah urutan langkah - langkah yang disusun secara sistematis dan logis, atau bisa kita bayangkan algoritma adalah suatu prosedur untuk melakukan sesuatu. Dengan menggunakan algoritma, kita bisa tahu langkah - langkah untuk membuat sesuatu dengan tepat dan akurat, sehingga kesalahan - kesalahan dalam membuat sesuatu dapat diminimalkan, atau bahkan dapat dihilangkan.

Misalnya, kita ingin membuat secangkir teh manis. Maka, kita juga harus tahu kapan jika kita ingin menaruh gula, teh, dan air hangat, serta juga porsi - porsinya (berapa sendok gulanya, dll). Detail alur langkah - langkahnya dapat dilihat di gambar berikut :

   Jika kita tidak melakukan prosedur (algoritma) diatas, maka akan mengakibatkan produk tersebut tidak sempurna, alias gagal. Oleh karena itu, ini adalah pentingnya algoritma dalam pembuatan program. Apabila dalam proses pembuatan algoritma atau perancangan algoritma masih terjadi kekurangan, maka dampaknya adalah ke aplikasinya, aplikasi mungkin dapat terjadi crash, ataupun ada bug pada saat dijalankan.

   Bisa saja seorang programmer itu langsung melakukan coding untuk membuat aplikasi, aplikasi akan jadi. Namun, jika kita perhitungkan tingkat efisien waktu, pikiran, tingkat error, dan waktu perbaikan bug akan lebih jauh efisien jika kita menyusun algoritma terlebih dahulu, karena itu (algoritma) akan menjadi sarana pengingat kita agar kita tidak mudah lupa tentang alur jalannya program. Jika sampai lupa, hasilnya aplikasi akan sulit dikembangkan, dan apabila dalam pembenahan bug aplikasi, akan memakan waktu yang cukup lama sekali.

   Oleh karena pentingnya perancangan algoritma diatas, maka kita harus tahu terlebih dahulu langkah - langkah sistematis dasar dalam menyelesaikan permasalahan dalam pemrograman. Berikut ini langkahnya :

  1. Mendefinisikan Masalah
  2. Menganalisa dan membuat rumusan pemecahan masalah
  3. Desain algoritma dan Representasi
  4. Pengkodean, Uji Coba, dan pembuatan dokumentasi.
   Untuk memahami langkah dasar dalam pemecahan masalah dalam sebuah komputer mari kita mendefinisikan sebuah permasalahan yang akan diselesaikan langkah demi langkah sebagaimana metodologi pemecahan masalah yang akan dibahas selanjutnya. Masalah yang akan kita selesaikan akan didefinisikan pada bagian selanjutnya.

(1). Definisi Permasalahan 

   Seorang programmer umumnya mendapatkan tugas berdasarkan sebuah permasalahan. Dan itu dituntut untuk diselesaikan dengan cara yang paling baik, efisien, dan praktis (tidak bertele - tele). Sebelum mencapai hal itu, atau sebelum sebuah program terdesain dengan baik untuk menyelesaikan beberapa permasalahan, masalah - masalah yang terjadi harus dapat diketahui dan terdefinisi dengan baik untuk mendapatkan detail persyaratan Input dan Output. 

   Sebuah pendefinisian yang jelas adalah sebagian dari penyelesaian masalah. Pemrograman komputer mempersyaratkan untuk mendefinisikan program terlebih dahulu sebelum membuat suatu penyelesaian masalah.
Mari kita definisikan sebuah contoh permasalahan :
"Buatlah sebuah program yang akan menampilkan berapa kali sebuah nama
tampil pada sebuah daftar"

(2). Analisa Permasalahan

   Setelah sebuah permasalhan terdefinisi secara memadai, langkah yang paling ringkas dan efisien dalam penyelesaian harus dirumuskan. Maksud dari dirumuskan adalah memecahkan masalah tersebut menjadi beberapa bagian kecil dan ringkas. 

Maksud dari kecil dan ringkas dapat divisialisasikan sebagai berikut :

Contoh masalah :
Menampilkan jumah kemunculan sebuah nama pada daftar

Input Terhadap Program :
Daftar Nama, Nama yang akan dicari.
 Output Dari Program :
Jumlah kemunculan nama yang akan dicari.

Setelah kita memecahkan masalah dengan mengelompokkan Input dan Output Program  seperti diatas, maka penyelesaian masalah akan menjadi lebih mudah.

(3). Desain Algoritma dan Representasi

   Setelah kita mengetahui dengan baik dan jelas mengenai permasalahan yang ingin diselesaikan, langkah selanjutnya yaitu membuat rumusan algoritma untuk menyelesaikan permasalahan. Dalam pemrograman komputer, penyelesaian masalah dilakukan atau didefinisikan dalam langkah demi langkah.

  Seperti yang telah dikatakan diatas, Algoritma adalah urutan langkah - langkah logis penyelesaian masalah yang disusun secara sistematis dan logis. Logis merupakan kunci sebuah algoritma. Langkah - langkah dalam algoritma harus logis dan bernilai benar atau salah.

  Algoritma dapat diekspresikan dalam bahasa manusia, menggunakan presentasi grafik melalui sebuah diagram alir (FlowChart) ataupun melalui PseudoCode yangmenjembatani antara bahasa manusia dengan bahasa pemrograman.

 Berdasarkan permasalahan yang terjadi pada bagian sebelumnya, bagaimanakah kita dapat memberikan solusi penyelesaian secara umum dalam sebuah alur yang dapat dengan mudah dimengerti?

Mengekspresikan cara penyelesaian melalui bahasa manusia :

  1. Tentukan daftar nama.
  2. Tentukan nama yang akan dicari, anggaplah ini merupakan sebuah kata kunci.
  3. Bandingkan kata kunci terhadap setiap nama yang terdapat pada daftar.
  4. Jika kata kunci tersebut sama dengan nama yang terdapat pada daftar, tambahkan nilai 1 pada hasil perhitungan
  5. Jika seluruh nama telah dibandingkan, tampilkan hasil perhitungan (output).
Setelah itu, kita dapat mengetahui cara penyelesaiannya melalui FlowChart :


Contoh FlowChart



Atau, dapat diekspresikan melalui PseudoCode :

listNama   = Daftar Nama 
keyNama   =  Nama yang dicari
hitung       = 0
Untuk setiap nama pada Daftar Nama Lakukan :
    Jika nama == keyNama
        Hitung = Hitung + 1
Tampilkan Hitung

3.1 Simbol FlowChart dan artinya

   FlowChart adalah cara untuk mendesain algoritma secara grafis, atau langkah - langkah yang kita buat, diwujudkan dalam bentuk visual maupun simbol, dimana masing-masing simbol itu mempunyai arti tertentu atau dapat merepresentasikan kegiatan tertentu pula. FlowChart diawali dengan Terminator Start dan diakhiri dengan Terminator End  dalam mengakhiri suatu permasalahan.

   Sebuah FlowChart pada umumnya tidak menampilkan instruksi bahasa pemrograman, namun menetapkan konsep solusi dalam bahasa manusia, ataupun notasi sistematis.

    Berikut ini akan dibahas tentang kegunaan/arti dari tiap - tiap simbol dari FlowChart, kegiatan yang diwakili serta aturan yang diterapkan dalam penggunaan simbol tersebut :


Tabel Simbol FlowChart

4. Pengkodean, Uji Coba dan Pembuatan Dokumentasi

   Setelah algoritma sudah terselesaikan, maka penulisan program dapat dimulai. dengan menggunakan algoritma sebagai pedoman, maka kode program dapat ditulis sesuai dengan bahasa pemrograman apapun yang dikuasai atau yang dipilih.

   Setelah menyelesaikan seluruh kode program, langkah selanjutnya yaitu menguji program tersebut apakah telah berfungsi sesuai tujuannya untuk memberikan solusi pemecahan dari suatu masalah. Bilamana terjadi kesalahan - kesalahan kode dalam program, disebut juga sebagai bugs, maka kita perlu untuk mengkaji ulang rumusan/algoritma yang telah dibuat, kemudian memperbaiki implementasi kode program yang mungkin keliru. Proses ini disebut dengan debugging.

Terdapat dua tipe kesalahan (errors) yang akan dihadapi seorang programmer. Yang pertama adalah compile-time error, yang kedua adalah Runtime error.

4.1 Compile-Time Error

   Error ini muncul jika terdapat kesalahan penulisan kode program, ataupun suatu komponen dari function atau variable (field) yang belum tedefinisi. Sehingga Compiler akan mendeteksi kesalahan yang terjadi, maka kode tersebut tidak akan bisa dikompilasi.

   Mengapa ada error seperti ini?, Coba pikirkan seperti jika kita ingin pergi ke suatu kota, mestilah hal yang kita lakukan setelah berkemas atau preparing adalah mengecek atau memastikan barang-barang penting dan keperluan tertentu harus kita bawa, tentunya agar barang tersebut tidak lupa/tertinggal dirumah. Apabila sampai tertinggal, maka gawatlah urusannya. Acara yang kita hadiri atau ditengah perjalanan kita akan tersendat gara-gara lupa membawa sesuatu barang yang amat pentingnya.

   Nah, bayangkan Compiler itu adalah manusia, Kode Sumber program kita adalah barang-barang kita, dan proses menjalankan program adalah saat kita berangkat ke suatu kota. Apabila Compiler, tidak melakukan self-checking atau pengecekan pertama kali, lalu programnya sudah terkompilasi menjadi suatu aplikasi, dan ternyata masih banyak error kode yang tersembunyi dalam program. Tentunya akan mengakibatkan program atau komputer kita crash atau hang. Inilah pentingnya kenapa Compiler harus mengecek struktur kode program untuk pertama kali, adalah untuk memastikan agar semua variabel terinisialisi dengan benar, struktur kode yang sitematis sesuai dengan bahasa programnya masing-masing.

4.2 Runtime Error

   Ternyata oh ternyata, Compiler masih punya kelemahan dan tidak bisa mengidentifikasi seluruh kemungkinan kesalahan kode saat waktu kompilasi. Umumnya, kesalahan kode yang terjadi adalah:
  • Infinite Loop, Perulangan tiada akhir.
  • Program tidak memberikan output yang sesuai dengan perkiraan algoritma.
  • Kesalahan Logika dalam proses pembuatannya.
  • Memory Error
  • Beberapa Exception yang tidak dihandle secara tepat.
  • Program menggunakan banyak memori, sehingga menyebabkan komputer hang.
  • dll

  Sebagai contoh, penulisan kode pada program terlihat tanpa kesalahan, namun pada saat kita menelusuri struktur logika kode tersebut, bagian yang sama pada kode tereksekusi berulang–ulang tanpa akhir. Pada kasus tersebut compiler tidak cukup cerdas untuk menangkap kesalahan tipe ini pada saat proses kompilasi. Sehingga saat program dijalankan, aplikasi atau bahkan keseluruhan komputer mengalami hang karena mengalami proses perulangan yang tidak berakhir.

    Untuk memudahkan dalam memeriksa suatu kesalahan suatu program ataupun
memahami jalannya program, kita juga perlu membuat suatu dokumentasi dari program yang dibuat. Dokumentasi tersebut berisi informasi mulai dari tujuan dan fungsi program, algoritma, serta cara penggunaannya. 

    Terimakasih sudah membaca, semoga informasi ini bermanfaat bagi anda, dan jika ingin membantu, silahkan share artikel ini agar dapat memberikan banyak manfaat kepada khalayak umum, khususnya para Mahasiswa serta juga untuk meninggalkan komen di kolom komentar.

Salam,

@APWDevs!

Relevant Tags :

tutorial-programming, alur-pembuatan-program, flowchart, desain-program

Share this

Related Posts

Latest
Previous
Next Post »

:)
:(
hihi
:-)
:D
=D
:-d
;(
;-(
@-)
:P
:o
:>)
(o)
:p
:-?
(p)
:-s
(m)
8-)
:-t
:-b
b-(
:-#
=p~
$-)
(y)
(f)
x-)
(k)
(h)
cheer