PENGENALAN
PEMROGRAMAN TERSTRUKTUR
BAB I PENDAHULUAN
1.1
Latar Belakang
Untuk memperoleh
program yang baik dan terstruktur perlu mempelajari elemen bahasa pemrograman.
Oleh karean itu, penyusun mencoba untuk memaparkan masalah tentang
elemen-elemen bahasa pemrograman.
1.2
Rumusan Masalah
a.
Pengertian
Pemrograman Terstruktur
b.
Pengertian
Bahasa C++
c.
Pengertian
Bahasa Pascal
d.
Perbedaan
Bahasa C++ dan Pascal
1.3
Maksud Dan Tujuan
Maksud dari
penyusunan tugas ini adalah untuk memenuhi dan melengkapi salah satu tugas mata
kuliah Pemrograman Terstruktur. Sedangkan tujuan dari penulisan tugas ini
adalah:
1. Menerapkan teori yang didapat selama
belajar.
2. Mengembangkan kreativitas dan wawasan
penulis.
3. Memberikan uraian elemen-elemen bahasa
pemrograman secara lebih terperinci.
BAB II PEMBAHASAN
Pemrograman
Terstruktur
A.
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.
B.
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. Alasan Pemrograman Terstruktur
- Krisis metode pengembangan
- Kemampuan tenaga programmer tertinggal
- Sulitnya modifikasi program jika ada kesalahan atau perubahan
- Sulitnya modifikasi kode program karena tidak terstruktur dengan baik
2. 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
a. Ciri – ciri Program Terstruktur (Good Program)
- Run correctly (Program handal)
- Run efficiently (Program menjadi sederhana / tidak rumit)
- Be easy to read and understand (Mudah dibaca dan ditelusuri)
- Be easy to debug (Program mudah ditelusuri kesalahannya)
- Be easy to modify (Program mudah dimodifikasi)
- 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. Tujuan dari pemrograman terstruktur adalah
- Meningkatkan kehandalan suatu progam,
- Program mudah dibaca dan ditelusuri,
- Menyederhanakan kerumitan program,
- Pemeliharaan program, dan
- Meningkatkan produktivitas pemrograman.
c. Langkah-langkah untuk membuat program yang baik dan terstruktur
adalah:
- Mendefinisikan Masalah
- Menentukan Solusi
- Memilih Algoritma
- Menulis Program
- Menguji Program
- Menulis Dokumentasi
- Merawat Program
- Pengenalan Komputer
- Langkah
– Langkah Pengembangan Program
- Definisikan masalah (Batasan masalah)
- Rancang outline pemecahan masalah (Pengembangan model)
- Buat algoritma berdasarkan outline pemecahan masalah
- Test algoritma (Perbaikan algoritma)
- Coding (Pemrograman dan pengujian program)
- Execute (Running)
- Dokumentasi dan pemeliharaan
1. Definisi Masalah
a.
Keluaran
(Output)b. Masukan (Input)
c. Proses (Proces)
2. Outline Pemecahan Masalah (Pengembangan
model)
a.
Buat
langkah – langkah proses (modul/proses apa saja yang terjadi pada menu utama
dan sub menu)
b.
Buat
rincian/detail Proses (masing-masing submenu akan mengerjakan berapa
modul/proses, setiap modul/proses yang terjadi berinteraksi dengan berapa file
dan file apa saja )
c.
Tentukan
Variable dan record (dalam setiap proses (modul), baik variabel lokal maupun
variabel global)
d.
Tentukan
struktur kontrol (urut, pengulangan, kondisi), berapa bentuk struktur kontrol
yang terlibat dalam satu proses, dan jenis strukturnya apa saja dan berapa
banyak
Metode
Pemrograman Terstruktur
Pemrograman
terstruktur memakai metode pengembangan Top-Down. Perancangan program dilakukan
secara Modular.
- Pengembangan Top-Down
- Modular
Perancangan
program dilakukan dalam bentuk modul-modul
Teorema Pada Pemrograman Terstruktur
1. Sequence
Tiap instruksi
dikerjakan secara berurutan sesuai dengan urutan penulisannya
Contoh :
Perintah A
Perintah B
Perintah C
2.
Selection
Instruksi akan
dikerjakan jika kondisi tertentu dipenuhi
Contoh :
Penggunaan IF-THEN-ELSE
Penggunaan CASE
3.
Repetition
Instruksi
dikerjakan berulang – ulang sampai suatu kondisi dicapai.
Contoh :
Penggunaan DO WHILE
Penggunaan REPEAT – UNTIL
1. Sifat-sifat Pemrograman Terstruktur
- Memuat teknik pemecahan masalah yang logis dan sistematis
- Memuat algoritma yang efisien, efektif dan sederhana
- Program disusun dengan logika yang mudah dipahami
- Tidak menggunakan perintah GOTO
- Biaya pengujian program relatif rendah
- Memiliki dokumentasi yang baik
- Biaya perawatan dan dokumentasi yang dibutuhkan relatif rendah
A. Pascal (Bahasa Pemrograman)
1. Sejarah
Pascal dibuat
pertama kali oleh Prof. Niklaus Wirth, seorang anggota International Federation
of Information Processing (IFIP) pada tahun 1971. pascal berasal dari nama
matematikawan yaitu Blaise Pascal. Pascal digunakan untuk mengenalkan
pemrograman terstruktur.
2. Aplikasi Bahasa Pascal
- Pascal dipakai sebagai landasan pembuatan kode perangkat lunak Delphi (berbasis windows).
- Pascal dipakai sebagai landasan pembuatan kode perangkat lunak Kylix (berbasis Linux).
3. Kelebihan dan Kekurangan
a. Kelebihan Bahasa Pascal :
- · Tipe data standar, tipe-tipe data standar yang telah tersedia bahasa pemrogaman. Pascal memiliki tipe data standar Boolean, integer, char, real, string.
- User defined data types, programmer dapat membuat tipe data lain yang diturunkan dari tipe data standar.
- Strongly-typed, programmer harus menentukan tipe data dari suatu variable dan variable tersebut tidak dapat dipergunakan untuk menyimpan tipe data selain format yang ditentukan.
- Terstruktur, memiliki sintaks yang memungkinkan penulisan program dipecah menjadi fungsi-fungsi kecil (procedur dan function) yang dapat dipergunakan berulang-ulang.
- Sederhana dan ekspresif, memiliki struktur yang sederhana dan sangat mendekati bahasa manusia (bahasa inggris) sehingga mudah dipelajari dan dipahami.
b. Kekurangan Bahasa Pascal :
- Versi awal Pascal kurang cocok untuk aplikasi bisnis karena dukungan basisdata yang terbatas.
- Sintaks Pascal terlalu bertele-tele.
- Tidak mendukung pemrograman berorientasi objek.
- Pascal tidak fleksibel dan banyak kekurangan yang dibutuhkan untuk membuat aplikasi yang besar.
B. C++
1. Pengertian C++
C++ adalah sebuah
bahasa pemrograman yang memiliki banyak dialek, seperti bahasa orang yang
banyak memiliki dialek. Dalam C++, dialek bukan disebabkan oleh karena si
pembicara berasal dari Jepang atau Indonesia, melainkan karena bahasa ini
memiliki beberapa kompiler yang berbeda. Ada empat kompiler umum yaitu : C++
Borland, C++ Microsoft Visual, C/386 Watcom, dan DJGPP. Anda dapat mendownload
DJGPP atau mungkin saja anda telah memiliki kompiler lain.
Setiap kompiler
ini agak berbeda. Setiap kompiler akan dapat menjalankan fungsi-fungsi standar
C++ ANSI/ISO, tetapi masing-masing kompiler juga akan dapat menjalankan fungsi
fungsi nonstandard (fungsi-fungsi ini, agak mirip dengan ucapan yang tidak
standar yang diucapkan orang diberbagai pelosok negeri. Sebagai contoh, di New
Orleans kata median disebut neutral ground). Kadang-kadang pemakaian fungsi
nonstandard akan menimbulkan masalah pada saat anda hendak mengkompilasi kode
sumber data (source code) (yaitu program berbahasa C++ yang ditulis oleh
seorang programer) mempergunakan kompiler yang berbeda. Tutorial ini tidak
terlepas dari masalah seperti itu.
2. Sejarah
Bahasa C++
diciptakan oleh Bjarne Stroustrup tahun 1983 di Lab Bell. C++ merupakan bahasa
pemrograman berorientasi objek menggunakan kaidah bahasa.
3. Aplikasi Bahasa C++
- Sebagai bahasa pemrograman di Windows, UNIX, Linux.
- Visual C++ dapat dibuat aplikasi apa saja seperti database.
- Bahasa untuk pembuatan system operasi, game, system kendali,pembuatan aplikasi
- Untuk membuat bahasa baru atau membuat compiler bahasa baru
- Untuk menulis komponen dan file-file pustaka bahasa lain
4. Kelebihan dan Kekurangan
a. Kelebihan :
- Merupakan induk dari bahasa pemrograman perl, php, phyton, visual basic, gambas, java, C#.
- Compiler bahasa C++ terdapat di semua platform.
- Untuk pengembangan visual dijejali dengan platform yang sangat banyak seperti OWL, MFC, Cocoa, QT, GTK, dll.
- Merupakan pemrograman berorientasi objek.
b. Kekurangan :
- Bahasa ini cukup sulit untuk dipel;ajari dan dipahami.
- Banyaknya operator serta fleksibilitas penulisan program kadang-kadang membingungkan pemakai.
- Bagi pemula pada umumnya akan kesulitan menggunakan pointer
C. Perbedaan Antara OOP dan Pemrograman Terstruktur
Sistem pemrograman
berorientasi objek, bentuk pemodelan programnya diorientasikan dalam bentuk
objek – objek, sedangkan Sistem pemrograman terstruktur pemodelan programnya
diuraikan dan diorganisasikan secara lebih detail.
Konsep dasar
pemrograman berorientasi objek dikelompokkan kedalam kelas, objek, abstraksi,
enkapulasi dan Polimorfisme melalui pengiriman pesan, sedangkan konsep dasar
pemrograman terstruktur harus mengandung teknik pemecahan masalah yang tepat
dan benar, memiliki algoritma pemecahan masalah yang sederhana, standar dan
efektif, penulisan program memiliki struktur logika yang benar dan mudah
dipahami, program hanya memiliki 3 struktur dasar, yaitu : Struktur berurutan,
struktur seleksi, dan struktur pengulangan, Menghindari penggunaan pernyataan
GOTO, Memiliki dokumentasi yang baik.
UML adalah contoh
salah satu bahasa pemrograman yang berkonsepkan OOP, sedangkan DFD dan ERD
adalah contoh bahasa pemrograman yang berkonsepkan pemrograman secara terstruktur.
Dengan menggunakan
OOP maka dalam melakukan pemecahan suatu masalah kita tidak melihat bagaimana
cara menyelesaikan suatu masalah tersebut (terstruktur) tetapi objek-objek apa
yang dapat melakukan pemecahan masalah tersebut. Sedangkan untuk pemrograman
terstruktur, menggunakan prosedur/tata cara yang teratur untuk mengoperasikan
data struktur
Untuk tata nama,
keduanya pun memiliki tatanan yang sama walaupun memiliki pengertian
tersendiri:
Object oriented
menggunakan “method” sedangkan terstruktur menggunakan “function”. Bila di OOP
sering didengar mengenai “objects” maka di terstruktur kita mengenalnya dengan
” modules”. Begitu pula halnya dengan “message” pada OO dan “argument” pada
terstruktur. “attribute” pada OO juga memiliki tatanan nama yang sepadan dengan
“variabel” pada pemrograman terstruktur.
1. Kelebihan dan Kekurangan Pemograman OPP dan Pemograman Terstruktur :
a.
Metode Terstruktur
Perancangan Terstruktur (Structured
Analisys and Design / SSAD)
Metode ini
diperkenalkan pada tahun 1970, yang merupakan hasil turunan dari pemrograman
terstruktur. Metode pengembangan dengan metode terstruktur ini terus diperbaiki
sampai akhirnya dapat digunakan dalam dunia nyata. Perancangan ini bertujuan
untuk membuat model SOLUSI terhadap PROBLEM yang sudah dimodelkan secara
lengkap pada tahap analisis terstruktur.
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.
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).
b.
Metode Berorientasi Objek
Perancangan Berbasis Objek (Object-oriented
Analysis and Design / OOAD)
Metode OOAD
melakukan pendekatan terhadap masalah dari perspektif obyek, tidak pada
perspektif fungsional seperti pada pemrograman terstruktur. Akhir-akhir ini
penggunakan OOAD meningkat dibandingkan dengan pengunaan metode pengembangan
software dengan metode tradisional. Sebagai metode baru dan sophisticated bahasa
pemrograman berorientasi obyek diciptakan, hal tersebut untuk memenuhi
peningkatan kebutuhan akan pendekatan berorientasi obyek pada aplikasi bisnis
Kelebihan
- Dibandingkan dengan metode SSAD, OOAD lebih mudah digunakan dalam pembangunan sistem
- Dibandingkan dengan SSAD, waktu pengembangan, level organisasi, ketangguhan,dan penggunaan kembali (reuse) kode program lebih tinggi dibandingkan dengan metode OOAD (Sommerville, 2000).
- Tidak ada pemisahan antara fase desain dan analisis, sehingga meningkatkan komunikasi antara user dan developer dari awal hingga akhir pembangunan sistem.
- Analis dan programmer tidak dibatasi dengan batasan implementasi sistem, jadi desain dapat diformliasikan yang dapat dikonfirmasi dengan berbagai lingkungan eksekusi.
- Relasi obyek dengan entitas (thing) umumnya dapat di mapping dengan baik seperti kondisi pada dunia nyata dan keterkaitan dalam sistem. Hal ini memudahkan dalam mehami desain (Sommerville, 2000).
- Memungkinkan adanya perubahan dan kepercayaan diri yang tinggi terhadap kebernaran software yang membantu untuk mengurangi resiko pada pembangunan sistem yang kompleks (Booch, 2007).
- Encapsliation data dan method, memungkinkan penggunaan kembali pada proyek lain, hal ini akan memperingan proses desain, pemrograman dan reduksi harga.
- OOAD memungkinkan adanya standarisasi obyek yang akan memudahkan memahami desain dan mengurangi resiko pelaksanaan proyek.
- Dekomposisi obyek, memungkinkan seorang analis untuk memcah masalah menjadi pecahan-pecahan masalah dan bagian-bagian yang dimanage secara terpisah. Kode program dapat dikerjakan bersama-sama. Metode ini memungkinkan pembangunan software dengan cepat, sehingga dapat segera masuk ke pasaran dan kompetitif. Sistem yang dihasilkan sangat fleksibel dan mudah dalam memelihara.
Kekurangan
- Pada awal desain OOAD, sistem mungkin akan sangat simple.
- Pada OOAD lebih fockus pada coding dibandingkan dengan SSAD.
- Pada OOAD tidak menekankan pada kinerja team seperti pada SSAD.
- Pada OOAD tidak mudah untuk mendefinisikan class dan obyek yang dibutuhkan sistem.
- Sering kali pemrogramam berorientasi obyek digunakan untuk melakukan anlisisis terhadap fungsional siste, sementara metode OOAD tidak berbasis pada fungsional sistem.
- OOAD merupakan jenis manajemen proyek yang tergolong baru, yang berbeda dengan metode analisis dengan metode terstruktur. Konsekuensinya adalah, team developer butuh waktu yang lebih lama untuk berpindah ke OOAD, karena mereka sudah menggunakan SSAD dalam waktu yang lama ( Hantos, 2005).
- Metodologi pengembangan sistem dengan OOAD menggunakan konsep reuse. Reuse merupakan salah satu keuntungan utama yang menjadi alasan digunakannya OOAD. Namun demikian, tanpa prosedur yang emplisit terhadap reuse, akan sangat sliit untuk menerapkan konsep ini pada skala besar (Hantos, 2005).
BAB III PENUTUP
2. 1.
Kesimpulan
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.
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.
3. 2.
Saran
Setelah membaca makalah
ini pembaca sudah mengenal bahasa-bahasa pemrograman yang mengandung arti
dengan elemen–elemen pemrograman. Oleh karena itu pembaca harus memahami dengan
cermat dan teliti.untuk mengetahui makalah ini dengan benar.
DAFTAR PUSTAKA
Kadir, Abdul. dan Heryanto. 2005. Algoritma
pemrograman C++. Yogyakarta: Andi.