0% menganggap dokumen ini bermanfaat (0 suara)
508 tayangan14 halaman

Pemrograman Terstruktur

Dokumen tersebut membahas tentang pemrograman terstruktur, yang merupakan metode pengembangan program dengan menggunakan pendekatan modular dan top-down. Prinsip utama pemrograman terstruktur adalah mengorganisasi program menjadi modul-modul yang saling terkait untuk meningkatkan kehandalan, pemeliharaan, dan produktivitas pengembangan program.

Diunggah oleh

Michael Mitchell
Hak Cipta
© © All Rights Reserved
Kami menangani hak cipta konten dengan serius. Jika Anda merasa konten ini milik Anda, ajukan klaim di sini.
Format Tersedia
Unduh sebagai DOC, PDF, TXT atau baca online di Scribd
0% menganggap dokumen ini bermanfaat (0 suara)
508 tayangan14 halaman

Pemrograman Terstruktur

Dokumen tersebut membahas tentang pemrograman terstruktur, yang merupakan metode pengembangan program dengan menggunakan pendekatan modular dan top-down. Prinsip utama pemrograman terstruktur adalah mengorganisasi program menjadi modul-modul yang saling terkait untuk meningkatkan kehandalan, pemeliharaan, dan produktivitas pengembangan program.

Diunggah oleh

Michael Mitchell
Hak Cipta
© © All Rights Reserved
Kami menangani hak cipta konten dengan serius. Jika Anda merasa konten ini milik Anda, ajukan klaim di sini.
Format Tersedia
Unduh sebagai DOC, PDF, TXT atau baca online di Scribd
Anda di halaman 1/ 14

Pengenalan

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. Prosedurprosedur 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 operasioperasi yang sudah ditentukan dengan
menggunakan parameter tertentu.
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.

Alasan Pemrograman Terstruktur ialah


- Krisis metode pengembangan
- Kemampuan tenaga programmer tertinggal
- Sulitnya modifikasi program jika ada kesalahan
atau perubahan
- Sulitnya modifikasi kode program karena tidak
terstruktur dengan baik
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
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)
Tujuan dari pemrograman terstruktur adalah
1. Meningkatkan kehandalan suatu progam,
2. program mudah dibaca dan ditelusuri,
3. menyederhanakan kerumitan program,
4. pemeliharaan program, dan
5. meningkatkan produktivitas pemrograman.
Pemrograman terstruktur bercirikan:
1. mengandung teknik pemecahan yang tepat dan benar,
2. memiliki algoritma pemecahan masalah yang sederhana, standar dan efektif,
3. memiliki struktur logika yang benar dan mudah dipahami,
4. terdiri dari 3 struktur dasar yaitu urutan,seleksi dan perulangan,
5. menghindari penggunaan GOTO,
6. biaya pengujian rendah, Source Progra penterjemah Machine Languages
Komputer dan Pemrograman
7. memiliki dokumentasi yang baik,
8. biaya perawatan dan dokumentasi yang dibutuhkan rendah. Langkah-langkah untuk
membuat program yang baik dan terstruktur adalah:
1. Mendefinisikan Masalah
2. Menentukan Solusi
3. Memilih Algoritma
4. Menulis Program
5. Menguji Program

