This Author published in this journals
All Journal ComEngApp : Computer Engineering and Applications Journal Seminar Nasional Aplikasi Teknologi Informasi (SNATI) TELKOMNIKA (Telecommunication Computing Electronics and Control) CommIT (Communication & Information Technology) Sisforma: Journal of Information Systems Journal of Information Systems Engineering and Business Intelligence EMITTER International Journal of Engineering Technology IJoICT (International Journal on Information and Communication Technology) E-Dimas: Jurnal Pengabdian kepada Masyarakat Fountain of Informatics Journal Journal of Information Technology and Computer Science Kinetik: Game Technology, Information System, Computer Network, Computing, Electronics, and Control JOURNAL OF APPLIED INFORMATICS AND COMPUTING JMM (Jurnal Masyarakat Mandiri) JCES (Journal of Character Education Society) JUTEI (Jurnal Terapan Teknologi Informasi) International Journal of New Media Technology ABDIMAS SILIWANGI Explore IT : Jurnal Keilmuan dan Aplikasi Teknik Informatika Journal of Information Technology and Computer Engineering ComTech: Computer, Mathematics and Engineering Applications Altruis: Journal of Community Services Jurnal Abdimas Ilmiah Citra Bakti (JAICB) Journal of Technology and Informatics (JoTI) Abdimas Altruis: Jurnal Pengabdian Kepada Masyarakat Konstelasi: Konvergensi Teknologi dan Sistem Informasi Jurnal Teknoif Teknik Informatika Institut Teknologi Padang Jurnal Inovatif Wira Wacana JuTISI (Jurnal Teknik Informatika dan Sistem Informasi)
Claim Missing Document
Check
Articles

The Effectiveness of a Program Visualization Tool on Introductory Programming: A Case Study with PythonTutor Karnalim, Oscar; Ayub, Mewati
CommIT (Communication and Information Technology) Journal Vol 11, No 2 (2017): CommIT Vol. 11 No. 2 Tahun 2017
Publisher : Bina Nusantara University

Show Abstract | Download Original | Original Source | Check in Google Scholar | DOI: 10.21512/commit.v11i2.3704

Abstract

Program Visualization (PV) is an educational tool frequently used to assist users for understanding a program flow. However, despite its clear benefits, PV cannot be incorporated easily on Introductory Programming course. Several key properties such as student characteristics and behavior should be considered beforehand. This paper is intended to provide an empirical review about the impact of PV toward students of Introductory Programming course. For our case study, PythonTutor is selected as a sample of PVs due to its accessibility. It can be accessed anywhere and anytime through a web browser. Three conclusions are obtained based on our evaluation on data collected from a survey. Firstly, PV is quite effective to assist students for conducting several programming sub-tasks. Secondly, PV, at some extent, may help students to learn advanced topics on Introductory Programming course. Finally, despite the fact that several features should be incorporated to enhance understanding of students, PV is beneficial for learning Introductory Programming course, especially when it is frequently used.
An Embedding Technique for Language-Independent Lecturer-Oriented Program Visualization Sulistiani, Lisan; Karnalim, Oscar
EMITTER International Journal of Engineering Technology Vol 6, No 1 (2018)
Publisher : Politeknik Elektronika Negeri Surabaya (PENS)

Show Abstract | Download Original | Original Source | Check in Google Scholar | DOI: 10.24003/emitter.v6i1.234

Abstract

Nowadays, programming is a promising skill to be learned; the demand of programmer is increased. To align with such trend, several Program Visualization (PV) tools have been developed. Using such tool, user can learn how a particular program works through interactive and descriptive visualization. However, most of the tools are language-dependent: they use either language-dependent debugger or code to generate visualization. Such dependency may become a problem when a program written in new programming language is incorporated. Therefore, this paper proposes an embedding technique to handle given issue. To incorporate new programming language, it only needs five language-dependent features to be set. In general, our proposed technique works in threefold: embedding some statements to target program, generating visualization states by running the program with console commands, and visualizing given program based on generated visualization states. According to our evaluation, proposed technique is able to incorporate program written in any programming languages as long as those languages provide required language-dependent features. Further, it is practical to be used since it still have the benefits of conventional PV even though it is designed as a language-independent PV.
Improving Scalability of Java Archive Search Engine through Recursion Conversion And Multithreading Karnalim, Oscar
CommIT (Communication and Information Technology) Journal Vol 10, No 1 (2016): CommIT Vol. 10 No. 1 Tahun 2016
Publisher : Bina Nusantara University

