Archive for the ‘Tips and Trick’ Category

Problematic Employment (De)Generation

Mungkin sebagian besar dari Anda pernah membaca bahwa generasi yang ada sebelum generasi Anda akan kecewa dengan generasi Anda, dan saya yakin sebagian besar orang-orang yang berada di generasi Anda akan kecewa dengan generasi di bawah Anda. Anggaplah bahwa setiap generasi memiliki gap sekitar 4-5 tahun, dan dengan keadaan umur saya sekarang ini yang sudah pertengahan 20 menuju 30, generasi di bawah saya merupakan generasi yang diisi oleh orang-orang yang umumnya baru lulus kuliah atau populernya disebut fresh graduate.

Sebelum saya melakukan pembahasan yang serius mengenai generasi, saya ingin menekankan bahwa sebagian besar dari tulisan ini hanya opini walau beberapa akan saya sertakan dengan fakta. Saya juga menyertakan tips dan trik pada akhir tulisan ini, yang mungkin akan berguna bagi teman-teman yang akan mencari kerja dan mau sukses. Selain itu, ada baiknya kita lihat dulu kenyataan mengenai lapangan pekerjaan serta juga pekerjanya.

Pengangguran Intelektual

Berdasarkan laporan BPS atau Badan Pusat Statistik Indonesia, pengangguran yang telah mengenyam pendidikan lanjut atau yang belakangan sering disebut sebagai pengangguran intelektual memiliki komposisi sebesar 610 ribu orang dari keseluruhan jumlah pengangguran yang berjumlah 7,17 juta orang [Sumber]. Bahkan beberapa pengamat mulai memprediksikan bahwa jumlah ini akan bertambah banyak seiring dengan semakin mudahnya akses pendidikan di Indonesia. [Sumber]

Dari sumber di atas ada beberapa solusi yang ditawarkan, seperti sertifikasi, sehingga diharapkan para pekerja Indonesia ini bisa bersaing. Apalagi mengingat Indonesia akan memasuki pasar bebas ASEAN di mana nantinya pekerja dari luar negeri akan lebih mudah masuk ke Indonesia, tentu saja hal ini menjadi tantangan yang sangat berat bagi calon pekerja. Sampai saat ini, sepengatahuan saya, sertifikasi belum menjadi standar di dalam kurikulum yang diajarkan di perguruan tinggi. Beberapa perguruan tinggi memang sudah mulai melakukan sertifikasi sebelum para mahasiswanya lulus, tetapi itupun belum terlalu efektif untuk menggenjot kemampuan dari para lulusan baru.

Perguruan Tinggi dan IT

Belakangan sebagai seseorang yang mulai membuka usaha sendiri, saya memiliki kendala yang dihadapi oleh beberapa orang yang memiliki usaha saat ini, yaitu calon pekerja. Sebagai catatan, bahwa saya memiliki pengalaman kerja hampir 8 tahun, terutama di dunia Teknologi Informasi yang tentu belakangan ini sedang wah-wah nya bagi anak muda. Dengan cepatnya perkembangan teknologi, tentu ada pengaruh ke minat dari calon mahasiswa untuk mendaftar ke jurusan yang berorientasi ke dunia IT, misalnya saja Teknik Informatika atau Sistem Informasi. Selain itu pihak perguruan tinggi juga mulai jor-joran melakukan promosi dan marketing untuk jurusan ini. Perguruan tinggi yang sebelumnya tidak memiliki jurusan ini atau expertise di bidang ini pun tidak sungkan untuk membuka jurusan baru berbasis IT, bahkan perguruan tinggi baru mulai bermunculan dengan IT sebagai fokus mereka.

Tentu perguruan tinggi tidak bisa disalahkan, apalagi kita kembali ke dalam ranah pemasaran atau marketing, di mana bila ada permintaan maka ada penawaran. Bila memang ada trend baru di dunia, kenapa tidak dimanfaatkan. Semua kembali kepada pilihan masing-masing orang, apakah memang akan termakan kepada penawaran yang dilakukan oleh perguruan tinggi atau tidak.

Masalahnya, tidak semua orang paham bahwa dunia IT tidak sekedar berkutat di masalah utak-atik perangkat lunak atau software, atau utak-atik di perangkat keras. Saya pernah, bahkan sering mendengar bahwa mahasiswa-mahasiswa baru memiliki motivasi di dunia IT karena sebelumnya mereka tertarik ke dunia hiburannya alias video game. Sebagian lain tertarik karena dunia IT pada akhirnya berhasil menelurkan puluhan orang yang menembus daftar billionaire terkaya di dunia.

Mindset seperti itulah yang memiliki kecenderungan menjerumuskan calon mahasiswa ini sehingga akhirnya setelah lulus mereka tidak memiliki tujuan yang jelas, bahkan kehilangan minat di dunia ini sama sekali setelah merasakan kejamnya dunia IT. Bahkan beberapa di antaranya mengambil karir yang jauh berbeda dengan jurusan yang dienyam selama menjadi mahasiswa, tapi paling tidak mereka masih mendapatkan pekerjaan.

Kembali kepada bidang yang saya tekuni, bahwa sebagian besar mahasiswa IT yang pada akhirnya masuk ke jalur yang tepat, menekuni pekerjaan sebagai programmer. Sebenarnya menjadi programmer tidak harus melalui proses pendidikan di perguruan tinggi terlebih dahulu, apalagi dengan mudahnya akses untuk belajar programming saat ini. Banyak materi yang disajikan di internet sehingga seorang yang belum lulus SMA pun sudah bisa menjadi programmer, toh tujuan programmer hanya mengetikkan kode dan menjalankannya menjadi sebuah aplikasi atau program saja. Yang mereka tidak sadari, untuk bersaing di dunia ini, bukan hanya sekedar bisa mengetik dengan cepat dan menghindari kesalahan sebanyak mungkin, tetapi juga bagaimana merancang dan mengevaluasi seluruh sistem yang ada.

Pada kenyataannya, saya belum banyak melihat kemampuan ini dimiliki oleh fresh graduate dari jurusan IT. Beberapa orang akan beralasan bahwa kemampuan ini akan didapatkan seiring dengan pengalaman yang didapatkan pada saat bekerja. Lalu, apakah mereka harus disalahkan karena mereka tidak mulai bekeja dulu saat mereka kuliah? Dan apakah saya sendiri memiliki keuntungan karena sudah lebih dahulu kerja sambil kuliah? Mungkin iya, mungkin juga tidak. Seperti yang saya katakan, bahwa saat ini sangat mudah mengakses materi-materi pembelajaran melalui internet, dan itu tidak sebatas pada programming saja, tetapi juga konsep-konsep dan desain yang dapat diimplementasikan di dunia nyata. Bahkan berbagai proyek open-source dapat diakses dengan mudah setiap orang yang ingin belajar bisa membuka dan mempelajari aplikasi yang sudah dibuat dan digunakan secara luas. Tapi apakah ini cukup untuk menggugah para mahasiswa untuk belajar lebih banyak semasa kuliah? Belum tentu.

