Archive for category Monolog

5 Kesilapan besar yang selalu dibuat oleh pelajar latihan praktik semasa membuat sistem

Betul, tajuk entri ni memang panjang … tapi aku bimbang, kalau tajuknya pendek dan ringkas mahupun padat, ada yang tidak paham tentang betapa pentingnya entri kali ini.

Semalam, aku telah pergi melawat seorang pelajar Diploma Sains Komputer (CS10) yang sedang menjalani latihan praktik disebuah syarikat terkemuka tanah air. Seperti biasa, pelajar-pelajar latihan praktik akan diberikan tugasan untuk membuat sistem. Biasanya sistem ini mudah dan scope penggunaannya adalah pada tahap departmental level sahaja. Cuba baca semula ayat sebelum ini, sistem mudah, sistem mudah selalunya cuma memerlukan pelajar menukar flow daripada menggunakan cara manual ( iaitu mengisi borang menggunakan kertas) kepada online. Jadi kebiasaannya pelajar akan diberi borang, dan diminta untuk implement borang ini secara online. Ini adalah sistem mudah, pelajar sepatutnya boleh menyiapkan tugasan ini kurang daripada masa seminggu. (No I am not kidding!). Tetapi, sudah beberapa kali pelajar masih belum berjaya menyiapkan sistem apabila pensyarah datang melawat, dan selalunya pensyarah datang seminggu dua sebelum latihan praktik tamat! Macam mana ni?

A simple system and yet students fail to complete it in a semester! A semester is 4 months ok! 4 months! Kalau sistem mudah pun 4 bulan tak boleh siap, macam mana company nak trust pelajar dengan sistem lain yang lebih kompleks? Arrghh …. (tambah kata-kata yang tidak boleh diucapkan di sini).

Tapi tak per, sebagai seorang yang berpkiran positif, aku rasa ini semua boleh berubah, dan aku harap dengan memberitahu pelajar tentang 5 dont‘s ini akan membantu mereka untuk lebih berjaya pada latihan praktik akan datang, jadi tunggu apa lagi, mari kita lihat kesalahan yang selalu sangat pelajar lakukan. Ayoh!

1. Suka mengasing-asingkan user mengikut nafsu

Ini adalah kesilapan besar yang banyak pelajar lakukan, apabila membuat sistem, dan sistem tersebut memerlukan user authentication (user perlu login untuk menggunakan sistem), pelajar akan membuat table user yang berbeza untuk setiap group yang ada didalam syarikat tersebut. Tak paham ek? Memanglah, sebab tu salah buat! Hahaha … tengok contoh ni dan jangan buat kesilapan yang sama!

Katakan syarikat ada department berikut:

  • Finance
  • Human Resource
  • Marketing
  • Research and Development, dan
  • Technical

Biasanya pelajar akan membuat 5 table user untuk setiap department diatas. Jadi kita akan ada table user_finance, yang simpan data authentication tentang staff di finance. Kemudian kita ada table user_hr, yang simpan data tentang staff di human resource and so on. Kenapa? Why? Why do you have to hurt my heart dey? Apa reasoningnya untuk kita ada different table of user for each department? Bukankah table user ini mempunyai field yang sama? Arrghh …. (tambah lagi kata-kata yang tidak boleh diucapkan di sini).

Cuba bayangkan kalau ada 20 department

Masalah user dibahagikan kepada banyak table ini pulak, akan menyebabkan pelajar membuat different login page untuk setiap department. Maknanya nanti staff finance akan login menggunakan page sendiri, staff Marketing ada page login sendiri dan begitu juga staf technical. Pelik tak? Cuba kalau nak akses facebook, kita ada different login page untuk user dari Malaysia, user dari Canada dan user dari Congo, pelik tak? Pelik kan? Habis tu kenapa korang buat haaaa ?

Lepas tu nanti, kalau nak buat profile page, akan ada different update profile page untuk setiap department, page nak update password pun berbeza untuk setiap department, dan hampir semua page berbezalah untuk setiap department. Nampak tak masalah yang akan timbui jika kita mula dengan database design yang salah?

Jadi ingatlah wahai adik-adik, secara general, data mengenai user cuma disimpan didalam satu table sahaja melainkan kes kes tertentu, dan sistem mudah tidak termasuk dalam kes kes tertentu ini. ok?

2. Login hanya untuk suka-suka

Biasanya semasa presentation, ini yang terjadi. (Nama watak adalah rekaan semata-mata yer.)

Mila Amylia: (Dengan slang omputeh + utara) Ok so now I would like to demo the system that I have developed in the company. When user would like to use the system. they have to login first.

Pelajar dengan yakin membuka browser pilihan hati, membuka sistem dengan gaya vogue dan apabila login screen dipaparkan, dengan lagak Hugh Jackman dalam cerita Swordfish memasukkan username dan password. Apabila next screen appear, pelajar dengan tersenyum lebar menunggu pujian dari para panel kerana telah berjaya membuat authentication.

Encik Ali Federer: Nice, can you logout please Mila!

Pelajar dengan blur klik butang logout tapi tak paham kenapa disuruh berbuat demikian.

Encik Ali Federer: So you have logged out right?