Show Abstract | Download Original | Original Source | Check in Google Scholar | DOI: 10.21512/commit.v10i1.1653

Abstract

Based on the fact that bytecode always exists on Java archive, a bytecode based Java archive search engine had been developed [1, 2]. Although this system is quite effective, it still lack of scalability since many modules apply recursive calls and this system only utilizes one core (single thread). In this research, Java archive search engine architecture is redesigned in order to improve its scalability. All recursion are converted to iterative forms although most of these modules are logically recursive and quite difficult to convert (e.g. Tarjan’s strongly connected component algorithm). Recursion conversion can be conducted by following its respective recursive pattern. Each recursion is broke down to four parts (before and after actions of current and its children) and converted to iteration with the help of caller reference. This conversion mechanism improves scalability by avoiding stack overflow error caused by method calls. System scalability is also improved by applying multithreading mechanism which successfully cut off its processing time. Shorter processing time may enable system to handle larger data. Multithreading is applied on major parts which are indexer, vector space model (VSM) retriever, low-rank vector space model (LRVSM) retriever, and semantic relatedness calculator (semantic relatedness calculator also involves multiprocess). The correctness of both recursion conversion and multithread design are proved by the fact that all implementation yield similar result.
The Use of Python Tutor on Programming Laboratory Session: Student Perspectives Karnalim, Oscar; Ayub, Mewati
Kinetik: Game Technology, Information System, Computer Network, Computing, Electronics, and Control Vol 2, No 4, November-2017
Publisher : Universitas Muhammadiyah Malang

Show Abstract | Download Original | Original Source | Check in Google Scholar | Full PDF (3314.027 KB) | DOI: 10.22219/kinetik.v2i4.442

Abstract

Based on the fact that the impact of educational tools can only be accurately measured through student-centered evaluation, this paper proposes a long-term in-class evaluation for Python Tutor, a program visualization tool developed by Guo. The evaluation involves 53 students from 4 Basic Data Structure classes, which were held in the even semester of 2016/2017 academic year. It is conducted based on questionnaire survey asked to the students after they have used Python Tutor in their half of programming laboratory sessions. In general, there are three findings from this work. Firstly, Python Tutor helps students to complete programming laboratory tasks, specifically for Basic Data Structure material. Secondly, Python Tutor helps students to understand general programming aspects which are execution flow, variable content change, method invocation sequence, object reference, syntax error, and logic error. Finally, based on student perspectives, Python Tutor is a helpful tool positively affecting the students.
Complexitor: An Educational Tool for Learning Algorithm Time Complexity in Practical Manner Elvina, Elvina; Karnalim, Oscar
ComTech: Computer, Mathematics and Engineering Applications Vol 8, No 1 (2017): ComTech
Publisher : Bina Nusantara University

Show Abstract | Download Original | Original Source | Check in Google Scholar | DOI: 10.21512/comtech.v8i1.3783

Abstract

Based on the informal survey, learning algorithm time complexity in a theoretical manner can be rather difficult to understand. Therefore, this research proposed Complexitor, an educational tool for learning algorithm time complexity in a practical manner. Students could learn how to determine algorithm time complexity through the actual execution of algorithm implementation. They were only required to provide algorithm implementation (i.e. source code written on a particularprogramming language) and test cases to learn time complexity. After input was given, Complexitor generated execution sequence based on test cases and determine its time complexity through Pearson correlation. An algorithm time complexity with the highest correlation value toward execution sequence was assigned as its result. Based on the evaluation, it can be concluded this mechanism is quite effective for determining time complexity as long as the distribution of given input set is balanced.
Semi-Supervised Keyphrase Extraction on Scientific Article using Fact-based Sentiment Felix Christian Jonathan; Oscar Karnalim
TELKOMNIKA (Telecommunication Computing Electronics and Control) Vol 16, No 4: August 2018
Publisher : Universitas Ahmad Dahlan

Show Abstract | Download Original | Original Source | Check in Google Scholar | DOI: 10.12928/telkomnika.v16i4.5473