6. Menulis Dokumentasi
7. Merawat Program
8. Pengenalan Komputer
Langkah Langkah Pengembangan Program
1. Definisikan masalah (Batasan masalah)
2. Rancang outline pemecahan masalah (Pengembangan model)
3. Buat algoritma berdasarkan outline pemecahan masalah
4. Test algoritma (Perbaikan algoritma)
5. Coding (Pemrograman dan pengujian program)
6. Execute (Running)
7. Dokumentasi dan pemeliharaan
1. Definisi Masalah
a. Keluaran (Output )
b. Masukan ( Input)
c. Proses (Proces )
Contoh tabel definisi masalah:
Input Proces output
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 sub menu 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 local
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 Pengembangan yang dimulai dari langkah yang
global lebih dahulu, yang kemudian diperluas lagi sehingga didapat langkah rinci
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
Penggunaas CASE
3. Repetition
Instruksi dikerjakan berulang ulang sampai suatu
kondisi dicapai.
Contoh :
Penggunaan DO WHILE
Penggunaan REPEAT UNTIL
a. Modular Programming
b. Membuat Modul :
Membuat Modul dalam bahasa C++ adalah
dengan fungsi.
Fungsi ada 2 macam :
1. Fungsi yang tidak bernilai
2. Fungsi yang bernilai
Fungsi yang tidak bernilai
Format :
Nama_fungsi([tipe par1, .])
{
pernyataan / instruksi;
}
Fungsi yang bernilai
Format :
tipe hasil Nama_fungsi([tipe par1, .])
{
pernyataan / instruksi;
}
Cara memanggil modul dari program utama :
void main()
{
Nama_fungsi([par1, .])
}
Contoh :
1. Fungsi yang tidak bernilai
#include <iostream.h>
// modul membuat garis
void garis() {
for (i=0; i<49; i++) cout << -;
cout << endl;
}
// modul membuat judul
void judul() {

int i;
cout << \t\tDAFTAR BUKU<< endl; //
\t = tabulasi
garis();
cout <<Judul Buku<<\t
\tPengarang<< endl;
garis();
}
// program utama (main)
void main() {
judul(); // memanggil modul judul
}
Contoh :
2. Fungsi yang bernilai
Modul menghitung Luas_segitiga
Cara I :
// modul menghitung luas segita
float Luas_sgt(float alas, float tinggi)
{
return (alas * tinggi / 2); //
pengembalian nilai dgn
// return
}
// program utama (main)
void main() {
float A, T;
cout <<Data Alas : ; cin >> A;
cout <<Data Tinggi : ; cin >> T;
cout <<Luas segi tiga : << Luas_sgt(A,T)<<endl;
}
Keterangan :
- Variable A dengan alas 2 variabel yang
berbeda
- Variable T dengan tinggi 2 variabel yang
berbeda
- Luas_sgt(A,T) cara pemanggilan fungsi, yang
akan menghasilkan nilai dari fungsi Luas_sgt
Contoh :
Fungsi yang bernilai
Modul menghitung Luas_segitiga
Cara II :
// modul menghitung luas segita
Luas_sgt(float &alas, float &tinggi, float &luas)
{

luas = alas * tinggi / 2;


}
// program utama (main)
void main() {
float alas, tinggi,luas;
cout <<Data Alas : ; cin >> alas;
cout <<Data Tinggi : ; cin >> tinggi;
Luas_sgt(alas, tinggi, luas);
cout <<Luas segi tiga : << luas<<endl;
}
Keterangan :
- Variable &alas berisi alamat dari variabel
alas
- Variable &tinggi berisi alamat dari variabel
tinggi
- Luas_sgt(alas,tinggi,luas) cara pemanggilan
fungsi, yang akan menghasilkan nilai dari variable
luas melalui alamat (passing parameter by
location)
Tambahan :
Perbedaan Pemrograman Terstruktur dan
Pemrograman Berorientasi Objek
OOP (Object-Oriented Programming)
Pemrograman berorientasi objek (Inggris: objectoriented programming disingkat OOP) merupakan
paradigma pemrograman yang berorientasikan
kepada objek. Semua data dan fungsi di dalam
paradigma ini dibungkus dalam kelas-kelas atau
objek-objek. Bandingkan dengan logika
pemrograman terstruktur. Setiap objek dapat
menerima pesan, memproses data, dan mengirim
pesan ke objek lainnya.
Bahasa pemrograman yang mendukung OOP
antara lain:
Visual Foxpro
Java
C++
Pascal (bahasa pemrograman)
Visual Basic.NET
SIMULA
Smalltalk
Ruby
Python
PHP

C#
Delphi
Eiffel
Perl
Adobe Flash AS 3.0
Pemrograman Terstruktur
Pemrograman Terstruktur adalah suatu proses
untuk mengimplementasikan urutan langkah untuk
menyelesaikan suatu masalah dalam bentuk
program. Selain pengertian diatas Pemrograman
Terstruktur adalah suatu aktifitas pemrograman
dengan memperhatikan urutan langkah-langkah
perintah secara sistematis, logis , dan tersusun
berdasarkan algoritma yang sederhana dan mudah
dipahami. Prinsip dari pemrograman terstruktur
adalah Jika suatu proses telah sampai pada suatu
titik / langkah tertentu , maka proses selanjutnya
tidak boleh mengeksekusi langkah sebelumnya /
kembali lagi ke baris sebelumnya, kecuali pada
langkah langkah untuk proses berulang (Loop).
Bahasa pemrograman yang mendukung
pemrograman terstruktur:
Cobol Turbo Prolog
C
Pascal
Delphi
Borland Delphi
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
Perbedaannya
Dari pengertian pemrograman terstruktur dan
pemrograman berorientasi objek itu sendiri kita
dapat menyimpulkan, apa perbedaan dari
pemrograman terstruktur dan pemrograman

