A Development of Cloud-Based PHP Learning System

INTRODUCTION With the rapid development of technology development, innovation of technology played an important role for economic growth and country’s development [1]. The technology touches virtually almost every part of our daily activities [2]. In the other word, people in today’s society depend on technology, so that the need or demand of technology development in today’s and future era are increasing rapidly. As a consequence, programming abilities are required in many sector, such as industry, factory, goverment, and other professional area [2]. Programming ability is a fundamental and vital for students in IT related specialties to meet the needs of IT enterprises after graduation [3]. Programming has become a key qualification of the 21st century [2]. Furthermore, there is a fact that in recent years, webbased applications has developed rapidly [3]. That fact will be same for the future as long as people still has the need of technology in their lifes. With the rapid development of World Wide Web based applications, web programming is becoming the core curriculum in many domestic universities and colleges [3]. In Indonesia, web programming curriculum given in IT related specialties in university or colleges and IT specialties of vocational high school. As we know, web programming is different from other programming language. It is a much comprehensive subject in the implementation which is always cooperate with basic web technologies (such as HTML and CSS), client-side language (such as Javascript), server-side script language, database technology, and etc. together. One of important phase while developing application is coding. When practical coding, user need compilers and text editors application to execute their code. A research has been acomplished that in the use of compilers and text editor, sometimes the system gets hang and slow down the process, so the programs are unable to execute in the practical [4]. Also, in many previous research, a common problem is portability and storage space. In the other side, there is a model that possible to use in order to overcome the problems, it called as cloud computing. With the advance of cloud computing technology, online programming services that can be available through a web browser have been widely spread [5]. Therefore through cloud computing technology, it has been proposed many system that will be discussed in the next chapter. In this research, we design and implement a cloud-based PHP learning system for web programming course. Our proposed PHP learning system aimed for teacher and students with different role. While the teacher enable to manage content, user, and source code recap, student only has a limited access to content (including materials and programming practices) and their profile management. The main part of our proposed system is providing subject material, text editor, and output box in a one page that accessed through computer network. Furthermore, our proposed system will be assessed by users and reviewers in terms of feasibility.

RELATED WORK Research based on cloud compiler has been achieved by many authors. To start with, a mobile C/C++ cloud-based compiler proposed to reduce the problems of portability, storage space, and resource constrains by making use of the concept of mobile cloud computing. The application aimed to allow user to get easy access of the code and provide most convenient tool to compile the code and remove the errors. Also, the proposed application can be used remotely throughout any network connection on any smartphone so that avoid installation of compilers on computers and reduce the dependency on computers to write and execute programs [6]. A C++ and Java compiler implemented on private cloudbased system proposed in order to provide application through that service to the student and normal users. Within that proposed system, the authors provide private cloud service that very expensive to buy by normal users so they can experiment that product to write and compile as well as store the program. The application running on Ubuntu operating system and the private cloud implemented using Eucalyptus [7]. A multi-language (C, C++, PHP, Perl, Ruby, and Python) cloud-based compiler as SaaS proposed by combining the cloud computing and open source which helps to diminish the troubles of portability, compatibility, power, and storage space. The application deploy on private cloud under Linux environment, Ubuntu Enterprise Cloud (UEC) cloud infrastructure. Their experimental results has the outcome that the proposed system is verified and has more efficient performance compared to all other normal compiler based on performance analysis. The authors considered that the proposed system to be the best performers among the various compilers [8]. The proposed web-based interface to C, C++, and Java compilers that can be used remotely by the users throughout any network connection and making it platform independent by any operating system. There is no local installation and maintenance work necessary. The proposed system allows the users to use the SaaS feature to practice and do their works from wherever and they have access the network at whatever time. The benefit of the system is that allows the users to write and execute programs as per the requirements of the students or the programmers. Furthermore, there is no need to maintain separate compilers at the client side and converting document file into different types of formats [9]. A Java compiler using cloud computing that can be accessed through mobile devices is proposed. The authors used the conceptual architecture of Android as a server platform which enables Android application user to access the cloud server via network. Also, the authors using Java software in the server and accessing that software through mobile device, improves the performance of their mobile cloud computing significantly in terms of execution time and energy consumption. Furthermore, the authors used the SaaS model service so that the users enables to access the software via network. The benefit of the proposed system is that the users able to create and compile Java code in the cloud through network, so that no need to install compilers separately. Another benefit is whenever the compiler package is to be upgraded, it can be done easily without installing on each and every machine [10]. An online compiler for different languages that aimed to enable the users to easily write different program, compile it, and debug in online. The proposed system helps to reduce the problem of portability and storage space by making use of the concept of cloud computing. The benefit of the system that there is no need to install the compiler on each computer separately [4]. A cloud-based Java learning system that aimed to teach Java programming skills effectively to the students in a class is achieved. The proposed application provides a function of classifying students into some groups based on the similarity of compile or runtime error of Java program, so that a teacher can grasp individual student progress for Java programming exercises in the class. The benefit of the system is that the teachers and teacher’s assistant are enable to efficiently manage a programming class with limited time and teacher resources. Furthermore, their proposed system is acceptable in terms of the usability and can classify the students, so that the teachers can have strategy to instruct students in tutorial approach within the restricted time period in a programming class [5]. In comparison with these researches, the proposed cloudbased PHP learning system allows the teachers to manage the learning content such as materials and excersises, users, and source code in order to monitor student learning progress, so the teacher can have a consideration of which part should be more emphasize to students. In the other hand, the students are enable to use the learning feature that provides the PHP subject materials as well as excersises or code practical. Therefore, both the students and teacher does not need to install the PHP or third party application and text editor to code and compile. The application needed is the web browser application to access our proposed PHP learning system.