Tuesday, June 16, 2020

Semester Empat di Teknik Informatika ITB: Mata Kuliah


Hallo semua! Jadi ini adalah bagian khusus untuk setiap ulasan dan tips-tips menjalani perkuliahan di semester empat di Teknik Informatika ITB. Bila kalian ingin membaca keluh kesah dan suka dukaku menjalani kuliah di semester ini, langsung saja klik disini. Bila tidak, kuy, langsung saja baca ceritaku per mata kuliah yang kuambil di semester 4!


Muka-muka ambis

1.     IF2210 – Pemrograman Berorientasi Objek (3 SKS)
Mata kuliah ini merupakan mata kuliah pemrograman lanjutan setelah lulus dari mata kuliah Algoritma dan Struktur Data pada semester sebelumnya. Dari aku sendiri, mata kuliah ini sangat seru karena mata kuliah ini menerapkan pemrograman dari paradigma yang berbeda, yaitu paradigma objek. Konsepnya cukuplah sederhana, yaitu Everything is object. Semua hal adalah objek, yang mempunyai atribut dan tingkah laku tertentu. Mata kuliah ini merupakan mata kuliah paling krusial karena bakal kepake banget buat ke depannya. Tugas-tugas besarnya sangat menjelaskan mengapa pemrograman berorientasi objek menjadi dominan dan kepake buat aplikasi aplikasi besar. Di OOP, terdapat 2 tugas besar yang dikerjakan, yaitu
-       Simple Calculator dengan Pendekatan Objek
-       Avatar Duel Card Game

Kebayang gak objek-objeknya gimana? Disini, contoh paling gampang kalkulator. Kalkulator terdiri atas tombol-tombol yang bisa merepresentasikan tombol digit, tombol operasi, dan tombol evaluate. Jadi, setiap menekan tombol digit, digit tersebut akan tampil dalam layar. Ketika tombol evaluate ditekan, maka akan ditampilkan pada layar hasil evaluasi bisa 1 + 1, bisa 2 x 3, ke dalam layar.

Jadinya, setiap tombol tersebut merepresentasikan objek gitu, yang kalau ditekan, bakal melakukan sesuatu. Kira-kira gitu deh Pemrograman Objek ini. Seru bukan? Aku sendiri senang mengikuti mata kuliah ini. Buat tips-tipsnya, jangan bosen-bosennya ngoding dan mencoba contoh-contoh program objek yaa, penting banget soalnya buat ngasah kemampuan berpikir objek. Mungkin terlihat mudah ketika membaca solusi, namun perlu juga buat mengasah otak problem solving sendiri terkait persoalan berbasis objek.

2.     IF2211 –  Strategi Algoritma (3 SKS)
Mata kuliah ini juga gak kalah menarik nih sama yang di atasnya! Mata kuliah ini merupakan bentuk practical dari mata kuliah dasar semester 3 sebelumnya (Matematika Diskrit, Aljabar Geometri, Teori Bahasa Formal, Logika Komputasional). Semuanya dikemas dalam bentuk practical programming dengan strategi-strategi algoritma yang sesuai. Makanya, namanya Strategi Algoritma. Ini merupakan mata kuliah dengan kontribusi tugas terbanyak, terdapat 3 tugas kecil dan 3 tugas besar yang perlu dikerjakan. Apesnya lagi, pada angkatanku, tugas besar terakhir berubah menjadi tugas kecil. Tugas kecil disini juga merujuk pada banyaknya orang yang mengerjakan. Tugas kecil cenderung dikerjakan secara individual, sedangkan tugas besar dikerjakan berkelompok. Untuk daftar tugasnya sendiri, berikut ini adalah daftar tugas dari Strategi Algoritma.
-       Penyelesaian Convex-Hull dengan Algoritma Brute Force
-       Penerapan Algoritma Greedy dalam Permainan Tower Defense
-       Perkalian Polinomial dengan Pendekatan Divide and Conquer
-       Simulasi Penyebaran Virus dengan Algoritma BFS
-       Penyelesaian 15 Puzzle Game dengan Branch and Bound
-  Ekstraksi Informasi dari Berita menggunakan Pattern Matching dan Regular Expression

Kayaknya udah bisa ketebak lah yaa, mana yang tugas kecil, mana yang tugas besar? Kalau ga ketebak, jadi tugas kecil sama tugas besarnya selang-seling gitu. Meskipun tugasnya banyak, tapi ini seru banget gaboong. Semua tugas menerapkan teori-teori mata kuliah semester sebelumnya, lalu dikemas dalam algoritma-algoritma tertentu. Tujuannya sendiri adalah mampu mengaplikasikan algoritma tertentu agar suatu permasalahan dapat diselesaikan secara efisien dan tepat guna.  Kalau dilihat dari tugas-tugasnya, keren kaan? Bisa bikin puzzle solver sendiri, extractor sendiri, dan sebagainya. Pokoknya ini menantang banget deh.