berorientasi objek itu. Pemrograman berorientasi


objek (Object-Oriented Programming atau OOP)
merupakan paradigma pemrograman yang
berorientasikan kepada objek. Semua data dan
fungsi di dalam paradigma ini dibungkus dalam
kelas-kelas atau objek-objek. Bandingkan dengan
logika pemrograman terstruktur. Setiap objek dapat
menerima pesan, memproses data, dan mengirim
pesan ke objek lainnya, Sedangkan untuk
pemrograman terstruktur adalah kebalikan dari
pemrograman berorientasi objek yaitu sebuah cara
pemrosesan data yang terstruktur dalam analisa,
cara dan penulisan pemrograman. Dikarenakan
harus terstruktur sehingga dalam pembuatannya
antara satu line pemrograman dengan yang lainnya
berhubungan.
Konsep utama dari Pemrograman Berbasis Objek
terletak pada kondisi kode/line pemrogramanannya
dimana merupakan sebuah kesatuan modular.
Untuk program yang simpel/sederhana biasanya
menggunakan pemrograman terstruktur karena
masih mudah dan tidak banyak dilakukan
perubahan yang berarti, sedangkan untuk line lebih
dari 100 atau bisa dikatakan rumit, maka
digunakan pemrograman berorientasi objek.
Pemrograman Terstruktur terdiri dari pemecahan
masalah yang besar menjadi masalah yang lebih
kecil dan seterusnya, sedangkan untuk
pemrograman berorientasi objek terdiri dari
pengkelompokan kode dengan data yang mana
setiap objek berfungsi secara independen sehingga
untuk setiap perubahan kode tidak tergantung
pada kode yang lainnya, atau lebih dikenal dengan
modular. Terdapat juga perbedaan secara spesifik
antara Pemrograman Berorientasi Objek dengan
Pemrograman Terstruktur, yaitu pada kelas dan
objek. Pada Pemrograman Terstruktur tidak
terdapat kelas dan objek.
Berdasarkan penjelasan diatas, sangat jelas bahwa
pemrograman tersktruktur unggul dalam
melakukan pemrograman sederhana karena lebih
efisien dan lebih murah dalam hal perawatannya
tetapi permodelan ini lebih susah untuk dipahami
oleh orang orang selain pembuat program itu

sendiri (contohnya ketika dlakukan tracing


program).
Keuntungan pemrograman berorientasi objek
Maintenance; program lebih mudah dibaca
dan dipahami, dan pemrograman berorientasi
obyek mengontrol kerumitan program hanya
dengan mengijinkan rincian yang dibutuhkan
untuk programmer.
Pengubahan program (berupa penambahan
atau penghapusan fitur tertentu); perubahan
yang dilakukan antara lain menyangkut
penambahan dan penghapusan dalam suatu
database program misalnya.
Dapat digunakannya obyek-obyek sesering
yang diinginkan, kita dapat menyimpan
obyek-obyek yang yang dirancang dengan
baik ke dalam sebuah tolkit rutin yang
bermanfaat yang dapat disisipkan kedalam
kode yang baru dengan sedikit perubahan
atau tanpa perubahan pada kode tersebut.
Jadi, sangat jelas bahwa pemrograman berorientasi
objek sangat cocok sekali digunakan dalam kasus
pembuatan software yang rumit dan kompleks
karena memberikan berbagai kemudahan kepada
pemrogram seperti yang telah disebutkan diatas.
Permodelan yang mana yang lebih bagus? itu
tergantung dari kebutuhan dan dari sudut pandang
mana anda melihatnya. Yang perlu anda ingat
adalah tujuan dari pemodelan itu sendiri, yang
mana agar pada akhir proyek sistem dapat
diperoleh sistem informasi yang memenuhi
kebutuhan pemakai, tepat waktu dan sesuai
anggaran, serta mudah digunakan, dimengerti dan
dipelihara.
Perbedaan mendasar 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.
Kelebihan dan Kekurangan Pemograman
Berorientasi Objek dengan Pemograman
Terstruktur
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 nonfungsional.
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).
METODE BERORIENTASI OBYEK
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 bagianbagian 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).

Anda mungkin juga menyukai