Abstract

Most scientific publishers encourage authors to provide keyphrases on their published article. Hence, the need to automatize keyphrase extraction is increased. However, it is not a trivial task considering keyphrase characteristics may overlap with the non-keyphrase’s. To date, the accuracy of automatic keyphrase extraction approaches is still considerably low. In response to such gap, this paper proposes two contributions. First, a feature called fact-based sentiment is proposed. It is expected to strengthen keyphrase characteristics since, according to manual observation, most keyphrases are mentioned in neutral-to-positive sentiment. Second, a combination of supervised and unsupervised approach is proposed to take the benefits of both approaches. It will enable automatic hidden pattern detection while keeping candidate importance comparable to each other. According to evaluation, fact-based sentiment is quite effective for representing keyphraseness and semi-supervised approach is considerably effective to extract keyphrases from scientific articles.
Extending The Effectiveness of Algorithm Visualization with Performance Comparison through Evaluation-integrated Development Felix Christian Jonathan; Oscar Karnalim; Mewati Ayub
Seminar Nasional Aplikasi Teknologi Informasi (SNATI) 2016
Publisher : Jurusan Teknik Informatika, Fakultas Teknologi Industri, Universitas Islam Indonesia

Show Abstract | Download Original | Original Source | Check in Google Scholar

Abstract

Since several undergraduate CS students cannot understand Algorithm topic clearly due to algorithm complexity and limited class duration, several Algorithm Visualization (AV) for teaching algorithms have been developed. However, since most AV only focus on visualizing algorithm steps without mentioning why that algorithm should be chosen based on given problem, students cannot improve their understanding further than Application level (based on Bloom taxonomy). In this paper, we extend the capabilities of AV by utilizing case-based performance comparison. Case-based performance comparison aim to let students differentiate several algorithm and improve their understanding further.  Additionally, we utilize evaluation-integrated development since the main goal of an AV is not only technical functionality but also its usability. For our implementation, we implement these aspects to algorithm for solving classic problems such as 0/1 knapsack and Minimum Spanning Tree (MST) problem.
Revitalizing Internship Registration Portal with an Implementation of Application Lifecycle Management Bertha Alan Manuel; Oscar Karnalim
SISFORMA Vol 5, No 1 (2018): May 2018
Publisher : Soegijapranata Catholic University

Show Abstract | Download Original | Original Source | Check in Google Scholar | Full PDF (173.888 KB) | DOI: 10.24167/sisforma.v5i1.1256

Abstract

Internship is an undergraduate activity for gaining working experiences.  Hence, it is expected that some universities convert it as an undergraduate course. In our university, registering internship topic is automated using a web-based portal; it takes tremendous effort if done manually. Nevertheless, according to our informal survey, existing portal suffers a lot of limitation, resulting user dissatisfaction. This paper presents a further development of such portal by following phases described in Application Lifecycle Management. According to three evaluation scenarios (black-box, small-group user, and large-group user testing), proposed portal works well and fits user need.
Python Source Code Plagiarism Attacks in Object-Oriented Environment Oscar Karnalim; Aldi Aldiansyah
Computer Engineering and Applications Journal Vol 6 No 3 (2017)
Publisher : Universitas Sriwijaya

Show Abstract | Download Original | Original Source | Check in Google Scholar | Full PDF (461.293 KB) | DOI: 10.18495/comengapp.v6i3.217

Abstract

Since source code plagiarism is an emerging issue on Computer Science major and Python is a new popular programming language, this paper aims to empirically enlist plagiarism attacks that might be occurred on Python source code. As our case study, our work will be focused on source code plagiarism in object-oriented environment. The result of this work is expected to become either an evaluation baseline or a prior knowledge for developing Python-targeted plagiarism detection system. Based on 280 plagiarism-suspected pairs that were extracted from four Basic Data Structure classes, four findings can be deducted. First, there are 20 distinct Python plagiarism attacks that might be occurred in object-oriented environment. Second, plagiarism attack trend on both object-oriented and procedural environment are considerably similar to each other. Third, there is no need to handle plagiarism attacks in both object-oriented and procedural environment separately. Last, plagiarism attacks in object-oriented environment is more monotonous than such attacks in procedural environment.
Improving Scalability of Java Archive Search Engine through Recursion Conversion And Multithreading Oscar Karnalim
CommIT (Communication and Information Technology) Journal Vol. 10 No. 1 (2016): CommIT Journal
Publisher : Bina Nusantara University

