Skip to main content

Command Palette

Search for a command to run...

Mahasiswa Bikin Program Malah Ngasal

Tapi giliran pake aplikasi buatan orang, malah dikatain aplikasinya ๐Ÿ™ƒ

Updated
โ€ข7 min read
Mahasiswa Bikin Program Malah Ngasal

Tepok kepala adalah ekspresi paling tepat ketika ngeliat mahasiswa bikin program malah ngasal. Kenapa bisa dibilang ngasal? Karena menurut saya pribadi sebagai pengajar, programnya emang nggak masuk akal.

Contoh, misalnya ada yang bikin aplikasi untuk membandingkan dua barang. Secara logika nih, secara logika aja. Kita sebagai user pasti udah kebayang dong paling nggak kaya begini tampilannya:

30+ Product Comparison Infographic Templates + Design Tips

Karena jelas, ketika kita mau compare, ya harus kiri dan kanan. Tapi sayangnya, saya beberapa kali menangkap mahasiswa suka "ngasal" bikin program. Ini jelas ya saya kasih tanda kutip, kenapa? Karena mahasiswa berekspektasi bikin programnya, tapi dia bahkan gak pake nalar-nya pas bikin.

Ini hal yang biasa, tapi gak boleh dibiasain, maksudnya gimana? Sebagai developer, kita sering ngerasa "udahlah biar gampang gini aja", wait, gampang menurut anda apakah gampang menurut usernya?

Sayangnya, yang kaya gini jadi habbit. Mahasiswa itu mahasiswa-centric instead of user-centric. Artinya, dia maunya yang gampang menurut dia aja, tapi dia gak mikir, ini tuh sebenernya gak user friendly.

Apakah sepenting itu user-centric?

Untuk jangka pendek emang nggak, tapi jangka panjang, iya. Ini tuh kaya bom bunuh diri.


Imagine, kamu lagi ada tugas besar dari sebuah matkul, kemudian diminta bikin program berbasis web. Dikarenakan kamu pusing, pada akhirnya kamu bikin "ngasal" yang penting jadi, walaupun gak masuk akal secara UI apalagi secara flow. Kemudian saat mempresentasikannya, kamu seolah gak kebingungan. Ya jelas lah kaga kebingungan kan kamu yang buat. Coba tuh suruh temen kamu dari jurusan lain pake itu, kalo dalam 10 menit dia gak bingung harus ngapain, berarti programnya berhasil.

Saya kadang suka gak habis pikir sama mahasiswa kaya gini, ketika kalian membiasakan diri untuk membuat sesuatu yang nggak masuk akal, maka itu akan jadi habbit, dan excuse-excuse yang kalian buat akan terus mendorong kalian untuk yang penting jadi.

Gak sekali dua kali saya kalo misalnya lagi presentasi tugas besar suka nanya ke mahasiswa:

๐Ÿฅธ: Emang masuk akal kalo misalnya kamu bikin todo-list, terus kemudian todo-list kamu keliatan di user lain pas mereka abis login?
๐Ÿ‘จโ€๐ŸŽ“: Nggak sih pak.
๐Ÿฅธ: Ya kenapa dibuat? Coba kamu balik Point of viewnya, kamu jadi usernya sekarang, gak masuk akal kan? Ngapain membuat sesuatu yang nggak masuk akal?
๐Ÿ‘จโ€๐ŸŽ“: Iya sih pak...
๐Ÿฅธ: Kamu kalo pake aplikasi orang yang jelek atau ngelag, kamu katain, kamu sendiri aja bikin aplikasi even gak masuk akal. Itu tuh cerminan, ngaca harusnya dari situ.

Well, terkesan jahat, tapi saya harus sampein fakta kaya gitu. Kalo gak, ya akan terus begitu habbitnya. Ngapain coba habbit kaya begitu dipertahankan? Ngarep pas lulus berubah? Gak juga kali. Justru momen di perkuliahan lah yang harusnya banyak salah, biar pas kerja nanti mikir "ohiya, ini kaga masuk akal, ngapain dibuat gini".