Di satu sisi, dengan tidak banyaknya orang yang berpikir lebih jauh ke dalam IT, terutama dengan posisi programmer atau software engineer, saya pribadi mendapatkan posisi yang cukup diuntungkan karena tentu saja persaingan menjadi berkurang. Tetapi di sisi lain, keadaan ini akan menyulitkan saya karena sebagian besar pekerjaan harus saya handle sendiri.

Mindset yang Benar dan Salah dalam Gaji

Terlepas dari apakah setiap orang memiliki skill dan pengalaman yang cukup untuk masuk ke dunia kerja, terdapat satu lagi masalah yang dimiliki oleh fresh graduate, yaitu mindset atau cara pikir atas pekerjaan yang akan dihadapi di dunia nyata. Dan tentu bila kita bicara mindset, sebenarnya kembali lagi ke pengalaman individual mengingat mindset dapat dibentuk seiring dengan waktu. Tentu keterbentukan mindset ini bisa benar dan juga bisa mengarah ke jalan yang salah. Bagi saya, belakangan mindset yang salah lebih banyak dikembangkan pada anak-anak fresh graduate, tanpa bermaksud men-generalisir karena tentu masih ada fresh graduate yang memiliki mindset yang benar. Selain itu, benar dan salah adalah masalah etika sehingga yang benar bagi saya, belum tentu benar bagi Anda, jadi semua relatif, tetapi di sini saya akan mencoba menumpahkan pemikiran saya pribadi.

Kebetulan saya sempat berbincang-bincang dengan seseorang yang merupakan salah satu petinggi sebuah perusahaan, dan perbincangan seputar dunia kerja dan pekerjanya. Beliau cukup antusias untuk menceritakan pengalamannya dalam merekrut para lulusan perguruan tinggi, dan kebanyakan yang diceritakan adalah lulusan-lulusan baru yang memiliki mindset yang menurutnya dan menurut saya pribadi salah.

Saat ini ada kecenderungan bahwa para lulusan akan mematok harga tinggi untuk gaji mereka, tentu hal ini sangat logis. Siapa yang tidak mau mendapatkan gaji tinggi, apalagi di Jakarta yang memiliki biaya hidup yang tinggi serta gaya hidup yang tidak terbatas dan terus berkembang? Tetapi logika ini akan segera dipatahkan ketika gaji ini dibandingkan dengan kemampuan yang dimiliki oleh orang tersebut. Seperti yang saya katakan di atas bahwa sebagian besar fresh graduate tidak memiliki pengalaman kerja maupun skill yang cukup untuk mendapatkan gaji yang diharapkan. Beberapa dari fresh graduate sempat cerita ke saya bahwa mereka sengaja mematok gaji yang tinggi supaya bilapun ditawar, maka harganya akan turun sedikit.

Sebagai perbandingan bahwa saat ini (2014), gaji standar untuk seorang fresh graduate yang belum berpengalaman di dunia IT adalah sekitar 2,7 juta sampai dengan 3 juta rupiah, beberapa sudah termasuk uang makan dan transport, sedangkan beberapa perusahaan lainnya mematok gaji tersebut sebagai gaji bersih, sehingga nilai tertinggi yang syukur-syukur bisa didapatkan oleh seorang fresh graduate yang belum memiliki pengalaman apapun adalah 3,5 juta rupiah. Bila perusahaan yang Anda lamar cukup sukses dan memiliki title multinasional, mungkin bisa mendapatkan 4 sampai 5 juta rupiah sebagai fresh graduate, tetapi tentunya ekspektasi dan seleksi yang dilakukan akan lebih ketat. Siapapun tidak akan membayar seseorang dengan harga yang tinggi yang tidak memiliki kemampuan untuk menyelesaikan masalah yang dihadapi oleh pihak perusahaan.

Anehnya, beberapa orang masih menganggap bahwa nilai 5 juta rupiah per bulan masih sangat kecil untuk ukuran mereka. Ada beberapa kemungkinan mereka memiliki pemikiran seperti itu. Pertama, beberapa orang membandingkan gaji di Indonesia dengan gaji di luar negeri, khususnya negara maju. Tanpa logika yang baik, konversi langsung gaji standar pekerja di Amerika Serikat yang sebesar 5 digit dolar per tahun, asumsikan saja $12.000 per tahun, maka ketika dikonversikan ke rupiah akan menjadi Rp 10.000.000 per bulan.

Kedua, karena mereka merupakan perantauan sehingga biaya hidup mereka akan bertambah. Sebagian mahasiswa yang berasal dari daerah umumnya akan tinggal di indekos sekitar kampus mereka agar kampus lebih mudah diakses, dan belakangan harga indekos tidak lagi murah. Kamar kos dengan fasilitas AC umumnya dipatok sebesar 1,2 juta per bulan saat ini. Bila dengan kamar mandi dalam, tidak menutup kemungkinan bisa mencapai harga 1,5 juta per bulan. Selain itu, beberapa mahasiswa yang saya temukan memiliki kecenderungan sudah cukup nyaman dengan kamar kos yang ditempati selama 3 tahun perkuliahan, sehingga tidak mudah bagi mereka untuk keluar. Tentu saja hal ini berimplikasi ke biaya transportasi untuk ke tempat kerja. Dengan perhitungan bahwa setiap kali pergi / pulang kerja menggunakan 2 kali angkutan umum dengan biaya Rp 3.000 per perjalanan, maka dalam sehari harus menghabiskan Rp 12.000, atau Rp 240.000 sebulan (20 hari kerja).

Tidak lupa juga dengan uang makan sebesar Rp 10.000 untuk sekali makan, sehingga dalam satu bulan akan menjadi Rp 900.000 bila makan 3 kali sehari. Dengan hitungan ini, ditambah minimal biaya lainnya Rp 1 juta untuk cadangan, maka biaya yang diperlukan untuk satu bulan minimal sekitar Rp 3.340.000, angka yang cukup fantastis hanya untuk bertahan hidup di Jakarta dengan 4 komponen tersebut sebagai seorang perantauan, . Tentu saja hal ini menjadi pertimbangan bagi para pekerja untuk mematok gaji tinggi, dan juga bagi perusahaan untuk merekrut karyawan yang memiliki domisili yang dekat serta memang tinggal di Jakarta sejak awal. Jadi bagi perusahaan jangan berharap untuk mendapatkan pekerja dengan range gaji di bawah Rp 3.500.000 bagi anak-anak daerah yang memiliki standar hidup yang cukup tinggi tersebut. Dan, saya akui mindset ini cukup logis dan benar, walau kembali lagi ke masing-masing orang apakah akan berusaha lebih untuk mendapatkan lebih atau tidak.