Mila Amylia: Betul Harris, eh silap, En Ali.

Encik Ali Federer: Now press the back button, if your authentication is correct, your system should not allow you to access the system right?

Mila Amylia: Yeah I think so.

Pelajar pun klik butang back, and suprisingly (actually tak suprise dah pun), masih boleh access the so-called secure page. Nanda Kore?

Pelajar pun dengan muka terkejut tak paham kenapa jadi macam tu.

Mila Amylia: Sorry sir, I dont know what happen, saya pasrah …

Encik Ali Federer: Yer lah tu, continue with your demo please.

Mila Amylia: (Tiba-tiba menyanyi) Tuhan tolong lembutkan hati dia, untuk terimaku, seaadanya ….

Senario diatas memang biasa terjadi, pelajar tidak paham cara yang betul untuk membuat authentication. Jadi please, next time learn how to do proper authentication!

3. Tidak mendalami lirik lagu Peter Pan – Di Atas Normal

Betul … Ini adalah satu lagi perkara yang sangat penting tetapi tidak dilakukan oleh pelajar iaitu membuat normalization semasa merekabentuk database. Saya pernah melihat pelajar yang berjaya menyiapkan satu sistem dengan hanya menggunakan satu table sahaja, yerp … satu table. Dan didalam satu table inilah data mengenai authentication di simpan, data mengenai cuti dan sebagainya juga disimpan.

Memang, sistem anda pada masa ini tidak mengalami apa-apa masalah dan anda mungkin boleh present dengan jayanya, tetapi ini tidak sihat untuk kerjaya anda kerana bila pada masa bekerja nanti dan anda diminta untuk membuat sistem, anda akan pecah kepala bila data corruption berlaku pada database anda, percayalah.

Dan pada masa itu kita akan sama-sama menyanyikan lagu peter pan:

Pikiranku
Tak dapat kumengerti
Kaki dikepala
Kepala dikaki
Pikiranku
Patutnya menyadari
Data yang mana
Yang sudah ku normali (boleh eh?)

Jadi sebelum ini terjadi, tolong baca dan pahamkan normalization, boleh?

4. Menggunakan Dreamweaver

Sebelum ada yang hantar komen memaki dan marah-marah bila baca tajuk diatas, aku rasa baik korang baca dulu entri ni sampai habis ok. Aku takde masalah dengan Dreamweaver malah aku akui dreamweaver adalah satu IDE yang amat bagus, malah aku juga dulu, masa mula-mula belajar PHP dan mula berjinak-jinak dengan seni membuat laman web, aku juga menggunakan Dreamweaver. Oleh kerana itulah aku ingin memberikan nasihat ini.

Didalam pembelajaran tak kira apa pun, kita mesti bermula dari bawah supaya kita mempunyai asas yang kuat. Sebagai contoh, dalam membuat laman web, walaupun Dreamweaver boleh membantu kita untuk design laman web kita, tetapi kita perlu tahu segala bala tag yang ada yang digunakan dalam HTML. Kalau tidak nanti, bila ada dreamweaver, kita dapat membuat drop down box dengan mudah, tetapi bila kita kerja dan syarikat tersebut menggunakan hanya notepad++, baru kita mula panik dan ingin belajar cara membuat drop down box menggunakan HTML code.

Lebih teruk lagi jika kita menggunakan bantuan Dreamweaver untuk generate PHP code untuk kita, memang serabut jadinya kerana kita tak paham PHP, tapi buat web guna PHP. Nanti bila client mintak requirement yang pelik-pelik, kita dah panik ….

Jadi adik-adik, bila ada assignment web development, tolonglah download notepad++ atau pun apa-apa yang seangkatan dengannya, bila anda sudah pro, barulah guna Dreamweaver, boleh kan?

5. Menganggap ianya sebagai satu lagi subjek yang perlu dilalui

Kesilapan terakhir yang sering pelajar lakukan tidak ada kena mengena langsung dengan komputer tapi lebih kepada mentaliti mereka semasa menjalani latihan praktik. Kebanyakan pelajar yang aku lihat cuma mahukan mereka diluluskan oleh panel mereka semasa sesi pembentangan. Mereka cuma menganggap latihan praktik adalah just another course yang mereka perlu habiskan semata-mata untuk grad.

This is a wrong mentality, seriously guys you need to change.

Sepatutnya korang semua ambil peluang semasa praktikal ini untuk menimba ilmu sebanyak mungkin, menunjukkan betapa hebatnya korang semua dan betapa pelajar UiTM sebenarnya adalah pelajar-pelajar yang bagus dan boleh membuat kerja. Ingat, anda semua adalah duta-duta UiTM, sekiranya anda bersikap sambil lewa semasa latihan praktik, ini akan memberikan persepsi tidak baik kepada syarikat-syarikat yang mengambil anda bukan? Mungkin selepas ini mereka akan melabel pelajar UiTM yang bukan-bukan kan?

Jadi marilah kita sama-sama berubah agar masyarakat diluar sana akan mempuyai rasa hormat yang tinggi kepada mahasiswa lepasan UiTM, boleh yer?

Ok lah aku pun dah penat … semoga berguna untuk semua!

20 Comments