Aplikasi Forum Online dengan Web-Services tentang Pengenalan Bahasa Pemrograman

ISSN: 1978-1520

  13

  

Aplikasi Forum Online dengan Web-Services tentang

Pengenalan Bahasa Pemrograman

1 2 Stephanie Bj Parera , Andrew Liem

  Universitas Klabat; Jalan A. Mononutu Program Studi Teknik Informatika, Fakultas Ilmu Komputer UNKLAB, Manado 1 2 e-mail: 11310404@student.unklab.ac.id, andrew.heriyana@unklab.ac.id

  

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.

  

KeywordsProgramming, online forum, introduction to programming language, web services.

st th th

  

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 tingkat dropout yang tinggi [2].

  Tabel I - Kesulitan dalam belajar pemrograman[3].

  Jenis-jenis kesulitan Rata-rata Memahami konsep dasar dari

  3.40 struktur programming Merancang program untuk

  3.36 menyelesaikan tugas Mempelajari sintaks bahasa

  3.35 pemrograman Mendapat akses ke sebuah

  3.33 komputer Menggunakan lingkungan

  3.22 pengembangan program Mencari bugs dari program

  3.19 sendiri 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 berbagai platform seperti: Windows, Android dan IOS, membuat user kesulitan dalam mengakses aplikasi yang hanya dibuat untuk satu platform saja. Untuk mendukung penggunaan forum pada berbagai platform (multiplatform), maka peneliti menggunakan teknologi web services. Teknologi web service menawarkan kemudahan untuk berbagi informasi tanpa mempermasalahkan perbedaan teknologi atau platform yang digunakan oleh user. Web

  

service diartikan 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 smartphone berbasis 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:

  1. Students’ level of knowledge construction and cognitive skills in an online forum learning environment [5].

   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 mengajarkan programming 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 dalam programming tapi juga dalam pelajaran lain yang membutuhkan pemikiran yang logikal dan penyelesaian masalah. Hasil dari penelitian ini menarik karena anak-anak belum mengetahui konsep shortest path tapi mereka sudah bisa membuat navigasi sederhana untuk robot untuk melalui sebuah labirin. Berdasarkan kedua penelitian terkait di atas maka didapati bahwa forum online adalah media yang sesuai untuk pembelajaran. Melalui forum, siswa maupun orang awam dapat berpartisipasi secara aktif dalam hal memahami suatu hal. Forum online dapat 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

  

online yang 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 Dalam penelitian ini, peneliti menggunakan metode Rekayasa Perangkat Lunak (RPL).

  Menurut Pressman [7] metode rekayasa perangkat lunak adalah suatu strategi pengembangan yang memadukan proses, metode dan tools. Metode ini mencakup analisis kebutuhan, konstruksi program, desain, pengujian dan pemeliharaan. Dalam penelitian ini, peneliti menggunakan model

  

Prototyping yang merupakan salah satu model dari rekayasa perangkat lunak. Alasan peneliti

  memilih model Prototyping karena dalam model ini peneliti tetap bisa melanjutkan ke langkah selanjutnya walaupun requirement atau kebutuhan peneliti masih kurang lengkap. Model ini juga memungkinkan peneliti dapat kembali ke proses awal apabila terjadi perubahan atau hasilnya belum sesuai.

  

  Gambar 1 Flowchart langkah-langkah penelitian menggunakan model prototyping Gambar 1 menjelaskan tentang langkah-langkah yang dilakukan peneliti dengan menggunakan model prototyping. Ada lima langkah dalam model prototyping 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 requirement dalam 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 menggunakan Unified Modeling Language (UML) sebagai tool untuk analisa dan perancangan aplikasi.

  2. Perancangan : Pada tahap ini, peneliti membuat prototipe rancangan database dan interface

  website dari forum online. Prototipe rancangan dibuat berdasarkan data yang telah dikumpulkan.

  3. Pembuatan prototipe : Tahap ketiga, peneliti mencoba untuk membuat tampilan prototipe forum online sesuai dengan rancangan yang telah dibuat dan tools yang sudah diperoleh di tahap sebelumnya. Forum online 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), dan Javascript. Pengkodean juga dilakukan

  dengan menggunakan AngularJS sebagai framework Javascript dan Ionic sebagai framework HTML dan CSS. Pada tahap ini juga peneliti mulai membuat database yang digunakan untuk menyimpan data. Database yang digunakan yaitu MySQL.

  5. Pengujian : Tahap terakhir, peneliti menguji dan menganalisa apakah prototipe yang dibuat sudah sesuai dengan tujuan atau tidak. Jika prototipe yang dihasilkan belum sesuai maka peneliti kembali ke langkah awal atau langkah sebelumnya.

  

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.

  (a)

   (b) (c) (d)

  Gambar 2 (a) Use case untuk Guest ; (b) Use case untuk Admin ; (c) Use case untuk Forum member ; (d) Use case untuk Moderator

   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 halaman Guest bagi 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 menu Sign Up. 4. fillForm. Pada halaman sign 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 forum online. 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.

  23. viewModerator. Database menampilkan daftar pengguna yang berstatus sebagai moderator. 24. logout. Pengguna akan keluar aplikasi dan langsung kembali ke halaman awal forum.

  

  Implementasi dari penelitian ini belum terpasang ke dalam smartphone dan 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) Halaman guest ; (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 halaman Guest. 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) Daftar thread yang ada ; (b) Form untuk add new thread ; (c) Thread detail dan komentar pada sebuah thread

   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

  Peneliti menyadari bahwa masih banyak kekurangan pada penelitian ini. Oleh karena itu, pada bagian ini peneliti memiliki beberapa saran untuk pengembangan selanjutnya dari penelitian ini. Saran-saran tersebut adalah sebagai berikut.

  

  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 fitur search 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] 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, [3] ACM Inroads, 2(4), 71-76. [4] Laksito, A.D., 2010, Implementasi Web-Service Pada Aplikasi Pengisian Kartu Rencana Studi Mahasiswa, Jurnal DASI. [5] 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. [7] Pressman, R.S., 2002, Rekayasa Perangkat Lunak (Pendekatan Praktis), Yogyakarta : Andi.