Konsep Pemograman Terstruktur

A. Pengertian Program dan Pemrograman

Program adalah kata, ekspresi, pernyataan atau kombinasi yang disusun dan dirangkai menjadi satu kesatuan prosedur yang berupa urutan langkah untuk menyelesaikan masalah dan diimplementasikan dengan menggunakan bahasa pemrograman sehingga dapat dieksekusi oleh komputer.
Pemrograman yaitu rangkaian instruksi – instruksi dalam bahasa komputer yang disusun secara logis dan sistematis. Proses pemrograman komputer bertujuan untuk memecahkan suatu masalah dan membuat mudah pekerjaan dari user (pengguna komputer).
Ciri-ciri dari tahapan pembuatan program yaitu:
·         Gunakan rancangan pendekatan dari atas kebawah (Top-down desaign).
·         Bagi program kedalam modul-modul logika yang sejenis.
·         Gunakan sub-program untuk proses-proses sejenis yang sering digunakan.
·         Gunakan pengkodean tersetruktur: IF..Then, DO..WHILE, REPEAT..UNTIL.
·         Hindarkan penggunaan perintah go to bila tidak diperlukan.
Buat dokumentasi yang akurat dan berarti

  1.1  Pengertian Pemrograman Terstruktur
Pemrograman Terstruktur merupakan suatu tindakan untuk membuat program yang berisi instruksi-instruksi dalam bahasa komputer yang disusun secara logis dan sistematis supaya mudah dimengerti, mudah dites, dan mudah dimodifikasi.
Pemrograman terstruktur adalah bahasa pemrograman yang mendukung pembuatan program sebagai kumpulan prosedur. Prosedur-prosedur ini dapat saling memanggil dan dipanggil dari manapun dalam program dan dapat mengunakan parameter yang berbeda-beda untuk setiap pemanggilan. Bahasa pemrograman terstruktur adalah pemrograman yang mendukung abstraksi data, pengkodean terstruktur dan kontrol program terstruktur. Sedangkan Prosedur adalah bagian dari program untuk melakukan operasi-operasi yang sudah ditentukan dengan menggunakan parameter tertentu.

  1.2  Sejarah Metodologi Pemrograman
Ide pemrograman terstruktur pertama kali diungkapkan oleh Prof Edsger Djikstra dari Universitas Eindhoven sekitar tahun 1965. Dalam papernya, Djikstra mengusulkan peniadaan perintah GOTO pada pemrograman terstruktur. Berbeda dengan pendapat HD Millis yang mengungkapkan bahwa pemrograman terstruktur tidak tergantung pada ada tidaknya GOTO tetapi lebih pada struktur program itu sendiri. Dari pernyataan keduanya, memberikan gambaran tidak adanya definisi yang jelas untuk pemrograman terstruktur. Tetapi dapat digaris bawahi bahwa pemrograman terstruktur merupakan suatu proses untuk mengimplementasikan urutan langkah untuk menyelesaikan suatu masalah dalam bentuk program.

 1.3 Manfaat Pemrograman Terstruktur


  • Dapat menangani program yang  besar dan komplek
  • Dapat menghindari konflik internal team
  • Membagi kerja team berdasarkan modul-modul program yang sudah dirancang
  • kemajuan pengerjaan sistem dapat dimonitor dan dikaji
      1.4  Tujuan dari pemrograman terstruktur adalah


  •    Meningkatkan kehandalan suatu progam,
  •    program mudah dibaca dan ditelusuri,
  •    menyederhanakan kerumitan program,
  •     pemeliharaan program, dan
  •     meningkatkan produktivitas pemrograman.

       1.5 Pemrograman terstruktur bercirikan:



  •        mengandung teknik pemecahan yang tepat dan benar,
  •       memiliki algoritma pemecahan masalah yang sederhana, standar dan efektif,
  •       memiliki struktur logika yang benar dan mudah dipahami,
  •       terdiri dari 3 struktur dasar yaitu urutan, seleksi dan perulangan,
  •       menghindari penggunaan GOTO,
  •       biaya pengujian rendah, Source Program penterjemah Machine Languages Komputer dan Pemrograman
  •       memiliki dokumentasi yang baik,
  •       biaya perawatan dan dokumentasi yang dibutuhkan rendah.





B. TAHAPAN MEMBUAT PROGRAM

1.       Membuat Suatu Program Yang Kompleks
Bila masalah yang dihadapi oleh seorang pemrogram sangat besar dan kompleks, maka ia pasti membutuhkan tahapan-tahapan dalam membangun programnya, agar dapat diperoleh suatu program yang baik. Sebenarnya tahapan-tahapan tersebut hanya membantu pemrogram agar dapat menyelesaikan pekerjaannya secara sistematis.Untuk membuat program yang besar dan kompleks, programmer membutuhkan tahapan-tahapan dibawah ini :

