Halo lagi!
Ini part dua dari jurnal semester 4 ku (link). Menurutku semua matkul semester 4 seru jadi aku pecah jadi dua bagian. Liat aja part 1, 3 matkul udah panjang banget zzz. Jadi ya di part dua ini aku bakal pengalamanku di hal berikut:
- TBA
- DAA
- MPPI
- Basdat
- D-Mail
- PJJ is Fun
- The Real Kuliah
Oke tanpa banyak basa-basi, berikut kontennya. Enjoy
Grass Skirt Chase
Lagu Spongebob yang lumayan ekspresif. Kamu bisa mencarinya di youtube. Saat sesi google meet biasanya aku dan temen-temenku ngediscord biar ada suasana kelas. Ketika ada kejadian yang oof di google meet seperti:
- ada yang teriak "DAMEE! DAMEE!!".
- ada yang lupa matiin kamera dan gapake baju
- ada yang waktu share screen presentasi lupa nutup tab manifesto terlarang.
Kita bakal puter lagu ini di discord.
Teori Bahasa dan Automata (TBA)
Yes, aku sengaja buat bentuk kepiting |
Ini bukan matkul linguistik kok, melainkan matkul full matematika. "bahasa" yang dimaksud disini adalah formal language, jadi bukan ke percakapan, melainkan sekedar "kumpulan kata-kata yang memenuhi aturan tertentu".
Matkul ini kita mempelajari bagaimana caranya konstruksi mesin-mesin canggih untuk menjawab pertanyaan-pertanyaan penting seperti "Diberikan x, cari tahu apakah x bilangan 2 berpangkat". Mesin yang dimaksud disini adalah mesin-mesin teoritis seperti meme paing atas itu. Ada banyak tipe mesin dengan power yang berbeda-beda, seperti FSM, PDA, dan turing machine. Selama satu semester kurang lebih kita mempelajari cara memakai mesin-mesin tersebut untuk menjawab soal-soal.
i love it!
Aturan-aturan nyentrik dari setiap mesin, ditambah betapa tidak intuitifnya cara bernalar dengan setiap mesin itu membuat TBA menurutku sebagai matkul yang paling berpikir keras semester ini. Ditinjau lebih sebarapa "kompleks" mesin penentu bilangan fibonacci diatas, itu dibuat setelah beberapa jam berpikir keras dan aku sangat bangga melihatnya, beautiful! Memang aku tuh enjoy banget berpikir jadi matkul ini sangat memuaskan di bidang tersebut.
Kalau untuk tugas, TBA biasanya memiliki 5 - 10 soal, dimana ada 1 - 3 soal teori, dan sisanya membuat mesin (aku sebut ini dengan "ngoding" deh mulai sekarang biar pendek). Sebelum mengikuti matkul ini aku sempet takut karena membaca blognya kak fairuzi yang katanya 1 PR bisa habis 10 jam. Tetapi ternyata tidak sampai segitu. Soalnya memang banyak, tetapi kebanyakan soal ngodingnya itu simple (bukan gampang lho), dan biasanya hanya ada maksimal 2 soal ngoding yang menantang.
Maksudnya soal simple disini itu solusinya sudah ketemu, cuman implementasi mesinnya yang butuh sedikit waktu (~10 - 20 menit), dan soal menantang ya... soal menantang. Tetapi aku tidak pernah menghabiskan waktu lebih dari 1 jam untuk sebuah soal. Ini bisa jadi karena aku juga sering diskusi ide dengan temen-temenku yang jago-jago (Krisna, Nadhif, Adrian, Rocky) sehingga ide solusinya cepat ketemu jadi tinggal implementasinya saja. Tetapi biasanya mereka lumayan ambis, sudah ngerjain dari jauh-jauh hari jadi kadang kalau aku mau ngerjain dan stuck ganemu ide (yeah, right) aku tinggal scroll up dan nemu inspirasi-inspirasi ide untuk mengerjakan soal-soal ini.
Untuk tips dalam membuat mesin besar, saranku membuatnya secara incremental. Jadi buat dulu logic ini, test apakah work, baru tambahkan logicnya. Hasilnya, aku tidak pernah pusing selama membuat mesin.
Sistem submit kodingan menggunakan website aren. Jadi kita submit lalu nanti di grade automatis. Aren ini memiliki beberapa kekurangan lucu. Contohnya, tidak ada time limit, jadi jika kita submit mesin yang infinite loop harus dimatikan manual oleh Pak Sur. Yang kedua, pernah ada orang yang submit textfile "all work no play makes jack a dull boy" ke grader dan seluruh aren crash.
Jadi, TBA seru kalau suka mikir dan punya temen-temen jago yang suka mikir juga. Kalau ngerjain lone wolf mungkin bisa tembus 10 jam per PR seperti Kak Fairuzi, tetapi kalau lumayan suka logic puzzles sepertinya bakal enjoy matkul yang ini. Oiya, aku maksimal ngerjain PR 3 jam deh...
Sebelum PJJ
kelas TBA be like |
TBA adalah satu-satunya kelas siang yang aku ambil. Jadi gapapa lah jam tidur siangku di senin dan rabu agak off sedikit. Tentu saja aku ngincer kursi paling depan. Entah kenapa, anak-anak di kelasku rada ambis dan ngincer kursi-kursi depan, jadi kalau dateng dekat-dekat waktu kelas mulai sulit dapat kursi depan jadi harus duduk di tengah.
Dosennya Pak Suryana. Menurutku Bapaknya menjelaskan TBA dengan sangat baik. Terlalu baik, sampai-sempai hanya melewati 2 slide pertama dari suatu sub-bab aku kira-kira sudah mengerti seluruh sub-bab tersebut (makanya, meme diatas). Ini satu-satunya matkul dimana aku sering tidur di kelas. Mungkin bagi kebanyakan orang TBA memang matkul yang ribet, makanya Beliau jelasinnya sabar banget dengan ngasih banyak contoh. Cuman, bagi yang sudah paham, ini extra time buat tidur, heheh. Alasan lain mengapa sering tidur, bukan main HP seperti POK semester lalu, karena TBA kelas siang dan POK kelas pagi.
Secara keseluruhan aku nilai Pak Sur 10/10 Dosen. Beliau sabar, dan sangat mengerti matkul yang diajarkan. Nanti kalau misal TBA masih ada dan sudah offline, ambil Pak Sur ya guys.
Also, dosen TBA itu chill banget. Momen berkesan saat aku protes soal UTS ngoding. Malah ada dosen TBA yang nge WA aku memberikan testcase soal tersebut untuk aku check sendiri, dan bener ternyata programku salah.
Setelah PJJ
Setelah PJJ, kelas TBA jadi beda banget. Full video dan gaada kelas sync. Nah dengan ini TBA jadi maknyus buat aku. Kalau sebelumnya aku harus tidur-tidur dikelas sampai nunggu bapaknya ke topik berikutnya, sekarang aku bisa speedrun satu bab dengan hanya setengah jam! Efisien banget deh jadinya belajar TBA, i like.
Materi selama PJJ jauh lebih susah dari sebelum PJJ. Sebelum PJJ jumlah soal ngoding dan teori masih seimbang, sekarang jadinya lebih banyak soal ngoding (maks 2 teori, sisanya 6-8 soal ngoding). Berkaitan dengan meme fibonacci di atas, itu sebenernya soal paling susah di PR tersebut. Nah, pada awalnya aku nemu exploit menarik untuk soal itu. Aku lihat ukuran file test casenya maksimal 5KB, sehingga nilai N maksimalnya 5000. Jadi, aku precompute semua nilai fibonacci, lalu buat mesin sederhana untuk menjawab berdasarkan hasil prekomputasi:
seperti ini |
Tentu saja aku berhasil mendapatkan Accepted dengan prank ini. Malem harinya, Pak Sur sudah mendeteksi solusi haramku dan membuat pengumuman di grup.
walau prank, sedih juga bacanya :( |
Dua hari kemudian aku buat mesin yang bener dong, jadilah mesin yang aku tunjukkan di foto paling atas.
Untuk streaming TBA bareng temen, sepertinya temen-temenku sudah pada jago sehingga engga streaming TBA sebelum materi terakhir (decidability). Materi terakhir TBA sangat abstrak sehingga kita perlu streaming untuk mengerti bareng. Aku sampai saat menulis blog ini (6 bulan kemudian) masih lumayan shaky cara membuktikan decidability.
UAS TBAku menyedihkan. 10 soal (5 teori, 5 koding) yang sangat menantang ditambah kondisiku yang sakit waktu itu membuat performaku sangat buruk. Untuk soal koding, aku tidak mengumpulkan dua nomor, dan untuk teori, aku kosong 1 nomor. Nilai UAS TBAku 60-an :( Ini merupakan pertama kalinya aku kosong sebuah nomor saat ujian.
Nah, disinilah aku mau memberi tips bagi yang mengambil TBA. Maksimalkanlah nilai-nilai tugas dan UTS. Rata-rata nilai-nilai tugas dan UTSku 96, sehingga mengkatrol banget nilai UASku yang drop sehingga masih dapat A di matkul ini (albeit agak tipis). Decidability itu sulit. Aku diskusi panjang banget dengan salah satu dosen TBA mengenai salah satu soal UAS selesai UAS, dan ya... ternyata pengertianku tentang decidability masih dangkal.
Keunikan lain TBA, asistensi UAS diadakan oleh dosen, bukan asdos :O
Rating 9.5/10: Aku sangat enjoy matkul ini karena aku suka mikir. Matkul ini membuatku mengenang masa-masa OSN dimana setiap soal membutuhkan problem solving dan intuisi yang tinggi. Enggak perfect, karena kelas-kelas terakhirnya sangat abstrak dan PJJ membuatnya menjadi lebih susah.
Effort 7.5/10: Bedanya TBA dan AP adalah semua orang menghadapi PR yang sama. AP aku "bunuh diri" karena memilih proyek yang susah sendiri sehingga effort tinggi. Effort terbesar dari TBA adalah mengerjakan PR-PRnya, dan karena sudah terstandarisasi, tidak ada PR yang sangat susah sampai butuh 40 jam perminggu. Untuk PR sendiri seperti kataku, maksimal waktuku mengerjakan PR 3 jam.
Desain dan Analisis Algoritma (DAA)
Ini matkul lanjutan SDA semester 3 lalu. Kalau SDA lebih ke ngoding, matkul ini lebih ke teori. Bagaimana menganalisis berbagai macam algoritma. Sebenarnya matkul ini ditujukan untuk semester 7, tetapi aku ambil karena ada slot kosong. Dosen pengampu matkul ini adalah Pak Yugo.
Aku sempet bingung karena kelas ini didaftarkan sebagai kelas berbahasa Inggris padahal kelas reguler. Terjawab di kelas pertama (offline btw). Ternyata kelas ini campur dengan kelas KI, dan ada satu murid internasional dari Iran yang mengikuti kelas ini. "Because of you, i need to teach this class in English" kata Pak Yugo bercanda.
Di kelas pertama dilakukan hal-hal biasa seperti membaca BRP dan overview materi. Materi DAA terlihat sangat menarik. Ada analisis flow, DP, FFT, dan lain-lain.
...Oh wait, whats this? tugas setiap minggu? O_O
Yeah aku drop DAA setelah kuliah hari pertama. Walaupun materinya seru dan aku yakin tidak akan ada issue berarti dalam mengerjakan tugas, tetap saja tugas adalah tugas dan harus dikerjakan. Mengingat tanggung jawabku sebagai PIC CPC COMPFEST 12 dan banyak matkul-matkul lain yang akan ada TK juga, aku rasa drop DAA merupakan pilihan terbaik.
Dan memang benar! dengan matkul-matkul sisaku, aku keteteran banget :". MPPI dan AP biang keroknya. Untunglah saat itu aku mengesampingkan egoku untuk memperpanjang umurku.
Plus, kalau aku ambil DAA, berarti aku ambil 26 sks di semester 4. Aku rasa harus "ngomong-ngomong" dengan Pak Wadek. Walau cuma datang satu kelas, aku rasa DAA tetap perlu di sebut di blog ini karena secara teknis, aku pernah ngambil.
Metodologi Penelitian dan Penulisan Ilmiah (MPPI)
Ini merupakan matkul untuk semester 6, jadi inilah matkul lain yang aku sodok disamping anum (part 1). Matkul ini belajar bagaimana caranya melakukan riset akademis, bukan "makalah: the matkul" seperti yang dikira banyak orang. Dosen pengampu kelasku... Pak Yugo
interaksi kami dikelas "biasa saja" |
Matkul ini merupakan matkul pertama yang aku ambil yang tidak mengadakan UTS/UAS. Namun, ada 4 tugas dan 2 kuis dengan bobot yang besar. Bobot MPPI kurang lebih sebagai berikut:
- Tugas 1: Paragraph writing (5%)
- Tugas 2: Kritik paper (10%)
- Tugas 3: Review paper (15%)
- Tugas 4: Buat paper (40%), yeah...
- 2 kuis, masing-masing bobotnya 10%
- Partisipasi forum scele, 10%
Tugas 1 - 3 dikerjakan secara individu, dan tugas 4 secara berkelompok. Aku beruntung karena ada anak-anak Quanta lain yang mengambil kelas ini sehingga kita bisa berkelompok bareng.
Sebelum PJJ
Jadwal kelas ini sangat awkward. Kelas ini memiliki 2 jadwal kelas. Pertama hari jumat jam 8 - 9.40 pagi, ok seems nice. Yang kedua, hari selasa jam 5 sore -_-. Jadi sangat aneh di jadwalku yang semua kelasnya pagi. Apalagi, kelas 5 sore itu hanya 1 sks (1 jam) jadi tanggung gitulah ke fasilkom.
Untuk kelasnya sendiri menurutku lumayan menarik? bapaknya banyak cerita-cerita sehingga ada konteks. Cuman kadang-kadang ceritanya kebanyakan jadi gak sempet bahas materinya. Tetapi overall ok kok. Kata Pak Yugo, MPPI ini matkul gampang. Hmm lets see...
Bener sih, materi MPPI memang sedikit dan cukup ringan. Setiap minggu ditambah materi baru yang menurutku lumayan pendek dan intuitif. Untuk gambaran, berikut contoh materi seminggu, 1 bulletpoint menyatakan materi satu minggu:
- Paragraph writing
- how to cite
- plagiarism
- how to critique an article
Jadi, tidak ada "hapalan", melainkan hanya guideline cara melakukan riset dan menurutku materinya sangat menarik. Psstt... sebenernya aku jarang merhatiin dikelas karena ini ._. Aku hampir selalu baca slidenya dulu (pendek kok), jadi di kelas fokus dengerin ceritanya Pak Yugo.
Walaupun tidak ada UTS/UAS, MPPI masih mengadakan kuis. Ada dua kuis dengan bobot masing-masing 10%, sehingga bisa dibilang inilah "UTS UAS" MPPI. Sebelum PJJ sempat diadakan satu kuis ini di kelas. Aku lumayan takut dengan kuis ini karena bobot tinggi dan bau-bau soal teori. Aku lumayan ngerti sih materinya karena slide lumayan jelas, cuman ya tetep aja takut.
soal kuisnya:
*paragraph*
*paragraph*
ditanya: ide utama dari paragraph ini?
Kalau kamu sudah baca beberapa postingan blog ini, mungkin sudah tahu kalau Bahasa Indonesiaku lemah. Meski begitu aku tetep berusaha menjawab dengan maksimal. Berhubung 10% jadi aku baca dengan teliti bgt soal-soalnya. Tentunya gak semua soalnya bindo, ada beberapa teori juga seperti "manakah dibawah ini yang merupakan situs mencari jurnal ilmiah?"
Beberapa hari kemudian aku iseng nanya asdosnya "kak kuisnya kapan dibagikan", asdosnya: "oh iya kuisnya sudah selesai diperiksa cuman kemaren ada dua nomor yang ketuker. Nilaimu kurang bagus"
Untuk tugas individu sendiri, kita harus memilih 1 topik IT dan nantinya semua tugas individu (tugas 1, 2, dan 3) bakal memakai topik itu. Aku memilih topik DP (Dynamic Programming) karena itu topik yang aku kuasai saat itu. Untuk pengerjaan, selama offline sudah selesai dua tugas yaitu tugas 1 (paragraph writing) dan tugas 2 (critique paper).
Paragraph writing tidak ada masalah, aku bisa kerjain sangat cepat. Critique paper yang masalah. Kita harus kritik paper yang waktu publikasinya maksimal 5 tahun terakhir. Aku melakukan kesalahan fatal karena sama sekali tidak cek paper DP terbaru seperti apa saat menentukan topikku. Ekspektasiku bakalan ada paper optimasi DP gitu kaya DP convex hull atau DP knuth optimization. Nyatanya, paper DP terbaru hampir semuanya tentang Reinforcement Learning (RL), sebuah varian DP stokastik.
Alhasil, aku yang sama sekali tidak ada pengalaman terpaksa belajar dulu 2 hari mengenai RL melewati video-video youtube sebelum bisa mengerti paper-paper itu. Setelah mengerti algoritma RL, aku mulai deh memilih paper inceranku, tentang DP RL untuk scheduling pasien. Yah, walau ngerti RL, papernya tetap menantang karena rumus berbeda, berarti rumus RL yang berbeda juga. Untuk tugas dua ini aku kira-kira habis 3 hari untuk hanya membaca papernya, 2 hari untuk menulis dan menreviewnya. Terima kasih kepada Kezia yang sudah mau review kerjaanku.
Galang: "Kez, jadi ada tugas MPPI buat kritik paper, kamu mau engga review kerjaanku?"
Kezia: "Jadi aku kritik tentang papernya?"
Galang: "Engga, kamu buat kritik tentang kritikanku tentang papernya"
Random Igo: "Nanti dosennya buat kritik tentang kritikanmu yang sudah di kritik Kezia"
Jadi saat masa membaca dan mempelajari paperku ini, aku memanfaatkan kelas TBA. Jadi karena suasana kelas super fokus, namun kelasnya slow, aku paling mantap mempelajari paperku saat lagi kelas ini. Sorry TBA :(.
Untuk pelaksaan kelas saat offline aku rasa cukup bagus. Asalkan baca-baca slide dulu sebelum kuliah. Kalau online gimana? nah ini dia menurutku matkul yang berubah total dari saat offline dan online.
Setelah PJJ
Sebelumnya, sudah ada dua tugas yang selesain saat offline. Nah, tugas ketiga ini durasinya 3 minggu dan jalan di saat masa evakuasi covid. Jadi di dua minggu dimana kami diminta pulang ke rumah, tugas 3 jalan. Sebenernya sih waktuku untuk packing -> beli tiket pesawat -> balik rumah cuma butuh waktu dua hari, tetapi sampe rumah itu rasanya pingin tiduran saja.
Oiya, tugas 3 itu tingkat kesulitannya beda jauh dengan tugas-tugas sebelumnnya. Di tugas dua kita hanya diminta untuk baca dan kritik satu paper. Nah, di tugas 3, kita diminta untuk baca 7 - 9 paper, lalu buat review membandingkan semua paper itu. Mantap bukan :)
Seminggu terakhir sebelum deadline, progressku hampir tidak ada. Aku baru baca 2 paper. Untungnya, ternyata ada pengunduran deadline tugas menjadi dua minggu lagi mempertimbangkan masa transisi. Terima kasih banyak dosen MPPI. Jadi saat itu, kuliah diliburkan dua minggu, jadi gaada kuliah sama sekali. Tentunya waktu yang tepat untuk membaca 5 - 7 paper. Sayangnya aku kebanyakan tiduran dan baru semangat di minggu terakhir deadline. Jadi aku kerjainnya ngebut satu hari baca 2 paper.
Ternyata membaca paper tidak sesulit yang aku kira! setelah membaca 2 paper setengah mati, paper-paper selanjutnya aku bisa ngerti dengan cepat karena ide-ide dan jargonnya yang mirip. Jadi malahan akhirnya aku bisa kelarin dua hari sebelum deadline dan bisa minta Kezia review kerjaanku lagi. Aku cukup bangga dengan review yang aku buat sih :)
Untuk sistem pembelajaran setelah PJJ dilakukan full forum. Jadi Pak Yugo setiap minggu post forum pemicu, dan kita harus menanggapi. Forum ini serius. bisa ditegur jika tidak memenuhi kuota post minimal.
Jadi MPPI ini bagiin rekapan nilai di sebuah forum khusus. Aku penasaran banget dengan nilai-nilaiku dong, terutama MPPI itu aku sangat niat ngerjainnya. Kurang lebih setiap hari aku buka scele MPPI untuk cek pdf nilainya. Kelas-kelas lain mulai bermunculan, tetapi:
yeah, bisa ditebak aku kelas mana (kelas C) Kelas A dosennya Pak Yugo juga tetapi sudah keluar :") |
oke setelah tugas 3, masih ada satu tugas lagi yaitu tugas kelompok. Tugas kelompok ini beranggotakan 5 orang untuk membuat sebuah penelitian. Kelompoknya milih, sehingga aku berkelompok dengan anak-anak 2018 lainnya yang OP-OP. Untuk topik, kita memilih topik analisis performa berbagai macam algo quicksort karena tidak perlu survei dan eksperimen cukup gampang.
Total pengerjaan makalah satu bulan. Namun u know lah anak pacil... kita sebelumnya nyicil dikit-dikit dan baru mulai fokus ngerjain di dua minggu terakhir. Untuk persiapan, kami siapkan google colaboratory untuk kodingan dan mulai ngoding. Kita ada 5 algo quicksort yang di analisis + algo buatan kami sendiri.
Bener sih, mengerjakan project gampang, namun perlu sedikit niat. Intinya sih cuma ngoding algo quicksortnya -> pasang counter jumlah swap -> hitung waktu eksekusi -> jalanin di berbagai macam permutasi -> done. Bagian yang "sulit" mungkin cuma bagian ngoding algo quicksort buatan kami, dimana aku menghabiskan waktu dua hari untuk ngoding pelan-pelan. Di akhir, kita buat video untuk menjelaskan penelitian kami. Kalau tertarik, bisa nonton disini.
Di akhir masa pengerjaan makalah, ada sesi tanya jawab dengan sistem yang unik. Setiap kelompok membuat forum lalu kelompok lain bisa bertanya tentang penelitiannya di forum tersebut. Jadi setiap kelompok di assign sebagai penanya wajib di dua kelompok lain, namun bebas bertanya di kelompok mana saja selain itu. Nah, ada nilai keaktifan 5% kalau aktif nanya di kelompok lain, jadi:
Yah memang penelitian lain topiknya lumayan umum jadi aku bisa ngerti semua. Selain itu, penelitiannya juga menarik jadi aku nanya juga karena penasaran. Note ada beberapa yang aku gak tanya, karena aku gak tertarik ke topiknya. Tetapi itu sudah di cover oleh temen-temenku sehingga total kelompokku coverage 100%. Waktu bertanyanya satu minggu. Jadi cukup banyak waktu lah.
Oke kalau kamu perhatikan baik-baik di screenshot thread di atas, nama kelompokku "kelompok 3". Nah, ini ada jokesnya gitu. Jadi aku pilih nama gitu simply karena kita orang ketiga yang mendaftarkan kelompok dan agar menggindari perdebatan nama kelompok. Lalu, nama kelompoknya literally "kelompok 3", banyak sekali yang sering salah menyebut nama kelompok kami.
Notice juga di video kami diatas, dibuka dengan "kami dari kelompok kelompok 3"
Secara keseluruhan, aku pikir MPPI matkul yang lumayan melelahkan namun cukup menarik. Aku dapat ilmu penting disini yaitu untuk tidak terintimidasi dengan paper-paper. Aku juga jadi bisa melakukan riset sendiri dan tahu perkembangan terkini di ilmu komputer. Untuk nilai MPPIku diluar dugaan, aku dapat nilai tertinggi untuk semua nilai tugas dan kuis, kecuali tugas review paper di kelas.
Rating 8/10: Dapat pengalaman dan ilmu baru, materi singkat dan concise. Beban tugas cocok (sedikit dan berbobot), dan kelompok milih. Gak bisa lebih tinggi karena ada unsur bahasa indonesianya yang aku RIP.
Effort 9/10: Lumayan effort untuk mengerjakan tugas 2, 3, dan makalah. Walaupun hanya 8-15 halaman, baca paper membutuhkan kesabaran dan ketabahan yang tinggi. Sering kali aku harus "detour" membaca daftar pustakanya untuk tahu apa yang diomongin. Namun, masih tidak bisa dibandingkan dengan effortku untuk matkul AP.
*ini inspect element. Sebenernya kasus serupa terjadi namun aku nanyanya di awal dibukanya forum (saat post masih 0). Aku lupa screenshot sehingga jadilah meme diatas
Basis Data (Basdat)
Sebelum PJJ
Sejujurnya nama matkul "basis data" dulunya sangat mistis dan ambigu bagi aku, sangat dengar namanya aku tidak tahu tidak mempelajari apa. Berbeda dengan, lets say, "dasar-dasar pemrograman", "oh, belajar ngoding dasar!". Nah, "basis data"? apa yang dipelajari? mencoba menganalisis basis dari data-data? mencari penyusun (basis) dari data? Dari baca blognya Kak Fairuzi aku tahu ini belajar memodelkan hubungan data-data dan SQL untuk query. Tetapi apa "basis" dari "data"?
Terjawab semua di kelas perdana:
OHHH! ternyata terjamahan yang maksa |
Jadi ngerti lah semua hal-hal yang dipelajari. Ternyata kita sedang belajar cara menyimpan di database. Jadi dari awal gimana menentukan skema penyimpanan yang tepat (ERD), sampe melakukan operasi query di database (SQL), sampai bagaimana meningkatkan performa database (normalisasi).
Sebelum mengambil Basdat, aku sering denger ini matkul yg seram dan kuli, basdead lah katanya. Tetapi pengalamanku selama di kuliah ini jauh dari situ dan basdat mungkin merupakan salah satu matkul favoritku saat ini (disamping Anum dan AP). Jadi mungkin bagi yang sudah berpikiran begitu bakal kebingungan baca section ini. Dosen kelasku Bu Mei.
Materi yang aku agak kesulitan di basdat ini mungkin cuma materi pertama tentang teori penggunaan database (role apa saja yang ada, view apa saja, dan sebagainya). Pengalamanku kurang lebih gini di minggu pertama:
Berikut kondisi pikiranku di hari pertama:
*ibunya jelasin materi*
Galang: "oh, ini pasti cuma materi pengantar" *gak merhatiin*
*di akhir kelas, sesi tanya jawab*
Galang: "loh, kok pada bisa jawab :( "
Saat mulai masuk ERD (materi selanjutnya) aku panas. Aku suka mikir, dan ERD ini lumayan merangsang otak. Ini juga matkul pertama dimana menjawab soalnya membutuhkan semacam "diagram" yang dimana bentuknya dinilai (PSD gak dihitung karena bisa ngasal buatnya).
penampakan ERD (jawaban untuk soal UAS) |
Konsep ERD keliatan mudah dan jelas:
"Oh kalau object A make B, buat assosiasinya"
"Oh relationship N to M berarti N object A berhubungan dengan M object B"
"Oh kalau attribut di underline berarti key"
"Oh weak entity gaada bedanya dengan many-to-many"
Realita:
nilai PR individu 1 |
me and the bois di kuis pertama basdat Walaupun kami gak curang (salahnya beda), aku gamau sebelah Akbar lagi kalau kuis |
Jadi ERD keliatannya intuitif, nyatanya memang intuitif hanya saja ada beberapa tricky yang perlu diperhatikan. Waktu aku basdat, materi UASnya dari awal (include ERD) dan aku masih menemukan konsep-konsep baru tentang ERD menjelang UAS. Seperti ternyata many-to-many berarti dua pasang object (A, B) hanya bisa berhubungan sekali. Jadi kalau mau dibuat berhubungan berkali-kali, gunakan weak entity dengan partial key. Jadi, nanti saat menghadapi ERD jangan diremehkan yaa.
Oke tadi offtrack dikit. Selain kesulitan inherent dari ERD, penilaian juga lumayan subjektif dari asdos. Nilai bisa kecil kalau asdos tidak mengerti ERD kita (atau memang kita aja yang goblok). Materi sehabis ERD lebih konkret dan objektif yaitu relational mapping. Menurutku, materi ini berguna untuk lebih mengerti ERD. Jadi kalau kamu paham cara buat relational mapping, kamu bisa secara automatis paham konsep-konsep yang dipakai di ERD. Kalau untuk materi relational mapping sendiri aku tidak ada masalah, lumayan intuitif tanpa hidden tricks.
Selanjutnya materi SQL. Disini mulailah "ngoding"nya basdat. Pada saat yang bersamaan, tugas-tugas lab mulai muncul. Jadi basdat tugasnya sebagai berikut:
- 4 tugas individu (TI)
- 5 tugas kelompok (TK)
- 4 lab.
Untuk lab tidak ada jadwal pasti. SUPRISE MADAFAKA, tahu-tahu aja muncul soal lab di Scele dengan deadline pengerjaan seminggu. Untuk setiap lab tidak wajib mengerjakan di lab, namun wajib datang untuk absensi. Biasanya sih aku dateng buat absen doang, lalu ngerjain labnya H-1 deadline karena banyak kerjaan lain dan lab juga secara umum lumayan gampang.
Kalau tugas individu effort yang dibutuhkan sedikit lebih banyak. Untuk tugas individu ERD dan relational model aku ngerjain dengan cicil 2 - 3 hari karena soalnya berbentuk cerita dan panjang banget. Tetapi menurutku masih wajar lah difficultynya untuk bobotnya.
Secara keseluruhan, kelas basdat selama offline menurutku lumayan bagus. Ibu Dosennya pinter dan bisa diajak diskusi. Kalau dari segi materi, aku ngira matkul ini easy A karena banyakkan main logic. Sebelum PJJ menyerang.
Setelah PJJ
Setelah PJJ basdat menjadi maktul full video. Jadi tidak ada kelas google meet, semuanya lewat video. Aku sih tidak terlalu masalah bagian ini karena biasanya streaming bareng temen. Materinya juga masih lumayan seru. Aku suka normalisasi karena jadi menambah pandangan baru tentang cara mendesain database (engga asal jadi aja gitu).
Untuk pengerjaan TI dan lab juga masih aman. TK saat PJJ juga sudah mulai ke koding dan SQL, jadi lebih enak dari saat harus gambar-gambar diagram. Wait... terus masalahnya dimana?
UTS Online
Yes... selama PJJ memang rasanya semua ujian dipersulit. Bukan cuma tingkat kesulitan, tetapi juga sistem pengerjaannya. Tidak lagi disuguhkan soal dan diminta mengerjakan dalam 2 jam, tetapi soal datangnya dalam batch. Misal, dikasih 15 menit untuk ngerjain soal topik A, 15 menit untuk soal topik B, 15 menit untuk soal topik C, dan seterusnya.
Dengan sistem itu, Basdat ini yang pelaksanaan UTSnya paling jahat. Karena kita perlu menggambar, berpikir, dan scan. tentu saja waktu 15 menit flat nyaris tidak cukup. Aku yang "lumayan bisa" saja nyaris tidak selesai di hampir semua soal. Ini lebih punishing lagi buat orang yang tidak bisa semua topik. Jadi misal sistem biasa nih dan aku gamau ERD, ya aku tinggal skip aja jadi ada waktu untuk maksimalin di soal lain yang aku bisa. Dengan sistem ini, hal tersebut tidak bisa jadi kita terpaksa menderita di ERD dan tidak bisa memaksimalkan di materi yang dikuasai. Kalau offline juga biasanya soal pilihan ganda bisa diselesaikan dengan cepat, jadi lebih banyak waktu lagi untuk mengerjakan soal essay.
Hasilnya aku merasa nilai UTSku tidak terlalu bagus, mungkin berada di zona 70-75. Ditambah lagi nilai tugas, kuis, dan lab-lab awal yang nilaiku jelek (foto-foto diatas) mengubah basdat dari matkul yang sebelumnya kukira easy A menjadi matkul yang paling menegangkan di semester ini. Iya tidak harus A, tetapi aku tertarik banget ke materi basdat sehingga bakalan ada perasaan menusuk yang dalam jika tidak A. Jadinya aku mulai khawatir dan memaksimalkan semua kemungkinan untuk mendapatkan nilai-nilai tambahan. Aku juga jadi rajin review materi-materi basdat.
Bobot penilaian terbesar yang tersisa tinggal TK. Untuk TK sendiri ada 5 dan kelompoknya dari awal sampai akhir sama. Di pertemuan pertama, Bu Mei sempet bilang kalau kelompok TK dipilihin dosen, namun berdasarkan NPM:
Beneran aku sekelompok dong dengan Tama. Tetapi dua orang lainnya (Khadijah dan Fadhil) bukan TOKI. Hmm, mungkin dipilih cluster NPM lalu di random. Tapi gpp lah pertama kali sekelompok dengan anak TOKI lain.
Saat offline sudah mengerjakan TK1 dan 2. Jadi saat online tinggal TK3, 4, dan 5. TK3 lumayan gampang, cuma buat definisi tabel dari relational model yang diberikan. Nah, mulai TK3 ini aku baru tahu tantangan terbesar tugas basdat:
Bayangin, 7 hari setelah TK3 rilis, sudah ada 7 revisi di dokumen tersebut. Jadi sayang banget bagi yang ngerjain di awal. Waktu revisi ke-7 ini rilis aku sudah kesel jadi aku protes di grup yang ada dosen "halo bu, kok tugas basdat revisi terus :(" dan dimundurin deh deadlinenya. Satu hari doang tetapi kemajuan lah.
Sehabis kekacauan TK3, tugas basdat (TI dan TK) tidak pernah ada "revisi" lagi. Maksudnya disini revisi resmi, tetapi kalau ada kesalahan di soalnya bakal dikasih tahu lewat group, hehe. Sneak 100.
Untuk TK4 dan TK5 nya ngoding implementasi website. TK4 itu ngoding tampilannya, dan TK5 itu baru menghubungkan ke database. Nah, karena kelompokku OP dan sombong, kita sudah mengimplementasikan database full saat TK4. Jadi rencananya saat TK5 tinggal implementasi login saja.
speech 100, negotiation 100 |
Poin penting dari TK5 ini desain tidak dinilai. Jadi u know me lah...
Wait... tunggu dulu...
Punya kelompokku yang bawah :O
Jadi gini rasanya punya website dengan design bagus. UNLIMITEDDD POWERRRR!!!
Ya, jadi kami bersyukur di kelompok kami ada designer. Terima kasih kepada Fadhil yang sudah mendesain seluruh website kami. Jadi basdat aku lumayan blessed dapat anggota kelompok yang hebat sehingga pengerjaan khusyuk.
Dan kurang lebih gitu doang untuk TK basdat. Menurutku ini TK yang relatif enak dibandingkan MPPI dan AP. Tetapi tetep saja thebest TK anum thanks to Krisna. Untuk TK ini ada dua topik yang diassign secara random ke setiap kelompok. Topik "Farmakami" dan "Medikago".
Meanwhile Akbar: "Gan, gw udah acquire domain farma-kami, farmakami, medikago, medika-go dari heroku. Yang mau PC"
Sistem UAS basdat ini sangat mematikan. Ada 5 sesi. Sesi pertama ada 60 soal pilihan ganda dikerjakan dalam 60 menit. Sesi-sesi berikutnya sebuah soal essay dengan batas masing-masing 15 menit. Ditambah lagi, materi yang diujikan dari awal semester. Mengingat hasil UTSku dan nilai tugas-tugasku yang biasa saja, aku review mati basdat dua minggu sebelum UAS. Mungkin ini satu-satunya matkul yang aku belajar serius untuk UAS di semester ini.
Dari semua matkul yang aku ambil di Fasilkom, menurutku basdat masuk top 3 matkul yang paling dipake sebagai software engineer. Tentunya SE pasti nyentuh dong yang namanya database, entah itu SQL atau NoSQL. Di magangku setelah semester 4, ilmu basdat sangat krusial untuk menjalankan magang karena harus berurusan dengan 4 database engine berbeda (postgres, mongodb, elasticsearch, redis).
(konteks: magang di liburan semester) penting untuk memperhatikan kelas guys don't be Akbar |
Rating 8/10: Materinya seru dan berguna. Dosen baik dan enak diajak berbedat. Kekurangannya hanya sistem UTS/UAS yang sulit, dan revisi-revisi mematikan di tugas-tugasnya.
Effort 7/10: Tugas-tugas basdat tidak terlalu susah dan waktu pengerjaan sangat wajar (1 - 2 jam maks kecuali TK4-5 ngoding). Semua points buat effortku ini karena aku review mati basdat dua minggu sebelum UAS karena sistem UASnya yang mematikan.
D-Mail
i screenshot jam 2.20, tapi fotonya dikirim jam 1.21 |
PJJ is Fun
Baru PJJ setengah semester, mental healthku sudah regresi. Aku took for granted suasana kelas yang "biasa saja" dulu saat offline. Ternyata kelas itu tempat belajar ideal bagiku. Belajar lewat google meet/zoom tidak ada feelingnya, sampai-sampai aku hampir tidak pernah memerhatikan kelas google meet dan lebih memilih mengerjakan tugas-tugasku.
Namanya manusia, tentu saja ada yang namanya ego dan iri. Kalau kelas offline, saat ada bagian yang aku kurang ngerti biasanya aku liat sekitar:
- Kalau muka pada kebingungan, berarti im safe
- Kalau pada ngerti dan nyatet, berarti aku harus lebih serius.
Nah, saat offline, ini tidak dapat dilakukan. Jadi kadang-kadang kalau aku gak ngerti aku hanya bisa kebingungan sendiri. Mungkin ini juga kenapa mental healthku mulai turun. Tenang, aku semester ini masih sehat kokk, aku cuma ngerasa ada sedikit penurunan mental stateku.
Aku biasanya enggak ngelakuin ini, tapi ini perbandingan nilai semester 3 dan semester 4ku. Jangan buka spoiler dibawah jika anda tipe yang mudah minder melihat nilai
Note aku tidak "sedih" dengan nilaiku karena aku tahu banyak yang lebih sad. Hanya saja aku ingin menunjukkan bukti nyata dari regresiku karena PJJ. Mana tahu, semester depan bisa jadi dapat nilai non-A pertamaku?
The Real Kuliah
Semester-semester sebelumnya mungkin berasa lebih gampang karena aku sudah punya pengalaman kuliah. Sebelumnya:
- Semester 1 aku gak pernah mikirin kuliah. Fokus hal-hal lain
- Semester 2 aku hanya effort di matkul CP dan 4 organisasi/kepanitiaan ku.
- Semester 3 aku hanya effort di PPW dan RISTEK DS.
Maksudnya effort disini tuh aku meluangkan waktu untuk belajar dan ngerjain tugasnya. Kalau gak effort berarti aku cuma belajar 1 - 2 jam sebelum UTS/UAS dan PR bisa dikerjakan dengan cepat tanpa banyak mikir. Aku inget 1 jam sebelum UAS POK (semester 3) aku belajar fisdas lalu nonton RWBY.
Tidak heran banyak yang iri dengan TOKI-TOKI. Tapi saat menjani semester 4 ini mungkin age of TOKI is over. Kenapa tuh? Aku effort di semua matkul. Gaada matkul yang asal lewat. Semua matkul aku perlu meluangkan waktu untuk belajar mandiri dan tugas-tugasnya tidak trivial dan perlu usaha untuk dikerjakan. Kalau kurangkum:
- Anum: Konsep agak sulit. Banyak term-term matematika baru. TK mudah tapi kuli (nulis laporan gan)
- Basis Data: baca aja post tentang basdat diatas. Sudah nangis-nangis heheh
- MPPI: tugas 2 -> baca 1 paper. tugas 3 -> baca 9 paper. Mini riset: buat makalah 80+ halaman.
- AP: Matkul paling sibuk. Inget riset tentang projectmu guys
- OS: Gaada tugas dan skema UAS PJJ mudah. Tapi aku sempet belajar H-14 untuk persiapan UTS yang saat itu offline.
- TBA: Matkul bigbrain thinking. Berasa kek ikut OSN lagi.
Anda semester 3, TOKI dengan IPK 4? jangan senang dulu. Karena the real kuliah bagimu baru mulai :O
Dengan semester ini aku jadi merasa Its OK untuk tidak tahu semua. Aku sering bingung masalah DevOps karena harus baca-baca banyak sekali referensi. Biasanya kalau ada tugas yang related dengan ini aku abaikan, tunggu Nadip kelar, lalu baca tutorialnya dia.
Penutup
Wah, sekian review matkul semester 4. Lumayan panjang juga yak. Menurutku, semester 4 saat ini merupakan semester paling bermanfaat bagiku di Fasilkom. Aku bisa lihat kegunaan semua matkul di kehidupanku setelah lulus nanti. Saat menulis ini, aku sudah menjalani semester 5. Dan semester 4 jauh lebih bermanfaat dari semester 5.
Oiya, masih ada bonus part 3, dimana aku bahas cerita jadi PIC COMPFEST. Tetapi entah kapan keluar hehe :"). Mungkin aku mau buat review semester 5 dulu karena lebih asyik.
Review semester ini cukup sekian. Sampai ketemu di lain kesempatan! kalau aku masih ada
adu mesin kak
ReplyDelete