3 PERANCANGAN PERANGKAT LUNAK
3.2.1 Structure Chart
Structured chart (SC) adalah diagram yang digunakan untuk mendefinisikan dan mengilustrasikan dari sistem secara berjenjang dalam bentuk modul dan sub modul. Structure Chart juga menunjukkan hubungan elemen data dan elemen kontrol serta hubungan antar modulnya, sehingga Structure Chart dapat memberikan penjelasan yang lengkap dari sistem dipandang dari elemen data, elemen kontrol, modul dan hubungan antar modulnya.
Dalam menggambarkan struktur organisasi sistem secara berjenjang digunakan beberapa macam simbol. Simbol-simbol ini merupakan simbol-simbol standar yang paling banyak digunakan.
Gambar 3-1 Simbol Dasar Structured chart
• Modul : merupakan satu kesatuan kecil program, digambarkan dalam bentuk kotak, dapat dibagi menjadi dua jenis yaitu : Control module (modul utama) yang biasanya bercabang menjadi beberapa sub-modul dan library module yang berupa modul reusable (dipakai berulang-ulang) dan dapat dipanggil dari beberapa control module di sistem.
• Data couple (pasangan data) : disebut sebagai pasangan data karena ada data yang dikirimkan ke suatu modul dan ada data yang dikembalikan dari modul tersebut. Data digambarkan dalam bentuk anak panah yang dilengkapi dengan lingkaran kosong pada bagian awal panah.
• Control couple (pasangan control): menunjukkan pesan atau flag yang dikirimkan dari satu modul ke modul yang lain. Flag digunakan untuk menandai kondisi atau aksi khusus yang harus dilakukan oleh modul lain. Control digambarkan dengan anak panah yang dilengkapi dengan lingkaran berwarna hitam di bagian awalnya.
• Kondisi : menjelaskan alternative modul yang akan dipanggil sesuai dengan kondisi tertentu. Kondisi digambarkan berupa garis yang bagian awalnya berupa diamond.
• Loop (pengulangan): menyatakan bahwa modul tersebut dieksekusi berulang-ulang, digambarkan berupa panah melengkung di bagian bawah modul.
Contoh : structured chart untuk sub proses “menghitung gaji”
Sub proses “menghitung gaji” di atas merupakan bagian (sub modul) dari proses lain yaitu “menjalankan program penggajian”, dengan structure chart seperti pada gambar berikut :
Structure chart digambarkan dengan cara menganalisis DFD dan memecah DFD menjadi sub proses-sub proses yang akan dikembangkan menjadi modul. Terdapat dua jenis pendekatan dalam menganalisis DFD yaitu : Transform (Flow) Analysis dan Transaction (Flow) Analysis
Transform Flow
Proses transform flow memiliki karakteristik sebagai berikut : • Sistem memiliki sasaran tunggal yang koheren
• Transformation center menjalankan algoritma, transformasi data, manipulasi data, dan lain-lain.
• Proses input driven menyaring (filtering) data, memeriksa dan mengubah aliran data dari luar
• Proses output driven memformat keluaran untuk ditampilkan ke pihak user. • Terdapat berbagai jalur untuk menghasilkan output.
Transaction Flow
Proses transaction memiliki karakteristik sebagai berikut : • Proses penerimaan masukan tunggal
• Transaksi item data tunggal yang meliputi semua informasi yang dibutuhkan untuk menjalankan proses
• Transaction center mengevaluasi transaksi dan menginisialisasi jalur aksi yang tepat untuk distribusi
• Jalur aksi menerapkan berbagai fungsionalitas yang berbeda untuk eksekusi. • Jalur aksi dapat berupa (sub)sistem lengkap yang memiliki karakteristik
tranform flow.
• Transaction analysis dapat mengandung elemen transform analysis. Transform analisis sebagai bagian dari transaction analysis
Transform Analysis
Transform analysis adalah menganalisis DFD untuk mengindentifikasi proses yang menerima input dan editing, dan mengolah atau mentransformasi data (misalnya menghitung) untuk menghasilkan output. Bagian diagram yang menerima masukan dan editing disebut sebagai afferent. Bagian diagram yang melaksanakan proses yang sebenarnya atau transformasi data disebut central transform. Bagian diagram yang terdiri atas proses-proses yang mengelola keluaran disebut sebagai efferent.
Strategi identifikasi bagian afferent, central transform dan efferent dilakukan dengan cara menelusuri jalur proses untuk setiap input yang diterima sistem. Setelah ditemukan jalurnya, setiap jalur dianalisis untuk mengetahui bagian afferent.
Langkah-langkahnya sebagai berikut :
1. Mulai dari aliran data input, aliran data ditelusuri hingga mencapai proses yang melaksanakan transformasi atau fungsi output.
2. Mulai dari aliran data output, aliran data ditelusuri mundur hingga ditemui proses transformasi (atau data flow yang merupakan format output pertama). 3. Semua proses yang berhasil diidentifikasi pada langkah 1 dan 2 adalah bagian
central transform.
Pada gambar berikut, setiap aliran proses dimulai dari input dan berakhir di output. Misalnya, aliran proses yang mengikuti input D akan menghasilkan output M. Urutan proses yang mengikuti input dapat dibagi menjadi beberapa jalur yang berbeda-beda. Misalnya, jalur untuk input A dan B menjadi satu pada Transform Function A, dan menghasilkan output L dan M.
Setelah DFD dipecah-pecah menjadi bagian-bagian di atas, selanjutnya dapat dibuatuat structure chart untuk merancang program modular, dengan langkah-langkah sebagai berikut :
1. Buat proses yang berperan sebagai “bos” dari semua modul yang ada. Modul ini mengelola atau mengendalikan eksekusi modul program lainnya.
2. Proses terakhir yang ditemui pada suatu jalur yang digunakan untuk mengidentifkasi proses afferent akan menajdi modul level kedua pada structure chart. P OUTPUT FUNCTION C P INPUT FUNCTION B P INPUT FUNCTION D P OUTPUT FUNCTION A P INPUT FUNCTION C P OUTPUT FUNCTION B P TRANSFORM FUNCTION A P TRANSFORM FUNCTION B P INPUT FUNCTION A BOUNDARY B BOUNDARY A D DATA STORE D D DATA STORE B D DATA STORE E M L K J I H G F E D C B A
Afferent
Central
Transform
Efferent
3. Diantara modul tersebut, seharusnya ada modul yang menghubungkan proses sebelumnya dengan DFD.
Langkah di atas diulang-ulang hingga semua proses afferent pada jalur proses berhasil digambarkan pada structure chart.
Urut-urutan Proses pada DFD
INPUT FUNCTION A INPUT FUNCTION D INPUT FUNCTION B INPUT FUNCTION C BOSS G F E C
Pada gambar di atas, ketika satu proses pada DFD ditambahkan pada structure chart, data yang mengalir dari DFD juga disertakan. Misalnya, aliran data output F dari proses INPUT FUNCTION C pada DFD berperan sebagai data komunikasi antara modul INPUT FUNCTION C dengan modul BOSS
Bagian Central Transform pada Structure Chart
Pada gambar di atas, didefinisikan modul CENTRAL TRANSFORM CONTROLLER yang akan memanggil TRANSFORM FUNCTION A dan B secara iterative. Jika sebuah modul ditambahkan pada structure chart, informasi procedural juga harus ditambahkan.
4. Tahap selanjutnya adalah mengidentifikasi proses efferent yang akan menjadi modul level kedua pada structure chart.
5. Diantara modul level kedua, harus ada modul yang menghubungkan proses tersebut dengan modul berikutnya.
Bagian Efferent pada Structure Chart Contoh :
DFD yang Menggambarkan Central Transform
Pada contoh di atas, transform center terdiri atas satu proses tunggal yaitu CALCULATE ORDER VOLUMES, sehingga tidak perlu menambahkan controller
Pada structure chart di atas, urutan pemanggilan modul lain pada modul GET ORDER DETAILS perlu disusun dengan tepat. READ MEMBER harus dilaksanakan pertama, diikuti oleh READ MEMBER ORDER, dan terakhir READ PRODUCT CONTAINED ON ORDER. Untuk mengetahui urut-urutan ini, perancang program harus mengacu pada spesifikasi kebutuhan. Misalnya, tujuan DFD ini untuk menghasilkan laporan, maka rancangan outputnya biasanya dikelompokkan berdasarkan meber, kemudian untuk setiap member, diurutkan berdasarkan order, diikuti dengan detil produk di setiap order.
Strategi lainnya dalam membangun structure chart adalah transaction analysis, yaitu menganalisis DFD untuk mengidentifikasi proses yang berperan sebagai transaction center.
Transaction center adalah proses yang tidak melaksanakan transformasi data masukan, tetapi berfungsi mendistribusikan data ke pada satu atau lebih proses. Transaction center dapat dianalogikan sebagai penunjuk jalan pada jalur lalu lintas. Proses seperti ini mudah dikenali pada DFD karena biasanya berupa proses yang menerima satu aliran data input dan mengeluarkan dua atau lebih output ke beberapa proses lainnya.
Gambar 3-2 Contoh DFD yang Mengandung Transaction Center
Penggambaran Structure Chart dari DFD dengan transaction center pada contoh di atas dilakukan dengan cara menempatkan transaction center sebagai modul level atas yang mengandung diamond yang menyatakan pemanggilan kondisional pada modul-modul di bawahnya.
Gambar 3-3 Contoh Structure chart dengan Transaction Center Beberapa contoh klasik transaction analysis, misalnya :
• Program kelola data biasanya mendukung 3 fungsi yang dijalankan berdasarkan tipe transaksi masukan, tambah data, hapus data atau modifikasi data.
• Sistem online biasanya mendukung transaksi multi level. Misalnya, menu utama memuat 3 pilihan : KELOLA DATA KARYAWAN, TRANSAKSI, dan PENCARIAN DATA. Setiap sub fungsi tersebut dapat dipecah lagi menjadi beberapa transaksi, misalnya TRANSAKSI KARYAWAN dapat dipecah menjadi PROSES CUTI, PROSES ABSENSI, IJIN/SAKIT, dan seterusnya.
a. Tentukan central transform : Central transform adalah bagian DFD yang memuat fungsi utama sistem yang independent terhadap implementasi input dan output. Untuk mengidenfikasi central transform ditelusuri dengan melihat bagian afferent dan efferent. Pada contoh di atas P1 adalah proses input, P6 dan P7 adalah proses output. Central transform adalah P2, P3, P4 dan P5.
b. Tentukan modul “boss”. Modul boss ini dapat berupa salah satu proses central transform. Idealnya, modul boss ini tidak sekedar berperan sebagai coordinator, tetapi juga melaksanakan proses transform. Jika gagal menemukan modul bos, dapat dibuat sebuah yang berperan sebagai kordinator, sebagai modul boss dummy. Pada contoh di atas, dibuat sebuah modul boss dummy “produce payroll”, yang namanya dipilih sesuai dengan fungsi program.
c. Setelah menentukan modul boss, semua proses pada bagian afferent diletakkan di sisi kiri modul boss, dan semua proses efferent diletakan di sisi kanan, proses central transform diletakkan di bagian tengah.