Ketiga, adalah keinginan untuk bisa menabung lebih banyak sejak awal, dan pada akhirnya melakukan pengeluaran lebih sejak awal. Saya tidak dapat membantah bahwa budaya konsumtif sudah cukup mengakar kuat di Indonesia, apalagi di Jakarta. Setiap orang ingin memiliki perangkat gadget yang terbaru dan terbaik, bisa menikmati makanan yang terbaik dan termahal, serta menikmati hidup dengan hiburan yang terbaik pula, tapi tanpa usaha yang keras dan tidak tahan banting.

Keempat, mungkin ini cukup tidak masuk akal bila ada orang yang mengatakan hal ini, tetapi kenyataannya memang ada. Beberapa orang masih menganggap bahwa kerja hanyalah opsional bagi mereka, mengingat mereka dari kalangan yang berada. Tanpa bekerja pun, mereka bisa mendapat penghasilan dari orang tua atau perusahaan yang dijalankan oleh orang tua mereka. Untuk dapat bekerja, mereka ingin agar penghasilan yang didapat dari bekerja lebih tinggi dari penghasilan yang didapatkan dari orang tua mereka. Bila alasannya seperti ini, maka hanya masalah waktu saja mereka menjumpai masalah di masa depan mereka.

Pemanjaan Mental

Seluruh masalah tersebut berakar dari mental masing-masing orang. Akses teknologi yang mudah saat ini, membuat orang makin merasa hidup lebih mudah dan nyaman, serta beberapa hal dapat dilakukan dengan instan. Sayangnya, bagi beberapa orang, sukses mungkin juga bisa didapatkan dengan instan tanpa pengorbanan. Beberapa fresh graduate yang saya kenal, dengan mudah keluar dari perusahaan tempatnya bekerja hanya karena tidak tahan dengan beban training yang dilaksanakan oleh perusahaan tersebut, padahal perusahaan tersebut merupakan salah satu perusahaan yang terkenal di Indonesia. Yup, bahkan belum melewati training sudah menyerah di tengah jalan. Lalu kenapa sejak awal orang ini tidak dihentikan saat rekruitmen?

Sebenarnya perusahaan memiliki cara untuk menangkal orang-orang seperti ini yang dinamakan psikotest. Test ini merupakan cara yang digunakan untuk melihat potensi seseorang, serta sifat seseorang dalam hal profesionalisme, misalnya team work atau kemampuan menghadapi masalah, fokus terhadap pekerjaan dan berpikir dengan cepat. Dengan test-test seperti ini, walau tidak 100% dapat menyaring orang-orang yang kurang cocok, akan tetapi umumnya dapat mengurangi kemungkinan perusahaan merekrut orang-orang yang salah dan berpotensi merusak. Walau demikian, trik-trik untuk menghadapi test ini sudah mulai banyak beredar di internet dan sangat mudah untuk dicari, sehingga hasil test saat ini belum tentu murni menunjukkan perilaku seseorang dalam bekerja. Dalam kasus orang yang saya ceritakan sebelumnya, orang tersebut memiliki channel berupa kerabat dekat sehingga rekrutmen dapat dilewati dengan mudah.

Bila test yang sudah menjadi standar ini saja tidak reliable, bagaimana lagi cara untuk menyaring dan melihat potensi karyawan? Sebagian besar perusahaan akan melakukan probation period, atau dengan kata lain masa uji coba, yang umumnya berlangsung selama 3 bulan sampai 6 bulan. Selama masa ini, karyawan mendapatkan gaji yang lebih kecil dari yang dijanjikan, dan dapat diberhentikan sewaktu-waktu bila perusahaan tidak puas, dan ada kemungkinan pihak pekerja juga dapat mengajukan penghentian. Umumnya pada masa ini beban kerja yang diberikan akan sama dengan beban kerja umum untuk melihat skill dan kemampuan pekerja tersebut dalam menghadapi tekanan pekerjaan.

Lalu bila probation period masih tidak cukup, pihak perusahaan juga dapat mengajukan kontrak kerja yang umumnya berlaku 1 atau 2 tahun (dengan undang-undang ketenagakerjaan Indonesia maksimal 3 tahun), sehingga perusahaan dapat memberhentikan pekerjanya bila performa tidak mencukupi dan pekerja juga dapat mundur setelah masa kontrak selesai.

Permasalahan seperti ini sebenarnya sudah cukup familiar bagi saya sendiri, mengingat bila membaca dari post-post sebelum ini (dalam Bahasa Inggris), saya menceritakan bahwa adanya anggota tim yang menghilang tanpa bertanggung jawab atas pekerjaannya. Dan dapat dipastikan sangat sulit mencari pekerja-pekerja yang loyal dan tidak berorientasi kepada gaji besar semata.

Tips dan Trik

Di bagian ini, saya memberikan tips dan trik untuk menjadi sukses dari berbagai perspektif, termasuk dari pengalaman saya selama ini. Tentu saja kesuksesan relatif bagi setiap orang, silahkan Anda nilai sendiri target sukses Anda seperti apa, karena sampai saat ini pun saya masih berusaha untuk sukses. :)

  • Jangan bekerja dengan orientasi gaji semata, akan tetapi orientasi kepada pengalaman dan skill. Dengan pengalaman dan skill yang cukup, otomatis gaji akan disesuaikan dengan sendirinya.
  • Jangan menutup diri kepada proses pembelajaran. Bagi sebagian orang, belajar sudah usai setelah tidak lagi di bangku perkuliahan, akan tetapi di kehidupan nyata, pembelajaran dilakukan terus menerus sepanjang hidup. Ketika Anda berhenti belajar, maka saat itulah Anda berhenti untuk berkembang.
  • Jangan takut untuk membantu orang lain. Apalagi bila bantuan yang diminta bukan sesuatu yang benar-benar kita kuasai, karena justru dari sana kita dapat belajar lebih untuk menguasai sesuatu yang belum pernah kita lakukan.
  • Percaya atas usaha Anda. Tidak ada orang yang secara instan dari orang kecil menjadi sukses atau miliuner seperti Bill Gates atau Mark Zuckerberg. Selalu percaya bahwa sekecil dan seberat apapun usaha Anda tidak akan sia-sia dan memiliki hasil di masa depan.

