- Published
Mengapa dan Bagaimana: Beralih Dari Frontend ke Machine Learning
- Published
- Gaudhiwaa Hendrasto
Blog ini diperuntukkan untuk berbagi wawasan, sudut pandang, dan pengalaman mengapa dan bagaimana saya beralih dari mendalami Frontend ke Machine Learning. Mulai dari bagaimana saya mulai belajar, sumber pembelajaran, dan apa perbedaan cara kerja di antara keduanya. Mungkin blog ini bisa bermanfaat dan dikhususkan untuk kamu yang ingin beralih karir dengan path yang sama 😄🍀
Daftar Isi
Bagaimana Saya Mulai Belajar Frontend
Awal mula saya belajar mengenai Frontend adalah ketika liburan semester 2, yaitu sekitar bulan Juli tahun 2022 di mana masih zamannya Covid-19 😷 Roadmap belajar Frontend saya mengikuti dari roadmap.sh yang mana cukup memberikan saya gambaran secara bertahap apa yang harus saya pelajari. Sebagai orang yang sama sekali belum pernah ngoding saat sebelum kuliah, saya bener-bener menikmati proses pembelajaran saya. Untuk HTML, CSS, dan JavaScript full saya belajar dari Youtube-nya Pak Sandhika Galih. Penjelasannya memang benar-benar patut diacungi jempol 👍 Saya sambil buat project kecil-kecilan seperti To Do List dan Pomodoro Timer untuk lebih memahami apa yang disampaikan. Oh ya, saya juga ditemani beberapa teman saya selama belajar:

Berkat bantuan mereka, saya hanya butuh waktu sekitar 1,5 bulan untuk belajar HTML, CSS, dan JavaScript dan sedikit React Js. Btw, server ini namanya "The Study Lions", banyak orang luar negeri dari berbagai jurusan belajar bareng. Tapi terakhir saya cek, servernya sudah tutup 😢 Ini tampilan meja belajar saya waktu itu:

Setelah belajar sekitar 1,5 bulan saya memutuskan untuk berhenti belajar sejenak (beristirahat), karena pada saat itu sebenarnya masih libur semester. Sebetulnya saja juga agak jenuh setelah belajar sekian lama, dan butuh tantangan baru. Saya akhirnya memutuskan untuk persiapin CV dan nekat apply ke beberapa perusahaan, berharap ada satu perusahaan yang nyangkut 😅 Alhamdulliah, saya diterima di Kodingworks perusahaan Software as a Service (SaaS) di Semarang, Jawa Tengah. Karena waktu itu masih Covid jadinya masih banyak lowongan internship yang full-remote.
Karena di perusahaan ini Frontend nya pakai React Js, saya beli course di Udemy: Modern React with Redux untuk belajar React Js lebih dalam. Kapan lagi sambil belajar digaji? Enak banget kan? 😁 Waktu saya mulai masuk project, struktur code dan foldernya bener-bener beda dengan apa yang saya pelajari. Lebih advanced, dan ga ada yang namanya hard code. Di situ saya berusaha untuk memahami code orang lain, sekaligus belajar tentang Git dan CSS Framework (waktu itu pakainya Material UI).
Salah satu project yang pernah saya kerjakan itu pentone.id dan beberapa project lainnya. Sampai pada akhirnya saya mencoba buat aplikasi E-Commerce Full Stack: React + Node Js di semester 4 untuk tugas mata kuliah, namanya SiMangan. Hingga saat ini saya tetap bermain dengan Frontend.
Sumber Belajar Frontend
- Roadmap: roadmap.sh
- HTML, CSS, JS: Sandhika Galih
- React Js: Udemy: Modern React with Redux
- Internship
Mengapa Saya Beralih ke Machine Learning?
Lebih tepatnya bukan beralih, tetapi lebih mendalami hal yang lain dibandingkan React Js. Di waktu luang, saya tetap mengembangkan Frontend, termasuk blog ini. Walaupun saya ga jago-jago banget, tetapi saya merasa semakin lama Frontend ini cukup repetitif. Terlebih perkembangan AI cukup pesat dan cukup menghawatirkan buat saya. Oleh karena itu saya butuh tantangan baru untuk membuka opsi saya lainnya. Mumpung masih kuliah ya, kan? 🤔
Bagaimana Saya Mulai Belajar Machine Learning
Secara garis besar, beberapa mata kuliah sangat membantu saya dalam mempelajari Machine Learning. Saya mulai belajar AI dari mata kuliah Kecerdasan Buatan (semester 4), kemudian dilanjutkan belajar Machine Learning di mata kuliah Kecerdasan Komputasional (semester 5), belajar Machine Learning dan Deep Learning di Bangkit Academy (semester 6), hingga yang terakhir saya belajar mata kuliah Pemrograman Data Sains Terapan (semester 7).
Singkatnya di semester 4 dan semester 5, saya belajar dasar-dasar dari Machine Learning seperti pada blog Konsep Dasar Kecerdasan Buatan (AI), Machine Learning, dan Deep Learning. Selain itu saya juga belajar mengenai undersampling, oversampling, encoding, decoding, beberapa algoritma dasar, normalisasi, EDA, cross-validation, metrik evaluasi, preprocessing dll.
Di semester 6, saya memiliki kesempatan untuk belajar di Bangkit Academy. Di sini saya belajar Machine Learning dari A-Z secara mendasar. Mengulang Python, Git, dan beberapa materi Machine Learning. Saya belajar tentang matematika-nya Machine Learning, arsitektur Deep Learning, hyperparameter tuning, dasar-dasar NLP, Computer Vision dll. Kebanyakan materi yang dipelajari dari Coursera. Setiap minggu ada dua kelas online, yaitu kelas softskill atau teknikal dan kelas mentoring. Oh ya, ada kelas bahasa inggris juga! Di minggu-minggu akhir kita akan berkelompok dengan 5 orang lainnya untuk menyelesaikan project capstone. Saat itu saya terpaksa menangani Android, Cloud Computing Machine Learning, sampai UI/UX 😪⬇️
Setelah program Bangkit Academy selesai, saya mencoba untuk mendaftar dua lomba yang cukup terkenal di kalangan mahasiswa Teknik Informatika, yakni Gemastik (Data Mining) dan Satria Data (Big Data Challenge). Dalam lomba Gemastik kami mengajukan ide Mendeteksi Kondisi Kesehatan Mental Pengguna Twitter menggunakan NLP, sedangkan Satria Data kami diminta untuk menyelesaikan permasalahan Deteksi Plat Nomor Kendaraan. Sayangnya untuk lomba Gemastik kami tidak lolos, tetapi untuk lomba Satria Data akurasi model kami mencapai 98,1% dan masuk ke dalam tahap final bersama dengan 20 tim lainnya. Horay!🥳
Di dalam tahap final, kami diminta untuk menyelesaikan permasalahan Deteksi Ketidakselarasan Undang-undang Republik Indonesia. Tim kami terdiri dari saya, Surya Abdillah, dan Davian Benito. Pengerjaan ini hanya diberi waktu dua minggu, di mana kami harus mengekstrak pasal dan ayat dari PDF dan membuat model Machine Learning. Pada akhirnya kami pergi ke Universitas Brawijaya Malang untuk bertemu finalis lainnya, serta mempresentasikan hasil kerja kami.