a.       Definisi Masalah
Pemahaman permasalahan merupakan suatu hal yang sangat penting bagi sipemrogram. Sipemrogram perlu memahami permasalahan yang dihadapi dan yang akan diselesaikan oleh pemesan program, agar hasil pendefinisian masalah tidak menyimpang dari masalah yang sedang dihadapi. Setelah menyamakan persepsi tentang suatu masalah yang dihadapi dan akan diselesaikan, maka pemrogram dapat mengidentifikasi permasalahan tersebut secara rinci, dan menentukan ruang lingkup permasalahan yang akan diselesaikan terlebih dahulu, dan kemungkinan kendala-kendala yang akan dihadapi, lalu berapa lama proses penyelesaian masalah tersebut. Pemrograman harus membuat langkah-langkah penyelesaian masalah berdasarkan ruang lingkup permasalahan yang ditentukan, sehingga pekerjaan pembuatan program terarah dan terjadwal dengan baik.
Masalah yang perlu didefinisikan adalah komponen input dari suatu program yang akan dirancang tersebut apa saja yang akan terjadi didalam menyelesaikan program tersebut dan menampilkan hasilnya, yang terakhir adalah komponen output yang diinginkan seperti apa, dan formatnya bagaimana.

b.      Analisis Kebutuhan
Menentukan data untuk masukan dan keluaran yang diminta, bahasa pemrograman yang digunakan serta tipe komputer apa yang dibutuhkan

c.       Desain Algoritma / Membuat Rumusan Pemecahan Masalah
Membuat susunan langkah-langkah/instruksi penyelesaian masalah. Hal ini dapat dilakukan dengan 2 cara :
1). Menggunakan Flowchart
Flowchart adalah penggambaran secara garfik dari langkah-langkah dan urutan –urutan prosedur dari suatu program. Flowchart menolong analis dan programmer untuk memecahkan masalah kedalam segmen-segmen yang lebih kecil dan menolong dalam menganalisis alternatif-alternatif dalam pengoperasian
Flowchart biasanya mempermudah penyelesaian suatu masalah khususnyamasalah yang perlu dipelajari dan dievaluasi lebih lanjut.
Fungsi dari  flowchart adalah untuk membnatu dalam pembuatan program secara umum setelah itu dituangkan ke dalam program secara detail. Sehingga memudahkan pembuatan program dan menghasilkan program yang tersetruktur serta serta output yang sesuai dengan perencanaan.
Dalam pembuatan flowchart tidak ada rumus atau patokan yang bersifat mutlak, karena flowchart merupakan gambaran hasil pemikiran dalam menganalisa suatu masalah dengan computer. sehingga flowchart yang dihasilkan dapat bervariasi antara satu pemrogram dengan yang lainnya.
Namun secara garis besar setiap pengolahan selalu terdiri dari 3 bagian utama, yaitu :
a)      Input
b)      Proses pengolahan dan
c)      Output
                Untuk pengolahan data dengan computer, urutan dasar pemecahan suatu masalah:
a)      START : berisikan instruksi untuk persiapan peralatan yang diperlukan sebelum menangani pemecahan persoalan
b)      READ : berisi instruksi kegiatan untuk membaca data dari suatu peralatan input
c)       PROSES : berisi kegiatan yang berkaitan dengan pemecahan persoalan sesuai dengan data yang dibaca
d)      WRITE: berisi instruksi untuk merekam hasil kegiatan ke peralatan output
e)      END: mengakhiri kegiatan pengolahan.
               
                Walaupun tidak ada kaidah-kaidah yang baku dalam penyusunan flowchart, namun ada beberapa anjuran:
a.    Hindari pengulangan proses yang tidak berlaku dan logika yang berbelit sehingga jalannya proses menjadi singkat
b.    Jalannya proses digambarkan dari atas ke bawah dan diberikan tanda panah untuk memperjelas
c.     Sebuah flowchart diawali dari satu titik START dan diakhiri dengan END

1)    Menggunakan bahasa semu (pseudocode)
 adalah cara untuk menuliskan sebuah algoritma secara high-level (level tingkat tinggi). Biasanya Pseudocode dituliskan dengan kombinasi Bahasa Inggris dan notasi matematika. Biasanya sebuah Pseudocode tidak terlalu detail dibandingkan dengan program. Isu-isu detail dalam program yang sifatnya teknis tidak dibahas di dalam Pseudocode.