Tanpa bermaksud menyombongkan diri, dengan pengalaman yang cukup banyak di dunia IT, pekerjaan datang dengan cukup mudah kepada saya. Tahun lalu ketika saya memasang profile di LinkedIn, bisa dikatakan bahwa hampir setiap minggu saya mendapatkan tawaran kerja dengan berbagai posisi di dunia IT. Selain itu tawaran kerja juga datang dari beberapa kenalan dengan posisi yang cukup menggiurkan, salah satunya CIO dalam perusahaan. Akan tetapi mengingat saya selalu ingin mencoba sesuatu yang baru dan tidak pernah ingin terikat, maka seluruh tawaran tersebut tidak saya ambil sampai saat ini.

Kesimpulan

Tanpa bermaksud menjelek-jelekkan generasi di bawah saya, saya menulis tulisan ini untuk membagi pemikiran saya atas apa yang saya alami selama ini. Seperti yang saya katakan, kesuksesan dan definisi sukses ini kembali ke pribadi masing-masing orang, begitu pula dengan cara mencapai kesuksesan tersebut, atau mundur dari kesuksesan. Hanya saja fenomena yang terjadi belakangan membuat saya tertarik untuk menuliskan mengenai lemahnya daya saing fresh graduate saat ini.

Pada akhirnya, semoga saja pendapat saya ini merupakan pendapat atau opini yang salah dan dapat dipatahkan dengan pembuktian di dunia kerja. :)

What I Learned as a First Time Project Leader

Being a one man team, or just small teams who never exceed 5 people make me an awkward person when I am assigned to lead people in application development. Since last year (December 2013), I have been assigned to lead a team which consists of 12 people, and honestly it’s so difficult and emotionally burdening. However since this is the first time I ever lead a team with this number of people, I have learned many things, some by hard way, some by soft way.

I’m not a management person, and I usually get the position as technical or field operator. The past forges me to be a person who have qualification in technical and analytic, but have flaws in social and management. I know these aspects can be improved by the experience, however as I told you, this is the first time I lead the big enough team. Just for information, the team consists of me as senior programmer, 6 junior programmers, 3 system analysts, 1 database designer, and 1 system documentation.

The summary of the story is that one by one of this team left the team, especially since many of them (9 of them) are fresh graduates, and as usual, this kind of project take times to be finished, when at the same time they have to choose to stay in this project or continue with their own professional job. For some of them, it’s as easy as flipping the hand, so some of them leave to get what they think as better jobs, some of them just going back to their hometown, one of them focused in his parent business, and some of them leave without any valid reasons. In the end, currently there are 5 people, and one of them is still don’t decide what to do.

Here are the list of the mistakes I made and what should be done:

1. No Commitment Contract

This is the first noticeable things. Without contract, the team members may just leave or slacking of what they should do. Actually, even with signed contract they can still do that, but usually they will think twice since it has more power than non-contract system. From the experience, even a contract will not stop the worker to flee from their job.

2. No Good Communication

Communication is very important in team. A good communication determines if your team will go in the right direction or rather in wrong direction. I’ve done the mistakes when I communicate with my superior and in the end had argument with him. Also I hardly report the progress to my superior so he don’t know if there are any issues in the development. If you are the leader, you should communicate well with your teams and also with superiors.

3. Emotionally Attached to the Team

Actually, it’s okay to be attached to your team, it’s naturally will happen when you work with the same people in some period of time. However this usually leads to emotional problems where you will think them more as friends rather than professional partners. You may think that giving an order to the teammates is the same as telling your friends to do something, and you may develop uncomfortable thought about this. Keep your professional life separated with your personal life. Personal issues which are brought to professionalism is really devastating.

4. You Don’t Select Your Teams

A team leader should choose who will be in the teams and who will be outside of the team. In my case, I must accept any people who are assigned to me without knowing if they are into this kind of jobs. From my experience, the person who tested before joining the team will yield a better result than the person who I don’t test. If you really can, make sure you are the one who select the team members.

5. Have Personal Romantic Relationship

Sometimes in multi-gender team, you cannot avoid of being too close with your team member and in the end might want to have romantic relationship with your teammate. Unless you’re sure this will be fine and your relationship is always in good mood (of course, this is virtually impossible), you may do this. Avoid romantic relationship as far as possible, or at least, postpone the urge to have romantic relationship until you have finished at least about 90% of the project.

6. Unstable Team

A team should stay as long as possible until the project is finished and perhaps have more time for the maintenance. However in my case, since the majority of the team members are fresh graduates, it ended up as failure when they have to choose stable job instead of this part-time job. Always look for team member who have more time and commitment.

7. Don’t Make Sure Your Position

I have dilemma when doing this project. When I first met my team, I am introduced as senior programmer and also assigned to lead the team when we are in the field, and the project manager is held by my superior. In the end, the superior never shows up and I have to handle all the field project leading, and I don’t know what the real project manager do. The worst of all, the team who left only reporting to me, not the real project manager.

8. Too Talkative

Usually when there is problem, I write to all my team members about the issues. In the end, the awkwardness happened. If there are issues with one of your team member, try to talk to them personally. And when there is an achievement that they done, praise them publicly. It’s what I learned from internet, but yet I don’t implement it in this team.

9. Experiment on the Team

The moment I was trusted a team, the first thing popped up in my mind was what is the best management style I should do with them. And from that evil thought, I started to try several management style, began with free one, to the strict one, and happened every 2 weeks. This is the wrong decision. Even when I successfully found a good and suitable management style for them, it doesn’t mean it also suitable to other people. Just try to be yourself, don’t change your management style over time, let your team members adapt to you when at the same time you try to adapt to them.

10. Expect Too Much in Loyalty

Loyalty is really rare these days. People tend to find a new place to stay when they think and feel more comfortable than the previous one. The younger generations who have relied in technology will have this thought in mind and their way of thinking is far more dynamic than older generation. You cannot expect them to handle the main module in your project if you even can’t ensure that they will loyal or feel comfort with you and your team. In the end, the one you have to trust is yourself, in which you might have to do all the task in project by yourself. By all, I mean really all the tasks, in my case are coding, analyzing, designing, testing, data migrating, documenting, etc.

Conclusion

Whether you’re new to project management or leading professional teams, always look at your team members no matter what, simply because a team doesn’t exist without team members. Try to be a good example for your team. Well, even if you try the best in your team, always expect for the worst, and have secondary plan in your mind when sometimes the team is broken. At worst, be ready to handle all by yourself. :)

Good Luck?

Ketika seseorang mau melakukan sesuatu yang cukup besar, berisiko atau menantang, misalnya wawancara kerja, ujian, atau mengejar jodoh, kadang kala kita mendengar orang lain mengucapkan “Good Luck”, atau kalau dibahasakan ke Bahasa Indonesia menjadi “semoga beruntung”. Yup, semoga beruntung, alias hoki, atau kalau mau menggunakan kebalikannya, maka “semoga tidak sial”. Sejujurnya dulu saya sendiri sudah menyadari maknanya tersebut, tapi ah, biarlah, toh memang kadang saya perlu keberuntungan atas apa yang saya lakukan.