Masa nanti kerja bikin yang ngga masuk akal terus dikerjain dengan alasan "ngga bisa", "ngga ngerti", yaelah, udah bagus kalo gak dipecat sama atasannya. Banyak yang ngga suka sama saya dengan alasan saya terlalu vokal, padahal saya cuma nyampein fakta aja, daripada kamu yang dibacotin atasanmu karena kesalahanmu, mending saya judesin tapi membuat kamu lebih baik, karena tugas saya ya, mendidik.


Gimana cara bikin program yang masuk akal?

Ya mikir aja, sederhana kok. Kita punya akal buat dipake, bukan buat dianggurin. Sebagai anak Gen-Z yang punya kemampuan berpikir lebih cermat karena sumbernya makin banyak, harusnya nggak ada alasan untuk bilang "nggak bisa" atau "nggak paham".

Apa-apa makin gampang, tinggal kita mau apa enggaknya aja. Kalopun memang nggak bisa, ya kan bisa nyoba dulu, mau nanya, bisa nanya siapapun di internet, bayar orang, cari code yang mirip, bahkan nanya ke komunitas. Ya paling cepet sih, minta ajarin temen terus bayar dia pake traktiran di kedai kopi.

Masalahnya adalah mahasiswa pada kaga mau cara yang begini. Maunya gratis, cepat, murah, dan gak bikin pusing. Aneh banget cara mikirnya, ya gak sih? Dimana-mana ada cost yang dibayar, mau bisa sendiri berarti harus berpusing-pusing ngehabisin banyak waktu, mau cepet ya bisa bayar orang tapi costnya bisa jadi ngga murah. Mau murah? Pacarin programmer "yang jago", dijamin murah karena bisa dibantuin ๐Ÿ˜‚.

Observasi, Pikir, Nanya, Coba.

Ini yang harusnya dimiliki sama mahasiswa, observasi, berpikir, bertanya, dan mencoba. Ketika kalian dihadapkan sama satu masalah, coba observasi sebenernya masalah utamanya apaan sih?

Contoh, ke kasus yang pertama, ketika mahasiswa saya bikin page yang compare tapi gak dibuatin compare. Sebenernya masalah utama ketika mau bikin page yang compare tuh apa? Kita bedah dikit:

  • Gimana cara membuat tampilan yang kebelah dua begitu?

  • Gimana cara membawa dua buah data agar bisa ditampilin di sisi kiri dan kanan?

Dari satu masalah yang "nggak paham cara buat halaman compare" kita bisa bedah dengan dua solusi kok. Terus gimana lanjutannya? Ya dikerjain lah, masa planga-plongo. Cara ngerjainnya gimana? Ya selesain satu-persatu masalahnya.

Kerjain dulu cara membuat tampilan kebelah dua, misalnya kalau di web kita bisa pake grid dan column. Kita bisa belah dua jadi col-6 dan col-6. Setelah bisa berhasil buat tampilannya, coba buat gimana caranya mengambil data detail dari dua produk yang ingin dicompare, misalnya dengan membuat path URL-nya menjadi websiteku/compare/<id_produk_1/with/<id_produk_2> .

Kalau kaya gini, selesai kan akhirnya dua masalah? Ya bisa lah, kan diselesain satu persatu. Jadi masalah tuh gak keliatan gede kalau kita pecahin dan diselesain satu per-satu.


Kasus kedua, yang tadi masalah todo-list kenapa keliatan di user lain. Alasan sederhananya kan begini kalau kita bedah:

  • Gimana cara nampilin data todo tapi filter by user id?

  • Gimana caranya dapetin user_id abis login? Soalnya kan untuk filter kita butuh user_id.

  • Gimana caranya set session di android atau web? Soalnya kan untuk dapetin user id abis login, kita butuh simpen itu.

Jawaban pertama, ya kalo pake SQL bisa tambahin Where, tinggal cari caranya gimana buat masukin parameter si ID user di dalam where. Jawaban kedua, ya kan abis login biasanya kita kembaliin data user, bisa diambil kan idnya? Jawaban ketiga, di Android ada shared preference, di web ada session & cookies. Caranya gimana? Di Internet banyak!

Dengan cara ngebedah kaya begini, kita jadi jelas harus ngerjainnya gimana, dan apa dulu yang difokusin. Kebanyakan mahasiswa itu maunya ngeliat masalah itu ya masalah yang besar.