Singkat cerita kami harus mengakui kehebatan IPB sebagai juara umum Satria Data 2023, serta UI sebagai juara 1 kategori Big Data Challenge. Tetapi, pengalaman ini membuat saya semakin mantap untuk belajar Machine Learning 🔥
Setelah selesai lomba, di semester 7 saya melanjutkan Kerja Praktik di Lab Manajemen Cerdas Informasi ITS untuk menyelesaikan proyek Sentimen Analisis dengan Ekpansi Kueri menggunakan YAKE dan FastText. Selain itu saya mengikuti mata kuliah Pemrograman Data Sains Terapan, mengerjakan YOLOv7: Deteksi Objek Pemain Sepak Bola dan Prediksi Saham Berdasarkan Data Historis dan Berita.
Dan ya, sampai sekarang masih terus belajar.. 👨💻
Sumber Belajar Machine Learning
- Mata Kuliah Kecerdasan Buatan
- Mata Kuliah Kecerdasan Komputasional
- Bangkit Academy
- Mata Kuliah Pemrograman Data Sains Terapan
- Kerja Praktik
Perbedaan Cara Kerja Frontend dan Machine Learning
Aspek | Frontend | Machine Learning |
---|---|---|
Tugas Utama | Mengembangkan antarmuka pengguna (UI/UX) dan mengolah data API dari Backend | Menganalisis data dan mengembangkan model Machine Learning yang akurat dan efisien |
Bahasa Pemrograman | JavaScript, TypeScript | Python, R |
Fokus Utama | Pengalaman Pengguna | Akurasi model, mendapatkan wawasan, dan memecahkan masalah |
Tech Stack | HTML, CSS, JavaScript, Framework Frontend (contoh: React, Angular), Framework CSS (contoh: Material UI, Tailwind) | Python, Framework Machine Learning (contoh: Tensorflow, PyTorch, Scikit-learn), Pandas, Numpy, Matplotlib, Seaborn, Tools Deployment (contoh: Tensorflow Lite, Flask, Google Cloud) |
Ini beberapa hal yang setidaknya perlu diketahui sebelum switch ke Machine Learning:
- Terbiasa dengan baca dan menulis paper📝
Untuk bisa mendapatkan hasil model yang optimal, perlu punya beberapa referensi untuk dijadikan acuan dalam memilih metodologi (pendekatan untuk membuat model atau menyelesaikan masalah). Salah satunya adalah paper.
Dengan paper kita jadi lebih paham dengan permasalahan yang kita hadapi, berdasarkan penelitian-penelitian terdahulu yang relevan. Ada baiknya kalau kita juga bisa nulis. Di mana nantinya bisa dikembangkan lebih lanjut dalam penelitian-penelitian berikutnya.
- Metodologi (pendekatan) adalah segalanya
Pendekatan untuk membuat model, seperti pengumpulan dataset, analisis data, penggunaan preprocessing, proses anotasi dataset, pemilihan algoritma dll. sangat-sangat krusial! Oleh karena itu harus banyak referensi dan juga eksperimen!
- Banyak bereksperimen🧑🔬
Eksperimen penting untuk dicoba agar mencapai akurasi dan minimum error model yang optimal. Parameter tuning, percobaan preprocessing, algoritma dll. patut dicoba!😬
- Di dalam AI sendiri banyak expertise-nya
Beberapa implementasi keahlian dalam AI/ML/DL ada Natural Language Processing (NLP), Computer Vision, Robotika, Speech Recognition, Peramalan (Forecasting) dll. Belum tentu kalau jago di NLP bisa jago di Computer Vision, ataupun sebaliknya. Kenapa? Karena pendekatan untuk mengolah dataset gambar dan teks itu beda. Begitu pula dengan implementasi lainnya🥂
- Data, data, data! 📊
Sebelum memulai project lebih dulu mengetahui apakah datanya tersedia? Bagaimana cara mendapatkan datanya? Apakah kualitas datanya cukup bagus untuk dibuat model? Sebab data adalah sumber daya utama.