Beberapa bulan belakangan, saya menghadapi cukup banyak masalah yang bisa dibilang tidak mudah saya hadapi, khususnya masalah sosial. Bila Anda sekalian membaca post-post saya sebelumnya, tentunya yang ada dalam Bahasa Inggris, maka Anda akan mengerti bahwa masalah saya berhubungan dengan perasaan. Tapi jangan salah, masalah yang saya maksudkan di sini lebih ke masalah pekerjaan, yang membutuhkan rasionalitas dibanding hanya menerka-nerka atau mencoba-coba seperti masalah jodoh.

Ketika saya dihadapi oleh kesulitan, seringkali saya mendengar teman-teman saya mengatakan “GL alias Good Luck” tersebut, tapi entah kenapa saya merasa ga nyaman dengan sebutan tersebut. Seperti yang saya tuliskan di atas, kecenderungan kata tersebut seperti menganggap bahwa saya hanya akan berhasil bila saya memiliki keberuntungan yang besar. Padahal bila saya cek diri saya, keburuntungan saya hampir ga ada sama sekali. Saya belum pernah menang judi, belum pernah mendapatkan hadiah undian, belum pernah mendapatkan tiba-tiba uang saya di bank bertambah sendiri; bagaimana bisa mereka meminta saya untuk mengandalkan keberuntungan? Tapi tetap, walau demikian, saya mengapresiasi kata-kata teman saya tersebut, yang sebagian besar mungkin tidak tahu mengenai makna di baliknya, dan juga tidak mengetahui bahwa saya tidak terlalu suka mendengar kata tersebut.

Lalu apa yang bisa dikatakan oleh rekan-rekan saya tersebut? Sebenarnya banyak alternatif ucapan lainnya yang tidak terlalu mengandalkan “kekuatan alam dan ilahi” tersebut, misalnya saja, “selamat berjuang” atau “semoga sukses”. Dalam Bahasa Inggris juga bisa disebutkan “do well” (lakukan yang terbaik), “all the best” (sama, lakukan yang terbaik), atau “finger crossed” (silangkan jari). Saya mendapatkan frase tersebut dengan mudah dari pencarian Google dengan menggunakan kata kunci “good luck alternatives”.

Saat pencarian tersebut (sebenarnya sudah cukup lama saya mencari alternatifnya), saya menemukan ternyata tidak sedikit orang yang menghindari menggunakan kata-kata yang bermuatan mistis tersebut, alias keberuntungan. Mungkin karena sudah lekat di telinga orang Indonesia, banyak dari kita yang lebih mengandalkan kata “good luck”, dibanding alternatif-alternatif tersebut, dan akhirnya menjadi terbiasa dengan kata tersebut, baik sebagai pendengar maupun sebagai pengucap. Tidak ada masalah dengan kata tersebut, hanya memang sebagian kecil orang seperti saya sedikit sensitif atas penggunaan kata-kata yang kurang tepat dalam keseharian. Pada akhirnya hal itu kembali kepada masing-masing orang sebagai preferensi :)

Oh iya, bagi saya tentu saja “good luck” bukan sesuatu yang dapat dengan mudah dihilangkan. Kata ini bisa digunakan sebagai sarkasme terhadap orang yang tidak kita suka. Misalnya saja:

A: Hei, saya bisa mengerjakan semua pekerjaan yang harusnya diselesaikan dalam 14 hari dalam semalam saja. Jadi biarin lah saya main sebentar, oke?

B: Oh, gitu ya? Kalau gitu good luck yah!

A: Sip.

Dalam kasus di atas, keberuntungan memang sangat diperlukan, apalagi Anda tahu bahwa si A bukan orang yang mampu mengerjakan dalam 1 hari dan hanya keberuntungan yang bisa menyalamatkan dia. Yah, terkadang saya menggunakan kata tersebut untuk diri saya sendiri yang dalam beberapa kejadian lebih memilih untuk menunda pekerjaan sampai akhirnya harus berjuang keras di hari terakhir. Hhhhh… Kebiasaan yang memang tidak boleh terus menerus dilanjutkan, dan tentu saja hanya memerlukan niat untuk menghilangkannya.

Lalu bagaimana bila Anda tidak suka dengan frase tersebut diucapkan oleh orang lain? Bagaimana caranya mengatakannya kepada teman kita tersebut? Masa kita bilang frontal, “maaf, saya ga perlu keberuntungan karena saya punya skill dan kemampuan untuk menghadapi masalah tersebut”? Kalimat tersebut seolah-olah membuat kita terlihat sombong karena, yup, kadang bagi mereka menggunakan kemampuan sendiri adalah sombong, apalagi di negara agama seperti Indonesia di mana kuasa ilahi masih merupakan sebuah kewajiban yang disertakan dalam setiap kegiatan yang kita lakukan. Tapi memang kadang kita perlu seperti itu bila memang mau dilihat sebagai orang yang rasional.

Cara lainnya yang bisa kita lakukan adalah menghindari kata tersebut dari diri kita sendiri. Bila kita terbiasa menggunakan kalimat lain, beberapa orang yang cukup sensitif akan dapat menangkap maksud dari kita bahwa kita memang menghindari kata tersebut. Tentu saja ini hanya untuk orang-orang yang cukup sensitif untuk dapat mencerna maksud Anda tersebut. Bila bertemu orang yang kurang sensitif, katakan saja dengan sedikit bercanda, “jangan good luck lah, kalau ga hoki gimana coba, ‘sukses selalu’ aja mendingan”, atau kalau perlu dengan kalimat pertama yang saya katakan tadi. Toh bila orangnya kurang sensitif, dia juga bukan tipe orang yang mudah tersinggung atau berpikiran macam-macam kepada Anda.

Jadi secara tak langsung, mari kita budayakan saja menghindari ucapan “good luck” tersebut, dan ganti menjadi “semoga sukses” atau “all the best” bila Anda ingin sedikit terlihat keren karena Bahasa Inggris. :)

Entry ini ditulis oleh seseorang yang cukup sensitif terhadap kata-kata yang diucapkan orang. Bersikaplah lebih sensitif (empati) kepada orang sensitif, karena sewaktu-waktu Anda akan mendapatkan balasan yang setimpal atas empati Anda tersebut.

