Ide Pemrograman
Terstruktur pertama kali diungkapkan oleh Prof. Edsger Wybe Djikstra dari
Universitas Eindhoven
sekitar tahun 1965. Beliau mengusulkan bahwa pernyataan GOTO seharusnya tidak digunakan dalam pemrograman
terstruktur.
Ide tersebut
ditanggapi oleh HD. Millis bahwa pemrograman
terstruktur tidak hanya dihubungkan dengan tidak digunakannya pernyataan GOTO,
tetapi oleh strukturnya. Struktur
programlah yang menentukan program yang terstruktur menggunakan pernyataan GOTO
atau tidak.
Pemrograman
terstruktur adalah suatu proses untuk mengimplementasikan urutan langkah untuk
menyelesaikan suatu masalah dalam bentuk program.
Prinsip : jika suatu proses telah sampai pada
suatu titik tertentu, maka proses selanjutnya tidak boleh melompat ke baris
sebelumnya kecuali untuk proses berulang.
Tujuan :
1. Meningkatkan kehandalah program
2. Program mudah dibaca dan ditelusuri
3. Menyederhanakan kerumitan program
4. Pemeliharaan program
5. Meningkatkan prduktivitas pemrograman
Ciri-ciri :
1. Mengandung teknik pemecahan yang tepat dan
benar
2. Mengandung algoritma pemecahan masalah yang
sederhana, standar dan efektif
3. Penulisan program memiliki struktur logika
yang benar dan mudah dipahami
4. Program hanya terdiri dari tiga struktur
dasar yaitu struktur berurutan, struktur seleksi dan struktur perulangan
5. Menghindar penggunaan pernyataan GOTO
6. Biaya pengujian yang dibutuhkan rendah
7. Memiliki dokumentasi yang baik
8. Biaya perawatan dan dokumentasi yang
dibutuhkan rendah
STANDAR PROGRAM
Suatu program yang
baik dibutuhkan suatu standar sehingga
akan memudahkan pemrogram dalam merancang dan merawat program, yaitu ;
1. Pemecahan Masalah, terdiri dari :
a.
Teknik
TOP-DOWN
Suatu masalah yang besar atau komplek akan dibagi-bagi ke dalam
beberapa kelompok masalah yang lebih kecil dan dianalisa sehingga apabila masih
memungkinkan untuk dibagi lagi akan dijadikan subbagian lalu disusun
langkah-langkah untuk menyelesaikan masalah secara detail
b.
Teknik
BOTTOM-UP
Pemecahan masalah dilakukan dengan menggabungkan prosedur-prosedur yang
menjadi suatu kesatuan program guna menyelesaikan masalah tersebut
2.
Penyusunan
Program, kriteria yang harus diperhatikan yaitu :
a.
Kebenaran
Logika dan Penyusunan
Program yang disusun harus memiliki kebenaran logika dalam pemecahan
masalah dan penulisan. Program harus memiliki ketepatan, ketelitian dan
kebenaran sehingga hasilnya dapat dipercaya.
b.
Waktu
Penulisan dan Eksekusi Program
Program harus menentukan batas waktu minimum dalam penulisan program,
dari awal hingga siap dioperasikan. Yag harus diperhatikan adalah bahasa
pemrograman yang dipilih, algoritma yang disusun dan perangkat keras yang
digunakan.
c.
Perawatan
dan Pengembangan Program
Penyusunan program harus mempunyai sifat dasar yaitu kesederhanaan dan
kejelasan dari program yang nantinya akan dikembangkan.
d.
Portabilitas
Bahasa pemrograman yang baik haruslah bisa dipakai pada berbagai tipe
komputer yang berbeda-beda dan berbagai jenis sistem operasi
3.
Algoritma
Pemrograman yang baik, dengan ciri-ciri :
a. Memiliki logika perhitungan atau metode yang
tepat dalam memecahkan masalah
b. Menghasilkan output yang tepat dan benar
dalam waktu yang singkat
c. Ditulis dengan bahasa yang standar secara
sistematis dan rapi sehingga tidak memiliki arti ganda
d. Ditulis dengan format yang mudah dipahami dan
diimplementasikan ke dalam bahasa pemrograman
e. Semua operasi yang dibutuhkan terdefinisi
dengan jelas
f. Semua proses harus selalu berakhir setelah
sejumlah langkah dilakukan
Untuk membuat
suatu program yang besar dan kompleks, pemrogram membutuhkan beberapa tahapan-tahapan
yang sistematis dan terpadu, yaitu :
1. Definisi Masalah
2. Analisis Kebutuhan
3. Desain Algoritma
4. Pengkodean
5. Bahasa Pemrograman
6. Testing dan Debugging
7. Dokumentasi
8. Pemeliharaan
Keterangan :
1. Definisi Masalah
Pendefinisian masalah untuk mendapatkan pemahaman tentang permasalahan
yang ada, sehingga akan diperoleh asumsi yang benar untuk memecahkan masalah
dan menentukan batasan agar masalah menjadi tak terbatas.
2. Analisis Kebutuhan
Digunakan untuk menentukan spesifikasi fungsi, kemampuan dan fasilitas
program dari program yang akan dibuat, yang bermanfaat sebagai dasar dari
evaluasi setelah pembuatan program selesai.
3. Desain Algoritma
Desain algoritma dibuat dengan tujuan untuk menyelesaikan permasalahan.
Algoritma yang dibuat tidak langsung jadi dan harus dikaji terus menerus
sehingga diperoleh algoritma yang paling lengkap, tepat, benar dan relevan.
Algoritma harus memiliki kebenaran secara logika sebelum siap untuk
diimplementasikan dalam bentuk program
4. Pengkodean
Pengkodean menekan pada kesederhanaan dan kejelasan, meliputi :
a.
Dokumentasi
Kode
b.
Deklarasi
Data
c.
Penyusunan
Perintah
d.
Input
atau Output
e.
Efisiensi
5. Bahasa
pemrograman
Dalam menterjemahkan desain ke dalam bahasa pemrograman aktual,
sebagian besar kesulitan telah harus sudah terpecahkan pada tahap sebelumnya
sehingga pemrogram bebas untuk mencurahkan perhatian penuh pada pembuatan
program.
Karakteristik dari bahasa pemrograman mempunyai pengaruh yang penting
terhadap berhasil tidaknya suatu program yang akan di buat. Tahap selanjutnya
adalah pemilihan bahasa pemrograman yang berfungsi sebagai media untuk membuat
program dan memahami serta sebagai alat komunikasi antara pemrogram dan
komputer.
Kriteria yang digunakan untuk mengevaluasi pemilihannya adalah :
a. Bidang aplikasi yang sedang dikerjakan
b. Kekomplekskan algoritma dan perhitungan
c. Lingkungan dimana perangkat lunak akan
diterapkan
d. Pengetahuan staf akan bahasa pemrograman
e. Ketersediaan kompiler yang baik
6. Testing dan Debugging
Testing adalah menguji program sampai dipenuhi bebas error lewat bermacam-macam kondisi atau
dengan input yang hasilnya dapat diprediksi. Testing tidak dapat secara absolut
bisa yakin bahwa program adalah benar karena untuk program besar bisa jadi
setelah dipakai sekian lama baru ditemukan error.
Debugging adalah mengoreksi error yang terdeteksi meliputi menetapkan
lokasi kode yang error dan mengoreksinya.
7. Dokumentasi
Merupakan informasi dan gambaran tambahan yang sangat membantu untuk
memahami sebuah kode yang diberikan dengan tujuan untuk menjadi pedoman dan
penjelasan bagi pemakai.
Dokumentasi terbagi menjadi :
a.
Dokumentasi
internal, merupakan bagian kode dan merupakan sebuah eksplanasi dari berbagai
aspek lewat komentar
b.
Dokumentasi
eksternal, dalam bentuk manual dan catatan-catatan penting tentang program
Sebuah perangkat lunak yang akan digunakan diharapkan mempunyai jangka
hidup yang panjang dan benar-benar memerlukan dokumentasi yang intensif jika
perangkat lunak berubah maka dokumentasi juga harus direvisi agar dapat
merefleksikan modifikasi yang dibuat.
8. Pemeliharaan
Digunakan untuk menjabarkan aktivitas dan analisis sistem pada saat
perangkat lunak telah dipergunakan oleh pemakai.
Aktivitas yang terjadi pada fase pemeliharaan
antara lain :
a.
Penambahan atau peningkatan atau juga perbaikan untuk
perangkat lunak
b.
Adaptasi perangkat lunak dengan lingkungan mesin yang
baru
c.
Perbaikan
permasalahan yang timbul, meliputi aktivitas pembenaran kesalahan yang timbul
setelah perangkat lunak digunakan oleh pemakai.
Aktivitas pemeliharaan biasanya akan menghabiskan biaya yang besar dari
seluruh anggaran pengembangan atau pembuatan perangkat lunak sehingga perangkat
lunak yang dihasilkan dapat diandalkan dan mudah dalam pemeliharaannya.
Pemeliharaan
perangkat lunak dapat dibedakan menjadi :
a. Corrective
Maintenance
Terjadi pada saat perangkat lunak dipakai dan hasil yang didapat oleh
pemakai tidak sesuai, biasanya timbul pada saat keluaran yang tidak sesuai
b. Adaptive
Maintenance
Terjadi karena adanya perkembangan dari perangkat lunak atau perangkat
keras sehingga memerlukan modifikasi dari perangkat lunak yang telah dibuat
c. Prefective
Maintenance
Terjadi pada saat perangkat lunak yang telah dibuat, dilakukan
pengujian dan kemudian digunakan oleh pemakai lalu timbul permintaan tambahan
fungsi sesuai dengan keinginan pemakai
d. Preventive
Maintenance
Terjadi seiring dengan perkembangan dari perangkat lunak atau perangkat
keras di masa mendatang, misalnya saja penambahan fungsi-fungsi atau melengkapi
fungsi yang ada