Sunday, June 6, 2021

Semester 6: The Most Chaotic Semester, But I Survived!

Hallo para pembaca semua! Setelah semester 6 ditutup dengan UAS Socif, akhirnya dengan resmi aku sudah berhasil melalui rangkaian event di semester 6 ini dengan baik dan lancar. Sesuai dengan judulnya, disini aku memberikan judul "Semester 6: The Most Chaotic Semester". Ingin tahu mengapa? Anda akan menemukan jawabannya dari kumpulan narasi yang aku tuangkan dalam bentuk beberapa paragraf di bawah ini.

Ketika aku masih di tingkat 2 (semester 3 dan semester 4) katingku selalu berkata bahwa tingkat 2 bukanlah apa-apa apabila dibandingkan dengan tingkat 3. Apalagi di STEI, dimana semester genap selalu menjadi semester terchaos tiap tahunnya. Mulai dari TPB STEI, IF tingkat 2, hingga IF tingkat 3. Kalau digambarkan secara grafik, garis chaos dari semester ganjil menuju semester genap selalu meningkat, lalu menurun sedikit di semester ganjil berikutnya, hingga menuju puncak semester genap ke-3, yaitu di semester 6. Awalnya aku tidak begitu percaya akan ketakutan dan kekhawatiran itu, karena aku percaya bahwa itu hanyalah masalah manajemen. Masalah manajemen di semester 6 tentu saja berbeda dari semester-semester sebelumnya. Mau tahu lebih lanjut? Mari kita mulai dari awal!


Gambar 1. Bersama dengan Teman-Teman SMA di Tengah Perkuliahan

Perkenalan Background di Semester 6

Berikut ini adalah daftar mata kuliah yang aku ambil selama semester 6.

  1. IF3210 - Pengembangan Aplikasi pada Platform Khusus (3 SKS)
  2. IF3230 - Sistem Paralel dan Terdistribusi (3 SKS)
  3. IF3250 - Proyek Perangkat Lunak (4 SKS)
  4. IF3260 - Grafika Komputer (3 SKS)
  5. IF3270 - Pembelajaran Mesin (2 SKS)
  6. IF3280 - Socio-Informatika dan Profesionalisme (3 SKS)
  7. IF408X - Agate Academy Game Development (3 SKS)
Bila ditotal, jumlah SKS yang aku ambil adalah 21 SKS, tidak sebanyak di semester 5 yang mencapai 22 SKS. Kalau mau melihat cerita lebih lengkap terkait mata kuliah, bisa buka tulisanku tentang mata kuliah semester 6 disini. Namun, ingat bahwa menjadi mahasiswa hambar rasanya kalau cuman kuliah. Aku juga mengambil beberapa kegiatan kemahasiswaan dan menjabat beberapa kegiatan / divisi tertentu, seperti:
  1. Arkavidia 7.0 - Ketua Divisi Technocamp AGTS
  2. HMIF - Wakil Ketua Divisi Academic and Welfare
  3. ISO - Ketua Divisi Librarian
  4. Koordinator Asisten Mata Kuliah IF2211 Strategi Algoritma 
  5. Pengajar OSN Komputer di Sekolah Asal (2x seminggu, 1 sesi 2-3 jam)
  6. Jobseeker (pencarian kerja untuk magang di semester pendek)
Melihat kawan-kawanku banyak yang sambil part time atau Intern di perusahaan, aku memilih untuk tidak mengambil apa-apa mengingat kesibukanku sudah ada di 5 hal tersebut. Aku berpikir bahwa aku juga membutuhkan waktu-waktu kosong untuk refreshing dan mengasingkan diri mengingat aku adalah orang yang introvert. Everything looks good! Now let's go down to the real business!

The Story Starts Here

Semester 6 dimulai pada Senin, 18 Januari 2021. Everything looks good on the first week. Pembagian waktu kuliahku setiap minggunya adalah sebagai berikut.
  • Senin, 07.00 - 12.00 WIB
  • Selasa, 07.00 - 11.00 WIB
  • Rabu, 07.00 - 12.00 WIB
  • Kamis, 07.00 - 09.00 WIB
  • Jumat, 07.00 - 09.00 WIB
