Aplikasi Forum Online dengan Web-Services tentang
Pengenalan Bahasa Pemrograman
Stephanie Bj Parera1, Andrew Liem2 Universitas Klabat; Jalan A. Mononutu
Program Studi Teknik Informatika, Fakultas Ilmu Komputer UNKLAB, Manado e-mail:1[email protected],2[email protected]
Abstrak
Forum online merupakan salah satu sarana yang banyak digunakan orang, dimana pengguna bisa saling berbagi informasi dengan melakukan tanya jawab tentang topic yang berbeda-beda. Ada juga forum tertentu yang berfokus pada satu bidang saja seperti programming. Meskipun telah tersedia banyak media, namun masih banyak pengguna internet yang kesulitan belajar karena kendala perbedaan perangkat dan sistem operasi. Oleh karena itu, penelitian ini bertujuan untuk membantu pengguna dalam mengenal bahasa pemrograman. Penelitian ini berbentuk aplikasi forum online dimana pengguna dapat berbagi informasi dengan membuat sebuah thread baru atau memberi respon terhadap thread yang sudah ada. Aplikasi ini menggunakan teknologi web services sehingga memungkinkan pengguna untuk mengaksesnya dari perangkat atau sistem operasi yang berbeda. Pada penelitian ini digunakan proses model prototyping untuk mengembangkan aplikasi forum online. Dalam pengumpulan data, peneliti menggunakan observasi langsung dan studi pustaka. Peneliti juga menggunakan framework Angular JS dan Code Igniter dalam pengkodean aplikasi dan memungkinkan aplikasi diakses dari perangkat mobile dan desktop.
Kata kunci—Pemrograman,forum online, pengenalan bahasa pemrograman,web services.
Abstract
Online forum is one of the tools that many people use. In forum, user can share information by conducting question and answer about different topics. There is also specific forum that only focus on one area such as programming. Levels of learning is also divided into several categories, start from the beginner to advanced exercises. Although there are already a lot of learning media, and yet there are still many internet users who have difficulty in learning because of the differences devices and operating systems. Therefore, this research aims to aid user to get to know about programming language. This research is in the form of online forum, in which user can share information, creating a new thread of respond to an existing thread. This application uses web services technology, allowing users to access them from different devices and operating systems. In this research, prototyping model is used to develop online forum application. Observation and literature review were used for data collection. In order to collect data researcher used direct observation and literature. Moreover, Angular JS framework and Code Igniter were used during coding the application, enabling this application to be accessible from mobile devices and desktop.
IJCCSVol. x, No. x, July201x : first_page–end_page 1. PENDAHULUAN
Pemrograman pada dasarnya adalah proses menerjemahkan dari bahasa yang menyenangkan bagi manusia ke bahasa yang menyenangkan bagi komputer [1]. Pemrograman meliputi pengetahuan terhadap alat-alat dan bahasa pemrograman, kemampuan utnuk menyelesaikan masalah dan strategi yang efektif dalam merancang program dan implementasi. Orang yang belajar konsep pemrograman akan lebih mudah untuk menyelesaikan suatu masalah [2]. Belajar pemrograman umumnya dianggap susah dan kursus pemrograman sering memiliki tingkatdropoutyang tinggi [2].
Tabel I - Kesulitan dalam belajar pemrograman[3]. Jenis-jenis kesulitan Rata-rata Memahami konsep dasar dari
strukturprogramming
Mendapat akses ke sebuah komputer
Tabel I menunjukkan tentang kesulitan yang dihadapi dalam belajar pemrograman. Survei dilakukan terhadap 105 responden yang merupakan mahasiswa tingkat dua khususnya yang mengambil kelas Fundamental Programming, dengan menggunakan 5 poin Likert scale (1, Sangat tidak setuju; 2, Tidak setuju; 3, Netral; 4, Setuju; 5, Sangat setuju). Kesulitan belajar pemrograman responden dapat dilihat dari nilai rata-rata yang diperoleh, semakin besar nilainya maka semakin banyak responden yang mengalami kesulitan. Pada tabel I.1 dapat dilihat bahwa kesulitan yang paling besar presentasinya yaitu kesulitan dalam memahami dasar-dasar pemrograman (3,40).
Munculnya berbagaiplatformseperti: Windows, Android dan IOS, membuatuserkesulitan dalam mengakses aplikasi yang hanya dibuat untuk satu platform saja. Untuk mendukung penggunaan forum pada berbagai platform (multiplatform), maka peneliti menggunakan teknologiweb services. Teknologiweb servicemenawarkan kemudahan untuk berbagi informasi tanpa mempermasalahkan perbedaan teknologi atau platform yang digunakan oleh user. Web servicediartikan sebagai sebuah antarmuka yang menggambarkan sekumpulan operasi-operasi yang dapat diakses oleh siapa saja, kapan saja dengan menggunakan perangkat apa saja, tidak terikat dengan sistem operasi atau bahasa pemrograman yang digunakan [4].
Dalam penelitian ini, peneliti membuat sebuah aplikasi berbentuk forum online yang menggunakan web-services sehingga dapat diakses melalui smartphoneberbasis Android dan IOS. Informasi yang disediakan oleh aplikasi ini hanya sebatas pengenalan pemrograman kepada user. Untuk mendukung pengembangan aplikasi, peneliti menggunakan studi pustaka dan observasi sebagai teknik pengumpulan data. Data yang dicari berupa penelitian terkait, materi pengenalan bahasa pemrograman, dan cara membuat aplikasi forum online. Peneliti mendapati ada beberapa penelitian yang bisa dijadikan pedoman atau acuan dalam membangun penelitian ini, antara lain:
Penelitian ini bertujuan untuk menganalisa dan mengukur sejauh mana dampak penggunaan forum online terhadap pengetahuan dan cognitive skills dari mahasiswa. Kesimpulan dari penelitian ini adalah analisa konten adalah cara yang efektif untuk menganalisa partisipasi mahasiswa dalam forum online dengan menguji kontribusi para mahasiswa dalam diskusi. Partisipasi yang telah diberikan oleh para mahasiswa menjadi informasi yang berharga bagi peneliti karena dapat mengetahui kemajuan yang dialami para mahasiswa dalam berkolaborasi dan pemahaman mahasiswa terhadap sebuah topik dalam forum.
2. Introducing basic programming concepts to elementary school children[6]
Penelitian ini berfokus pada pendekatan yang dilakukan untuk mengajarkanprogramming kepada anak-anak, sehingga anak-anak SD dapat mengadopsi konsep penyelesaian masalah dalam aktivitasnya sehari-hari. Konsep penyelesaian masalah dapat membantu anak-anak pada pendidikan selanjutnya, tidak hanya dalamprogrammingtapi juga dalam pelajaran lain yang membutuhkan pemikiran yang logikal dan penyelesaian masalah. Hasil dari penelitian ini menarik karena anak-anak belum mengetahui konsepshortest pathtapi mereka sudah bisa membuat navigasi sederhana untuk robot untuk melalui sebuah labirin. Berdasarkan kedua penelitian terkait di atas maka didapati bahwa forumonlineadalah media yang sesuai untuk pembelajaran. Melalui forum, siswa maupun orang awam dapat berpartisipasi secara aktif dalam hal memahami suatu hal. Forumonlinedapat digunakan sebagai media pembelajaran dalam hal ini belajar pemrograman. Dalam mempelajari pemrograman, dibutuhkan pemahaman terhadap dasar-dasar pemrograman. Penelitian ini bertujuan untuk membangun sebuah forum onlineyang bisa membantu orang dalam mempelajari pemrograman. Fokus dari forum ini adalah pemahaman terhadap dasar-dasar pemrograman. Pemrograman bukan hal yang sulit untuk dipahami. Pemrograman dapat mulai diajari dari masa kanak-kanak dan bisa dipelajari oleh semua umur.
2. METODE PENELITIAN
IJCCSVol. x, No. x, July201x : first_page–end_page
Gambar 1 Flowchart langkah-langkah penelitian menggunakan model prototyping Gambar 1 menjelaskan tentang langkah-langkah yang dilakukan peneliti dengan menggunakan modelprototyping. Ada lima langkah dalam modelprototyping yang digunakan oleh peneliti dalam penelitian ini. Langkah-langkah tersebut adalah sebagai berikut.
1. Analisa dan pengumpulan data : Pada langkah pertama, peneliti menganalisa data apa yang menjadi requirementdalam perancangan aplikasi ini. Kemudian peneliti mengumpulkan data sesuai analisa yang telah dilakukan. Dalam proses pengumpulan data, peneliti menggunakan metode observasi langsung dan studi pustaka. Observasi adalah proses pengamatan atau pemantauan terhadap suatu objek atau masalah berdasarkan pengetahuan dan gagasan yang sudah diketahui sebelumnya. peneliti melakukan observasi langsung terhadap cara belajar dan mengajar yang terjadi di Universitas Klabat. Selain observasi, peneliti juga menggunakan studi pustaka yang merupakan metode dalam pengumpulan data dengan cara mengumpulkan data dari literatur yang terkait dengna penelitian ini. Peneliti menggunakanUnified Modeling Language(UML) sebagaitooluntuk analisa dan perancangan aplikasi.
2. Perancangan : Pada tahap ini, peneliti membuat prototipe rancangan database daninterface website dari forum online. Prototipe rancangan dibuat berdasarkan data yang telah dikumpulkan.
3. Pembuatan prototipe : Tahap ketiga, peneliti mencoba untuk membuat tampilan prototipe forumonlinesesuai dengan rancangan yang telah dibuat dantoolsyang sudah diperoleh di tahap sebelumnya. Forumonline yang dibuat dalam tahap ini belum bisa diakses secara online.
4. Pengkodean aplikasi : Setelah melewati tahap pembuatan prototipe maka tahap selanjutnya yaitu tahap pengkodean aplikasi forum online yang menggunakan bahasa pemrograman PHP,HyperText Markup Language(HTML), danJavascript. Pengkodean juga dilakukan dengan menggunakan AngularJS sebagai framework Javascript dan Ionic sebagai framework HTML dan CSS. Pada tahap ini juga peneliti mulai membuat databaseyang digunakan untuk menyimpan data.Databaseyang digunakan yaitu MySQL.
3. HASIL DAN PEMBAHASAN
Untuk menggambarkan model dari aplikasi ini, peneliti menggunakan rancangan UML khususnya Use Case diagram yang dibagi sesuai dengan klasifikasi pengguna dalam forum. Terdapat empat use case diagram yaitu use case diagram untuk Guest, use case diagram untuk forum member, use case diagram untuk moderator dan terakhir adalah use case diagram untuk Admin.
IJCCSVol. x, No. x, July201x : first_page–end_page
(b)
(c)
(d)
Gambar 2(a) – (d) adalah use case diagram dari empat klasifikasi pengguna yang ada pada aplikasi ini. Masing-masing jenis pengguna memiliki fiturnya sendiri tapi ada juga yang memiliki fitur yang sama dengan jenis pengguna lain. Penjelasan dari setiap fitur adalah sebagai berikut. 1. Login. Pengguna dianjurkan untuk mendaftar sebagai anggota forum terlebih dahulu,
karena hanya tersedia beberapa fitur saja bagi pengguna yang login menggunakan akun guest. Tersedia halamanGuestbagi pengguna yang belum memiliki akun. Ketika halaman dibuka, maka pengguna akan diberikan username atau nama dan password untuk login. Untuk pengguna yang sudah terdaftar sebagai anggota forum atau moderator bisa langsung memasukkan nama dan password untuk dapat masuk ke dalam aplikasi. Khusus untuk admin, admin akan login ke dalam database atau ke dalam komputer dimana terdapat database utama.
2. viewThread. Setelah melakukan proses login pengguna bisa melihat semua thread yang dibuat oleh pengguna lainnya.
3. signUp.Pengguna yang belum terdaftar atau belum memiliki akun harus melakukan proses registrasi terlebih dahulu. Proses registrasi dapat dilakukan dengan memilih menuSign Up. 4. fillForm. Pada halamansign up, pengguna akan diminta untuk mengisi form berupa data
diri dan password yang akan digunakan untuk login.
5. addThread.Anggota forum menambahkan thread yang baru.
6. fillFormAddThtread. Untuk dapat menambahkan thread yang baru, pengguna harus mengisi form yang berisi judul dan isi thread.
7. addComment.Pengguna menambahkan komentar yang baru atas sebuah thread.
8. deleteComment.Menghapus tanggapan atau komentar atas sebuah thread. Hanya komentar yang diberikan oleh anggota forum itu sendiri yang bisa dihapus. Sedangkan untuk moderator, bukan hanya komentar oleh dirinya sendiri yang dapat dihapus melainkan semua komentar yang diberikan oleh pengguna lain pada sebuah thread.
9. viewProfile.Aplikasi menampilkan profil dari pengguna.
10. editProfile.Pengguna dapat memperbaharui informasi yang ada dengan memilih menu ini. 11. fillFormEditProfile. Untuk mengubah informasi dalam profil, pengguna harus mengisi
form untuk edit profile.
12. viewFAQ.Aplikasi menampilkan daftar pertanyaan yagn sering ditanyakan dan jawaban yang tersedia.
13. search. Pengguna bisa mencari sebuah thread dengan kata kunci yang dimasukkan pada kolom search.
14. deleteThread.Moderator bisa menghapus thread yang dibuat oleh moderator itu sendiri dan yang dibuat oleh anggota forum.
15. addFAQ. Moderator adalah orang yang bertanggung jawab dalam membuat daftar FAQ dan bisa menambahkan pertanyaan atau informasi yang baru ke dalam daftar FAQ. 16. fillFormAddFAQ.Untuk menambahkan pertanyaan atau informasi yang baru, moderator
perlu mengisi form yang tersedia untuk menu ini.
17. deleteFAQ.Moderator juga dapat menghapus pertanyaan serta jawaban yang sudah dibuat dalam daftar FAQ.
18. viewUser. Database akan menunjukkan daftar pengguna forum.
19. blockUser.Admin dapat memblokir pengguna yang menurutnya bermasalah.
20. grantAccess. Memberikan akses atau wewenang kepada forum member untuk menjadi moderator dalam forumonline.
21. viewForumMember. Database akan menampilkan pengguna yang sudah melakukan registrasi dan berstatus sebagai anggota forum.
22. revokeAccess. Admin mencabut wewenang yang diberikan pada moderator. Moderator yang dicabut wewenangnya tidak lagi menjadi moderator dan kembali menjadi forum member.
IJCCSVol. x, No. x, July201x : first_page–end_page
Implementasi dari penelitian ini belum terpasang ke dalamsmartphonedan hanya bisa dilihat dari komputer peneliti menggunakan ionic lab maupun web browser yang terhubung dengan Internet. Berikut adalah beberapa hasil screenshot dari aplikasi forum pengenalan bahasa pemrograman UNKLAB.
Gambar 3(a) Halaman utama forum ; (b) Halamanguest; (c) Form Sign Up
Gambar 3(a) adalah tampilan dari halaman utama forum dimana pengguna diminta untuk username dan password untuk dapat login ke dalam aplikasi. Untuk pengguna yang belum memiliki akun dan ingin mencoba aplikasi ini bisa memilih menu Guest, dimana akan langsung diarahkan ke gambar 3(b) yang adalah halamanGuest. Halaman ini berisi username dan password sementara yang bisa digunakan oleh pengguna. Sedangkan bagi pengguna yang ingin bergabung menjadi anggota forum dapat memilih menu Sign Up dan akan mengisi form sign up seperti pada gambar 3(c) yang berisi data diri pengguna.
Gambar 4(a) adalah tampilan dari daftar thread yang ada dalam forum setelah pengguna login. Jika pengguna ingin menambahkan thread yang baru, pengguna dapat memilih tanda ‘+’ dimana pengguna akan diarahkan ke halaman form add thread seperti pada gambar 4(b). Pengguna bisa memberikan komentar pada sebuah thread pada kolom komentar seperti pada gambar 4(c). Komentar-komentar terhadap sebuah thread akan langsung ditampilkan di bawah thread pada halaman Thread Detail.
Gambar 5(a) Daftar FAQ ; (b) Form untuk Add new FAQ ; (c) Halaman FAQ detail Gambar 5(a) adalah tampilan dari halaman FAQ, dimana terdapat judul-judul FAQ yang ada. Pengguna yang sudah terdaftar sebagai anggota forum, hanya bisa melihat daftar, yang memiliki wewenang untuk menambahkan pertanyaan serta jawaban yang baru adalah seorang moderator. Tampilan untuk form add new thread dapat dilihat pada gambar 5(b). Tampilan detail dari sebuah pertanyaan dapat dilihat pada halaman FAQ detail seperti pada gambar 5(c).
4. KESIMPULAN
Berdasarkan hasil yang diperoleh dalam penelitian ini maka peneliti mengambil kesimpulan sebagai berikut.
1. Guest, anggota forum dan moderator dapat mengakses aplikasi dari smartphone sedangkan admin tidak bisa. Admin harus mengakses aplikasi dari perangkat desktop. 2. Pengguna forum yang sudah memiliki akun dapat saling berbagi informasi dengan proses
tanya jawab yang terjadi di dalam forum.
3. Pengguna dapat melihat daftar pertanyaan yang paling sering ditanyakan berkaitan dengan forum di menu FAQ. Pada menu FAQ ini juga pengguna dapat melihat materi pengenalan bahasa pemrograman.
4. Aplikasi ini menggunakan teknologi web-services sehingga bisa diakses oleh perangkat yang memiliki sistem operasi Android maupun IOS.
5. Aplikasi ini membutuhkan jaringan internet untuk dapat diakses.
5. SARAN
IJCCSVol. x, No. x, July201x : first_page–end_page
1. Materi tentang pengenalan bahasa pemrograman dipisah dari fitur FAQ, sehingga pengguna lebih fokus ke satu area saja. Materi juga bisa ditambah dengan latihan soal sehingga bisa membantu proses pembelajaran.
2. Menambahkan fitursearch by category agar pengguna lebih mudah untuk menemukan thread yang dicari sesuai dengan category yang ada.
3. Jumlah bahasa pemrograman yang ada sebaiknya ditambah sesuai dengan permintaan pengguna.
4. Adanya fitur pesan kepada admin agar supaya para pengguna dapat mengirim pesan kepada admin bila terjadi pelanggaran atau ketidaknyaman dalam forum.
DAFTAR PUSTAKA
[1] Blackwell, A.F., 2002, What is Programming?, 14th workshop of the Psychology of Programming Interest Group, University of Cambridge Computer Laboratory, pp. 204-218.
[2]
[3]
Pea, R.D dan Kurland, D.M., 1984., On the Cognitive Effects of Learning Computer Programming, New Ideas Psychol. Vol.2 No. 2 pp. 137-168.
Yadin, A., 2011, Reducing the dropout rate in an introductory programming course, ACM Inroads, 2(4), 71-76.
[4]
[5]
Laksito, A.D., 2010, Implementasi Web-Service Pada Aplikasi Pengisian Kartu Rencana Studi Mahasiswa, Jurnal DASI.
Roseli, M.H.M dan Umar, I.N., 2015, Students’ levels of knowledge construction and cognitive skills in an online forum learning environment, Procedia – Social and Behavioral Sciences 197.
[6] Zaharija, G, Mladenovic, S, dan Boljat, I., 2013, Introducing basic programming concepts to elementary school children, Procedia – Social and Behavioral Science 106, 1576-1584.