d.    Bahasa Pemrograman
                program merupakan sekumpulan instruksi yang merupakan penyelesaian masalah. Program ‘dimasukkan’ ke dalam computer, computer mengerjakan instruksi-instruksi di dalam program tersebut , lalu memberikan hasil atau keluaran yang diinginkan
                agar program dapat dilaksanakan oleh computer, program tersebut harus ditulis dalam suatu bahasa yang dimengerti oleh computer. karena computer adalah mesin maka program harus ditulis dalam bahasa yang khusus dibuat untuk berkomunikasi dengan computer. bahasa computer yagn digunakan dalam menulis program dinamakan bahasa pemrograman
                jadi bahasa pemrograman yaitu kumpulan perintah-perintah bermakna, berstruktur tertentu (syntax) yang dapat dimengerti computer yang berguna didalam penyelesaian masalah.       
Dalam pengertian luas pemrograman meliputi seluruh kegiatan yang mencakup dalam dalam :
1.    Pembuatan program, termasuk analisis kebutuhan ( requirement’s analysis)
2.    Keseluruhan tahapan dalam perencanaan (planning), perancangan (design), dan pewujudan (implementation).
Dalam pengertian yang lebih sempit, pemrograman merupakan :
1.    Pengkodean ( coding atau program writing = penulisan program)
2.    Pengujian (testing) berdasarkan rancangan tertentu 
Pemahaman yang lebih sempit ini sering digunakan dalam pembuatan program-program terapan komersial yang membedakan antara system analyst yang bertanggung jawah dalam menganalisa kebutuhan, perencanaan dan perancangan program dengan pemrogram ( programmer) yang bertugas membuat kode program dan menguji kebenaran program

e.    Testing dan Debuging
Dilakukan melalui 2 tahap :
1. Pengujian Tahap DebugingUntuk mengecek kesalahan program,    Baik sintaksis maupun logika.
2. Pengujian tahap profilingUntuk menentukan waktu tempuh dan banyak nya memori program yang digunakan. Setelah program bebas dari kesalahan sehingga dapat dilakukan proses excute programan

f. Dokumentasi
Digunakan untuk file backup. Penulisan program yang kompleks harus selalu didokumentasikan setiap kurun waktu tertentu, jadwal dokumentasi juga perlu dibuat demi menjaga keamanan terhadap program dan data dari orang-orang yang tidak bertanggung jawab.

g.Pemeliharaan
Upaya yang dilakukan dengan menghindari kerusakan atau hilangnya suatu program baik hardware maupun huma Error
Pemeliharaan program berfungsi untuk menjabarkan aktivitas dari hasil analisis terhadap sistem dan dilakukan setelah program diimplementasikan dan telah digunakan beberapa saat oleh pemakai. Pemeliharaan mencangkup:
a)      Format tampilan yang disesuaikan dengan keinginan pengguna
b)      Fungsi-fungsi yang tidak sesuai dengan keinginan pengguna
c)       Adaptasi dengan spesifikasi prosesor yang baru dan system operasi yang baru

C. KELEBIHAN DAN KEKURANGAN PEMROGRAMAN TERSTRUKTUR (STRUCTURED ANALISYS AND DESIGN / SSAD)
a.      kelebihan :
  • Milestone diperlihatkan dengan jelas yang memudahkan dalam manajemen proyek
  • SSAD merupakan pendekatan visual, ini membuat metode ini mudah dimengerti oleh pengguna atau programmer.
  • Penggunaan analisis grafis dan tool seperti DFD menjadikan SSAD menjadikan bagus untuk digunakan.
  • SSAD merupakan metode yang diketahui secara umum pada berbagai industry.
  • SSAD sudah diterapkan begitu lama sehingga metode ini sudah matang dan layak untuk digunakan.
  • SSAD memungkinkan untuk melakukan validasi antara berbagai kebutuhan
  • SSAD relatif simpel dan mudah dimengerti. 
b.      kekurangan :
  • SSAD berorientasi utama pada proses, sehingga mengabaikan kebutuhan non-fungsional.
  • Sedikit sekali manajemen langsung terkait dengan SSAD
  • Prinsip dasar SSAD merupakan pengembangan non-iterative (waterfall), akan tetapi kebutuhan akan berubah pada setiap proses.
  • Interaksi antara analisis atau pengguna tidak komprehensif, karena sistem telah didefinisikan dari awal, sehingga tidak adaptif terhadap perubahan (kebutuhan-kebutuhan baru).
  • Selain dengan menggunakan desain logic dan DFD, tidak cukup tool yang digunakan untuk mengkomunikasikan dengan pengguna, sehingga sangat sliit bagi pengguna untuk melakukan evaluasi.
  • Pada SAAD sliit sekali untuk memutuskan ketika ingin menghentikan dekomposisi dan mliai membuat sistem.
  • SSAD tidak selalu memenuhi kebutuhan pengguna.
  • SSAD tidak dapat memenuhi kebutuhan terkait bahasa pemrograman berorientasi obyek, karena metode ini memang didesain untuk mendukung bahasa pemrograman terstruktur, tidak berorientasi pada obyek (Jadalowen, 2002).