Kalau dibandingkan dengan semester 5, jadwal semester 6 lebih sedikit karena seluruh harinya hanya kuliah di pagi hari saja. Dengan jumlah mata kuliah yang hanya 7-1 mata kuliah, aku merasa yakin bahwa aku bisa melalui semuanya ini dengan sangat baik dan semuanya terkendali. Mengapa 7-1? Karena 1 mata kuliahnya adalah Socif (Socio-Informatika dan Profesionalisme), yang merupakan satu-satunya mata kuliah yang non-coding dan menurutku sangat refreshing bagi orang-orang yang terkadang jenuh coding dan membutuhkan knowledge-knowledge di luar coding. Jadinya aku merasa bahwa mata kuliah socif bisa tidak dianggap karena memang serefreshing itu. Tapi yang menjadi masalah adalah di 7-1 mata kuliah ini.

Minggu-minggu awal (1st week sampai 4th week) adalah minggu-minggu yang santai. Banyak teman-teman di angkatanku yang mengambil pekerjaan tambahan seperti intern, beracara ria di kemahasiswaan, dan seterusnya. Semua mulai berubah ketika memasuki 4th week, week dimana tugas-tugas besar mulai direlease dan yang paling top adalah, project PPL yang sudah berjalan di 4th week. Ditambah lagi dengan tingkat kesulitan di mata kuliah yang menurutku benar-benar on different level bila dibandingkan dengan semester-semester sebelumnya. Setelah menjalani satu semester ini, aku bisa membagi fase-fase chaos di semester 6 ke dalam 3 fase berbeda, yaitu
  • 6th Week (seminggu sebelum UTS)
  • 10th Week (dua minggu setelah UTS)
  • 14th - 15th Week (seminggu sebelum UAS)
Tiga minggu di atas adalah minggu dimana semua deadline dari 6 tugas muncul dalam 1 minggu yang sama. Cukup gila bukan? Itulah yang aku rasakan saat itu. Ditambah lagi, tidak sedikit orang-orang yang berjatuhan sakit karena kurang tidur dan sebagainya. Aku selalu dopping dengan vitamin dan tepat waktu untuk makan agar tidak sampai drop sepanjang minggu-minggu tersebut.

Ohiya, sama pekerjaanku bukan hanya sekadar mahasiswa yang mengikuti perkuliahan loh, aku sudah menyebutkan di atas ada beberapa aktivitas yang aku lakukan di luar perkuliahan. Kalau di breakdown satu-satu, kurang lebih seperti ini schedulenya.
  • 1st Week s.d. 4th Week disibukkan dengan Persiapan Technocamp
  • Weekend di 3th Week dan 4th Week mengawasi keberjalanan Technocamp
  • Setiap bulan mengadakakan rapat seluruh asisten sekali (di pertengahan bulan)
  • Setiap 2 minggu selalu mengerjakan tugas asisten untuk memeriksa tugas dan demo tugas
  • Setiap minggu memiliki jatah untuk mengajar anak SMA sebanyak 2 x 2 jam dalam seminggu
  • Menjelang UTS dan UAS, bertanggung jawab mengurus hal-hal terkait tutorial dan update FSA
  • Setiap minggu nya apply CV ke perusahaan-perusahaan, kalau ada panggilan, harus bisa memenuhi panggilan tersebut (seperti Technical Test, Interview, dan sebagainya)
Sehingga bisa dikatakan bahwa semester 6 ini benar-benar padat karena keenam point di atas. Kuliah dan berbagai kegiatan kemahasiswaan di luar itu cukup membuat semester 6 ku benar-benar penuh dengan warna (++ pemasukan tambahan, worth it untuk sampingan hehe).

How did I survive all of them?

