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!

  1. #1 by newbie on May 14, 2012 - 12:02 pm

    merujuk post ini.. penekanan terhadap no 2.

    http://iapps.uitm.edu.my/epengambilanstaf/

    minta encik ali test .. mana la tau saya punya browser internet explorer yang rosak.. saya tak mampu pakai mac.. 🙂

    takkan pelajar praktikal yang buat kan..?

  2. #2 by khairi on May 15, 2012 - 6:08 pm

    Assalamualaikum..saya dari uitm jengka pahang…next sem ..sem 5..thnks for the info…..fuhh..selamat tak pernah pakai dreamweaver….pakai notepad++ je..thnks

  3. #3 by Megat Ridwan (CS2234A) on May 15, 2012 - 10:49 pm

    Terima kasih untuk informasi yang sgt membantu. Diharap penulis dapat post kan lagi apa-apa informasi sebegini untuk membantu saya dan rakan-rakan yang bakal menjalani latihan industri tahun hadapan. =)

  4. #4 by tengkorak on June 11, 2012 - 12:43 pm

    khairi :

    Assalamualaikum..saya dari uitm jengka pahang…next sem ..sem 5..thnks for the info…..fuhh..selamat tak pernah pakai dreamweaver….pakai notepad++ je..thnks

    Haha maaf, tak perasan ada komen, maklumlah sebelum ni takde pun orang komen. Anyway tahniah Khairi jika anda sudah mula menggunakan notepad++, hopefully ini akan membantu anda untuk belajar membuat ssitem dengan lebih baik.

  5. #5 by tengkorak on June 11, 2012 - 12:44 pm

    Megat Ridwan (CS2234A) :

    Terima kasih untuk informasi yang sgt membantu. Diharap penulis dapat post kan lagi apa-apa informasi sebegini untuk membantu saya dan rakan-rakan yang bakal menjalani latihan industri tahun hadapan. =)

    InshaALlah kalau ada apa-apa informasi yang saya boleh share, saya akan cuba share sebaik mungkin. Glad that you guys find this article helpful.

  6. #6 by Ikhsan on June 11, 2012 - 4:42 pm

    Good info, En Ali! Sy akan smpkan kpd anak2 murid. Dah 3thn supervised student, NONE one of your findings sy discover and think. Thank you so much!

  7. #7 by tengkorak on June 12, 2012 - 4:01 pm

    Ikhsan :

    Good info, En Ali! Sy akan smpkan kpd anak2 murid. Dah 3thn supervised student, NONE one of your findings sy discover and think. Thank you so much!

    Ikhsan, you are welcome. Bagus juga kalau share kepada pelajar-pelajar supaya mereka tak ulang mistake yang sama. Kita nak pastikan pelajar-pelajar UiTM semuanya menaikkan nama UiTM semasa menjalani latihan praktik, haha ..

  8. #8 by tengkorak on June 14, 2012 - 3:41 pm

    newbie :

    merujuk post ini.. penekanan terhadap no 2.

    http://iapps.uitm.edu.my/epengambilanstaf/

    minta encik ali test .. mana la tau saya punya browser internet explorer yang rosak.. saya tak mampu pakai mac.. :)

    takkan pelajar praktikal yang buat kan..?

    Saya dah check, penat juga nak check sebab asyik keluar popup suruh guna internet explorer, haha.

    Anyway, dalam case iapps ni, they are using session correctly. Although lepas logout kita boleh back, tapi kita boleh carry out any transaction. The page akan suruh kita login semula.
    The one yang saya mention in the blog is tidak menggunakan apa-apa session at all, setelah logout. Kita masih boleh add, delete and carry out transaction seperti biasa.

    Thanks for the heads up though …

  9. #9 by Black FIT on June 18, 2012 - 2:47 pm

    nice post! problem 1 and 3 always happen. did discover problem 1 always…always…oh my…oh my…(bak kate anak jebai)…problem 3 discovered only once…WT??? interface dah lawa tapi db design mcm…sian lecturer yg mengajar db…

  10. #10 by zulhairiseman on July 23, 2012 - 8:10 pm

    post paling HOT 🙂

  11. #11 by Konklu on July 29, 2012 - 12:10 pm

    Salam encik ali. Sy nk tanya pasal table dlm db. klo dlm db kite ade 1 table pasal data dan 1 lg pasal authentication, ok dah ke? atau kita perlukn lebih

  12. #12 by tengkorak on July 31, 2012 - 3:08 pm

    zulhairiseman :

    post paling HOT :)

    Aik Blogwalking ke Zul? Haha …

  13. #13 by tengkorak on July 31, 2012 - 3:11 pm

    Konklu :

    Salam encik ali. Sy nk tanya pasal table dlm db. klo dlm db kite ade 1 table pasal data dan 1 lg pasal authentication, ok dah ke? atau kita perlukn lebih

    Soalan awak ni macam tergantung, perlukan lebih apa? Biasanya untuk authentication memang satu table, dekat situ kita simpan username,password, fullname users, role, bila account di create, bila account dimodified, last login and things like that.

    The rest of the table usually not related anymore to authentication.

  14. #14 by nani on July 9, 2013 - 10:10 am

    saya blajar ict..tp dpt jabatan praktikal pelan bangunan…kata lecturer buat je sistem…tapi sistem ape…boleh beri contoh..sistem yang boleh dibuat x??

  15. #15 by tengkorak on August 1, 2013 - 11:19 am

    Susah juga yer nak jawab soalan ni? Kerana biasanya bila menjalani latihan praktikal, supervisor di jabatan tersebut yang akan memberikan kita tugas sama ada membuat sistem atau pun ada tugas lain yang perlu dilakukan (tidak semestinya membuat sistem, tetapi kebiasaannya kita diperlukan membuat sistem. Boleh juga buat aplikasi multimedia, montage atau sebagainya).

    Tetapi jika sudah ketandusan idea, saya cadangkan berbual bual dengan staf di jabatan tersebut dan kenal pasti jika ada mana-mana proses yang masih menggunakan kertas (borang) untuk diisi, dan cuba tukar proses tersebut dalam bentuk sistem. Itu cara paling mudah.

    Selamat Maju Jaya! 🙂

  16. #16 by megat on March 18, 2014 - 11:28 am

    encik ali, sy praktikal dkat syarikat teleco di digi. sume kje kt sini xde gna surat..sumenya melalui email. jd sistem ap yg blh sy buat?

  17. #17 by MuhdNurHidayat on April 22, 2015 - 12:03 am

    Wah, bagusnya semua tips ni, terima kasih encik Ali.

    Saya baru nak masuk semester ketiga CS110, UiTM Arau. Kalau kena praktikal nanti, saya cuba untuk elakkan kesilapan ni semua. 😀

  18. #18 by demokrat on April 27, 2015 - 9:00 am

    yаng saya ƅaca darі tulisan ini amat bermanfaat bagi saya.
    Termа kasih, kami harap pada artikel selanjutnya pasti lebih baik lagi.

    Տukses untuk Anda!

  19. #19 by seorang pelajar on August 11, 2020 - 12:53 pm

    encik ali.. saya diberi tugasan untuk membuat sistem rekod penggunaan bilik akses di sebuah sekolah. ap yg patut sy buat sbb katanya kalau yg guna yg seperti belajar itu tidak independent.. sy x fhm.. boleh jelas kn ap yang patut sy guna..

  20. #20 by admin on May 26, 2021 - 6:44 am

    Maaf saya pun tak sure dengan maksud tidak independent, mungkin boleh provide details?

(will not be published)