PS: Sekali-kali pakai Bahasa Indonesia aja untuk posting blog ini, berhubung sebentar lagi 17 Agustus, jadi harus lebih nasionalis dengan penggunaan Bahasa Indonesia yang baik dan benar, dan sedikit gaul. Hehehe… Ga juga, ke depannya akan ada beberapa post yang menggunakan bahasa ibu pertiwi koq. Kadang penggunaan bahasa menjadi dilema bagi saya mengingat saya ingin terus meningkatkan kemampuan Bahasa Inggris tertulis, tapi di sisi lain tetap ingin dapat menulis dengan cepat. Yup, menulis menggunakan Bahasa Inggris memerlukan waktu yang lebih lama daripada menggunakan Bahasa Indonesia seperti ini, apalagi kadang saya masih harus menambah perbendaharaan bahasa saya serta berkali-kali mengecek (proofread) tulisan saya supaya memiliki grammar dan structure yang benar.

Preventing Right Clicking on Browser is Useless

Just a moment ago, I visited a website that contains some pictures in its page and some features that I found interesting. Then I was curious about the way it worked, so I tried to right-click on that page in attempt to see the page source. The problem was that the context menu didn’t appear. In brief of second, I successfully accessed the page source, by using Ctrl + U (in fact, almost all browsers can use this key shortcut to access the page source).

So, what is the point of the story above? It’s simple: preventing right clicking on browser is useless, on most case. Underline that.

Well, as I said it’s not totally useless, depends on the purpose of preventing right clicking. In my case, they try to hide the access to page source, and maybe also some other function that can be accessed by using the context menu, such as view the image file, copy the text, view the page info, save the page, etc. However it also disable some useful functions that may cause annoyance for some people, such as accessing bookmark, accessing previous page, reloading the page, etc.

Some people are afraid the content that they publish in their website may be taken by some people, and the content may be used without any permission from the real author. In fact, by preventing right clicking, it can only stop the newbies or beginners from taking your content, those are people who don’t know that by disabling JavaScript, or by accessing menu bar, or by using keyboard shortcut they can control almost everything that appears in their browser. Also it is a useless method if the visitor of the site are bots because they don’t have arm, they don’t use mouse, they don’t do any click, and the worst, they don’t understand what JavaScript is.

Many people don’t really understand that internet is an open world that can be accessed by everyone (as long as they have privilege to access it, of course). Publishing any material on internet means you have to know the risk that your material can be taken by everyone. There is no absolute way to stop this practice. The only way that can be used to minimize that “bad” practice is by licensing the content or material itself. By giving it license, you may grant people to use it under some terms and conditions, or maybe just prevent them to use it without your permission, but it doesn’t prevent them to take it. If you really serious about your content, you may also give warning to people who use your material without your permission when you find that your content is being used by other people, perhaps by requesting that people to give credit to you, or request them to take down the content. In some rare and extreme cases, you may also sue the “snatcher” if they really take economic advantages by using or selling your content.

So, when do the right-click preventing become useful? The answer is when you need to override the usage of right click itself. As I said, the main usage of right clicking is to open the context menu of your browser. However, when developing some web applications you may need to change the function of right click from opening default context menu to something else like opening custom context menu that you create, creating reverse effect of left clicking, etc. Other than to override it, just leave the right click function as is.

The point here is don’t make the users of your website confuse and have to guess why the right clicking on the page doesn’t work. If you really care about user experience, just let the users or visitors to explore your site without any restriction on usability. You may change the function of right click as long as there is information about the change, but never ever disable right clicking at all.

If you really that afraid that your pictures may be claimed by other people, I suggest you to leave watermarks on all your pictures. A big and repeating watermark so that it will be looked more like pictures of watermarks rather than the original picture that you intend people to see. Sound or song? Insert subliminal message that may be heard like Satan saying the most awkward thing when played in even low speaker volume. For video? Well, watermark it like crazy and insert subliminal message on the audio. How about texts? The craziest way is to convert the text to image, video or song, then do what I’ve said before. :D Actually, you can insert hidden messages or texts (by using CSS display none), a lot of them, so that when someone try to copy it, it will end up messed. Well, it’s the most evil things that ever comes to my mind.

Seriously, for all those things, you have to trust that your license and copyright will work. And pray to God (if you believe in It/Him/Her), that someone claimed it may be infected by long everlasting hiccup. :D

Non-WWW Domain Cookie Problems

If you come to this blog (etersoul.com), you may realize that the domain name appears without www preceding the etersoul.com on your address bar or location bar of your browser. Even if you try to type www.etersoul.com, it will redirect your browser to “etersoul.com”. Well, I did this intentionally some years ago when I first use this domain name and installing blog engine for this site. The reason was that I once visited a site called no-www.org, which is encourage people who own internet domain name to remove it’s “www” because “www” is considered as deprecated and so it must not be used.

If you visit that website, you’ll find the reason why they — the people behind no-www.org, appear to conclude that using “www” is deprecated:

By default, all popular Web browsers assume the HTTP protocol. In doing so, the software prepends the ‘http://’ onto the requested URL and automatically connect to the HTTP server on port 80. Why then do many servers require their websites to communicate through the www subdomain? Mail servers do not require you to send emails to recipient@mail.domain.com. Likewise, web servers should allow access to their pages though the main domain unless a particular subdomain is required.

Succinctly, use of the www subdomain is redundant and time consuming to communicate. The internet, media, and society are all better off without it.

I was agree with this statement so I implemented redirection when someone who visits my site by using “www” to non-www one. My site now classified as Class B at no-www.org with that scenario. Even I implemented this scheme to some of my projects. In fact, using this schema is not without negative effects.

Some months ago, I made some experiments that used my domain name and web browser cookie, which is data that are stored by the website on user’s browser. I found that using my domain that was not preceded by www might cause the cookie that was created for domain .etersoul.com to be sent to the server when the visitor also opens all my sub-domain sites. Well, it is by design that the cookie data from the domain can also be accessed by the sub-domain, unless you also describing the path of cookie. However it may cause other problems to appear rather than solutions.

Consider you use an application that is located at “/application1/” path with “example.com” domain, and the cookie is implementing this path (of course with the domain), it will still send the cookie data when sometime you must also place some application with the same path name, but under sub-domain (for example, “subdomain.example.com/application1/”). Another case, you may need that cookie to be accessed by other application in same domain, but you don’t want to place it under “application1” path. Actually, it just a matter of how the developer handles the cookie data so it will just ignore it when the data is not relevant for the application, but of course it create extra coding effort.

Some people may wondering, “why must I being bothered if the cookies are sent to the domain as well sub-domain?”. Well, the answer is depend on your website, i.e. how many user accessing your website, how many different applications that are hosted on your domain and sub-domains, and is your primary “no-www domain” total users larger than the sum of users of your sub-domains. If you just running a small website or personal website, with irregular visitors come and go (and perhaps some spiders, crawlers or spam bots) like this website, without sub-domain or just one or two rarely visited sub-domains, you could just ignore the problems. However if you really want to run a combination of serious website with tons of users, thousands hits per minute, many spam bots and crawlers that try to drain out your limited server power and limited network bandwidth, many sub-domains with some sub-sub-domains, with probably uncountable files that don’t “eat” your cookies, and your site always stops responding on busy time (and you know the problems in fact is your own website if you host your site on shared hosting), you will find out that cookie optimization is one of several methods to effectively cut these problems.