Nah sekarang muncullah pertanyaan besar, bagaimana aku bisa melalui semuanya itu? Setidaknya, ada 8 buah hal yang aku lakukan agar bisa bertahan terus dalam chaosnya semester 6 ini.
  1. Have a me time
    Sebagai orang berkepribadian Introvert, sumber pencarian energiku ada ketika me time, menikmati kesendirian seperti mendengarkan musik, tidur, dan rehat dari berbagai tubes dalam 30 - 60 menit. Apabila aku benar-benar kehilangan seluruh energi, umumnya aku mengalokasikan 1/2 hari di hari Sabtu / Minggu untuk benar-benar tidak berinteraksi dengan tugas atau membahas tugas dengan teman apabila memungkinkan. Bisa digunakan pula waktunya untuk berdoa dan memohon kekuatan dari pada Nya untuk menghadapi semuanya ini.

  2. Prioritas pengerjaan dimulai dari hal yang paling disukai
    Menyenangi suatu pekerjaan adalah kunci terpenting agar suatu pekerjaan bisa cepat selesai dengan kualitas yang maksimal. Hal ini aku terapkan dalam bentuk prioritas. Pekerjaan yang paling kusukai atau yang paling bisa kukerjakan umumnya aku letakkan di paling pertama. Ada suatu kesenangan dan moodboster tersendiri apabila terdapat pekerjaan yang sudah selesai dan siap untuk dichecklist. Hal tersebut yang mendorongku untuk lanjut ke prioritas selanjutnya dengan kondisi mental dan raga yang siap dan senang untuk mengerjakan tugas-tugas tersebut. Hal ini berlaku bukan hanya scope pekerjaan pada tugas kuliah, melainkan tugas-tugas asisten juga kulibatkan dalam prioritas pengerjaan tersebut.

  3. Achieve the main goal first
    Dahulu aku adalah orang yang perfeksionis, ingin semuanya sempurna. Tapi aku sadar bahwa ada yang lebih penting dari menyempurnakan satu hal, yaitu mencapai goal utama dari suatu pekerjaan. Misalnya aku memiliki 5 buah task berbeda yang berjalan secara bersamaan. Pertama-tama, aku memetakan terlebih dahulu tujuan-tujuan utama yang diinginkan dari setiap tasknya. Suatu tugas besar berbentuk aplikasi dikatakan sudah selesai dikerjakan apabila fungsionalitas utama dari aplikasi tersebut sudah tercapai dengan sepenuhnya. Urusan terkait bug atau edge case mungkin bisa dipikirkan nanti karena ada task-task penting lainnya yang perlu dicapai juga.

  4. Coordination and Communication is matter and important
    Ini adalah lesson terpenting dalam satu semester. 90% tugas di Informatika semester 6 berbentuk tugas kelompok sehingga sangat penting faktor koordinasi antar anggota kelompok dalam suatu tugas. Minimal pernah mengajak berkumpul dan membahas bersama-sama domain permasalahan dari tugas yang dikerjakan. Aku selalu menerapkan rule of three ketika melakukan koordinasi, yaitu:
    -  Memahami domain permasalahan
    -  Membagi domain permasalahan ke dalam kumpulan masalah kecil
    -  Membagi permasalahan kecil tersebut ke setiap orang untuk dipertanggungjawabkan

    Ketika seluruh anggota tim mengetahui objective utama dari pekerjaan, maka performance dalam mencapai objective tersebut akan lebih baik karena lebih terarah dibandingkan sistem ambil sendiri-sendiri. Itulah sebabnya memang diperlukan setidaknya satu orang untuk lead the team dan melakukan fungsi manajemen tersebut. Apabila ada anggota yang merasa kesulitan, sangat penting untuk mengabarkan kesulitan tersebut dibandingkan hanya diam saja. Bagaimanapun itu, selalu ada jalan apabila seluruh anggota tim mau saling mengerti dan kerja sama satu sama lain.

  5. Do It Now! Kerjakan langsung!
    Pernahkah terpikir mengapa tugas yang deadlinenya mencapai 2-3 minggu ternyata bisa dikerjakan dalam 2-3 hari saja? Ya, karena memang supposed to be like that. Scope deadline itu punya maksud tertentu, mulai dari bahan pertimbangan manajemen tugas-tugas hingga pemilihan waktu-waktu untuk beristirahat dan melepaskan tugas. Banyak orang yang sudah menghabiskan waktunya untuk bermain-main di awal sehingga seolah-olah semuanya menumpuk di akhir (yang padahal tidak). Tidak ada salahnya bukan untuk mengerjakan tugas lebih awal?

  6. Beristirahatlah
    Sebagaimana Tuhan beristirahat di hari ke-7 dari 7 hari yang ada, demikian pula kita manusia. Istirahat itu penting menurutku. Istirahat dapat merefill energy baik secara mental atau raga. Tidur yang cukup adalah kunci utama agar otak tetap sehat dan fresh sehingga bisa berpikir dengan jernih ketika bekerja selanjutnya. Puji Tuhan, di semester ini rata-rata jam tidurku ada di kisaran 7 jam. Tidur tercepatku adalah 4 jam (yaitu pada salah satu hari dari deadly weekend yang ada).

  7. Have Support System
    Nah, ini penting banget nih. Tidak harus punya circle-circle tertentu. Cukup orang ke orang juga termasuk support system menurutku. Aku begitu senang dan lega ketika melihat rekan-rekan dan kawan-kawanku juga mengalami hal yang serupa dan struggling dalam menjalani kuliah ini. Kami sebagai angkatan pun saling sharing-sharing dan mengeluarkan segala keluh kesah kami terhadap tugas yang kiranya membuat segala emosi kami boleh teralurkan pada tempat yang benar tanpa merugikan. Justru itu yang membuat kami menjadi lega dan bisa lanjut pekerjaan kami masing-masing. Fun fact saja, dalam satu bulan, setidaknya aku pernah meluangkan waktu sebanyak 2 jam untuk mengobrol topik apapun dengan teman-teman dekatku. Itu cukup membuatku hidup kembali sebagai orang yang membutuhkan teman ngobrol.

  8. Appreciate myself!
    Terakhir, aku juga mengapresiasi diriku ketika berhasil melalui level-level tertentu dalam melaksanakan perkuliahan (misalnya berhasil menyelesaikan satu project). Bentuk apreasiasi bisa bermacam-macam. Satu-satunya bentuk apreasiasi yang paling mudah adalah tidur dengan nyenyak, menonton film di Netflix, dan bermain dengan teman-teman (bisa teman kuliah atau teman SMA yang sama-sama di Jakarta).
