Professional Documents
Culture Documents
Definisi - Structure Chart ( bagan struktur ) : organisasi dari sistem secara berjenjang dalam bentuk modul dan submodul. - Salah satu alat bantu pemecahan masalah teknik top-down - Structure Chart menggambarkan hubungan elemen data dan elemen kontrol serta hubungan antar modulnya. - Structure Chart penjelasan yang lengkap dari sistem. Elemen Structure Chart a. elemen data b. elemen kontrol c. modul d. hubungan antar modulnya (panah). :
standar
yang
paling
banyak
Simbol Modul
Loop
Decision
Couple
Panah dengan ling-karan kosong menun-jukkan yang dikirim-kan dari satu modul ke modul yang lain-nya.
CONTOH : Gambar
Pemrograman Terstruktur Ir. M. Gozali
Keterangan
3
proses kembali ke Modul A yang memanggilnya Modul A memanggil Modul B, dimana elemen data P dikirimkan. Hasil proses dari Modul B diperoleh elemen hasil pengolahan Q dan elemen kontrol Flag.
q p
B
Flags
Contoh Kasus :
Modul
memanggil
modul
dan
mengirim
elemen data P ke modul B. Modul B bertugas untuk mencari data P dalam suatu file database. Setelah proses pencarian selesai, hasil pengolahan dari modul B yaitu Q dikirim ke modul A (Q adalah data yang ditemukan). Kontrol flag (bisa berupa variable Boolean True/False) dikirim dari modul B, bila True menunjukkan data ketemu, False menunjukkan data tidak ketemu). Gambar
A P Q B F C
Keterangan Modul A memanggil Modul B bila kondisi yang diseleksi di modul A terpenuhi.
Masukan Data
Hitung Total
Tampilan hasil
Banyaknya perulangan yang dilakukan secara eksplisit memang tidak tampak pada structure chart, tetapi ditunjukan oleh proses pada modul dimana letak perulangan tersebut terjadi.
C.
Cabang input (Afferent Branch) cabang yang akan menerima input dan menentukan status input untuk siap diproses. Cabang proses (Transform Branch) cabang yang akan melakukan fungsi utama dari sistem, yaitu memproses input yang dikirim dari cabang input. Cabang output (Efferent Branch) cabang yang akan memformat data menjadi output.
Gambar dibawah ini mengilustrasikan bagan terstruktur, model dengan satu input data A yang dimasukkan, diproses (ditransformasikan) menjadi data B yang kemudian ditampilkan.
sistem
B A B
Input A
INPUT BRANCH/ AFFERENT
Proses A menjadi B
PROCESS BRANCH TRANSPORM BRANCH
Output B
OUTPUT BRANCH EFFERENT BRANCH
Model Dasar Structure Chart Transformed-centered Contoh bagan struktur (Structure Chart) dengan model Transformed-centered :
Program
Pemrograman Terstruktur Ir. M. Gozali Penggajian 7
D, E A, B A, B Baca data Input A Baca data Pegawai B Baca Tabel Gaji Hitung Tunjangan Hitung Pajak Cetak Slip Gaji Cetak Daftar Hitung Gaji D, E Cetak Daftar Gaji
2. Transaction-centered
Suatu sistem yang menangani beberapa tipe proses (transaksi) yang mempunyai jalur berbeda. Pada
8
dibawah
ini
terdapat untuk
tiga
buah
Masing-masing proses mengedit data secara terpisah kemudian juga digunakan suatu dari update file berbeda. rincian Setelah semua file-file dicetak
update,
kemudian
jurnal
menunjukkan
masing-masing
transaksi
berserta isi dari masing-masing record file induk sebelum dan sesudah proses update.
Proses transaksi
Dispacher
Proses tipe A
Proses tipe B
Proses tipe B
Edit transaksi A
Update file P
Edit Transaksi B
Update file Q
Edit transaksi C
Update file R
Cetak jurnal
Lexical Inclusion Bentuk penggambaran secara logika suatu modul berada didalam modul yang lainnya.
Pemrograman Terstruktur Ir. M. Gozali 9
Gambar Simbol Lexical Inclusion Modul Modul ini Dispatcher dispatcher dapat modul yang sangat kemana proses
sederhana. berisi keputusan modul proses akan diarahkan. Oleh karena itu modul digabungkan pada pesanan. Modul semacam dispatcher disebut dengan
Lexical Inclusion.
Proses Pesanan
unit kurang
Proses tidak dikirim Proses semua di kirim
Contoh Kasus : Sebuah perusahaan akan mengolah data penggajian, ketentuan penggajiannya adalah : - Tunjangan = 20% dari Gaji Pokok
Pemrograman Terstruktur Ir. M. Gozali 11
- Gaji Kotor = Gaji Pokok + Tunjangan - Jika Gaji Kotor < = Rp. 5.000.000,- tidak kena pajak - Jika Gaji Kotor > Rp. 5.000.000,- kena pajak 10% - Gaji Bersih = Gaji Kotor - Pajak - Cetak Tunjangan, Gaji Kotor, Pajak dan Gaji Bersih Tugas : Rancanglah Structured Chart
Hitung Pajak
Gaber
Hitung Tunjangan
Soal :
Pegawai bekerja setiap hari terbagi dlm 2 shift : - Kode shift 1 : Pagi - Kode shift 2 : Sore
Pemrograman Terstruktur Ir. M. Gozali 13
Jika Jika
Kode Kode
Shift=1 Shift=2
maka maka
gaji gaji
per per
jamnya jamnya
Rp. Rp.
10.000,12.000. Gaji = jumlah jam kerja * Gaji per jam Data input yang diketik dari keyboard adalah : - Kode Shift - Gaji per jam Tugas : Rancanglah Structured Chart soal diatas
Menghitung Gaji
Kode, JJK
Pemrograman Terstruktur Ir. M. Gozali
JJK
Kode, JJK
14
Gaji
Input Data
Gaji
Cetak Gaji
Hitung Gaji
Program : Pembuatan Program dengan cara internal modul (modul berada didalam file program utama). //----------------------------------------------------------// program menentukan gaji dengan modul //----------------------------------------------------------#include <stdio.h>
Pemrograman Terstruktur Ir. M. Gozali 15
// modul input Kode Shift dan Jumlah Jam Kerja // dengan cara Parameter Call by Location atau Call by Reference // Parameter Call by Reference memakai simbol alamat & void input(int &kode, float &jjk) { printf("Kode Shift : "); scanf("%d", &kode); printf("Jumlah Jam Kerja : "); scanf("%f", &jjk); } // modul tentukan gaji per jam float gaji_perjam(int kode) { float gpj; if (kode==1) gpj=10000; else gpj=12000; return gpj; } // modul hitung gaji float hitung_gaji(float jjk, float gpj) { float gaji; gaji = jjk * gpj; return gaji; } // modul mencetak gaji void cetak_gaji(float gaji) { printf("Gaji : %6.0f \n", gaji); } // program utama mencetak gaji void main()
Pemrograman Terstruktur Ir. M. Gozali 16
{ // deklarasi variabel lokal int kode; float jjk, gpj, gaji; // memanggil modul input input(kode, jjk); // memanggil modul gaji per jam gpj = gaji_perjam(kode); // memanggil modul hitung_gaji gaji = hitung_gaji(jjk, gpj); // memanggil modul cetak_gaji cetak_gaji(gaji); }
17