Perancangan Perangkat Ajar Visualisasi Eksekusi Flowchart dan Konversinya ke Dalam Algoritma Ahmad Suryan Politeknik Telkom [email protected] ABSTRAK Pengajaran algoritma untuk pemula seringkali mengalami banyak hambatan, terutama ketika menjelaskan alur dari programnya. Untuk membantu mengatasi masalah di atas, biasanya digunakan flowchart sebagai alat untuk menjelaskan bagaimana instruksi-instruksi pada algoritma dikerjakan, bagaimana caranya memilih atau mengulang perintah dan lain sebagainya. Bagaimana membuat flowchart dan bagaimana instruksi-instruksi yang ada di dalamnya dikerjakan dan bagaimana melakukan konversi dari flowchart ke dalam notasi algoritma akan sangat membantu bagi pemula untuk memahami urutan pengerjaan perintah-perintah dalam algoritma dan setelah memahami, tentunya akan membantu pemula untuk menulis algoritma yang diinginkan. Tulisan ini akan membahas bagaimana merancang struktur data dan gambaran implementasinya dalam pembuatan perangkat ajar yang berisi fasilitas untuk membangun flowchart, memvisualisasikan pengeksekusian flowchart tersebut dan bagaimana mengkonversi flowchart tersebut ke dalam algoritma. Kata kunci:Perangkat Ajar Algoritma, visualisasi eksekusi flowchart, konversi flowchart ke algoritma. PENDAHULUAN Menjelaskan alur program atau algoritma kepada orang yang baru belajar memprogram merupakan suatu kesulitan sendiri. Penjelasan yang kurang tepat dapat membuat peserta didik menjadi tambah bingung dan bisa menyebabkan patah semangat. Tulisan ini mencoba menyajikan sebuah rancangan untuk aplikasi yang dapat membantu pengguna untuk menggambar flowchart, kemudian dapat mencoba mengeksekusi flowchart yang dibuatnya dalam bentuk visual dimana secara bertahap dapat dilihat alur pelaksanaan instruksi pada flowchart, Selain itu pengguna dapat mengenerate teks algoritma secara otomatis dan dapat pula melihat alur eksekusi baris demi barisnya secara jelas. Rancangan program aplikasi ini apabila diimplementasi akan sangat bermanfaat pada proses belajar atau mengajarkan algoritma kepada para 198 pemula atau kepada mereka yang memiliki tingkat kesulitan lebih dalam mempelajari algoritma. MODEL, ANALISA, DESAIN, DAN IMPLEMENTASI Untuk memberikan gambaran tentang bagaimana merealisasikan program yang akan dibuat, akan dijelaskan mulai dari rancangan antarmuka, struktur data internal, struktur file untuk menyimpan, mekanisme eksekusi flowchart dan konversinya ke dalam bentuk teks algoritma. 2.1. Rancangan Antarmuka b) Teks Algoritma dan file xml Digunakan list berkait dengan doublepointer dimana tiap elemen memiliki bagian-bagian yang dapat ditulis sebagai berikut: type PBaris = pointer to Baris type Baris = record Gambar 1. Rancangan Antarmuka teks : string Seperti terlihat dalam gambar-1, antarmuka berbentuk MDI Form (Form utama ysng di dalamnya dapat dibuat form anak untuk penyuntingan gambar flowchart, form anak untuk melihat struktur file (xml) dan form anak untuk melihat hasil konversi ke algoritma. Prev,Next: PBaris 2.2. Struktur Data Internal Struktur data berikut digunakan untuk penanganan flowchart dan penanganan teks hasil konversi flowchart ke algoritma. a) Flowchart Next1,Next2: PBaris end record Digunakannya list berkait ganda (double pointer) ini untuk kemudahan dalam penyisipan di tengah (sebelum suatu gambar tertentu). 2.3. Struktur Data Eksternal (File) File teks yang digunakan sebagai penyimpan flowchart dapat dibuat menggunakan format xml, sebagai contoh, flowchart pada gambar-2 berikut : Digunakan list berkait dengan doublepointer dimana tiap elemen memiliki bagian-bagian yang dapat ditulis sebagai berikut: type PGambar = pointer to Gambar type Gambar = record id : integer nama : string jenis : char posisi : TPoint lebar,tinggi : integer Prev,Next,Next1,Next2 : PGambar end record Gambar 2. Contoh flowchart dapat disimpan dalam file xml sebagai berikut : 199 <START> <INPUT msg=”Masukkan Nilai n : “> <VAR> n </VAR> </INPUT> <PROC>jml = 0</PROC> <PROC>i = 1</PROC> <WHILE> <COND>i<=n</COND> mampu pula untuk membaca file eksternal dan mengkonversinya menjadi struktur internal yang sesuai. Untuk dapat menyajikan flowchart ke layar grafik, maka setiap gambar harus dapat ditentukan secara otomatis pola perhitungan koordinatnya sehingga dapat digambar dengan benar. 2.5. Eksekusi Flowchart Flowchart dieksekusi dengan menggambarkan posisi perintah yang sedang dijalankan dari satu gambar ke gambar yang lain. Proses perpindahan eksekusi ini dapat mudah dilakukan dengan menelusuri gambar sesuai dengan strukturnya. <IF> <COND>i<3</COND> <THEN> <PROC>jml=jml+1</PROC> </THEN> <ELSE> 2.6. Konversi ke algoritma Proses konversi ini sama dengan konversi ke struktur file xml sebelum disimpan secara permanen, Untuk mengkonversi dari struktur internal ke algoritma dilakukan dengan menelusuri gambar, dimana bila menemukan gambar input, output atau proses maka dikonversi menjadi sebuah perintah algoritma. Namun bila yang ditemukan adalah gambar struktur IF, maka langsung dibuat 3 buah baris : <PROC>jml=jml+2</PROC> </ELSE> </IF> <PROC>i=i+1</PROC> </WHILE> <OUTPUT> </OUTPUT> </START> 2.4. Penanganan Editor Flowchart Editor ini harus memandu user untuk menggambar flowchart dengan benar. Untuk itu dibuat bentuk-bentuk gambar dasar dan bantukbentuk paket sesuai dengan pola-pola penulisan algoritma. Bentuk paket yang dimaksud antara lain : bentuk if, bentuk while dan bentuk repeat. Selain itu editor harus mampu menyimpan apa yang telah digambar ke dalam bentuk file eksternal (xml) dan 200 if (kondisi) then else end if dan sesuai dengan alur YES dan NO, perintahperintah tersebut akan disisipkan diantara 3 baris tersebut. Bila digunakan contoh gambar flowchart pada gambar-1, maka tahapan pembentukan teks algoritma adalah sebagai berikut: tiga perintah pertama akan menghasilkan : input(“Masukkan Nilai n =”,n) jml=0 i=1 selanjutnya : input(“Masukkan Nilai n =”,n) jml=0 jml=0 i=1 i=1 while (i<=n) do while (i<=n) do end while selanjutnya : input(“Masukkan Nilai n =”,n) if (i<3) then jml=jml+1 else jml=jml+2 jml=0 end if i=1 i=i+1 while (i<=n) do if (i<3) then else end if end while selanjutnya : input(“Masukkan Nilai n =”,n) jml=0 i=1 end while output(“jml = “,jml) 3. HASIL DAN DISKUSI Penelitian masih sebatas rancangan yang belum terimplementasi menjadi program, namun sudah terlihat bagaimana struktur data harus dibuat dan bagaimana langkah-langkah yang harus dilakukan dalam mengimplementasikannya. Beberapa bidang yang sangat diperlukan dalam mengimplementasi ini antara lain : grafika komputer untuk menangani editor flowchartnya, kemudian struktur data untuk penanganan list berkait untuk gambar maupun teks hasil konversinya. while (i<=n) do 4. KESIMPULAN if (i<3) then jml=jml+1 else jml=jml+2 end if end while selanjutnya : input(“Masukkan Nilai n =”,n) Pengajaran algoritma maupun belajar mandiri algoritma dapt ditunjang perangkat bantu yang dapat menjelaskan secara lebih menarik dan dapat memberikan pengertian yang lebih dalam. Rancangan dari perangkat ajar ini diharapkan akan dilanjutkan dengan merealisasikannya menjadi nyata sehingga dapat dimanfaatkan secara luas untuk membantu jutaan peserta didik khususnya pemula sehingga dapat menjadi senang mempelajari algoritma dan lebih cepat mengerti, dengan demikian perkembangan jumlah tenaga ahli di bidang pemrograman dapat berkembang dengan pesat. 201 5. DAFTAR PUSTAKA [1]. Suryan, Ahmad, 2000, “Perangkat Lunak Pembangkit Interpreter Dari Deskripsi Grafis”, Thesis Magister Teknik Informatika ITB, Bandung. [2]. Suryan, Ahmad, 2006, “Pengembangan Interpreter Universal sebagai upaya Membangun Komunitas Open-Source Software”, Makalah seminar OSS, LIPI, Bandung [3]. Tremblay, Jean-Paul and Paul G. Sorenson, 1985, “The Theory and Practice of Compiler Writing”, McGraw Hill, Singapore 202