Begitulah ceritaku tentang the most chaotic semester 6 ini. And I'm so glad when I survived this semester! Thanks to God who provide my life and give me strength to face all those works! Terima kasih telah membaca! Semoga bermanfaat ya!

Jakarta, 6 Juni 2021

Michael Hans
13518056
Teknik Informatika
Institut Teknologi Bandung

Semester 6: Tentang Mata Kuliah

Hallo semuanya, di tulisan kali ini, aku bakal mengulas setiap mata kuliah yang aku ambil di Semester 6. Apabila ingin melihat kehidupanku di semester 6, kalian bisa membacanya pada tulisan My Life Story in 6th Semester sebelumnya. Namun, kalau mau melihat bagaimana mata kuliah di semester 6, kalian bisa teruskan membaca tulisan ini.

Perkuliahan semester 6 aku dimulai pada 18 Januari 2021 dan berakhir pada 30 April 2021. Sisanya sepanjang bulan Mei hanyalah masa Ujian Akhir Semester mulai pada 3 Mei 2021 dan berakhir pada 25 Mei 2021. Waktu yang cukup panjang untuk menjalani Ujian karena terpotong lebaran di tengah.

Gambar 1. Cuplikan Permainan Racquetuer Hasil Kerja Tim

Secara garis besar, terdapat berbagai macam tugas besar yang dikerjakan selama semester 6 ini.

  1. Pembuatan Smart Shop Sederhana dengan Arduino
  2. Game Tanks Unity versi Extended (+ Multiplayer)
  3. Workout Android Application (Running Application)
  4. Student Service Ticketing untuk Direktorat Pendidikan ITB
  5. WebCAD 2D Sederhana menggunakan WebGL
  6. Pemodelan Hollow Objects menggunakan WebGL
  7. Pemodelan Articulated Objects dan Animasi sederhana menggunakan WebGL
  8. Artificial Neural Network from Scratch
  9. Paralelisasi Algoritma Minimum Spanning TREE menggunakan OpenMP, OpenMPI, CUDA
  10. Distributed System menggunakan PAXOS
  11. Video Mengatasi Kebiasaan Buruk
  12. Video Presentasi Buku Pengembangan Diri
  13. Proposal Software Sederhana mempertimbangkan Sustainability
  14. Racqueteuer, sebuah game berbasis Unity dari Agate
Berikut ini adalah ulasan-ulasan lebih lengkap terkait mata kuliah yang aku ambil di Semester 6.

