Ide
Pemrograman terstruktur
Orang pertama
yang mencetuskan ide pemrograman terstruktur adalah Profesor Edsger W. Dijkstra dari University of
Eindhoven, Nederland. Ide utamanya adalah bahwa statemen GOTO sebaiknya tidak digunakan
di dalam pemrograman terstruktur, sebab bisa membuat program menjadi ruwet.
Ide ini
ditanggapi oleh HD Milis, yang beranggapan bahwa pemrograman terstruktur
semestinya tidak hanya dihubungkan dengan tanpa penggunaan GOTO, tetapi yang
lebih utama adalah struktur program itulah yang menentukan apakah suatu
pemrograman terstruktur atau tidak.
Ide pemrograman
terstruktur muncul karena jumlah baris program semakin lama semakin besar,
tentu saja hal ini terjadi karena diinginkan aplikasi yang lengkap dan lebih
berkualitas
Dengan ide
pemrograman terstruktur diharapkan dapat membantu manajemen source code (kode
program) sehingga program mudah untuk dikelola bagi kepentingan selanjutnya
Tujuan utama
pemrograman terstruktur adalah : agar program-program besar menjadi lebih mudah
ditelusuri alur logikanya, mudah untuk dimodifikasi (dikembangkan) dan mudah
pula untuk ditemukan bagian yang salah ketika program sedang diuji.
Kriteria pemrograman terstruktur :
-
Struktur
programnya; jelas dan tegas
-
Fasilitas
penulisan kode program; jelas dan tegas
-
Statemen
untuk kebutuhan Selection dan Looping; lengkap
-
Fasilitas
menyatakan berbagai type data (struktur data); lengkap dan tegas
-
Fasilitas
pemberian komentar; lengkap
-
Fasilitas
instruksi yang tersedia (operasi arithmatik/matematik, string, …); lengkap
-
Fasilitas
modular (baik internal maupun eksternal); lengkap
Fasilitas
debugging, mudah dan jelas.
Metoda dasar pemrograman terstruktur
Ide awal
penerapan pemrograman terstruktur yaitu dengan menghindari penggunaan GOTO
untuk melompat ke bagian program tertentu
Kegunaan GOTO
untuk melompat ke baris program tertentu, secara umum dapat dibagi ke dalam 2
kelompok :
- Melompat ke bagian bawah program dari posisi program saat ini
- Melompat ke bagian atas program dari posisi program saat ini
Dengan
pemrograman terstruktur;
Jika ada
kebutuhan melompat ke bagian bawah, dapat digantikan dengan perintah Selection
(If, Case, Select, Switch,…)
Jika ada
kebutuhan melompat ke bagian atas, dapat digantikan dengan perintah Looping (for,
While, repeat-until,…)
Prinsip utamanya
adalah, program tidak boleh melompat ke atas, kecuali untuk keperluan
pengulangan
Untuk itu dalam
pemrograman terstruktur hanya dikenal 3 struktur :
- Sekuensial, yaitu program yang tidak memiliki lompatan. Baris program dijalankan secara normal (lurus) satu per-satu dari atas ke bawah
- Selection, yaitu program yang memiliki pilihan apakah harus menjalankan baris program sesuai dengan urutannya atau melompati sejumlah baris program tersebut
- Looping, yaitu program yang juga mengandung pilihan apakah akan mengulangi program yang sudah pernah dijalankan sebelumnya atau tidak
Sourece :
Herianto CopyRight@2004
Istilah
Pemrograman terstruktur
Istilah
Pemrograman Terstruktur (Structured Programming) mengacu dari suatu
kumpulan tehnik yang dikemukan oleh Edsger Dijkstra. Dengan tehnik ini akan
meningkatkan produktifitas programmer, dengan mengurangi waktu yang dibutuhkan
dalam penulisan (write), pengujian (test), penelusuran
kesalahan (debug) dan pemeliharan (maintain) suatu program.
Salah satu
pendekatan yang biasa digunakan dalam pemrograman terstruktur adalah pendekatan
yang dilakukan secara modular, dengan pendekatan ini suatu program akan dipilah
kedalam sejumlah modul, masing-masing modul akan mempunyai fungsi khusus sesuai
dengan ruang lingkup yang akan dikerjakan. Dengan adanya pemilahan tersebut,
maka kesalahan akan dapat diminimalisir. Selanjutnya masing-masing modul
tersebut akan dipanggil dari program utama agar menjadi sebuah program yang
utuh.
Pemrograman
secara modular ini dapat diimplementasikan dengan penggunaan subroutine, suatu
kelompok instruksi yang menjalankan suatu pengolahan yang sifatnya terbatas
seperti pencetakan, pembacaan, untuk proses input atau untuk proses
penghitungan.
Subroutine dapat
dibedakan menjadi 2 yaitu:
1.
Internal Subroutine,
adalah subroutine yang dibuat hanya untuk digunakan oleh program tersebut.
Sehingga untuk sejumlah proses yang sama dalam program tersebut akan dilakukan
oleh subroutine tersebut. Program akan memanggil subroutines tersebut jika
diperlukan dan apabila telah selesai, kontrol selanjutnya dikembalikan ke
instruksi berikutnya. Instruksi yang mengendalikan kontrol transfer ke suatu
subroutine umumnya dikenal sebagai call dan return.
2.
External Subroutines, adalah
subroutine yang diletakkan secara terpisah dari program yang menggunakan
subroutine tersebut. Subroutine seperti ini dideklarasikan agar dapat dipakai
oleh program yang lain. Untuk menggunakannya harus diketahui dimana ? , apa
namanya ?, bagaimana pengiriman datanya ?, serta bagaimana hasil yang akan
diperoleh ?. Subroutine ini biasanya digunakan untuk pemrosesan yang kompleks
dan dibutuhkan oleh banyak user.
Tehnik
Pemrograman
Agar program
yang dibuat dalam program utama maupun subroutine dapat lebih mudah dimengerti,
maka dalam pemrograman terstruktur diperkenalkan tiga bentuk tehnik
pemrograman, yaitu:
1. Sequence
Structure
Dalam sequence
structure, instruksi dieksekusi berdasarkan urutannya. Dimulai dari bagian atas
dan diakhiri di bagian bawahnya. Bujur sangkar dapat menggambarkan
operasi :
- Input dan Output
- Operasi aritmatika
- Operasi pemindahan data dalam memori komputer
Dalam sequence structure tidak diperkenankan penggunaan kotak keputusan.
- Input dan Output
- Operasi aritmatika
- Operasi pemindahan data dalam memori komputer
Dalam sequence structure tidak diperkenankan penggunaan kotak keputusan.
2. Loop
Structure
Loop (iteration)
structure menggambarkan perulangan dari satu atau lebih instruksi.
3.
Selection Structure
Dalam struktur
ini terdapat sejumlah perintah yang dikerjakan tergantung dari kondisi yang
dipenuhinya. Seperti juga dengan sequence dan dan loop structure, terdapat
single entry point dan single exit point.
Data Flow Diagram
Rekayasa
Perangkat Lunak : Data Flow Diagram | DFD-Data Flow Diagram (DFD) adalah
representasi grafik dari sebuah sistem. DFD menggambarkan komponen-komponen
sebuah sistem, aliran-aliran data di mana komponen-komponen tersebut, dan asal,
tujuan, dan penyimpanan dari data tersebut.
Ada 3 (tiga)
jenis DFD, yaitu ;
- Context
Diagram (CD)
- DFD Fisik
- DFD Logis
DFD Level
DFD dapat
digambarkan dalam Diagram Context dan Level n. Huruf n dapat menggambarkan
level dan proses di setiap lingkaran.
- Diagram
Context
- Diagram Level
n
- DFD Logis
- DFD Fisik
Context Diagram
(CD)
Jenis pertama
Context Diagram, adalah data flow diagram tingkat atas (DFD Top Level), yaitu
diagram yang paling tidak detail, dari sebuah sistem informasi yang
menggambarkan aliran-aliran data ke dalam dan ke luar sistem dan ke dalam dan
ke luar entitas-entitas eksternal. (CD menggambarkan sistem dalam satu
lingkaran dan hubungan dengan entitas luar. Lingkaran tersebut menggambarkan
keseluruhan proses dalam sistem).
Beberapa hal
yang harus diperhatikan dalam menggambar CD;
- Terminologi
sistem :
- Batas Sistem
adalah batas antara “daerah kepentingan sistem”.
- Lingkungan
Sistem adalah segala sesuatu yang berhubungan atau mempengaruhi sistem
tersebut.
- Interface
adalah aliran yang menghubungkan sebuah sistem dengan linkungan sistem
tersebut.
- Menggunakan
satu simbol proses,
Catatan:
Yang masuk
didalam lingkaran konteks (simbol proses) adalah kegiatan pemrosesan informasi
(Batas Sistem). Kegiatan informasi adalah mengambil data dari file,
mentransformasikan data, atau melakukan filing data, misalnya mempersiapkan
dokumen, memasukkan, memeriksa, mengklasifikasi, mengatur, menyortir,
menghitung, meringkas data, dan melakukan filing data (baik yang melakukan
secara manual maupun yang dilakukan secara terotomasi).
-
Nama/keterangan di simbol proses tersebut sesuai dengan fungsi sistem tersebut,
- Antara Entitas
Eksternal/Terminator tidak diperbolehkan komunikasi langsung
- Jika terdapat
termintor yang mempunyai banyak masukan dan keluaran, diperbolehkan untuk
digambarkan lebih dari satu sehingga mencegah penggambaran yang terlalu rumit,
dengan memberikan tanda asterik ( * ) atau garis silang ( # ).
- Jika
Terminator mewakili individu (personil) sebaiknya diwakili oleh peran yang
dipermainkan personil tersebut.
- Aliran data ke
proses dan keluar sebagai output keterangan aliran data berbeda.
Diagram Level n
/ Data Flow Diagram Levelled
Dalam diagram n
DFD dapat digunakan untuk menggambarkan diagram fisik maupun diagram diagram
logis. Dimana Diagram Level n merupakan hasil pengembangan dari Context Diagram
ke dalam komponen yang lebih detail tersebut disebut dengan top-down
partitioning. Jika kita melakukan pengembangan dengan benar, kita akan
mendapatkan DFD-DFD yang seimbang. Beberapa hal yang harus diperhatikan dalam
membuat DFD ialah:
- Pemberian Nomor
pada diagram level n dengan ketentuan sebagai berikut:
• Setiap
penurunan ke level yang lebih rendah harus mampu merepresentasikan proses
tersebut dalam sepesifikasi proses yang jelas. Sehingga seandainya belum cukup
jelas maka seharusnya diturunkan ke level yang lebih rendah.
• Setiap
penurunan harus dilakukan hanya jika perlu.
• Tidak semua
bagian dari sistem harus diturunkan dengan jumlah level yang sama karena yang
kompleks bisa saja diturunkan, dan yang sederhana mungkin tidak perlu
diturunkan. Selain itu, karena tidak semua proses dalam level yang sama punya
derajat kompleksitas yang sama juga.
• Konfirmasikan
DFD yang telah dibuat pada pemakai dengan cara top-down.
• Aliran data
yang masuk dan keluar pada suatu proses di level n harus berhubungan dengan
aliran data yang masuk dan keluar pada level n+1. Dimana level n+1 tersebut
mendefinisikan sub-proses pada level n tersebut.
• Penyimpanan
yang muncul pada level n harus didefinisikan kembali pada level n+1, sedangkan
penyimpanan yang muncul pada level n tidak harus muncul pada level n-1 karena
penyimpanan tersebut bersifat lokal.
• Ketika mulai
menurunkan DFD dari level tertinggi, cobalah untuk mengidentifikasi external
events dimana sistem harus memberikan respon. External events dalam hal ini berarti
suatu kejadian yang berkaitan dengan pengolahan data di luar sistem, dan
menyebabkan sistem kita memberikan respon.
- Jangan
menghubungkan langsung antara satu penyimpanan dengan penyimpanan lainnya
(harus melalui proses).
- Jangan
menghubungkan langsung dengan tempat penyimpanan data dengan entitas eksternal
/ terminator (harus melalui proses), atau sebaliknya.
- Jangan membuat
suatu proses menerima input tetapi tidak pernah mengeluarkan output yang
disebut dengan istilah “black hole”.
- Jangan membuat
suatu tempat penyimpanan menerima input tetapi tidak pernah digunakan untuk
proses.
- Jangan membuat
suatu hasil proses yang lengkap dengan data yang terbatas yang disebut dengan
istilah “magic process”.
- Jika terdapat
terminator yang mempunyai banyak masukan dan keluaran, diperbolehkan untuk
digambarkan lebih dari satu sehingga mencegah penggambaran
yang terlalu
rumit, dengan memberikan tanda asterik ( * ) atau garis silang ( # ), begitu
dengan bentuk penyimpanan.
- Aliran data ke
proses dan keluar sebagai output keterangan aliran data berbeda.
DFD Fisik
Adalah
representasi grafik dari sebuah sistem yang menunjukan entitas-entitas internal
dan eksternal dari sistem tersebut, dan aliran-aliran data ke dalam dan keluar
dari entitas-entitas tersebut. Entitas-entitas internal adalah personel, tempat
(sebuah bagian), atau mesin (misalnya, sebuah komputer) dalam sistem tersebut
yang mentransformasikan data. Maka DFD fisik tidak menunjukkan apa yang
dilakukan, tetapi menunjukkan dimana, bagaimana, dan oleh siapa proses-proses
dalam sebuah sistem dilakukan. (Tidak Bahas).
Perlu
diperhatikan didalam memberikan keterangan di lingkaran-lingkaran (simbol
proses) dan aliran-aliran data (simbol aliran data) dalam DFD fisik menggunakan
label/keterangan dari kata benda untuk menunjukan bagaimana sistem
mentransmisikan data antara lingkaran-lingkaran tersebut.
Misal :
Aliran Data :
Kas, Formulir 66W, Slip Setoran
Proses : Cleck
Penjualan, Kasir, Pembukuan, dll.
DFD Logis
Adalah
representasi grafik dari sebuah sistem yang menunjukkan proses-proses dalam
sistem tersebut dan aliran-aliran data ke dalam dan ke luar dari proses-proses
tersebut. Kita menggunakan DFD logis untuk membuat dokumentasi sebuah sistem
informasi karena DFD logis dapat mewakili logika tersebut, yaitu apa yang
dilakukan oleh sistem tersebut, tanpa perlu menspesifikasi dimana, bagaimana,
dan oleh siapa proses-proses dalam sistem tersebut dilakukan.
Keuntungan dari
DFD logis dibandingkan dengan DFD fisik adalah dapat memusatkan perhatian pada
fungsi-funsi yang dilakukan sistem.
Perlu
diperhatikan di dalam pemberian Keterangan/ Label;
•
Lingkaran-lingkaran (simbol proses) menjelaskan apa yang dilakukan sistem
Misal : Menerima
Pembayaran, Mencatat Penjualan, Membandingkan kas dan Daftar Penerimaan,
Mempersiapkan Setoran, dll.
• Aliran-aliran
data (simbol aliran data) menggambarkan sifat data.
Misal :
Pembayaran (bukan “Cek”, “Kas”, “ Kartu Kredit”
Jurnal Penjualan
(bukan “Buku Penjualan”), dll
Usulan dari
analis ( berupa DFD dalam bab 4 ), beberapa hal yang umum yang mendapat
perhatian dalam mendesain baru tersebut ialah:
- Menggabungkan
beberapa tugas menjadi Satu
- Master Detail
Update
- Meminimalkan
tugas-tugas yang tidak penting
- Menghilangkan
tugas-tugas yang duplikat
- Menambahkan
proses baru
- Meminimalkan
proses input
- Menetapkan
bagian mana yang harus dikerjakan komputer dan bagian mana yang harus
dikerjakan manual.
Entity Relationship Diagram
ERD merupakan
suatu model untuk menjelaskan hubungan antar data dalam basis data berdasarkan
objek-objek dasar data yang mempunyai hubungan antar relasi.
Tidak ada komentar:
Posting Komentar