Here is the math for you. For example, you have 10 cookies with 20 bytes data each that are “baked” for your main domain, say that “.mydomain.com”, so you have to send the total of 200 bytes each time you need to request another file. On a page of your web application, a user must fetch 6 Javascript files, 4 CSS files, 29 images (some of them even just icons under 1 Kilobyte), so the user’s web browser need to send 40 different requests. But remember, each time the browser send a request, it also needs to send the data of cookies that are designated to that domain and the sub-domains, so that the total of data for sending the cookies alone is: 200 bytes x 40 request = 8 KB. A small number for 1 user with 1 page request. Multiply it with 1000 users that request averagely 5 pages each minute, the server and network have to handle about: 8 KB x 1000 users x 5 request = 40 Megabytes per minutes, just for the cookie data, assuming that the static files are also not optimized to be cached by the user’s browser. Huge waste of resource, of course.

That’s why even big websites like Google or Facebook don’t use no-www scheme so they can independently assign the cookies for the main site with “www”, the cookies for other sub-domains other than “www”, and the cookies that are globally accessible from the whole site. Another work around for this cookie problem is to use another domain to serve static contents that don’t need use any cookies at all, like Facebook that use fbcdn.net to serve all user uploaded images and static file. Of course using the CDN (Content Delivery Network), they also optimize many other things, such as compression, caching, etc.

Oh, another suggestion. If you really want to make a site, try to make a site that is accessible both by using www and no-www, however redirect the unused one to the scheme that you consider better to be implemented. For this site, I redirect www to no-www domain. This is for the sake of search engine optimization, and for some, as bandwidth conservation since every request from www to non-www is considered as different by the web browser and the web browser will never use the cache if you try to request the same static file from those two different scheme.

How about this site? I don’t think I really need to change my website to www one. I am comfort with the condition without www, but of course will consider the using of www on my other projects.

By the way, this is the first technical post that I write in English, so I apologize if there are some mistakes in grammar or structures. Google Translate? Nope, I didn’t use that kind of thing when writing this article since there will be many weirder word that Google Translate will produce. I just try to use my own sentences, and of course my own writing style. :) However if you are Indonesian and don’t understand this article, you could try to use Google Translate to help you. One more thing, please tell me if you found mistake on my post. Thanks. :)

Ajax, gunakan atau tidak?

Semua bermula dari sebuah debat kecil antara aku dan seorang temanku mengenai penggunaan teknologi Ajax dalam aplikasi yang sedang aku buat untuk menyelesaikan thesis-ku. Dari sana muncul ide untuk menerapkan Ajax dalam beberapa bagian dari aplikasi yang sedang dibuat dari temanku, akan tetapi sayangnya seperti biasa, aku bukan orang yang mudah menerima tanpa analisa usability dari aplikasi yang sedang dibuat. Setelah analisis singkat, aku memutuskan bahwa kami tidak perlu menggunakan Ajax karena yang penting aplikasi yang dibuat cukup simple, dan toh skripsi ini terfokus pada penulisan, bukan aplikasi.

Ajax. Apakah Anda pernah mendengar dengan kata ini? Bila Anda seorang developer web, web designer, atau orang yang cukup memiliki pengetahuan dalam bidang web (termasuk walaupun Anda hanya pengguna saja), rasanya istilah ini bukan lagi istilah yang asing bagi telinga Anda. Asynchronous JavaScript and XML, sebuah teknologi pertukaran data asinkron dalam aplikasi web yang sedang naik daun sejak beberapa tahun yang lalu. Penggunaan Ajax juga menjadi dasar dari perkembangan Web 2.0 dengan hadirnya banyak situs yang menggunakan teknologi ini. Tapi apakah memang teknologi Ajax ini sudah begitu siap untuk diterapkan di semua lini pengembangan web?

Mari kita telusuri dulu asal muasal dan cara kerja Ajax ini. Ajax merupakan teknologi yang tidak tergolong muda karena perkembangannya sudah ada sejak lama, yaitu sekitar tahun 1990-an ketika terjadi booming teknologi internet dan world wide web, akan tetapi teknologi ini mendapatkan namanya sejak perkembangan Web 2.0 semakin besar dengan menghadirkan interaktifitas pengguna dengan penyedia layanan berbasis web. Teknologi ini sendiri menggabungkan antara kerja JavaScript, (X)HTML, dan CSS di browser atau client, data dalam bentuk XML atau JSON, serta web server. Cara kerja teknologi ini hampir sama dengan ketika browser melakukan request halaman ke suatu server, hanya saja tidak semua halaman serta merta dimuat ulang, tetapi melainkan hanya sebagian saja sehingga tampak seolah-olah halaman lebih interaktif.

Sayangnya, walaupun Ajax sudah cukup lama hadir di dunia ini, dan juga sudah cukup lama terjadi booming dan penggunaannya di web dalam 5 tahun terakhir, masih banyak persiapan yang belum matang dalam menggunakan teknologi ini. Hal ini dapat dilihat dari kesiapan user dalam menggunakannya, kesiapan developer dalam memanfaatkannya, kesiapan infrastruktur server dalam mengadopsinya, serta kesiapan user agent atau browser dalam menanganinya dalam suatu standar yang sama.

Masih banyak user yang belum menggunakan browser terbaru yang mengikuti standar sehingga sebagian teknologi ini masih belum dapat terpakai dan ditampilkan dengan sempurna. Banyak developer yang masih belum memahami atau memiliki dasar yang kuat atas Ajax yang akan mereka gunakan. Banyak juga server yang belum siap meng-handle banyaknya request dari penerapan Ajax dengan cara yang salah sehingga akhirnya tidak kuat menghadapi gempuran client karena kurang pahamnya developer yang mengembangkannya. Beberapa browser juga memiliki cara kerja yang berbeda-beda dalam menangani Ajax sehingga menyulitkan developer dalam pengembangannya.

Kehadiran Ajax memang membuat web menjadi dinamis dan interaktif, akan tetapi hal ini tidak serta merta dapat menggantikan posisi aplikasi desktop. Kehadiran cloud computing dan berbagai web application yang menggunakan Ajax, serta perkembangan operating system berbasiskan web hanya akan sebatas melengkapi teknologi desktop yang ada, bukan menggantikannya. Jadi salah besar bila seorang berpendapat dan berpikiran bahwa aplikasi web dikembangkan untuk dapat menggantikan aplikasi desktop secara total. Berbagai halangan seperti bandwidth jaringan, keamanan dan kecepatan pemrosesan pun secara tidak langsung akan berpengaruh terhadap efektifitas aplikasi web.