1.  IF3210 - Pengembangan Aplikasi pada Platform Khusus (Platform Based Development)

Mata kuliah ini merupakan mata kuliah yang mengajarkan pemrograman pada platform-platform tertentu. Setelah semester lalu mempelajari pengembangan aplikasi pada web, semester ini aku diajarkan untuk pengembangan aplikasi pada platform khusus. Terdapat 3 platform berbeda yang akan diajarkan, yaitu
  • Arduino (4 minggu)
  • Unity (4 minggu)
  • Android (6 minggu)
Mata kuliah ini mengupas mulai dari basic-basic ingredients dari suatu aplikasi yang dibangun pada masing-masing platform hingga implementasinya secara langsung dalam kehidupan nyata. Dimulai dari Arduino yang prakteknya dalam bentuk sistem Smart Shop, Unity dalam bentuk game Tanks sederhana, hingga Android dalam bentuk aplikasi Workout (semacam Nike Run Club tapi versi sendiri). Mata kuliah ini juga ada Ujiannya yang lebih menguji konsep-konsep dari pengembangan aplikasi pada masing-masing platform itu sendiri.

Secara bobot, mata kuliah ini setara dengan 3 SKS (bisa dibilang 1 SKS untuk setiap platform) sehingga menurut saya belajar dan mengandalkan mata kuliah ini sendiri sangatlah tidak cukup. Mahasiswa sangat dituntut untuk melakukan eksplorasi lebih agar dapat menguasai luaran mata kuliah ini sendiri. Ada banyak resource-resource pembelajaran yang bisa dipelajari oleh para mahasiswa agar dapat menguasai ketiga platform ini. Oleh karena itu, mata kuliah PBD ini selalu memberikan tugas setiap minggunya yang bersifat eksploratif. Bisa dikatakan bahwa PBD ini menjadi kontributor terbesar dalam tugas-tugas di Informatika karena tiga platform itu sendiri.

2.  IF3230 - Sistem Paralel dan Terdistribusi

Mata kuliah ini merupakan puncak dari perkuliahan low level di Informatika. Setelah mendapatkan ilmu-ilmu dari Orkom, OS, dan Jaringan Komputer, disinilah ketiga konsep tersebut terpakai. Mata kuliah ini mengajarkan terkait sistem komputer yang berjalan di dunia ini. Sebagaimana kita tahu, sistem-sistem yang dipakai seperti Google dan perusahaan besar tentu memiliki arsitektur tertentu yang kompleks agar sistem bisa berjalan secara efisien. Google sendiri tersebar dalam beragam server di beragam lokasi di dunia. Konsep sistem paralel dan terdistribusi inilah yang menjadi dasar bagi pengembangan sistem tersebut.

Paruh semester pertama, mahasiswa diajarkan terkait pengenalan konsep paralel dan terdistribusi serta beberapa algoritma paralelisasi yang dapat meningkatkan performansi dari suatu pekerjaan yang membutuhkan sampai jutaan duta. Beberapa algoritma yang kami pelajari adalah OpenMP, OpenMPI, CUDA, dan Threading. Memasuki paruh semester kedua, baru kami mempelajari terkait sistem terdistribusi, yang mana sebagian besar dijelaskan secara konseptual. Prakteknya secara langsung adalah sistem paxos (yang mana dari 1 angkatan hanya ada 1-2 kelompok yang bisa berhasil dan tuntas sampai final).

Saya sendiri merasa kesulitan untuk mempelajari sistem terdistribusi karena memang pola pikir dan logikanya yang begitu kompleks untuk dipahami dalam sekali belajar. Sejauh ini, mata kuliah ini adalah mata kuliah tersulit kedua setelah OS dari sisi tugas. Di angkatan sendiri, terdapat 2x tutorial oleh para penutor angkatan yang menguasai materi sister ini. Terima kasih kepada para penutor yang sangat berjasa untuk mata kuliah ini! Tanpa kalian, belum tentu kami akan survive mata kuliah ini.


3.  IF3250 - Proyek Perangkat Lunak