D. SEKILAS TENTANG C++

Bahasa C merupakan salah satu bahasa pemrograman yang sangat populer si dunia komputer, terutama dikalangan pendidikan, karena bahasa C dianggap sebagai bahasa yang memiliki banyak keunggulan dibanding bahasa yang lain.

Dari segi kecepatan, bahasa C sangat tangguh karena bisa berjalan secepat bahasa tingkat rendah (rakitan). Karena keunggulannya tersebut bahasa C dipakai sebagai mata kuliah wajib hampir diseluruh perguruan tinggi di dunia.

C++ merupakan superset dari bahasa pemrograman C. C++ bukan hanya perubahan dari C dengan penambahan fasilitas pemrograman objek, namun pada C++ telah banyak dilakukan peningkatan termasuk pengecekan tipe data yang lebih baik pada tingkat komplier. C++ juga dilengkapi dengan teknologi mutakhir, sesuai dengan teknologi yang sedang berkembang.

1.    Sejarah C++

Bahasa C merupakan perkembangan dari bahasa BCPL yang dikembangkan oleh Martin Richards pada tahun 1967. Selanjutnya bahasa ini memberikan ide kepada Ken Thompson yang kemudian mengembangkan bahasa yang disebut bahasa B pada tahun 1970. Perkembangan selanjutnya dari bahasa B adalah bahsa C oleh Dennis Ricthie tahun 1970-an di Bell Telephone Laboratories Inc. (Sekarang adalah AT& Bell Laboratories)

Bahasa C pertama kali digunakan di komputer Digital Equipment Corporation PDP-11 yang menggunakan system operasi UNIX. Hingga saat ini penggunaan bahasa C telah merata diseluruh dunia.

C adalah sebuah bahasa pemrograman tingkat menengah. Disebut bahasa tingkat menengah, karena C merupakan sebuah bahasa pemrograman yang dekat ke mesin (bahasa tingakat rendah - assembly) namun memiliki kemudahan dalam perintah seperti yang dimiliki oleh bahsa tinkat tinggi.

Bahasa C dibandingkan dengan bahsa pemrograman lain, memiliki kelebihsn efisiensi, sehingga selain lebih populer untuk mengembangkan software sistem, juga sangat baik untuk mengembangkan aplikasi perangkat lunak.

C++ merupakan superset dari bahasa C yang dikembangkan oleh Ben Stroustrup 1980-an untuk lebih memberikan kemudahan bagi para pemrograman dengan menggunakan mode pemrograman mutakhir, yaitu pemrograman berorientasi objek, diperoleh keuntungan-keuntungan yang tidak diperoleh dari model pemrograman terstruktur.

2.     Kelebihan dan Kekurangan C++

Kelebihan C++ dan C pada umumnya :
  • Bahasa C++ tersedia hampir di semua jenis komputer.
  • Kode bahasa C++ sifatnya adalah portable dan fleksibel untuk semua jenis komputer.
  • Bahasa C++ hanya sedikit menyediakan kata-kata kunci, hanya terdapat 32 kata kunci.
  • Proses executable program bahsa C++ lebih cepat.
  • Dukungan pustaka yang banyak.
  • C++ adalah bahasa terstruktur.
  • Bahasa C merupakan bahasa tingkat menengah.
Kekurangan Bahasa C++
  • Banyaknya operator serta fleksibilitas penulisan program kadang-kadang membingungkan pemakai.
  • Bagi pemula pada umumnya akan kesulitan menggunakan pointer.
3.    Perbedaan C dan C++
Perbedaan Antara Bahasa pemrograman C dan C++ meskipun bahasa-bahasa tersebut menggunakan sintaks yang sama tetapi mereka memiliki perbedaan, C merupakan bahasa pemrograman prosedural, dimana penyelesaian suatu masalah dilakukan dengan membagi-bagi masalah tersebut kedalam su-submasalah yang lebih kecil, Selain itu, C++ merupakan bahasa pemrograman yang memiliki sifat Pemrograman berorientasi objek, Untuk menyelesaikan masalah, C++ melakukan langkah pertama dengan menjelaskan class-class yang merupakan anak class yang dibuat sebelumnya sebagai abstraksi dari object-object fisik, Class tersebut berisi keadaan object, anggota-anggotanya dan kemampuan dari objectnya, Setelah beberapa Class dibuat kemudian masalah dipecahkan dengan Class.

Komentar

Postingan populer dari blog ini

Prosedur dan Fungsi pada C++

Record Sederhana pada C++

Seleksi pada C++