Bagaimana tahapan membuat program dalam menyelesaikan suatu masalah?

Dalam menyelesaikan suatu masalah, pemrograman harus melalui beberapa tahap, bagaimana tahapan-tahapan yang ada.

Bagaimana tahapan membuat program dalam menyelesaikan suatu masalah?

1. Definisikan Masalah

Berikut adalah hal-hal yang harus diketahui dalam analisis masalah supaya kita mengetahui bagaimana permasalahan tersebut:

  • Kondisi awal, yaitu input yang tersedia.
  • Kondisi akhir, yaitu output yang diinginkan.
  • Data lain yang tersedia.
  • Operator yang tersedia.
  • Syarat atau kendala yang harus dipenuhi

2. Buat Algoritma dan Struktur Cara Penyelesaian

Jika masalahnya kompleks, maka dibagi ke dalam modul-modul. Tahap penyusunan algoritma seringkali dimulai dari langkah yang global terlebih dahulu. Langkah global ini diperhalus sampai menjadi langkah yang lebih rinci atau detail. Cara pendekatan ini sangat bermanfaat dalam pembuatan algoritma untuk masalah yang kompleks. Penghalusan langkah dengan cara memecah langkah menjadi beberapa langkah. Setiap langkah diuraikan lagi menjadi beberapa langkah yang lebih sederhana. Penghalusan langkah ini akan terus berlanjut sampai setiap langkah sudah cukup rinci dan tepat untuk dilaksanakan oleh pemroses.

3. Menulis Program

Algoritma yang telah dibuat, diterjemahkan dalam bahasa komputer menjadi sebuah program. Perlu diperhatikan bahwa pemilihan algoritma yang salah akan menyebabkan program memiliki untuk kerja yang kurang baik. Program yang baik memiliki standar penilaian:

Standar teknik pemecahan masalah

  • Teknik Top-Down
    Teknik pemecahan masalah yang paling umum digunakan. Prinsipnya adalah suatu masalah yang kompleks dibagi-bagi ke dalam beberapa kelompok masalah yang lebih kecil. Dari masalah yang kecil tersebut dilakukan analisis. Jika dimungkinkan maka masalah tersebut akan dipilah lagi menjadi subbagian-subbagian dan setelah itu mulai disusun langkah-langkah penyelesaian yang lebih detail.

  • Teknik Bottom-Up
    Prinsip teknik bottom upadalah pemecahan masalah yang kompleks dilakukan dengan menggabungkan prosedur-prosedur yang ada menjadi satu kesatuan program sebagai penyelesaian masalah tersebut.

Standar penyusunan program

  • Kebenaran logika dan penulisan.
  • Waktu minimum untuk penulisan program.
  • Kecepatan maksimum eksekusi program.
  • Ekspresi penggunaan memori.
  • Kemudahan merawat dan mengembangkan program.
  • User Friendly.
  • Portability.
  • Pemrograman modular.

4. Mencari Kesalahan

Kesalahan sintaks (penulisan program).
Kesalahan pelaksanaan: semantik, logika, dan ketelitian.

5. Uji dan Verifikasi Program

Pertama kali harus diuji apakah program dapat dijalankan. Apabila program tidak dapat dijalankan maka perlu diperbaiki penulisan sintaksisnya tetapi bila program dapat dijalankan, maka harus diuji dengan menggunakan data-data yang biasa yaitu data yang diharapkan oleh sistem. Contoh data ekstrem, misalnya, program menghendaki masukan jumlah data tetapi usermengisikan bilangan negatif. Program sebaiknya diuji menggunakan data yang relatif banyak.

6. Dokumentasi Program

Dokumentasi program ada dua macam yaitu dokumentasi internal dan dokumentasi eksternal. Dokumentasi internal adalah dokumentasi yang dibuat di dalam program yaitu setiap kita menuliskan baris program sebaiknya diberi komentar atau keterangan supaya mempermudah kita untuk mengingat logika yang terdapat di dalam instruksi tersebut, hal ini sangat bermanfaat ketika suatu saat program tersebut akan dikembangkan. Dokumentasi eksternal adalah dokumentasi yang dilakukan dari luar program yaitu membuat user guideatau buku petunjuk aturan atau cara menjalankan program tersebut.

7. Pemeliharaan Program

Memperbaiki kekurangan yang ditemukan kemudian.
Memodifikasi, karena perubahan spesifikasi.

Tahapan-tahapan pemrograman dalam menyelesaikan masalah :

Contoh :

1. Definisi masalah

2. Buat Model

3. Rancang Algoritma

4. Tulis Program

5. Compile

6. Compile Error
1

7. Executable code => Run
1

8. Error
1

9. Dokumentasi
1

1. Identifikasi Masalah

Contoh :

Apa tugas-tugas yang harus dilaksanakan?, misalnya :

  • Hitung nilai rata-rata kuis mahasiswa yang ditentukan.
  • Terjemahkan naskah pidato dari bahasa inggris menjadi bahasa indonesia

Apa persyaratan performansinya (ketepatan waktu/ruang/ kecepatan ) ?

2. Desain algoritma, meliputi :

Deskripsi (cara penulisan)

  • natural language
  • pseudocode
  • diagram (seperti flowchart)

Kriteria algoritma:

  • Input: nol atau lebih
  • Output: satu atau lebih
  • Definisi/terjemahan/interprestasi: jelas , tepat untuk tiap instruksi
  • Batasan: sebuah algoritma harus berhenti setelah sejumlah langkah, walaupun jumlah langkah boleh banyak tapi harus terbatas

Efektifitas: tiap instruksi harus berupa perintah dasar bukan merupakan bentukan dari beberapa perintah

3. Analisis Algoritma

Space complexity, Berapa banyak space yang dibutuhkan

Time complexity, Berapa lama waktu running algoritma

4. Implementasi

Pemutusan bahasa pemrograman yang akan digunakan

  • C, C++, Lisp, Java, Perl, Prolog, assembly, dll.

Penulisan koding harus terdokumentasi dengan baik dan jelas.

5. Ujicoba

Mengintegrasikan feedback dari user, perbaiki bug, penjaminan kompatibelitas pada berbagai platform

  1. Memahami lebih dulu permasalahan nya
  2. Membuat struktur cara penyelesaian masalah
  3. Menulis program
  4. Mencari kesalahan
  5. Melakukan uji dan verifikasi program
  6. Dokumentasi program
  7. Pemeliharaan program