Mata kuliah ini adalah hidangan utama dari sensasi semester 6. Bagaimana tidak? Mata kuliah ini berbobot 4 SKS dan memang benar-benar 4 SKS secara beban. Mata kuliah ini merupakan mata kuliah yang paling krusial dan menurutku paling mengembangkan kemampuan Software Engineering dari para mahasiswanya (termasuk diriku sendiri). 75% perkuliahan diisi dengan pengerjaan project dan project review dari para dosen. 25% perkuliahan baru diisi dengan materi-materi penunjang perkuliahan PPL ini (yang mana sebagian besar sudah dipelajari di Rekayasa Perangkat Lunak sebelumnya). Perkuliahannya sendiri selalu dilaksanakan dalam kelas besar (3 kelas jadi 1 kelas).

Tiga minggu pertama adalah minggu-minggu tersantai dalam mata kuliah ini. Memasuki minggu ke-4, that's where the fun begins. Disitu kami seangkatan 150 orang terbagi ke dalam 31 kelompok berbeda dengan 31 project berbeda satu sama lain. Uniknya di tahunku adalah kelompoknya merupakan kelompok gabungan dan lintas kelas antara K1, K2, dan K3 yang beranggotakan 5 orang. Komposisinya sudah diatur oleh para dosen agar bisa balance satu sama lain. Di situ, kelompokku mendapatkan project dari Direktorat Pendidikan berupa pembangunan aplikasi web untuk Student Service Ticketing.

Mata kuliah ini menurutku adalah mata kuliah yang sangat cocok untuk mempelajari praktik-praktik Software Engineering di kehidupan kerja nantinya. Di mata kuliah, kami menggunakan pendekatan Agile / Scrum untuk membangun software tersebut. Project dilaksanakan dalam 5x sprint dimana setiap sprintnya berdurasi 2 minggu sehingga durasi pengerjaan project secara total adalah 10 minggu. Setiap 2 harinya setiap kelompok selalu mengadakan meeting untuk review pencapaian per 2 hari yang dipimpin oleh Scrum Master. Intinya segala materi RPL dan MPPL yang dipelajari sebelumnya benar-benar dipraktekkan dalam mata kuliah ini.

Tingkat chaos dari setiap kelompok berbeda-beda bergantung dari seberapa sulit dan besar project yang setiap kelompok dapatkan. Oleh karena itu, tidak heran banyak orang yang mengatakan bahwa PPL ini adalah tugas terbesar dan tersibuknya anak Informatika di tingkat 3. Hanya ada dua poin penting untuk survive di mata kuliah ini, yaitu koordinasi dan konsistensi. Keberhasilan project sangat bergantung pada bagaimana satu kelompok tersebut bekerja sama membangun aplikasi tersebut. Disini jugalah kita mulai mengetahui sifat-sifat asli dari orang dalam bekerja sama karena dilakukan selama 10 minggu.

4.  IF3260 - Grafika Komputer

Mata kuliah ini adalah lanjutan dari Aljabar Linear dan Geometri yang sudah dipelajari di semester 3. Apabila ketika semester 3 sudah mendapatkan tugas berupa transformasi 3D objects, maka tidak perlu mengalami kesulitan untuk mengikuti mata kuliah ini (kebetulan angkatanku tidak mendapatkan tugas tersebut, tetapi angkatan di atasku masih mendapatkannya). Mata kuliah ini mengajarkan hal-hal dasar dari Computer Graphics, mulai dari sejarahnya, aplikasi / tools penunjangnya, bagaimana sebuah gambar diproses dalam komputer, proyeksinya ke dalam monitor, hingga beberapa teknik yang dilakukan sebuah pemrosesan komputer dalam mengolah gambar untuk ditampilkan dalam komputer. Secara garis besar, konsep aljabar geometri sangat erat dengan mata kuliah ini sehingga sebaiknya mereview kembali mata kuliah Aljabar Geometri sebelum mengikuti mata kuliah ini.

Tidak ada Ujiannya, hanya ada 7 kali kuis setiap 2 minggunya dan tiga buah tugas besar yang perlu dikerjakan oleh para mahasiswa. Materi kuis diambil dari materi dan teori yang diajarkan selama perkuliahan, sedangkan tugas besar merupakan bentuk praktek dari teori-teori yang sudah diajarkan. Kalau menurutku pribadi, overlap dari materi kuliah dan prakteknya masih kecil mengingat struggling yang dialami tugas besar sebagian besar adalah dari sisi technical (code WebGL, membuat struktur data untuk WebGL, dan sebagainya), sedangkan kalau kuliah sendiri lebih mengajarkan konseptual dibalik suatu gambar disajikan ke dalam komputer. Disini, kami seolah-olah diajarkan bagaimana WebGL itu bekerja untuk menampilkan gambar (yang mana pada prakteknya, kami hanya menggunakan API yang tersedia, semua sudah diurus oleh function di WebGL).