Show Abstract | Download Original | Original Source | Check in Google Scholar | DOI: 10.21512/commit.v10i1.1653

Abstract

Based on the fact that bytecode always exists on Java archive, a bytecode based Java archive search engine had been developed [1, 2]. Although this system is quite effective, it still lack of scalability since many modules apply recursive calls and this system only utilizes one core (single thread). In this research, Java archive search engine architecture is redesigned in order to improve its scalability. All recursion are converted to iterative forms although most of these modules are logically recursive and quite difficult to convert (e.g. Tarjan’s strongly connected component algorithm). Recursion conversion can be conducted by following its respective recursive pattern. Each recursion is broke down to four parts (before and after actions of current and its children) and converted to iteration with the help of caller reference. This conversion mechanism improves scalability by avoiding stack overflow error caused by method calls. System scalability is also improved by applying multithreading mechanism which successfully cut off its processing time. Shorter processing time may enable system to handle larger data. Multithreading is applied on major parts which are indexer, vector space model (VSM) retriever, low-rank vector space model (LRVSM) retriever, and semantic relatedness calculator (semantic relatedness calculator also involves multiprocess). The correctness of both recursion conversion and multithread design are proved by the fact that all implementation yield similar result.
Co-Authors ADELIA Adelia Adelia, Adelia Aditya Permadi Aditya Permadi Aldi Aldiansyah Andreas Widjaja Andreas Widjaja Andrisyah Andrisyah Andrisyah Andrisyah Annabel, Kathleen Felicia Avinash, Avinash Aziz Mu’min Bayu Rima Aditya Bertha Alan Manuel Bertha Alan Manuel Daniel Jahja Surjawan Devion Tanrico Diana Trivena Yulianti Dina Fitria Murad Dina Fitria Murad Doro Edi Egie Imandha, Egie Elvina Elvina Elvina Elvina Erico Darmawan Handoyo Fathul Jannah Felicia Annabel, Kathleen Felix Christian Jonathan Felix Christian Jonathan Felix Christian Jonathan Gisela Kurniawati Haba Ito, Ridolof Hapnes Toba Hendra Bunyamin Hendra Bunyamin Hendra Bunyamin Irawan Nurhas Iryanto Faot, Pace Ivana Valentina Johan, Meliana Christianti Julianti Kasih Julianti Kasih, Julianti Kurniawan, Phin Kurniawati, Gisela Kusman, Vardina Nava Madya Lemmuela , Ivana Valentina Liliawati, Swat Lie Lisan Sulistiani Lucky Christiawan Lucky Christiawan, Lucky Majiah, Arya Tri Putra Maresha Caroline Wijanto Maresha Caroline Wijanto Maresha Caroline Wijanto Maresha Caroline Wijanto Maresha Caroline Wijanto Maresha Caroline Wijanto Marlina Marlina Martua, Juan Sterling Metayani, Vanessa Mewati Ayub Mulyono, Yovie Adhisti Mu’min, Aziz Oscar Wongso Pangestu, Muftah Afrizal Panji Yudasetya Wiwaha Rachmi Rachmadiany Ricardo Franclinton Risal Risal Risal Robby Tan Rossevine Artha Nathasya Ruis, Nisa Deviani Agustin Samosir, Moses Marzuki Santiadi, Sherly Sendy Ferdian Sujadi Setia Budi Setia Budi Setiawan, Yehezkiel David Simalango, Veronica Marcella Angela Sofriesilero Zumaytis Sulaeman Santoso Sulistiani, Lisan Tanrico, Devion Teddy Marcus Zakaria Teddy Marcus Zakaria Tendy Cahyadi, Tendy Tjatur Kandaga Valentina, Ivana Vanessa Metayani Vardina Nava Madya Kusman Vincent Elbert Budiman Wenny Franciska Senjaya Wijaya, Bernadus Indra Wiwaha, Panji Yudasetya Yan Sen Paulus Yudha, Laurentius Gusti Ontoseno Panata Zaqi Megantara, Rizky