AMBIGUOUS INISIALISASI PADA PROGRAM FLOWCHART JUFRIADIF NA’AM, M.Kom Dosen Tetap Universitas Putra Indonesia “YPTK” Padang – Sumatera Barat – Indonesia - 2007 Di Publikasikan pada : Jurnal Ilmiah MEDIA SISFO STIKOM DINAMIKA BANGSA JAMBI, ISSN 1978-8126 Vol. 1 No. 1 November 2007, Hal 16-24. ABSTRACT Program Flowchart is a tool to assist in depicting algorithm in designing computer program. The writing of Flowchart Program uses symbols which are internationally standardized. In using this symbol there are ambiguity in its applying, that is in the use of hexagon symbol (square six). Hexagon Symbol is used for 2 kinds of use which are very different, that is for initiating and looping, so that it is very ambiguous in designing flowchart program. For that it needs correct formulation in the use of this hexagon symbol in order not to bewilder programmer in translating flowchart program. Keywords : ambiguous, hexagon, initiating, loop, programmer, flowchart, design, ANSI I. PENDAHULUAN Dengan semakin berkembangnya teknik pemrograman, orang tidak lagi memecahkan masalah dengan langsung menulis programnya dalam bahasa pemrograman. Akan tetapi mulai memikirkan suatu cara penyelesaian masalah yang akan diprogram dengan terlebih dahulu membuat suatu desain atau rancangan yang akan mewakili pemecahan masalah tersebut. Desain tersebut mestinya independen dari bahasa pemrograman yang digunakan dan dari komputer yang menjalankan program. Suatu desain dirancang untuk mampu menyajikan cara berpikir pembuat program (programer) dalam menyelesaikan masalah. Desain yang dimaksud berisi urutan langkahlangkah pencapaian hasil yang logis, sistematis, dan procedural. Urutan langkah-langkah yang logis dan sistematis tersebut dikenal dengan nama algorithma. Rumusan dari algorithma itu nantinya digunakan untuk menginstruksikan komputer guna melakukan langkah-langkah tertentu dalam menyelesaikan permasalahan, namun agar dapat diproses oleh komputer algoritma harus terlebih dahulu diterjemahkan kedalam bahasa pemrograman, karena pada dasarnya bahasa algoritma tidak bisa dipahami oleh komputer sebagai pemroses. Rumusan algorithma, biasanya ditulis dalam notasi-notasi deskriptif dalam bahasa natural manusia. karena notasi algoritma tidak memiliki aturan penulisan yang baku seperti halnya dalam
bahasa pemrograman, sehingga kadangkala sebuah rumusan algorithma cukup sulit dan membingungkan (ambiguous) untuk dipahami banyak orang, apalagi untuk langsung dituliskan kedalam suatu bahasa pemrograman, karena bisa jadi rumusan algoritma tersebut hanya bisa dipahami oleh praktisi atau pembuat program namun cukup sulit untuk dipahami bagi orang lain. Maka dibutuhkan media lain yang dapat menyajikan serta mampu
membantu menerangkan
rumusan algorithma secara utuh sebelum diterjemahkan kedalam bahasa pemrograman. Salah satu media yang banyak dipakai untuk menyajikan atau menampilkan kembali rumusan algorithma adalah program Flowchart. Program flowchart adalah media yang menampilkan kembali algoritma dalam bentuk grafik yang diakui secara internasional, yang mampu menunjukkan secara jelas arus pengendalian suatu algoritma dalam suatu rangkaian kegiatan yang logis dan sistematis serta dalam bentuk yang sederhana. Untuk menampilkan algoritma kedalam bentuk grafik, program flowchart menggunakan berbagai bentuk symbol. Setiap symbol pada program flowchart pada prinsipnya telah terlebih dahulu ditentukan defenisi dan fungsinya. Symbol yang berbeda-beda bentuk tersebut digunakan untuk menunjukkan berbagai kegiatan operasi dan jalur pengendalian sesuai dengan rumusan algoritma yang telah dirancang. dan masing-masing symbol menerangkan serta mewakili suatu kelompok instruksi dari algorithma. Arti penting dari sebuah program flowchart adalah symbolsymbol yang digunakan untuk menggambarkan urutan proses yang terjadi didalam suatu rumusan algoritma secara sistematis, sederhana dan logis dalam suatu rangkaian. Alasan tersebut menjadikan program flowchart banyak dijadikan pilihan untuk menyajikan rumusan algoritma sebelum dituliskan kembali kedalam bahasa pemrograman. Namun demikian program flowchart tetap memiliki kelemahan dalam menyajikan dan menampilkan suatu rumusan algoritma. Salah satu kelemahan program flowchart berkaitan dengan defenisi dan fungsi symbol program flowchart itu sendiri. Meski pada dasarnya semua symbol telah memiliki defenisi dan fungsi yang baku, namun terdapat kerancuan pada defenisi dan fungsi yang dimiliki oleh salah satu symbol program flowchart, yang sering digunakan untuk menerangkan suatu rumusan algoritma. Kerancuan terjadi karena symbol yang dikenal dengan nama hexagon (persegi enam) memiliki dua fungsi yang berbeda yang sering digunakan dalam menggambarkan algoritma, dua fungsi yang diwakili oleh symbol tersebut adalah fungsi sebagai symbol yang menggambarkan masalah inisialisasi (variabel, konstanta, pemberian nilai awal) dan juga fungsi sebagai symbol yang menggambarkan proses perulangan dari suatu rumusan algoritma.
Dalam penggambaran suatu proses perulangan dari rumusan algoritma dengan program flowchart, tidak terdapat perbedaan pandangan dalam penggunaan symbol hexagon (persegi enam), namun khusus untuk penggambaran masalah inisialisasi, terdapat perbedaan pendapat karena kemudian tidak semua sepakat menggunakan symbol hexagon (persegi enam) untuk menggambarkan proses inisialisasi dalam program flowchart dan menggunakan symbol lain yang dianggap lebih tepat dalam menggambarkan masalah inisialisasi. Sehingga terdapat dua versi penggambaran masalah inisialisasi dari suatu rumusan algoritma kedalam program flowchart. Kondisi ini jelas sangat berpengaruh dalam memahami suatu rumusan algoritma melalui program flowchart, karena kurang bisa menunjukkan secara jelas substansi logika dan proses yang terjadi dalam sebuah rumusan algoritma khususnya dalam masalah inisialisasi, akibat penggunaan symbol yang berbeda tersebut. Dan Kerancuan menjadi cukup jelas ketika masalah inisialisasi digambarkan sama dengan symbol yang juga menggambarkan proses perulangan, karena antara keduanya memiliki substansi logika dan proses yang dilalui sangat berbeda.
II. PEMBAHASAN Semua symbol flowchart telah memiliki fungsi masing-masing, berdasarkan petunjuk yang dikeluarkan departemen Ilmu Pengetahuan Komputer, yaitu American Nation Standart Institute (ANSI). Symbol flowchart berfungsi untuk menjelaskan operasi atau instruksi yang harus dilakukan. Meski terdapat symbol yang memiliki lebih dari satu fungsi tapi secara substansi logika tetap sama, seperti ditunjukkan oleh symbol bujur sangkar yang menjelaskan proses Input/Output memiliki substansi proses yang sama, yaitunya adanya pemindahan data dari dalam dan keluar system internal proses. Demikian halnya dengan symbol oval yang menunjukkan awal dan akhir suatu proses. Namun demikian terdapat satu symbol yang didefenisikan oleh berbagai referensi memiliki fungsi yang berbeda-beda, perbedaan terdapat pada defenisi symbol tersebut dan juga pada fungsi yang dimilikinya. Symbol tersebut adalah symbol hexagon (Persegi Enam). Dua kata kunci yang sering ditemukan dalam defenisi symbol hexagon (persegi enam) adalah “Preparation” dan “loop”, bahkan sering kata preparation dan loop digunakan dalam satu defenisi dan fungsi, khusus untuk kata “preparation” menimbulkan suatu ruang pendefenisian fungsi yang lebih luas, sehingga kemudian terdapat fungsi yang berbeda-beda dari symbol hexagon dalam menggambarkan instruksi algoritma.
Beberapa defenisi yang ada berkaitan dengan symbol hexagon: 1. Symbol yang menunjukkan perulangan (Repetition, iteration, or looping), (Some flowcharting symbols, http://www.efc.dcccd.edu/) 2. Defenisi symbol preparation, berfungsi untuk menunjukkan proses perulangan (Flowchart Introduction & Method of Problem Solving, Prof. Martha Selby) 3. Menunjukkan preparation, (Introduction to programming in C++, Algorithms, Flowcharts and Pseudocode http://cst.rdc.ab.ca/) 4. Defenisi symbol sebagai preparation (IBM flowcharting template part No. GX20-8020-2.1. Defenisi diatas lebih banyak menunjukkan symbol dengan fungsi preparation, namun tidak terdapat penjelasan tentang maksud preparation, akan tetapi penggunaan atau fungsi yang ditunjukkan merupakan suatu proses perulangan. Defenisi lain yang menunjukkan adanya fungsi yang berbeda secara substansi: 5. Symbol yang digunakan untuk menunjukkan pemberian nilai awal suatu variabel atau counter. (Pengenalan Komputer, Jogiyanto Hartono, Penerbit ANDI, 2002) 6. Symbol yang digunakan untuk mempersiapkan nilai awal suatu variabel yang akan diproses dan digunakan untuk proses loop. (Pemrograman Terstruktur, Tata Sutabri, Penerbit ANDI, 2004 7. Symbol yang digunakan untuk pemberian nilai awal suatu variable (Algoritma & Teknik Pemrograman, Budi Sutedjo & Michael, Penerbit ANDI, 2004) 8. Symbol yang digunakan untuk mempersiapkan aksi manual yang akan dilakukan atau mempersiapkan langkah-langkah operasi. (Konsep Dasar Bahasa Basic Untuk Program Komputer, Ismail Besari, M2S Bandung) Pada defenisi dan fungsi symbol Hexagon no 5 sampai 8 terlihat kerancuan fungsi yang dimiliki symbol hexagon. Fungsi yang digambarkan dari berbagai defenisi meliputi: a. Fungsi symbol sebagai pemberian nilai Awal b. Fungsi symbol sebagai perulangan (looping) c. Menunjukkan fungsi symbol sebagai Pemberian nilai awal sekaligus digunakan untuk proses perulangan. Contoh penggunaan symbol hexagon (persegi enam) yang mewakili beberapa defenisi serta fungsi yang ada. Pemberian contoh kasus ini diharapkan bisa membantu proses pemetaan masalah yang lebih spesifik, sehingga kemudian bisa disimpulkan apakah ada kesamaan substansi logika dan
proses dari beberapa defenisi tersebut dan memungkinkan untuk mengklasifikasikannya kedalam satu kelompok pernyataan. Beberapa contoh kasus yang ditemukan dari beberapa referensi tentang penggunaan symbol hexagon (persegi enam), antara lain:
1.
2
Start
Star
Set variabel
A=2 B=1
Input B=B+1 proses A=A+2
output
stop
Print A&
B=B+2
Stop
3
4
Star
A=2 B=1
B=B+1
A=A+2
Print A&
B=B+2
Stop
5 Start
Input “Berapa “,Ndata”
Jml=0
For K=1 to N
Input bil
Jml=jml+bil
Next K
Print “jumlah=”, jml
Stop
6
Keterangan sumber: 1. Pemrograman terstruktur, Tata Sutabri, Penerbit Andi, 2004 2. Memahami struktur dan Element pada bahasa Pemrograman, Chendra Hadi S (http://www.ilmukomputer.com) 3. Memahami struktur dan Elemen pada bahasa Pemrograman, Chendra Hadi S. (http://www.ilmukomputer.com) 4. Pemrograman terstruktur, Tata Sutabri, Penerbit Andi, 2004 5. Algoritma dan Teknik Pemrograman, Budi Sutedjo & Michael AN, Penerbit ANDI, 2004 6. Introduction to Programming in C++: Algorithms, Flowcharts, and Pseudocode. Brent Daviduck, http://cst.rdc.ab.ca/ Dari beberapa contoh kasus penggunaan symbol hexagon (persegi enam) diatas, dapat dilakukan pemetaan (Mapping) yang memperlihatkan bahwa, meski terdapat beberapa bentuk pernyataan atau instruksi dari algoritma yang digambarkan oleh symbol hexagon (persegi enam), namun secara umum symbol tersebut mewakili dua kelompok instruksi algoritma: 1.
Inisialisasi
2.
Struktur perulangan/Looping
Yang kemudian menjadi permasalahan sekaligus menjadi dasar pembahasan pada penelitian ini adalah apakah masalah inisialisasi dan struktur perulangan yang ada dalam algoritma mempunyai substansi logika dan proses kejadian yang sama sehingga dapat dikelompokkan kedalam satu kelompok pernyataan atau instruksi algoritma, jawaban dari pertanyaan ini nantinya sekaligus bisa menuntaskan kerancuan tentang defenisi serta fungsi dari symbol hexagon dalam menggambarkan algoritma. Untuk menganalisa permasalahan ini, pembahasan dilakukan berkaitan dengan urgensi, ruang lingkup dan kompleksitas serta substansi logika kerja yang terjadi pada komponen inisialisasi dan perulangan. Tidak ditemukan defenisi yang baku dari inisialisasi, akan tetapi dari berbagai referensi tentang algoritma dan pemrograman, inisialisasi selalu berkaitan dengan variabel, konstanta, dan set awal nilai yang akan digunakan dalam pemrograman. Dari beberapa referensi juga dapat disimpulkan tentang ruang lingkup inisialisasi atau komponen apa saja yang termasuk dalam kelompok inisialisasi dalam algoritma, namun sebelumnya perlu dipaparkan urgensi inisialisasi itu sendiri pada bahasa pemrograman. Pada
beberapa bahasa pemrograman, masalah inisialisasi merupakan suatu keharusan dan berfungsi sebagai pengendali dari program tersebut Budi Sutedjo, et al (2004). Dalam buku tersebut dinyatakan bahwa Inisialisasi yang harus didefenisikan meliputi beberapa hal diantaranya: variable, konstanta, fungsi, dan prosedur yang digunakan.
III. KESIMPULAN Berkaitan dengan program flowchart, dalam rangka menyusun kerangka pemecahan suatu masalah, maka setidaknya dalam masalah inisialisasi algoritma terdapat tiga komponen, yang dapat digambarkan dalam program flowchart, yaitu: a. Variabel b.Konstanta c. Pemberian nilai awal variabel Dalam struktur bahasa pemrograman ketiganya dituliskan pada bagian deklarasi. Proses dan symbolisasi inisialisasi pada program flowchart : 1. Substansi logika yang dialami oleh komponen inisialisasi dalam eksekusi program adalah terjadinya pemindahan data dan perubahan nilai 2. Symbol program flowchart untuk inisialisasi Berdasarkan pembahasan, symbol program flowchart untuk menggambarkan komponen inisialisasi cenderung dengan menggunakan symbol rectangle (persegi empat) yang melambangkan suatu proses. Dengan beberapa alas an substansi logika yang terjadi pada komponen inisialisasi yang mengalami adanya perpindahan data, dan ini sesuai dengan berbagai defenisi dan fungsi yang ada pada symbol rectangle (persegi empat) yang menyatakan bahwa proses yang dimaksud tidak hanya berkaitan dengan operasi matematika tetapi semua yang berkaitan dengan adanya perubahan nilai, pemindahan data dan termasuk juga operasi matematika.
Sumber: www.tvdsb.on.ca/saunders/courses/online/ICS3M/Programming/flow_charts
Sumber: www.nos.org/htm/basic2.htm - 13k
Sedangkan untuk struktur perulangan dalam program flowchart dapat digambarkan sebagai : 1. Struktur perulangan merupakan salah satu sruktur dasar algoritma yang digunakan untuk memecahkan masalah yang membutuhkan adanya proses perulangan. 2. Substansi logika proses untuk satu kali perulangan meliputi empat proses: a.
Inisialisasi
b. Perbandingan atau seleksi c. Proses d. Update 3. Berdasarkan pembahasan symbol program flowchart untuk menggambarkan perulangan adalah symbol hexagon (persegi enam), seperti pada contoh:
Sumber:Introduction to Programming in C++: Algorithms, Flowcharts and Pseudocode. http://cst.rdc.ab.ca/.
DAFTAR PUSTAKA Besari, Ismail, Konsep Dasar Bahasa Basic, M2S Bandung, Budiyanto, Alex, Pengantar Algoritma dan Pemrograman, Ilmukomputer.com, 2003 Daviduct, Brent, Introduction to Programming in C++: Algorithms, Flowcharts, and Pseudocode, www.cst.rdc.ab.ca. 2005 Flowchart Handout, http://www.efc.dcccd.edu/ Flowchart Symbols, http://www.dmc.dit.ie/ Intro to programming: repeating action, www.nortonline.sccd.edu Jogiyanto, H.M, Pengenalan Komputer, Penerbit Andi, Yogyakarta, 2004 J.Longkutoy, Jhon, Dasar-Dasar Programming, Mutiara Sumber Widya, 1991 Kadir, Abdul, Pemrograman Pascal, Penerbit Andi, Yogyakarta, 2001 Lidya Leony, Rinaldi Munir, Algoritma dan Pemrograman, Informatika Bandung, 1997 Martha Selby, Prof, Flowchart Introduction & Method of Problem Solving. Munir, Rinaldi, Algoritma & Pemrograman dalam Bahasa Pascal dan C, Penerbit Informatika, Bandung, 2004 Ngoen, Thompson Susabda, Pengantar Algoritma dengan Bahasa C, Salemba Teknik, 2003 Programming:Flowchart: www.tvdsb.on.ca/ Rahardjo, Budi, Teknik Pemrograman, ITB, 2004 Sutedjo Budi, Michael AN, Algoritma dan Teknik Pemrograman, Penerbit Andi, Yogyakarta, 2004 Sutabri, Tata, Pemrograman Terstruktur, Penerbit Andi, Yogyakarta, 2004 Simbol references, http://www.sheridanc.on.ca/ W.Satria, Romi, I Putu Gede Darmawan, Cepat mahir Algoritma dalam bahasa C, ilmukomputer.com, 2003 Widyasena, Harimurti, class Dasar C++, ilmukomputer.com, 2003