5.  IF3270 - Pembelajaran Mesin

Pembelajaran Mesin atau Machine Learning adalah mata kuliah lanjutan dari Artifical Intelligence di semester 5, yang mana lebih spesifik pada bidang Machine Learning itu sendiri. Machine Learning sendiri berarti belajar untuk membuat suatu model pembelajaran yang dapat membantu pekerjaan manusia layaknya sebuah AI (secara definisi asli bisa searching sendiri di google). Dua kata kunci yang paling besar dari mata kuliah ini adalah training dan testing. Persoalan-persoalan yang umumnya masuk ke dalam topik Machine Learning adalah persoalan untuk melakukan klasifikasi, pengelompokkan data-data, hingga mempelajari behavior-behavior tertentuk untuk mengambil keputusan tertentu. Contoh nyatanya adalah Recommender System pada Netflix / YouTube yang dibaliknya adalah Machine Learning yang bekerja.

Di mata kuliah ini sendiri, kami mempelajari secara spesifik beberapa algoritma Machine Learning dasar, seperti
  • Decision Tree Learning
  • Logistic Regression
  • Artificial Neural Network
  • Support Vector Machines
  • Design of Experiment
  • Clustering Algorithm
Kurang lebih itu adalah dasar-dasar yang diajarkan pada mata kuliah ini. Mengingat topik Machine Learning masih sangat luas, maka keenam materi di atas hanya sebagai pengantar untuk Machine learning yang sesungguhnya (seperti Deep Learning). Modal dasar yang sangat penting untuk Pembelajaran Mesin ini adalah Probabilitas dan Statistik. Matematika menjadi hal fundamental untuk memahami Machine Learning ini (tidak heran kalau di Matematika juga ada mata kuliah ini pula). Konsep-konsep kalkulus dasar juga akan terpakai pada mata kuliah (seperti turunan pada ANN). Ujiannya sendiri kami menggunakan Google Spreadsheet untuk pengolahan datanya. Aku sendiri menikmati keberjalanan mata kuliah ini mengingat aku sendiri juga suka Matematika.

6.  IF3280 - Socio-Informatika dan Profesionalisme

Mata kuliah ini adalah mata kuliah paling refreshing sepanjang kuliah di Informatika di semester 6. Biasanya matkul-matkul yang didapatkan tentu berorientasi pada pemrograman atau suatu project tertentu. Berbeda dengan mata kuliah ini. Mata kuliah ini bisa dibilang "memanusiakan" anak-anak Informatika, yang mana sejauh ini hard skillnya yang selalu dilatih sebelumnya. Di mata kuliah ini, adalah sebaliknya, yaitu soft skill yang dilatih di mata kuliah ini.

Seperti judulnya, luaran mata kuliah yang selalu disebutkan oleh dosen pengajarku adalah supaya mahasiswa IF siap untuk masuk ke dunia kerja saat Kerja Praktek secara profesional. Profesional yang bagaimana? Profesional baik secara perilaku, sikap, dan skill dalam bekerja nantinya. Mata kuliah ini sebagian besar diisi oleh diskusi bersama, permainan, dan berbagai kuliah tamu yang dibawakan oleh tamu-tamu yang datang dari dunia kerja maupun dari tim self development. Mengingat mata kuliah semester 6 adalah mata kuliah super programming, maka tidak heran disisipkan mata kuliah ini juga yang kiranya bisa memanusiakan anak-anak IF ini sekaligus tempat untuk refreshing dari mata kuliah lainnya.

