Siapa yang tidak kenal Flowchart?. Saya yakin, anda semua pasti tidak ada yang tak kenal flowchart. Tapi satu hal yang umum terjadi, pemanfaatan diagram visual tersebut seringkali dilakukan tidak pada tempatnya (terutama oleh individu berlatar belakang Hardware atau Control Engineering).
Mungkin sebagian dari anda menganggap bahwa flowchart adalah sebuah perkakas visual yang ditujukan untuk mendesain atau memodelkan sistem perangkat lunak . Kenyataan ini nampak dari banyaknya tulisan di artikel, buku, atau pun laporan tugas akhir yang menggunakan flowchart untuk memodelkan atau mendesain sistem perangkat lunak yang dibangunnya. Sehingga disana tertulis misal ”flowchart atau diagram alir program utama”, ”flowchart penekanan tombol ”, ”flowchart menghindari halangan”, dan seterusnya. Semua aspek dan elemen program dimodelkan dengan flowchart.
Apakah hal tersebut salah?. Masalahnya bukan salah atau benar, karena dalam kaitannya dengan desain, tidak ada istilah salah atau benar, yang ada adalah istilah bagus, kurang bagus atau kebangeten.
Flowchart pada dasarnya adalah diagram yang semestinya hanya digunakan untuk memodelkan prosedure. Apa itu prosedure?. Dalam bahasa yang paling padat, prosedure itu adalah urut-urutan aktivitas atau proses: Mengurus KTP, mengurus SIM, mengurus kredit uang di Bank BPD semua ada prosedurenya.
Dalam kaitannya dengan sebuah program komputer, prosedure itu tidak lain adalah fungsi atau algoritma, seperti fungsi untuk menghitung rata-rata, fungsi mencari nilai terbesar, algoritma pengurutan bilangan, dan seterusnya.
Secara simbologi, pada dasarnya hanya ada tiga simbol visual utama pada flowchart (dasar): Kotak, diamond dan anak panah. Simbol kotak dan diamond dalam hal ini digunakan untuk merepresentasikan sebuah proses atau aktivitas (hanya saja proses pada simbol diamond adalah proses pemilihan keputusan –decision). Lalu apa yang ingin direpresentasikan oleh simbol anak panah?. Tidak ada!. Anak panah disini hanya digunakan untuk penunjuk arah saja. Jadi seolah-olah tanda panah itu berkata ”jika selesai mengerjakan proses ini, kerjakan proses itu”, ”jika hasil lebih besar dari 5 kerjakan proses A, jika tidak kerjakan proses B”, dan seterusnya (coba anda bandingkan dengan simbol tanda panah yang muncul pada DFD atau FSM, misalnya).
Sehingga saya usulkan (tapi nggak tahu usul pada siapa) untuk menghindari terjadinya kesalah paham terus-menerus dalam penggunaan flowchart, sebaiknya tanda panah pada flowchart diganti saja dengan tanda telunjuk seperti dibawah, gimana?
Jika anda perhatikan, kedudukan flowchart itu sendiri pada dasarnya tidak lebih dari kode semu atau bahkan sama persis dengan kode asli dari prosedur atau fungsinya itu sendiri. Coba saja, walaupun representasinya visual, tetapi ketika anda berusaha memahami flowchart, pasti yang anda lakukan adalah melihat (atau membacanya) secara sequensial sesuai dengan arah tanda anak panah (Hal ini akan berbeda jika anda berusaha memahami diagram semacam statechart atau dataflow diagram).
Dalam kasus-kasus tertentu, representasi prosedure dengan flowchart sama sekali tidak membantu menyederhanakan persoalan, bahkan hanya akan memperumit saja. Kalau tidak percaya, coba anda representasikan prosedure atau kode perulangan berikut dengan flowchart
For(i=:0; i<10;i++)>Menurut saya, satu-satunya problem dimana penggunaan flowchart ini sangat membantu adalah ketika akan meng-coding-kan perintah-perintah yang melibatkan banyak alternatif pengambilan keputusan, yaitu seperti perintah if..bla..bla..if..bla..bla .else..if…dst.
Mungkin sebagian dari anda menganggap bahwa flowchart adalah sebuah perkakas visual yang ditujukan untuk mendesain atau memodelkan sistem perangkat lunak . Kenyataan ini nampak dari banyaknya tulisan di artikel, buku, atau pun laporan tugas akhir yang menggunakan flowchart untuk memodelkan atau mendesain sistem perangkat lunak yang dibangunnya. Sehingga disana tertulis misal ”flowchart atau diagram alir program utama”, ”flowchart penekanan tombol ”, ”flowchart menghindari halangan”, dan seterusnya. Semua aspek dan elemen program dimodelkan dengan flowchart.
Apakah hal tersebut salah?. Masalahnya bukan salah atau benar, karena dalam kaitannya dengan desain, tidak ada istilah salah atau benar, yang ada adalah istilah bagus, kurang bagus atau kebangeten.
Flowchart pada dasarnya adalah diagram yang semestinya hanya digunakan untuk memodelkan prosedure. Apa itu prosedure?. Dalam bahasa yang paling padat, prosedure itu adalah urut-urutan aktivitas atau proses: Mengurus KTP, mengurus SIM, mengurus kredit uang di Bank BPD semua ada prosedurenya.
Dalam kaitannya dengan sebuah program komputer, prosedure itu tidak lain adalah fungsi atau algoritma, seperti fungsi untuk menghitung rata-rata, fungsi mencari nilai terbesar, algoritma pengurutan bilangan, dan seterusnya.
Secara simbologi, pada dasarnya hanya ada tiga simbol visual utama pada flowchart (dasar): Kotak, diamond dan anak panah. Simbol kotak dan diamond dalam hal ini digunakan untuk merepresentasikan sebuah proses atau aktivitas (hanya saja proses pada simbol diamond adalah proses pemilihan keputusan –decision). Lalu apa yang ingin direpresentasikan oleh simbol anak panah?. Tidak ada!. Anak panah disini hanya digunakan untuk penunjuk arah saja. Jadi seolah-olah tanda panah itu berkata ”jika selesai mengerjakan proses ini, kerjakan proses itu”, ”jika hasil lebih besar dari 5 kerjakan proses A, jika tidak kerjakan proses B”, dan seterusnya (coba anda bandingkan dengan simbol tanda panah yang muncul pada DFD atau FSM, misalnya).
Sehingga saya usulkan (tapi nggak tahu usul pada siapa) untuk menghindari terjadinya kesalah paham terus-menerus dalam penggunaan flowchart, sebaiknya tanda panah pada flowchart diganti saja dengan tanda telunjuk seperti dibawah, gimana?
Jika anda perhatikan, kedudukan flowchart itu sendiri pada dasarnya tidak lebih dari kode semu atau bahkan sama persis dengan kode asli dari prosedur atau fungsinya itu sendiri. Coba saja, walaupun representasinya visual, tetapi ketika anda berusaha memahami flowchart, pasti yang anda lakukan adalah melihat (atau membacanya) secara sequensial sesuai dengan arah tanda anak panah (Hal ini akan berbeda jika anda berusaha memahami diagram semacam statechart atau dataflow diagram).
Dalam kasus-kasus tertentu, representasi prosedure dengan flowchart sama sekali tidak membantu menyederhanakan persoalan, bahkan hanya akan memperumit saja. Kalau tidak percaya, coba anda representasikan prosedure atau kode perulangan berikut dengan flowchart
For(i=:0; i<10;i++)>Menurut saya, satu-satunya problem dimana penggunaan flowchart ini sangat membantu adalah ketika akan meng-coding-kan perintah-perintah yang melibatkan banyak alternatif pengambilan keputusan, yaitu seperti perintah if..bla..bla..if..bla..bla .else..if…dst.
Comments
Post a Comment