Padahal yang harus mereka lakukan adalah mecah-mecahin masalahnya jadi kecil dengan cara bertanya, terus diselesain satu persatu. Ini yang disebut dengan chopping-mechanism.

Perbanyak Nanya

Kalau kamu gak punya source of truth, maka cari source of truth, terutama pengalaman orang. Jangan mager untuk memvalidasi apakah kamu benar atau salah, karena yang penting itu adalah experience dari orang lain. Mungkin gak semuanya sesuai dengan kamu atau bahkan kebutuhanmu, tapi paling nggak, itu bisa ngebantu kamu memvalidasi apa yang kamu lakukan. Gimana cara nyari source of truth-nya?

  • Di kampusmu pasti ada senior atau temen kelas yang baik dan jago, jangan ragu temenan sama orang kaya gini. Jangan ragu juga jajanin dia meskipun kopi atau nasi goreng 15 ribuan, mereka pasti seneng bagi waktu mereka yang berharga itu buat ngajarin kamu di cafe/kostan kamu.

  • Di kampusmu pasti ada UKM atau KSM, jangan ragu memperluas koneksi dan mempertajam ilmu. Di dalam sana pasti ada orang yang paling jago yang bisa kamu tanya.

  • Di kampusmu, kamu pasti punya temen geng, ajak mereka buat belajar bareng, kalau mereka nolak, pindah sirkel, mereka toxic berarti gak mau kamu maju. Jangan ragu cut-off-in orang-orang yang gak mau kamu maju.

  • Di internet, kamu pasti ketemu programmer seumuran yang jago, atau bahkan yang lebih tua, jangan ragu nanya, ada beberapa yang sombong, ada juga yang enggak, selama kamu pake manners, mereka pasti accept.

  • Di internet, kamu pasti ngeliat komunitas online, jangan ragu join dan nanya, kalau kamu diejek, pindah, cari komunitas lain. Jangan kena mental. Kamu gak ada waktu buat ngurusin mental, fokus nyelesain masalah utama kamu dulu.

Alasan yang paling sering dikeluarin mahasiswa adalah malu. Let me tell you ya....

๐Ÿ’ก
Rasa malu adalah bayaran pertama kali ketika kamu belum mahir ngelakuin sesuatu. Programmer yang jago ketika mulai ngoding di awal dan bertanya pasti malu, Orang yang berotot di Gym ketika mulai dari gendut pasti malu, Orang yang naik kendaraan umum pertama kali karena gak tau pasti malu. Ketika sudah mulai terbiasa, rasa malu itu jadi hilang.

So, ngapain malu?


Udah semester-semester tua, please stop bikin program ngasal

Saya udah eneg banget liatnya, kaya kuliah tuh gak kepake akalnya, akalnya ketinggalan di land of dawn atau rozhok apa gimana? Kalau ada kesempatan, selalu pake buat nanya. Malu nanya tuh bukannya sesat dijalan, bikin kita tambah b*go.

Yaelah, gak semua orang mau jadi programmer kali pak.

I know, tapi untuk yang mimpi-nya jadi programmer, ya dipake lah akalnya. Saya gakpapa kok kamu gak mau jadi programmer, that's your business. Tapi juga jangan ngasal bikin programnya, karena ngasalnya kamu itu menandakan kamu itu ignorant dan egois.

Imagine kalau kamu nanti build a business, karena ketidakmampuan kamu, kamu merugikan customer kamu sendiri dengan alasan "alah susah soalnya di saya". Salah? Enggak. Apakah itu bisa menjamin business kamu berhasil? Belum tentu juga. Intinya kalau kamu mimpi bikin business, tapi maunya ngasal ngerjain sesuatu dan gak user-centric apalagi membuat sesuatu yang gak masuk akal, akan jadi habbit buruk terus.

Even ketika kerja, kamu punya kebiasaan maunya cepet doang dan ngerjain sesuatu yang gak masuk akal, ngerjain sesuatu jadi ngasal aja, yang penting kamu hepi, dan cepat. Orang lain rugi? Ya bodoamat, that's not my business.

Kurang-kurangin deh kaya gitu, gak baik, asli. Cepetan kurang-kurangin sebelum kamu nyesel nanti.