Ketika user mendapatkan sebuah situs yang menggunakan banyak teknologi Ajax, misalkan saja Facebook — dan tentu saja teknologi ini sudah diadopsi dengan cukup matang oleh Facebook — user akan mudah tertarik karena sisi interaktif dan modern-nya. Hal ini berpengaruh terhadap banyaknya developer yang memanfaatkan teknologi Ajax ketika ingin mengembangkan aplikasi berbasis web, biasanya tanpa memikirkan kekurangannya. Di sisi user yang juga tidak banyak mengetahui seluk-beluk teknologi ini, mereka seringkali menganggap bahwa teknologi Ajax merupakan teknologi yang bagus dan paling modern sehingga sebisa mungkin web yang dikembangkan memakai teknologi ini.

Alhasil dengan tidak pahamnya user dan developer, akhirnya teknologi ini seakan-akan hanya merupakan eye-candy atau hiasan yang seringkali tidak memiliki pondasi yang cukup kuat untuk mendukungnya, misalkan aksesibilitas ketika user mematikan JavaScript atau memblokir beberapa konten seperti iklan yang mungkin saja sifatnya false-positive sehingga Ajax tidak bisa dipakai. Belum lagi dari sisi keamanan, user tidak melakukan validasi dan sanitasi atas pesan yang disampaikan dari server sehingga memungkinkan berbagai bentuk serangan terhadap end-user seperti XSS dan CSRF.

Saya sendiri sudah cukup lama belajar Ajax, sejak hampir 2 tahun yang lalu. Akan tetapi baru berani memasukkannya ke dalam project yang saya kerjakan baru 3 bulan yang lalu setelah project tersebut saya rasa sudah cukup matang dalam memberi pondasi terhadap Ajax. Saya cukup salut melihat atau mendengar orang-orang yang berani menggunakan Ajax dalam project-project yang dibuatnya, padahal pondasi pengetahuannya belum kuat, tapi yah memang saya sendiri belum pernah mendengar secara langsung ada kasus project gagal karena memaksa memakai Ajax.

Jadi bila Anda memang cukup yakin bahwa project Anda tidak akan gagal karenanya, silahkan pakai teknologi ini walaupun Anda baru mengetahui mengenai Ajax hari ini atau beberapa hari yang lalu. Akan tetapi bila Anda merasa bahwa pondasi yang kuat adalah sesuatu yang diperlukan untuk membangun suatu sistem atau aplikasi, silahkan coba untuk mendalami terlebih dahulu dasar-dasar JavaScript, XHTML, CSS, protokol HTTP, serta jaringan sebelum mengimplementasikan. Bahkan akan lebih baik bila memahami cara kerja Ajax dari sisi teoritis, bukan hanya dari sisi coding saja. Jujur saja, coding itu mudah, semudah melakukan kesalahan karena desain sistem atau aplikasi yang salah.

Ada beberapa pertanyaan yang harus Anda tanyakan kepada diri Anda sebelum memakai Ajax:

  1. Bisakan aplikasi Anda melakukan fungsi yang sama tanpa menggunakan Ajax atau ketika JavaScript dimatikan?
  2. Apakah sebelumnya Anda memikirkan konsep web yang Anda kembangkan ketika tidak menggunakan Ajax?
  3. Apakah dengan menggunakan Ajax justru akan memberi efek positif dibanding dengan efek negatifnya?
  4. Apakah Ajax itu benar-benar diperlukan dalam aplikasi yang Anda buat?

Bila minimal 3 jawaban dari pertanyaan di atas adalah “ya”, maka jangan ragu untuk menggunakan Ajax. Sebagai informasi, bila Anda menjawab “tidak” pada beberapa pilihan di atas maka beberapa hal akan dikorbankan, yaitu 1) aksesibilitas, 2) rancangan atau desain, 3) fungsionalitas Ajax, dan 4) simplicity dan fungsionalitas aplikasi.

Jadi, Ajax tidak dikembangkan untuk membuat suatu web menjadi keren karena tidak perlu melakukan reload halaman, bukan pula untuk membuat web menggantikan fungsi aplikasi desktop, tetapi hanya sebuah teknologi yang membantu kenyamanan dan kemudahan bagi end-user.

Problem with MySQL Socket on Linux Ubuntu

Mengembangkan aplikasi berbasiskan Apache Web Server, PHP dan MySQL tanpa mengetahui seluk beluk mengenai Linux tentu seperti makan nasi tanpa lauk, kurang lengkap rasanya. Dan ketika kita mencoba untuk mengambil sejumlah lauk, ternyata kadang rasanya malah ga cocok sama selera kita atau justru malah terasa pahit. Itu yang mungkin aku rasakan ketika mencoba menginstall Apache Web Server, PHP dan MySQL di Ubuntu.

Bagi sebagian besar orang, menginstall modul baru di Ubuntu cukup dengan menggunakan perintah apt-get saja, dan secara otomatis paket program akan didownload dari repository Ubuntu dan dikonfigurasi secara otomatis pula. Seorang pengguna Ubuntu dapat dengan mudah menginstall MySQL Server dengan mengetikkan sudo apt-get install mysql di terminal atau console.

Dan dalam sekejap seharusnya paket MySQL akan terinstall dan bisa langsung dinikmati tanpa harus neko-neko dengan urusan tetek-bengek seperti konfigurasi dan sebagainya. Bila sang pengguna kurang beruntung, mungkin dia akan menemukan error seperti yang saya alami beberapa hari yang lalu dengan installasi MySQL seperti yang aku deskripsikan di bawah. Sebagai informasi saja, bahwa MySQL yang aku install tidak melalui apt-get seperti yang tertulis di atas, melainkan dari kompilasi secara langsung dari source code sehingga mungkin saja bisa berbeda masalah dan pemecahannya.

Tampaknya salah satu masalah yang paling sering dihadapi baik melalui apt-get atau dengan compile sendiri adalah error ketika mulai menjalankan MySQL Daemon dengan perintah mysqld_safe atau mysql start yang ditandai dengan pesan “Can’t connect to local MySQL server through socket ‘/tmp/mysql.sock’” dan proses pun di kill karena error itu. Aku sempat kesulitan mencari solusinya di internet, berhubung juga banyak yang mengalami hal serupa, tapi setelah aku mencoba solusi dari mereka justru masalah ini masih belum terselesaikan. Akhirnya setelah sempat bingung-bingung, aku pun mencoba membaca dokumentasinya (seharusnya ini yang aku lakukan sejak awal sebelum membuang-buang waktu mencari di internet), dan memang dari sanalah semua permasalahan dapat diselesaikan.

(more…)

This entry was last modified on: July 27th, 2009 at 1:14