People Innovation Excellence
 
Feature Image

Basis Path Testing: Flow Graph

Flow Graph merupakan grafik yang digunakan untuk menggambarkan aliran kontrol dari sebuah program. Berbeda dengan flowchart, grafik pada flow graph tidak menggambarkan secara detail proses yang terjadi pada setiap blok notasi. Jenis notasi pada flowchart digambarkan secara berbeda (diamond, persegi panjang, jajar genjang, dst) untuk menggambarkan proses yang berbeda, sedangkan notasi pada flow graph hanya diwakili oleh sebuah notasi lingkaran. Dari penggunaannya, flowchart digunakan pada tahapan perancangan untuk menggambarkan logika dari program sedangkan flow graph digunakan pada tahapan pengujian yang berfokus pada penggambaran aliran kontrol sebuah program. Berikut ini adalah notasi struktur kontrol pada flow graph untuk menggambarkan sekuensial, seleksi, maupun perulangan:

me - 1

Notasi lingkaran disebut sebagai flow graph node yang digunakan untuk menggambarkan statement-statement berikut:

  1. Satu atau lebih statement secara sekuensial yang dikelompokkan
  2. Percabangan seleksi dari satu statement kedua pilihan statement (seleksi)
  3. Penggabungan dua statement yang dilanjutkan pada satu statement yang sama (merge)

Sedangkan notasi garis panah disebut sebagai edge atau link, menggambarkan aliran kontrol. Setiap edge harus dihubungkan dari/kesebuah node, meskipun node tersebut tidak mewakili sebuah statement khusus. Area yang dibatasi oleh node dan edge disebut sebagai region. Secara sederhana, flow graph dapat dibuat dari grafik flowchart ataupun dari pseudocode/program design language/source code yang telah dibuat sebelumnya.

Konversi flowchart ke flow graph:

me - 5

Pada contoh Gambar 2 di atas, flowchart dikonversi menjadi sebuah flowgraph. Semua notasi pada flowchart akan diubah menjadi notasi lingkaran/edge pada flow graph dengan menggunakan panduan berikut:

  • Notasi yang berurutan baik berupa proses (persegi panjang) maupun seleksi (diamond) dapat digabungkan menjadi satu node. Contoh:
    • proses 2 dan decision 3 pada flowchart digabungkan menjadi satu node 1,2
    • proses 4 dan 5, digabungkan menjadi node 4,5
  • Notasi awal, digabungkan dengan notasi pertama menjadi satu node. Contoh: start node dan decision 1 pada flowchart menjadi node 1 pada flow graph.
  • Sebuah edge harus selalu dihubungkan dengan sebuah node, sehingga bentuk penggabungan dari beberapa edge dapat ditambahkan sebuah node sebelum menuju statement berikutnya meskipun node tersebut tidak memiliki sebuah statement khusus. Contoh: masing-masing simpul pada nomor 9 dan 10 dibuah menjadi sebuah node; node 9 dan node 10 pada flow graph.
  • Final node pada flowchart diubah menjadi sebuah node pada flow graph seperti pada contoh node 11.

Konversi Program Design Language ke flow graph:

me - 6

Gambar di atas merupakan sebuah contoh dari Program Design Language untuk menghitung rata-rata dari 100 angka atau kurang dari sebuah array. Program ini juga akan menghitung total dan jumlah angka yang valid. Dengan menggunakan panduan serupa pada contoh konversi dari flowchart ke flow graph yang telah dibahas, dapat dibuat sebuah flow graph seperti di bawahini:

me - 8Flow graph dapat digunakan untuk menentukan cyclomatic complexity sebuah program (dapat dibaca lebih detail pada artikel Software Testing: PerhitunganCyclomatic Complexity yang digunakan pada proses pengujian program menggunakan teknik basis path. Pembuatan test case yang efektif dapat didasarkan pada hasil perhitungan cyclomatic complexity tersebut.


Published at :
Written By
Meiliana, s,Kom.,M.Sc.
Concentration Content Coordinator - Software Engineering | School of Computer Science
Leave Your Footprint
  1. great 🙂

Periksa Browser Anda

Check Your Browser

Situs ini tidak lagi mendukung penggunaan browser dengan teknologi tertinggal.

Apabila Anda melihat pesan ini, berarti Anda masih menggunakan browser Internet Explorer seri 8 / 7 / 6 / ...

Sebagai informasi, browser yang anda gunakan ini tidaklah aman dan tidak dapat menampilkan teknologi CSS terakhir yang dapat membuat sebuah situs tampil lebih baik. Bahkan Microsoft sebagai pembuatnya, telah merekomendasikan agar menggunakan browser yang lebih modern.

Untuk tampilan yang lebih baik, gunakan salah satu browser berikut. Download dan Install, seluruhnya gratis untuk digunakan.

We're Moving Forward.

This Site Is No Longer Supporting Out-of Date Browser.

If you are viewing this message, it means that you are currently using Internet Explorer 8 / 7 / 6 / below to access this site. FYI, it is unsafe and unable to render the latest CSS improvements. Even Microsoft, its creator, wants you to install more modern browser.

Best viewed with one of these browser instead. It is totally free.

  1. Google Chrome
  2. Mozilla Firefox
  3. Opera
  4. Internet Explorer 9
Close