Buat tips-tipsnya, kerjakan tugas-tugasnya sendiri-sendiri ya, jangan kebanyakan copas sana sini, apalagi copas kerjaan temen (lebih parah lagi kalo dikerjain temen). Jangan deh! Soalnya ini mata kuliah ngajarin pola berpikir logika banget kalo kataku tuh. Bakal ada rasa puas tersendiri kok kalo bisa sendiri, karena memang tugasnya sangat sejalur dengan kuliah yang dijalanin.

3.     IF2220 – Probabilitas dan Statistika (3 SKS)
Mata kuliah ProbStat merupakan mata kuliah yang benar-benar matematis banget kalo menurutku. Mengapa begitu? Karena mata kuliah ini banyak banget rumusnya! Prerequisitesnya aja Kalkulus I dan Kalkulus II. Dan ternyata memang bener banget. Rumus-rumus dan logika berpikir kalkulus kepake lagi di mata kuliah ini. Mata kuliah ProbStat mengajarkan tentang teori probabilitas dan penggunaannya dalam statistik.

Probabilitas disini berbeda dengan probabilitas melempar dadu begitu ya, namun ke level yang lebih kompleks, dan lebih bermanfaat tentunya untuk pengolahan statistik nantinya. Tidak banyak orang yang menyukai mata kuliah ini, mungkin karena terbiasa dengan teori pemrograman kali ya, dan memang ini satu-satunya mata kuliah yang benar-benar mata kuliah dasar juga, jadi mungkin sulit menemukan titik terang pemrogramannya. Mata kuliah ini mata kuliah satu-satunya tanpa tugas besar, namun seperti PAR, terdapat PR mingguan yang harus dikerjakan dan sangat membantu ke depannya.

Untuk tips-tipsnya, please banget, kerjakan PR sendiri-sendiri, jangan dikit-dikit nyontek punya temen. Kerjakan sesuai dengan teori-teori yang sudah dipahami sebelumnya. Kalo misalkan nyontek dari internet atau sumber manapun, please banget buat dipahamin juga, jangan sekadar nyalin. Karena bagi aku sendiri, mata kuliah ini tidak sesulit yang kupikir sebelumnya. Kuncinya sama seperti PAR dulu, belajar dan latihan soal.

4.     IF2230 – Sistem Operasi (3 SKS)
Wow, mata kuliah Sistem Operasi. Mata kuliah ini mengajarkan tentang dasar-dasar dari Sistem Operasi, cara kerja Sistem Operasi, hingga proteksi pada Sistem Operasi. Mata kuliah ini satu-satunya mata kuliah yang tugas nya “jauh banget” sama mata kuliahnya. Kuliah belajar mengenai teori dasar Sistem Operasi, sedangkan tugas belajar tentang implementasi Sistem Operasi sendiri menggunakan Linux. Keren banget bisa tau cara kerja OS, di balik Windows / iOS yang kita jalankan, ternyata begini toh. Keren gituu, tapi, tubesnya menderita jujur.

Kata kating-kating, kalo nyari kelompok, jangan sampe kelompok yang zonk atau asal-asal. Kenapa? Karena tugas besarnya cuman satu untuk 1 semester, yaitu membuat Sistem Operasi dengan 4 milestone. Jujur saja, tugas besar yang ini benar-benar aneh dan sulit menurutku. Pola berpikirnya berbeda dengan sekadar membuat aplikasi pemrograman biasa, melainkan lebih dalam dari itu. Perlu pemahaman akan Organisasi dan Arsitektur Komputer yang lebih matang agar pembuatan Sistem Operasi bisa lebih mudah. Aku berterima kasih karena aku boleh diajak oleh teman-teman yang sangat kooperatif dan dalam tugas sistem operasi ini (baru tugas ini aja, aku berasa dicarry banget sama dua temenku, aku paling payah disini). Intinya, jangan ngasal-ngasal dah pas milih kelompok buat OS ini wkwk, dan jangan pernah berhenti untuk berusaha.

5.     IF2240 – Basis Data (3 SKS)
Pada awalnya, aku berpikir bahwa basis data cuman belajar tentang data ada tipe integer, string (ya karena itu kan basis). Tapi, betapa bodohnya aku berpikir begitu. Basis data ini bahasa Inggrisnya kan Database. Jadi ini belajar tentang Database, mulai dari konsep database itu sendiri, kenapa make database, hingga pengenalan SQL dan bagaimana membuat database yang baik. Pada awalnya aku cukup meremehkan mata kuliah ini, karena yaa prinsipnya kayak Excel gitu, ambil-ambil data gitu, membuat tabel isinya kolom-kolom tertentu, dan sebagainya.

