Perkembangan teknologi yang begitu pesat menuntut para developer untuk terus beradaptasi dengan perubahan. Salah satu perubahan signifikan terbaru adalah rilisnya ESLint versi 9. Sebagai platform pembelajaran online, Dicoding selalu berusaha untuk menyediakan materi dan alat bantu terbaik bagi para siswa. Melalui feedback yang konstruktif dari siswa, kami menemukan bahwa update ESLint ini membawa tantangan tersendiri dalam proses belajar mengajar.
Pentingnya Feedback dalam Pembelajaran Online
Feedback dari siswa adalah elemen krusial dalam pengembangan platform pembelajaran. Dengan mendengarkan suara siswa, kami dapat memahami kebutuhan mereka dan melakukan penyesuaian yang diperlukan. Feedback berkualitas tidak hanya membantu meningkatkan pengalaman belajar, tetapi juga mendorong inovasi yang bermanfaat bagi komunitas yang lebih luas.
Statistik Feedback di Dicoding
Pemberian umpan balik siswa dari bulan ke bulan menunjukkan antusiasme yang luar biasa besar kepada kelas-kelas Dicoding. Per artikel ini diunggah, sudah ada lebih dari 473.350+ feedback telah tercatat dalam sistem dengan rata-rata rating mencapai sebesar 4.86.
đź’» Mulai Belajar Pemrograman
Belajar pemrograman di Dicoding Academy dan mulai perjalanan Anda sebagai developer profesional.
Daftar SekarangFeedback Pilihan Dicoding
Kami menerima banyak feedback dari siswa yang mengalami kesulitan setelah update ESLint 9 dirilis. Mereka melaporkan bahwa konfigurasi ESLint yang biasa digunakan tidak lagi berfungsi dengan baik. Terutama, plugin ESLint untuk React dan penggunaan style guide populer, seperti AirBnB Code Style, menghadapi masalah kompatibilitas.
Salah satu umpan balik terkait ini diperoleh dari Sia Kevin Septian Saputra yang belajar di kelas Menjadi React Web Developer Expert.
Meski feedback kuantitatif beliau memberikan nilai penuh, tetapi feedback kualitatif beliau mengkritik versi ESLint yang digunakan di materi kelas. Feedback ini sangat berarti bagi kami. Dengan penjelasan tersebut, siswa membantu kami memahami masalah yang mereka hadapi. Hal ini mendorong kami untuk mencari solusi yang tidak hanya mengatasi masalah tersebut, tetapi juga meningkatkan kualitas pembelajaran di Dicoding.
Di samping feedback terkait ESLint, kami melihat ada dua feedback konstruktif menarik yang masuk selama bulan November 2024.
“Saya merasa sangat puas dengan adanya kelas Dasar Data Science ini. Materi disusun secara sistematis, sudah dilengkapi dengan contoh kasus, forum diskusi, latihan, dan exam yang membantu user untuk belajar dan menguji kemampuan. Mungkin untuk saran ke depannya, pada latihan case bisa ditambahkan lebih dari 1 case ya.” – Devi Putri Intansari feedback untuk kelas Belajar Dasar Data Science.
“Materi sudah sangat disusun dengan rapi dan jelas, sehingga dapat dengan mudah mengikuti kelas. Walaupun materinya menurut saya cukup sulit tapi dicoding sudah menyusun materi dengan sangat baik. Good job dicoding! “ – Emir Othman Jordan feedback untuk kelas Belajar Fundamental Aplikasi Android.
Terima kasih Sia Kevin Septian Saputra, Devi Putri Intansari, dan Emir Othman Jordan yang telah memberikan feedback yang konstruktif!
Secara umum, constructive feedback mampu menciptakan budaya pembelajaran berkelanjutan (continuous learning) untuk kedua belah pihak. Lebih rinci lagi, bagi penerima umpan balik, ini memberikan mereka wawasan tentang keunggulan dan area yang perlu ditingkatkan, serta meningkatkan kualitas dan kepercayaan diri. Di sisi lain, pemberi umpan balik dapat mengasah kemampuan berpikir kritis, berkomunikasi dengan cara yang positif, dan secara tidak langsung memberikan dampak positif bagi orang lain.
Sekarang mari kita lihat tindak lanjut terhadap feedback yang datang terhadap kami.
Tantangan dalam Menghadapi Update ESLint 9
Saat menginjak versi 8, ESLint mendukung dua format konfigurasi yaitu eslintrc dan flat config (JavaScript module). Flat config adalah cara yang relatif baru karena dihadirkan untuk mengurangi kompleksitas konfigurasi ESLint yang ditimbulkan oleh format eslintrc. Bahkan, kita dapat menambah eslintConfig dalam package.json untuk membuat konfigurasinya.
Sejak ESLint meluncurkan versi 9, format eslintrc menjadi usang dan flat config adalah cara utama dalam menulis konfigurasi ESLint. Tentunya ini sangat mempengaruhi masalah kompatibilitas penggunaan JavaScript style guide eksternal dalam proyek.
Keterbatasan AirBnB Code Style dengan Flat Config
Salah satu JavaScript style guide eksternal terkenal dan sering kami ajarkan adalah AirBnB Code Style. Style guide ini sangat mudah diimplementasikan melalui perintah npx eslint –init. Namun, dengan ESLint 9 yang memperkenalkan flat config, AirBnB belum menyediakan dukungan penuh. Ini membuat konfigurasi linting menjadi lebih kompleks bagi siswa dan developer.
Menanggapi situasi ini, tim Dicoding segera melakukan evaluasi mendalam terhadap feedback yang masuk. Kami menyadari bahwa masalah ini berdampak langsung pada pengalaman belajar siswa dan perlu segera diatasi.
Setelah mempertimbangkan berbagai opsi, kami memutuskan untuk mengembangkan Style Guide JavaScript Dicoding Academy. Tujuannya adalah menyediakan panduan gaya penulisan kode yang kompatibel dengan ESLint 8 dan 9, serta mudah diimplementasikan oleh siswa.
Plugin ESLint untuk React Belum Siap
Tantangan lain yang kami hadapi adalah plugin ESLint untuk React yang belum sepenuhnya kompatibel dengan ESLint 9. Hal ini menyebabkan linting pada proyek React menjadi bermasalah sehingga menghambat proses pengembangan dan pembelajaran siswa.
Mengembangkan Style Guide JavaScript Dicoding
Solusi yang kami lakukan untuk menghadapi perubahan ESLint 9 adalah membangun style guide sendiri. Ini kami namai eslint-config-dicodingacademy. Style guide ini dirancang untuk:
- mempermudah proses linting bagi siswa dan developer,
- menyediakan standar penulisan kode yang konsisten dalam ekosistem Dicoding, dan
- mengatasi keterbatasan yang muncul akibat update ESLint 9.
Style guide ini dirancang agar kompatibel dengan kedua versi ESLint. Hal ini memastikan siswa yang masih menggunakan ESLint 8 atau sudah beralih ke ESLint 9 dapat tetap menggunakan panduan ini tanpa hambatan.
Kami menyediakan dokumentasi lengkap dan langkah-langkah instalasi yang sederhana. Dengan demikian, siswa dapat mengintegrasikan style guide ini ke dalam proyek mereka dengan mudah.
Style guide ini bersifat open source. Kami mengundang siapa saja untuk berkontribusi dalam pengembangan lebih lanjut seperti:
- membuat issue jika menemukan bug atau memiliki saran,
- mengajukan pull request untuk perbaikan atau penambahan fitur, dan
- berpartisipasi dalam diskusi untuk pengembangan lebih lanjut.
Hingga saat ini, lebih dari 300 siswa telah mengintegrasikan style guide ini ke dalam proyek mereka. Angka ini terus bertambah seiring dengan peningkatan kesadaran dan kemudahan penggunaannya.
Solusi ESLint Plugin untuk React
Dalam pengembangannya, kami melibatkan tim internal dan komunitas open source. Kami menggunakan versi release candidate untuk plugin React dan melakukan penyesuaian agar style guide ini kompatibel dengan flat config pada ESLint 9.
Implementasi Style Guide di Lingkungan Dicoding
Secara internal, kami telah menerapkan style guide ini dalam kelas-kelas dan aplikasi yang dikembangkan oleh Dicoding, termasuk autograder dan proyek lainnya. Hal ini membantu menjaga konsistensi dan kualitas kode.
Kesimpulan
Perjalanan dari feedback siswa ke inovasi ini menunjukkan pentingnya mendengarkan dan merespons kebutuhan pengguna. Dengan mengembangkan Style Guide JavaScript Dicoding, kami berharap dapat membantu siswa dan developer untuk menghadapi tantangan update ESLint 9 serta meningkatkan kualitas kode mereka.
Kami berkomitmen untuk terus mendukung proses belajar Anda dan terbuka terhadap feedback yang membangun. Pemilihan feedback terbaik akan kami lanjutkan bulan depan. Umpan balik terpilih akan diunggah ke media sosial dan penulisnya akan mendapatkan akses kelas gratis! Hadiah dari Dicoding yang besar, bukan? Jadi, tunggu apa lagi? Berikan feedback konstruktif terbaikmu setelah belajar di kelas Dicoding! Siapa tahu, feedback-mu jadi “feedback of the month”. Mari bersama-sama menciptakan ekosistem pembelajaran dan pengembangan yang lebih baik.