Tugas-tugasnya sendiri cukup menarik. Mahasiswa IF diminta untuk membaca buku pengembangan diri, menonton 10 video ulasan dari teman-teman terkait buku yang dibaca, berolahraga sekali seminggu, dan mengikuti sebanyak mungkin rapat atau diskusi untuk meningkatkan kemampuan berkomunikasi dan soft skill lainnya. Di tengah-tengah, kami juga membuat video untuk mengatasi kebiasaan buruk yang setiap kelompok miliki. Umumnya tidak jauh dari self management, mengatasi kemalasan dalam hidup, dan kebiasaan menunda-nunda pekerjaan. Terdapat seminar-seminar menarik yang ada di mata kuliah ini, daftar seminar yang aku dapatkan adalah:
  • Self Love dan Self Aware oleh Dosen FSRD
  • Teamwork oleh Tim Fasilitator dari suatu Komunitas
  • UU ITE dan Regulasi terkait Layanan Elektronik
  • Pengenalan Dunia Kerja dan Pencarian Passion Pekerjaan
  • Keamanan dalam Teknologi Informasi
So far, this is the most enjoyable course di semester 6 karena tidak perlu berpikir keras secara hard skill (programming dst), melainkan cukup enjoy dan mengikuti rangkaian kegiatan yang diselenggarakan untuk mata kuliah ini. Meskipun banyak teman-temanku yang mengatakan bahwa mata kuliah ini tidak berguna, namun aku menganggapnya sebaliknya, yaitu sebagai mata kuliah yang berguna untuk pengembangan diriku sendiri, apalagi yang mau masuk ke dunia kerja nantinya.

7.  IF4081 - Agate Academy Game Development

Di tahun 2021, ada program baru yang diadakan oleh Kemendikbud untuk setiap kampus, yaitu program MBKM (Merdeka Belajar Kampus Merdeka), dimana program yang memungkinkan mahasiswa untuk melakukan pembelajaran di luar kampus namun diakui sebagai SKS di kampus. Di tahun 2021, terdapat program menarik dari perusahaan Agate bernama Agate Academy, yang menyelenggarakan pembelajaran untuk Game Development dan sekaligus diakui sebagai 3 SKS di kampus asal karena sudah koordinasi dengan kaprodi IF di awal Januari itu. Oleh karena itu aku mencoba mengambilnya bersama dengan teman-temanku.

Course ini mengajarkan tentang pengembangan game, baik secara programming maupun design itu sendiri. Disini juga belajar mulai dari penentuan objective, character, dan core loop dari sebuah game hingga akhirnya game itu sendiri yang diimplementasikan. Kami juga diajarkan hal-hal yang bisa membuat sebuah game menjadi menarik untuk dimainkan. Hal yang menarik dari program ini adalah para mahasiswa akan mengerjakan tugas besar yang bukan pemberian dari dosen / mentor, melainkan game yang didesign oleh teman mahasiswa lainnya yang dipilih sebagai top 4 dari 20 mahasiswa yang mengikuti program ini. Aku memilih salah satu game untuk dijadikan tugas besar, yaitu game bernama Racquetuer, sebuah permainan multiplayer sederhana yang dasarnya seperti permainan Ping Pong tetapi ada bangunan yang harus dihancurkan. Selengkapnya dapat dibaca dan dilihat pada link berikut ini

Dalam pengembangan game sendiri, aku merasakan bahwa adanya role-role tertentu dibalik pengembangan game, seperti Product Manager, Game Designer, VFX Designer, Game Programmer, dan Quality Assurance. Karena aku juga mengambil PPL, maka pengembangan game ini seperti versi kedua dari PPL namun lebih sederhana karena scope projectnya berupa pengembangan game Racquetuer. It is recommended untuk diambil, terutama bagi yang penasaran bagaimana sebuah game dibangun secara spesifik mulai dari design hingga game diimplementasikan.

Closing Statement

Begitulah ulasan-ulasanku terkait seluruh mata kuliah yang aku ambil di semester 6. Total SKS yang aku ambil di semester 6 adalah 21 SKS. Secara keseluruhan, aku cukup bahagia dan bersyukur karena bisa melalui semester 6 yang benar-benar bisa membuat rambut kriting karena hal-hal yang lumayan advanced menurutku namun rasanya akan berdampak di masa depan nanti. Terima kasih telah membaca tulisan ini. Semoga bermanfaat buat para pembaca semua! Cheers!

Jakarta, 6 Juni 2021

Michael Hans
13518056
Teknik Informatika
Institut Teknologi Bandung