ambiguous flowchart

13

Click here to load reader

Upload: jufriadif-naam

Post on 10-Jun-2015

2.268 views

Category:

Documents


2 download

DESCRIPTION

Pemakaian Simbol Hexagon yang membingungkan

TRANSCRIPT

Page 1: Ambiguous Flowchart

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 langkah-

langkah 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

Page 2: Ambiguous Flowchart

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 symbol-

symbol 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.

Page 3: Ambiguous Flowchart

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.

Page 4: Ambiguous Flowchart

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

Page 5: Ambiguous Flowchart

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:

Page 6: Ambiguous Flowchart

1. 2

3 4

Star

A=2 B=1

B=B+1

A=A+2

B=B+2

Print A &

Start

Set variabel

Input

proses

output

stop

Stop

Page 7: Ambiguous Flowchart

5 6

Star

A=2 B=1

B=B+1

A=A+2

B=B+2

Print A &

Stop

Start

a “Input “Berap ,Ndata”

Jml=0

For K=1 to N

Input bil

Jml=jml+bil

Next K

Print “jumlah=”, jml

Stop

Page 8: Ambiguous Flowchart

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

Page 9: Ambiguous Flowchart

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.

Page 10: Ambiguous Flowchart
Page 11: Ambiguous Flowchart

Sumber: www.tvdsb.on.ca/saunders/courses/online/ICS3M/Programming/flow_charts

Sumber: www.nos.org/htm/basic2.htm - 13k

Page 12: Ambiguous Flowchart

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/.

Page 13: Ambiguous Flowchart

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.eduJogiyanto, 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