Tapi ternyata, ga semudah itu cuy. Suka ada yang ngulang di mata kuliah ini kalo ga serius. Untuk membuat database juga ga sembarangan lho, ada aturan-aturan tertentu (seperti normalisasi), yang mungkin pada awalnya (Ah ini apaan dah gajelas), tapi sebenernya lama-kelamaan masuk akal juga kok kenapa dilakukan normalisasi gitu. Begitupula teknik-teknik database lainnya.

Tips-tipsnya adalah, jangan meremehkan mata kuliah ini meskipun terlihat mudah di awal. Jangan pernah menyerah untuk mempelajari database, jangan jenuh-jenuhnya baca-baca referensi (mengingat slidenya full english dan referensinya juga tebal). Sama, jangan males-males buat mencoba sendiri latihan-latihan database ini.

6.     IF2250 – Rekayasa Perangkat Lunak (3 SKS)
Mata kuliah ini jadi jembatan banget buat pengenalan pada dunia software engineering. Mata kuliah ini mengajarkan tentang apa itu software engineering, tools-tools dalam software engineering, dan membangun perangkat lunak sederhana. Mengingat ini adalah jembatan awal untuk pengenalan dunia software engineering, jadinya mata kuliah ini bakal lebih banyak ngebahasnya secara teori. Dari mata kuliah ini, aku menyadari bahwa suatu software bukan dibuat secara langsung dengan terjun pada coding atau implementasi. Ibaratnya, perlu algoritma dan ide terlebih dahulu untuk membuat suatu program. Dalam konteks software engineering, ternyata banyak loh proses panjang dalam membangun suatu aplikasi atau software. Di sini bakal diajarin gimana proses-proses panjang tersebut.

Mungkin banyak orang yang menganggap ini membosankan, tapi inget, jangan pernah meremehkan suatu materi sedikitpun. Inget, yang butuh ini siapa. Meskipun ada orang yang merasa tidak butuh ini, namun yang namanya ilmu, jangan pernah menolak ilmu tersebut, apalagi diberikan kesempatan untuk berkuliah dan menerima ilmu software engineering tersebut. Tips-tipsnya tersirat di atas sebenernya, tapi intinya adalah, ikutilah mata kuliah ini dengan baik dan serius.

7.     AS2005 – Astronomi dan Lingkungan (2 SKS)
Mata kuliah ini merupakan salah satu mata kuliah wajib lingkungan pada bidang Astronomi. Mata kuliah ini merupakan pilihan dari 5 mata kuliah wajib lingkungan lainnya. Aku sendiri memilih mata kuliah Astronomi dan Lingkungan karena melihat silabusnya yang menarik dan ingin tahu juga tentang dunia astronomi. Dan ternyata, aku gak salah pilih! Mata kuliah ini sangat membuka wawasanku tentang keadaan lingkungan saat ini dari sudut pandang astronomi. 

Mata kuliah ini berbicara mulai dari polusi cahaya, lingkungan angkasa, dan pencarian planet mirip bumi di angkasa yang kita kenal saat ini. Pokoknya keren deh. Kegiatan perkuliahan lebih banyak dalam bentuk perkuliahan biasa, dosen menjelaskan, mahasiswa mendengarkan. Kadangkala ada juga kelas yang melakukan diskusi kelompok. Dari aku sendiri, aku seneng banget dengerin dosen menjelaskan ilmunya terhadap mahasiswa-mahasiswanya tentang lingkungan di bumi dan angkasa dari sisi astronomi. Keren dehh, aku seneng dan ga nyesel samsek ngambil mata kuliah ini.

Ohiya, fyi, aku diajarkan oleh dosen yang banyak orang bilang membosankan. Tapi aku selalu punya prinsip untuk tidak pernah melihat dari dosen yang mengajar, melainkan ilmu yang diajarkannya. Menurutku, bagus-bagus saja kok pengajaran yang dilakukan oleh dosen. Kesabaran dosen dalam menjelaskan selama 2 jam menurutku menjadi point bagus. Mungkin saja karena aku suka belajar dengan mendengarkan, jadinya aku seneng ngikutin mata kuliah ini. Aku penasaran apa yang dipikirkan orang lain sampe-sampe males ngikutin mata kuliah ini (dalam artian mengikuti cuman sekadar kewajiban saja). Seru lho, astronomi tuh. Simple tips: Just enjoy it!

Bonus:
Alarm yang tidak ingin didengar :(

Itu aja cerita-ceritaku mengenai kehidupan semester 4 aku di Teknik Informatika ITB. Terima kasih telah membaca, semoga bermanfaat!
Senin, 15 Juni 2020
Michael Hans

No comments:

Post a Comment