RSS

Tag Archives: TI

Menentukan harga jasa untuk programmer dan desainer

Setelah pernah dibahas mengenai menentukan harga project TI khususnya mobile apps. yang ingin kita bahas adalah bagaimana menentukan harga jasa untuk programmer atau desainer mobile apps (mungkin bisa dipakai untuk developer software secara global)

Begini, akhir-akhir ini saya sering ditanya mahasiswa : “mas, bagaimana cara menentukan harga desain saya? saya ragu mau pasang harga”

Kalau menghendaki harga yang pantas dan ideal, itu subjektif, silahkan tentukan berdasarkan usaha yang akan dikeluarkan dan alokasi waktunya. Dan pasang harganya. Yang penting berani dan sudah mengukur sendiri harga yang pantas. Jangan sampai, kamu pasang harga 3 juta rupiah, namun, ternyata uang yang dikeluarkan untuk usaha begadang, internet dan ngemil serta ngopi sambil bekerja itu ngepas 3jt, atau mepet 3juta, alhasil tekor dan gak ada untungnya.

Namun, beberapa programmer/desainer software junior, masih bingung, harga jasa saya berapa?

Mari kita perhatikan 5 hal yang mempengaruhi harga jasa kamu di dunia software engineering sebagai berikut :

  1. Scope pekerjaan.
    Scope adalah segala hal yang ada di dalam produk software/produk dari project TI dan segala proses di dalamnya.
    Mendefinisikan apa yang diminta, apa yang mesti dikerjakan, dibagi step-stepnya (rencana->rancangan) sampe menjadi rangkaian berurut apa saja yang dikerjakan. Dengan demikian, dapat diestimasi jadwal dan waktu pengerjaannya.
    Contoh, ketika saya dari tidur pengen berangkat ke sekolah :

    1. Saya bangun tidur (15 menit), kemudian
    2. saya mandi (15 menit), kemudian
    3. saya sarapan (30 menit), kemudian
    4. saya berangkat ke sekolah (20 menit).
  2. Proses pengerjaan,
    Sulit kah? mudah kah? simple kah? kompleks kah?
    Terus bagaimana proses yang mesti saya ikuti? banyak kah? tentu mesti memperhatikan, jika ternyata proses untuk mengerjakan codingannya ataupun desainnya, bisa memakan waktu berjam-jam.
    Mulai dari :

    1. memahami klien kemudian menganalisis kehendak si klien;
    2. brainstorming, berguna untuk mendefinisikan semua kebutuhan biar bisa dikerjakan menjadi karya kita;
    3. inisialisasi, mulai dari kamu corat-coret desain/coba-coba code init/awal sampe jadi prototyping;
    4. prototyping, membuat karyamu sampe dengan prototype;
    5. development/design, mulai deh ngembangin sampe memroses semua kebutuhan menjadi produk
    6. revisi, mesti ketemu bagian ini, kadang ada saja bagian yang tidak sesuai kehendak klien, nah ini mesti diperhitungkan;
    7. final version, ketika sudah direvisi, dipoles, dibungkus, terus diserahin deh ke klien.

    panjang kan prosesnya? 😀 Makanya perlu diperhatiin betul, jangan sampe harga yang kamu pasang gak sesuai.
    Nah, ada beberapa hal itu bisa dikerjakan bebarengan, serentak (jika kamu ngerjainnya berdua atau lebih sama teman), tentu ada beberapa proses bisa dihemat waktunya. Coba lihat ilustrasi berikut :

    Critical Chain Project Schedule

    Critical Chain Project Schedule

    Kalo dilihat dari gambar di atas, tentu kita bisa memperkirakan, task apa saja yang bisa dikerjakan dalam 1 waktu bersamaan, dan mana yang tidak bisa. Jika tidak bisa, terus taruh di mana prosesnya..apa dikerjakan duluan, apa dikerjakan belakangan? tentu kalau ingin mengerjakan sesuatu, kerjakan dari yang paling mendasar.

  3. Standar harga per jam kerja (hourly rate)
    Kalo bagian ini, gak bisa sembarangan ditentuin. Kamu mesti sadari gaji/rate bayaran kamu berapa yang pernah kamu terima? terus itu dikerjakan berapa lama?
    Misal :
    Kamu pernah kerja 2 minggu (10 hari kerja, minus sabtu-minggu) dibayar Rp 3.000.000
    Sehari kerja dari jam 09:00 – 12:00, dilanjut ishoma, terus jam 13:00 – 16:00, berarti kalo ditotal : 6 jam kerja.
    Dan jika kita konversi menjadi perjam, rumusnya: Harga / total jam kerja / total hari
    Rp. 3.000.000 / 6 / 10 = Rp 50.000
    Berarti kamu dibayar Rp50.000,- per jam. Rate ini selalu naik seiring pengalaman, tentunya bila dinamika perubahannya naik, dalam artian, kamu sudah mengalami pengalaman yang banyak, yang dulunya sulit, jadi gampang, skill bertambah, dan beberapa project kamu jadi terbiasa garap (pengalaman). Semakin tinggi pengalaman, rate tentu semakin tinggi juga.
    Apalagi dibarengi skill yang makin tinggi pula (semakin banyak pengalaman, mestinya semakin beragam pula soft skill yang dikuasai). Bila kamu sudah 10 kali project dalam 2 tahun dengan hourly rate Rp 50.000,-… pas tahun ke-3, ya naikin lagi hourly rate jadi Rp 75.000,- atau Rp 100.000,-.Apalagi dalam 2 tahun itu kamu sudah belajar banyak, ditambah sekolah lagi, bisa berkali-kali lipat.Dan lagi-lagi, perhatiin juga standar gaji di dunia saat ini. (coba googling : salary guide [tahun], contoh : salary guide 2014, saya gak akan jelasin ini, cari di google dan baca sendiri sesuai posisi kamu di pekerjaan, bila orang kerja dibayar per bulan (20 hari kerja) sekian rupiah, tentu bisa dihitung per jamnya). Tentunya jika kamu di tahun kedua pernah mendapatkan proyek membuat sistem informasi perkantoran dengan harga Rp 60.000.000,-, kemudian di tahun ke empat jangan pasang 60jt lagi, tapi dinaikin. Berapa besar kenaikannya? kalau masih kesulitan menentukan, kembali ke pembahasan kita di atas yang baru kita bahas dan perhatikan di salary guide untuk profesi kita di tahun ke-4 besar gaji/rate-nya berapa.

    Berikut ini contoh hourly rate di beberapa negara

    Screen Shot 2017-03-31 at 2.21.26 PM

    Mahal ya? iya, di sana dihargai lebih. Kalo rate di atas diterapkan di indonesia, tentu gak pas 😀 makanya tadi saya sampaikan cek salary guide untuk Indonesia. Contohnya di sini: Salary Guide 2016. Cek profesimu sebagai developer apa. terus cek berapa tahun pengalaman kerjanya. Jika sudah dapat, ya tinggal konversi ke per jam.

  4. Investasi
    Seluruh hal yang berhubungan dengan proses yang dikerjakan di atas, dan biaya yang keluar karena hal tersebut. Seperti yang saya jelaskan di atas.

    1. Saya bangun tidur (15 menit) -> gratis
    2. saya mandi (15 menit) -> sabun : Rp 2000, sampoo Rp 1000, pasta gigi+sikat giginya : Rp 8000
    3. saya sarapan (30 menit) -> sarapan ketoprak : Rp 6000, jalan kaki ke TKP
    4. saya berangkat ke sekolah (20 menit) -> berangkat naik motor, bensin Rp 6500

    Terus, kalo ditotalin : makan waktu 1 jam 20 menit (1,33 jam), dan biaya : Rp 82.000 (2000+1000+….+6500)

    Rumusnya : hourly rate x total proses kerja
    Jadi, ketika hourly rate kamu Rp 50000, berarti :

    Rp 50000 x 1,33 jam + Rp 82.000 = Rp 148666,66 (mari kita bulatkan ke atas :p Rp 149000)

    Ya nilai dari project ini : Rp 149.000,-

    Contoh di atas mungkin sedikit membingungkan, pada intinya saja ya. Jadi kalau kamu dapat proyek dalam waktu 1 bulan, ya dikonversi saja dalam satuan hari. 1 bulan = 20 hari kerja, 1 hari = 8 jam kerja. 20*8=160 jam.

    Misal hourly rate kamu adalah Rp 250.000,- dengan pengalaman sudah 3 tahun. Ya untuk proyek dengan waktu 1 bulan…tinggal dikalikan saja: Rp 250.000*160 jam= Rp 40.000.000

    Nilai 40 juta ini bukanlah nilai mutlak, jadi ada nilai resiko juga di dalam proyek, nah ini kita bahas di poin nomor 5 di bawah.

  5. Resiko
    Segala hal tentu ada resiko, nah jangan sampe resiko ini terjadi dan menimpa kamu. Resiko mungkin bisa dihindari, tapi jika terjadi, pikirkan dampaknya dan apa antisipasinya.
    Resiko besar yang biasanya terjadi itu : project diberhentikan di tengah jalan (bahaya dong, ntar ketabrak), requirements berubah (nah ini dia yang biasanya bikin jengkel, udah bikin capek-capek, gak dipake, mesti diganti)
    Resiko kecil : perubahan minor aplikasi/software, jadi menyita waktu juga walaupun perubahannya dikit-dikit.
    Resiko juga mesti diklasifikasikan berdasarkan :

    1. kesempatan terjadi
    2. potensi yang diakibatkan (parah apa nggak?)
    3. kesulitan mendeteksi resiko supaya bisa dihindari

    Contoh : bugs di aplikasi
    Kesempatan terjadi : menengah lah, gak sedikit juga, gak banyak juga kesempatannya.
    Potensi yang diakibatkan : tinggi, kadang 1 bugs, bisa bikin aplikasi gagal jalan sebagaimana mestinya
    Kesulitan mendeteksi : tinggi, kadang bugs itu sulit banget dicari >.<

    contoh lain : server kebanjiran
    Kesempatan terjadi : kecil, ini sih kesempatan langka banget sampe-sampe server kebanjiran, kecuali kamu taruh servernya di pinggir kali ciliwung.
    Potensi yang diakibatkan : tinggi, server tenggelam, nangislah kliennya. Kamu juga mesti ikutan nangis!
    Kesulitan mendeteksi : kecil, lah wong hujan deres, knapa gak disingkirin tuh server ke tempat yang tinggi.

    Nah, resiko-resiko seperti ini yang mesti diperhitungkan. Terutama ya bayaran kamu. Misal kalo kejadian macem-macem, bayaran kamu telat, bagaimana?. Atau kamunya yang telat ngumpul kerjaan bagaimana?

    Dari sisi developer, pas di kontrak kerja, jangan lupa cantumkan aturan-aturan untuk klien (biasanya klien bikin aturan-aturan juga di poin proposal proyek (misal: apabila kamu telat mengumpulkan progress, atau progress tidak sesuai apa yang diharapkan klien, biasanya klien punya hak mengurangi harga proyek), nah, di sini kamu juga perlu membuat aturan-aturan atau klausa yang memperjelas batasan kamu selaku developer, misal: masalah konfigurasi server ataupun backend bukan tanggungjawab kamu yang seorang developer mobile app, masalah akun PlayStore tanggungjawab klien dan harus menggunakan data dari klien, atau apabila ada permintaan tambahan di luar scope pekerjaan yang telah disepakati, maka klien harus di-charge bayaran baru. Itu harus ada klause kerjasama tambahan yang menyatakan poin-poin apa saja tambahannya dan berapa besar biayanya. Nah yang model ini, developer sering luput, lalai, klien menghendaki revisi ini itu, tambahan ini-itu, tapi nilai proyeksi investasinya tetap. Jatuhnya kita yang rugi. 🙂
    Berikut ini ada gambar ilustrasi bagaimana harga sebuah proyek apabila dideliver ke klien lebih awal, tepat waktu atau terlambat. Dan berapa harga yang diharapkan. Dari sini bisa kamu kenali kalau untuk deliver sebuah progress pekerjaan ada resiko pinalty dari klien. Dan itu seharusnya kamu sudah antisipasi.

    Decision Trees

    Decision Trees

Sekian dulu yang dapat saya sampaikan, kurang lebih mohon maaf dan mohon dikoreksi 🙂

Terima kasih.

 
Leave a comment

Posted by on August 16, 2014 in Celoteh, Hobby, Internet, Programming, Workit

 

Tags: , , , , , , , , , , , , , , , , , ,

Pengembangan perangkat lunak dari sisi realita disiplin ilmu TI

X : “mas, aku pgn buat kyk gini, tp kalo aku pake software A, katanya mesti convert ke XML atau pake software B”
saya : “ya, kalo sy memang lebih ringan pake XML, pak, ntar ditaruh di project app.nya”
X : “kalo sy pake software A ini, mas, gimana? saya tuh pengennya kayak aplikasi yg di d*** atau di *****, tau kan mas?”
saya : “yup, pernah pake, pak, install juga kok, malah sy nemu yg lebih bagus lg, smooth di iOS dan Android, tp ya itu tetap saja enakan pake XML atau pake file tambahan dr Adobe AIR (SWF), pak”

Well, sebagai developer, jangan terpaku pada satu tools/software/teknologi saja, ingat, teknologi bisa kadaluarsa, bakal ada terus teknologi2 baru, dan sepantasnya memang kita masih harus terus belajar, biar bisa bersaing.

Ada pernah kejadian : “mas, knapa web servicenya pake rest, pdhal ada SOAP di sini” | “krn rest sdh terbukti lebih ringan, pak” | “lah, kata siapa? teman saya pake SOAP dgn php lancar-lancar aja”
beda case, pak, kalo itu kan infrastukturnya kyk gitu, sedangkan punya kita sekarang terlalu boros kalo pake SOAP. Banyak javascript di sini, kalo pake SOAP, ntar definisiin lg strukturnya di XML dll.. sementara timeline yang ada 3 bulan, pak.”

Nah, satu pelajaran lg, gk bisa kita generalisir satu masalah itu sama dgn masalah lain. Kasus lain, kamu bisa kerjain satu aplikasi dlm 1 malam, liat dulu skala aplikasinya.. krn sejatinya, permasalahan di dalam TI itu beda-beda, tidak bisa semua app itu bisa dalam 1 malam. Maka dari itu, banyaklah bergaul dgn sesama profesional TI, rajin berdiskusi (tidak sekedar bertanya, kadang orang lain jengkel kalo ditanya-tanya terus), dan kembangkan (sambil latihan terus).

Seseorang ingin dibuatkan aplikasi dgn metode re-use, kalau developer sebelumnya rapih dalam mengerjakan dan terstandar, enak, developer lain yg melanjutkan tidak akan keteteran, apalagi kalo dokumentasinya jelas dan lengkap. Tapi kalo yg sebelumnya develop gk selesai, ditinggal programmernya, terus developer yg baru disuruh gantiin dan lanjutin, apalagi tidak ada dokumentasi, dan mesti baca-baca codingan developer sebelumnya yg berantakan, apa gk stress tuh developernya? 

Kalo yang pernah saya hadapi di bank-bank (dulu kebetulan jd developer asp.net di Plasmedia kliennya bank kabeh | loh knapa skrg jd dev. Android? gk laku y? | klo sy skrg msh jd dev. asp.net, mungkin sy msh jomblo, mas soalnya hidupnya kost-kantor-mall-kost-kantor-mall, pas ramadhan aja, terawih gk pernah sempat, buka puasa sering di jalan/di kantor, makanya pas ada kesempatan S2, sy beraniin diri resign dan nyambi2 di jogja, eh alhamdulillah, salah satu klien sy, dr Pusat Kajian Hadis Jakarta menarik sy, skrg bs kenal ust. Lutfi, ust. YM, ust. Arifin Ilham, dll, sambil belajar agama dr beliau2 tsb), mereka (tiap bank) sudah punya core sistemnya, mereka tidak akan mengganti core sistem dan itu tetap berjalan (bahkan ada upgrade core sistem berkala), ketika ada penambahan aplikasi/software, ya biasanya tinggal re-use dengan beberapa penambahan modul dan desain sesuai pakem (guide book) yang sudah diberikan mereka. Dan itu bisa cepat selesai, bahkan untuk aplikasi besar, bisa 1-2 bulan kelar (bukan satu malam/2 minggu, krn birokrasi, kesiapan database, server, sampai konfigurasinya, dsb juga butuh waktu). Tapi gak tau juga ya kalo di tempat lain, pernah sm temen-temen grup PPP di DepKeu, denger-denger sampe ada debat internal antar pejabat dirjen. Itupun ngurusin database sampe cronnya juga njelimet di birokrasi. Syukur PMnya mental baja bisa ngadepin mereka. Dan 3 orang developernya : mas Mulia, Radita dan Nur Hidayat juga handal dalam development app.

“halah banyak ngomong, yg penting ngerjain!” |  “nah iya, yg penting kerjain, anda sudah pernah ngerjain yg kyk gitu belum? mengerjakan sesuatu itu harus rapih, tdk bisa asal jadi, tepat sasaran untuk stakeholdernya, tepat guna dalam fungsi, teknologi dan biaya. Karena sejatinya, software itu mesti memiliki prinsip : useful, usable dan beautiful. Dengan proses bisnis yang tertata dan metodologi yang tepat sehingga siklus pengembangannya berjalan sesuai rencana”

Satu lagi..software personal jelas beda dgn software pemerintahan. software setipe front-end jelas beda dengan setipe backend.
Satu teknologi di satu tempat itu cepat, belum tentu di tempat lain jg cepat. Ada beberapa karakteristik dan parameter yg mendukung/menghalangi hal tsb. untuk bisa dikatakan itu cepat/lambat.

Ada kalanya kita sbg. developer sudah berbuat sesuatu utk klien, tp kurang puas dgn hasil kerja keras sendiri krn terkendala waktu yang diberikan sedikit, ada kalanya kita nemu kelompok developer yang diberikan waktu banyak, tp ngerjainnya asal-asalan, yang penting duitnya turun..alhasil tidak dipakai dan merepotkan user. Dan banyak kejadian-kejadian dengan plot twist yang dihadapi developer. “Kalo ketemu klien yg awam TI, minta cepet, ya garap aja, kalo ntar klien ngerasa tidak puas atau kurang pas, tinggal buka penawaran baru” 

Yang jelas, teruslah berusaha sebaik mungkin, jangan pesimis, kalo ada orang berusaha menjatuhkan, coba gerak terus saja. Dan satu hal, tidak ada salahnya mendengar dan belajar dari yang sudah berpengalaman/ahli biar makin meningkat ilmu yang kita pelajari, dan tentunya jadi bermanfaat lebih luas hasil yang kita kerjakan.

 
Leave a comment

Posted by on June 14, 2014 in Celoteh, Programming

 

Tags: , , , , , , , , , , , , , , , ,

Sebentar lagi memilih presiden negara kita

Menurut saya pribadi, seorang presiden itu mengenal hal-hal konseptor secara luas, tidak hanya satu dua hal, misal pendidikan, yang dimajukan jangan hanya SMK saja, tetapi semua, dari wajib belajar 9 tahun sampai dengan perguruan tinggi.

Ia juga mampu menyampaikan informasi atau pesan apa yang sebaiknya pendengar ketahui. Oleh karena itu, seorang presiden yang baik adalah presiden yang mampu berpidato dengan wibawanya sebagai seorang presiden, bukan seorang komik. Dan juga tidak mengada-ada atau membuat guyon yang tidak pantas diucapkan oleh seorang presiden. Skill public speaking ini penting, apalagi menyangkut hubungan diplomatis. Karena jika tidak diplomatis, orang lain akan memandang rendah negara kita karena pemimpinnya lemah.

Ditambah untuk hubungan internasional, skill bahasa asing harus dikuasai dengan baik, jangan sampai apa yang disampaikan oleh seorang presiden itu adalah hal-hal yang tidak dimengerti oleh delegasi asing/wakil dari negara asing. Lebih-lebih lagi, walaupun nanti memakai jasa ajudan untuk translator, karena tidak pandai menyampaikan, akhirnya info yang disampaikan translator ke wakil negara asing tersebut jadi keliru. Itu berbahaya.

Semoga calon-calon presiden negara kita Republik Indonesia, yang bernomor urut satu ataupun dua, mampu hal penting ini.
Demi martabat negara kita.

Mohon jangan komentar negatif atau jelek di status ini.
Ingat, kita ini Umat Islam, dimuliakan dengan Islam. Mengolok-olok (Al-Hujurat:11, bawa-bawa keturunan (seorang nabi Nuh as saja anaknya kafir), bawa-bawa harta kekayaan (inget kisah Qarun, Fir’aun), bawa-bawa amalan ibadah (amalan itu diterima/tidak hanya Allah yang Maha Mengetahui), itu tidak dibenarkan dan di larang dalam agama islam.

Ini hanya pandangan saya sebagai seorang profesional TI.

Namun, penting diingatkan untuk saya pribadi dan teman-teman, bahwa kita sebentar lagi akan memilih calon presiden, pilihlah sesuai ajaran agama kita, yang menegakan agama kita, dan prioritaskan pada kriteria seorang pemimpin (khalifah). Kriteria memilih seorang pemimpin (Khalifah) itu sederhana.
cukup dengan empat hal:

  1. Jujur (Shidiq)
  2. Dapat Dipercaya (Amanah)
  3. Cerdas (Fathanah)
  4. Menyampaikan Kebenaran (Tabligh)

Jika tidak ada yang sempurna, maka menjadi tugas kita masing-masing untuk berusaha mencari yang lebih mendekati kriteria ideal di atas.

Dan ini sifatnya Ijtihady, Dzanny (dugaan), bukan Qath’iy (valid). maka perbedaan adalah konsekwensi yang mustahil terelakkan. Wallahu A’lam.

Dan sebentar lagi, masa jabatan bapak presiden Susilo Bambang Yudhoyono berakhir. Beliau sudah banyak berjasa untuk Indonesia. Membawa nama baik untuk Indonesia. Mari kita do’akan, semoga beliau mampu menyelesaikan kewajiban beliau sampai akhir jabatan dan membuat indonesia lebih baik dan semoga apa yang telah beliau kerjakan untuk indonesia ini menjadi amalan yang baik yang membawa pengaruh baik kepada kita semua agar menjadi mandiri, tangguh dan sejahtera, dan amalan tersebut mudah-mudahan diterima oleh Allah. Aamiin Allahuma aamiin.
Terima kasih, pak SBY 🙂

Berikut saya sertakan video pidato pak SBY di Harvard dari VOA-Indonesia  :

 

 

 
Leave a comment

Posted by on June 6, 2014 in Celoteh

 

Tags: , , , , , , , , , , , ,

Menjadi suami seorang pekerja TI

Masa di mana suami jd spontan merenung itu ketika suami melihat istrinya sedang tidur.. Ada rasa bersyukur ada rasa bersalah…menyadari bahwa suami itu cenderung lebih egois. 

Ntah alasannya mencari nafkah, ia sudah merasa paling capek sendiri..selesai bekerja dgn penuh keringat, kadang mukanya kusut, ia pulang sudah dilayani istri spt tuan rumah. Namun istri tetap setia menanti dengan senang hati, menyambut suami dengan manja walau suami kusut, dan siap menjadi tempat berlabuh lelahnya suami.

Ntah alasan suami krn ia seorang developer, designer ataupun analis yg minta dimengerti kalau kerjaannya butuh konsentrasi tinggi berjam-jam kerja memperhatikan layar komputer bahkan seorang programmer yg asyik ngoding sampai “gak sengaja” overtime (lembur). Membuat suami jd lalai dengan kewajibannya.

Sudahkah jadi suami yg terbaik utk istri?
Nasehat yg datang dari orang tua dan dari dosen ketika di plurk yg slalu sy tanamkan dr sejak menikah ketika sy menulis status kesibukan saya di jejaring : “ingat, ada yang harus diperhatiin, sekarang bukan hidup sendiri lagi. Sesibuk apapun, keluarga nomor satu”

Suami ya jangan gila kerja, rezeki sudah diatur, waktu kerja yg normal jg sudah diatur Undang-undang.
Lakuinlah hal-hal ringan yg bisa membuat nyaman istri.
Ntah pulang langsung segera mandi, peluk cium istri dlm keadaan wangi. Menyuapi istri dikala makan bersama, berangkat ke masjid dengan boncengan sambil ngobrol ngalor-ngidul, nemenin istri belanja di pasar, dll. Bahkan kalau istri lg hamil yg tidak bisa aktifitas rumah tangga yang berat, suami siap mengemban pekerjaan rumah tangga sambil dengan cermat mensupport, memperhatikan pola makan dan istirahat istri.
Dan bukan hanya itu saja, keharmonisan memang slalu harus dijaga. Canda-tawa, tingkah lucu suami yg bisa membuat istri tersenyum tertawa..pulang kerja bukan membawa masalah kantor tapi membawa hal-hal lucu, romantisme…dan obrolan-obrolan ringan seputar kegiatan td pagi, obrolan soal tetangga, soal keadaan orang tua, dll. yg dapat membinasakan rasa kaku membisu yg bisa membuat problematika renggangnya hubungan rumah tangga.

Ada satu curhatan yg pernah terdengar…biasanya suami yg kerja di bidang TI, jam kerjanya tinggi per hari, istri bersyukur orang macem gini biasanya gk akan mungkin sempat selingkuh apalagi lirik cewek lain..(sempetnya selingkuh sm komputer), biasanya sih romantisnya garing hahaha…( tapi ya suami jangan egois) 

Kecocokan bisa dibentuk dan tersusun rapi dengan slalu terbuka berbagi cerita antara suami istri 

PS : kata2 ini sy dpt wkt denger ceramah di radio rodja, pengalaman pribadi, perkataan ortu dan dosen yg balas plurk saya.

 
Leave a comment

Posted by on April 30, 2014 in Uncategorized

 

Tags: , , , , , , , , , , , , , , ,

Masalah source code, pantaskah diberikan ke klien?

Hari ini saya membaca artikel sangat bagus, mengingatkan kembali sedikit masalah yang pernah saya alami dulu di waktu menjalankan proyek TI dan pertanyaan seorang mahasiswa S1 yang sedang belajar “bermain” proyek TI.

Pertanyaan seorang mahasiswa tersebut kira-kira begini :

kalo misalnya klien ingin mengembangkan softwarenya lg, dia harus menghubungi saya dan membantu dia? Atau saya memperbolehkan klien untuk mengubah source codenya dengan izin dari saya?

Dari beberapa case proyek TI, source code tidak ada apa-apanya, jika dijual kembalipun, istilahnya cost depreciation (penyusutan harga). Yang mampu membuatnya “valuable” tentu proses bisnisnya dan layanan yang ditawarkan bagaimana mampu menyelesaikan masalah si client. Faktor supply and demand juga jadi salah satu faktor utama tingginya harga software

Ada beberapa vendor yang memang tidak memberikan source-code-nya, ada juga yang sistem sewa, dan ada juga yang dalam bentuk paket layanan software (include source-code)
Memberikan source-code tentu menguntungkan client dari segi pendapatan untuk masa depan.
Bisa jadi source-code tersebut di-“re-engineering“/re-use untuk dikembangkan lebih lanjut ke depannya, dan bisa jadi pengembangnya bukan pihak kita lagi (bisa SDM internal perusahaan, ataupun kita jual putus, dilanjut vendor software lain)
Di sini tentu ada nilai “investasi“, nah nilai ini yang bisa dihargai mahal

Kemudian ada pertanyaan lagi yang menghampiri….

kalau client nya bisa added value di code2 kita trus dijual lagi gimana, om ?  Kira-kira apa motivasi atau latar belakang penjual ikut menyertakan source-code software? begitu pula latar belakang pembeli.

Sudah tentu kita (sbg. vendor) merasa dirugikan jika memberikan source code, apalagi kalau client-nya bisa added value di source-code yang kita berikan, dan kemudian dijual kembali dengan harga tinggi (case nyatanya ada  )

Ntah klien ataupun vendor TI tentu punya motivasi.
Sebelumnya kita mesti pahami source-code bukan segalanya bagi client.

Apa motivasi client kita menggunakan jasa vendor untuk membuat software yang mereka butuhkan? tentunya ada alasan “meningkatkan kinerja perusahaan”, jika tidak, tentu mereka re-engineering source-code atau nambahin fitur2 dari software yang ada. Dan dari situ ada faktor lain juga, seperti ini kebutuhan urgent apa tidak, sistemik atau tidak, urusan maintenancenya, dan tentunya inginkan software yang berumur panjang.

Nah, dari sini keliatan kalau software tersebut ada umurnya (termasuk source-code-nya). Kita tentu sudah memperkirakan purna jual software-nya, sampai dengan post-development dan close-project.

Kebanyakan vendor-vendor TI perbankan, menerapkan sistem “pulsa”, “ok, saya berikan source-code ini kepada anda, tapi anda mesti menggunakan layanan kami sampai maintenance (termasuk update minor, re-design, dan bahkan upgrading)

Mereka tawarkan pulsa 100.000 man-days misalnya dari masa maintenance, kemudian ketika ada perubahan yang diinginkan client, itu kena “charge“, misal re-design homepage dihargai 8000/man-days, tentu 100.000 itu berkurang jadi 92.000 man-days, dan sistem pulsa itu ada masa tenggang sampai 1 tahun, di akhir tahun, vendor menawarkan lagi, mau diteruskan lagi (maka harus mengisi pulsa lagi), atau diputus (project termination)

Kebanyakan klien besar tidak mau repot (secara psikologi), dia akan terus menggunakan sampai jangka waktu lama atau sampai software itu tidak menghasilkan solusi lagi. Apalagi sudah ada “ikatan” yang kuat antara si pihak SDM vendor dengan client (misal karyawan TI internal bank sudah akrab dan mampu berkolaborasi dengan SDM vendor), tentu kerjasamanya bisa sangat panjang dan jasa si vendor akan terus dipakai (karena sudah ada nilai kepercayaan yang tinggi). Dan itu outsourcing, ada yang full-outsource ke vendor, ada yang selective outsource, dan ada yang in-source. (perbankan kebanyakan pakai yg selective, jadi yg internal perusahaan tetap dirahasiakan dari pihak vendor TI)

Nah, kembali ke masalah source-code, bagaimana jika source-code tersebut dijual lagi oleh client, apalagi sampe ditambahin macem-macem dan dihargai lebih tinggi lagi?
ya itu tadi, nilai investasinya (invest order) yang kita tawarkan ke client mesti ditinggikan lagi (tapi lihat juga daya beli client), maka dari itu ada proses negosiasi (ini penting sekali).

Seperti halnya di artikel tersebut, jika kita mampu membuat software tersebut kemudian dipake client untuk ditingkatkan kemampuannya kemudian dijual lagi…ya kita selaku vendor mesti lebih kreatif lagi.

Jika tidak rela, silahkan pasang lisensi di software tersebut.

 
Leave a comment

Posted by on January 9, 2014 in Uncategorized

 

Tags: , , , , , , , , , , , , , , , , , , , ,

Pentingkah melanjutkan kuliah di TI?

Bagi temen-temen yang dari SMA sudah kuat di dunia komputer, dan tertarik untuk menggali lebih dalam ilmu di dunia komputer, kemudian bertemu di kondisi “resah” apakah memang penting kuliah di bidang teknologi informasi atau cukup belajar otodidak saja terus ambil kuliah jurusan lain? khawatir nanti kuliah TI malah sia-sia saja, mending saya ambil kursus daripada buang duit untuk kuliah TI.

pemikiran seperti itu wajar terjadi, mengingat, belajar komputer juga sekarang cukup mudah, ditambah pola pikir anak SMA belum begitu matang.

Hanya dengan bermodal buku bacaan, dibeli dari toko buku, kemudian dibaca dan dipraktekan di depan komputer. Dalam periode waktu kurang dari 6 bulan sudah bisa mahir menguasai satu ilmu TI, ntah hacking, ntah programming, ntah jaringan, ntah sistem operasi. Dan bahkan dari situ mereka bisa menghasilkan uang dan bekerja di perusahaan-perusahaan besar.

Ada diskusi menarik yg sy dapat di perkuliahan S2 antara dosen dan mahasiswa mungkin bisa memberi gambaran mengapa kuliah TI itu penting
(* diskusi ini saya tidak ingat 100% isi percakapannya, namun saya masih bisa tangkap apa yang didiskusikan. Diskusi ini juga didapat dari 2 peristiwa. Init dosen : TBA dan EN. Mohon maaf bila tidak ingat sepenuhnya 😀 memory terbatas hehe )

dosen : *sambil nunjuk* masnya ambil S2 alasannya apa?”
mhs1 : “buat belajar TI lebih dalam, pak!”
dosen : “kalau boleh tau, ilmu apa yang anda dapat lebih dalam di S2?”
mhs1 : “sampai saat ini saya belajar lebih dalam dari berbagai studi kasus yang diberikan dosen, pak”
dosen : “apa yang bisa anda dapatkan dari situ?”
mhs1 : *terdiam sejenak* “penyelesaian masalah dan mencari solusi efektif dan efisien, pak”
dosen : “bukan itu, atau….” *sambil nunjuk yg lain* “…ya coba masnya yg dipojok itu, mengapa alasan ambil S2?”
mhs2 : “sy setelah lulus S1, jd programmer, pak, ingin mendalami lebih dalam soal programming dan software development, pak”
dosen : “jadi, anda ingin mendalami dunia software developmentnya ya mas? cukup bagus goal-nya. Tapi apakah anda bisa menjamin bahasa pemrograman yang anda kuasai itu masih ada 10 tahun yang akan datang? tidak bisa kan?”

kemudian…. dosenpun bercerita yang isinya kira-kira begini :

“saya akan bercerita soal kejadian saya menanyakan hal ini ke mahasiswa saya di akhir mereka kuliah, di awal saya bertanya ini juga, begitu mereka selesai bimbingan thesis dengan saya, saya tanyakan lagi.
saya bertanya ke mahasiswa : “apa yang sudah anda dapatkan dari S2 ini, mas?”
mahasiswa : “banyak sekali, pak. Saya bisa lebih mendalami masalah TI dalam lingkup yang lebih pasti dan terarah. Karena dunia TI begitu luas, jika kita mampu memosisikan diri kita di dunia kerja dengan pasti, tentunya karir kita akan lebih baik. Satu hal yang saya dapat dari pelajaran yang bapak beri..bahwa memang benar, pak. Di S2 ini, pola pikir saya lebih kuat, lebih terorganisir sebagai seorang profesional TI

Yang membedakan kita, S1, S2, D3, STM di dunia TI.. adalah “pola pikir” atau mindset.

Saya quote salah satu note dari seorang dosen (LEN) :
“kalau anda seorang programmer yang terbiasa bekerja pada level implementasi dan suatu saat harus belajar tentang matematika diskret, bersiaplah untuk meninggalkan mindset operasional untuk berpindah ke mindset dengan tingkat abstraksi yang lebih tinggi. Memikirkan topik-topik semacam logika, teori himpunan, dsb. pada level programming jelas tidak akan efektif.”

Dan itu jadi salah satu alasan, mengapa di S1 kita tidak belajar programming melulu, malah sampai ada teman-teman yang bertanya : “saya bingung kita belajar S1 ini hasilnya dapet apa? saya juga programming gak jago, dunia kerja ntar bingung mau jadi apa…lowongan banyak yang programmer dan staff TI, tapi tetep butuh skill programming dan RPL”

Dunia TI begitu luas, tidak hanya programming, tidak hanya software development, jaringan komputer, dan lain-lain. Kalau kita melihat lebih luas, di mana teknologi yang berkembang saat ini, seperti di smartphone, di traffic light yang bisa merekam plat nomor kendaraan yang melanggar lalu lintas, kemudian teknologi yang sekarang sudah diterapkan di restoran-restoran dan surat kabar dengan QRCode, mengambil keputusan di dunia bisnis, dan lain-lain. Itu juga hasil dari dunia TI. Ada Computer Vision, Soft-Computing, Data Mining, Pervasive-computing, dan lain-lain.

Dan dari perkuliahan itulah mereka dapatkan ilmu di bidang TI secara sistemik dan utuh. Kurikulum yang didapat juga jelas, dan diakhir semester kita diarahkan di mana kita harus memilih lagi, bidang/cluster/minat studi apa yang kita tekuni dan sukai dari dunia TI tersebut.
Dari situ juga mahasiswa berkembang, belajar dari umum ke spesifik. Namun hal tersebut, tidak hanya di dapat dari dalam lingkungan kuliah saja, tetapi dari luar kuliah juga. Di mana masalah di luar lingkungan kuliah tentu lebih beragam. Dan tentunya, mahasiswa dituntut untuk memiliki kemandirian dalam menuntut ilmu.

Mari kita lihat kasus nyata baru-baru ini, di mana seorang (yang mengaku) hacker yang berakun anon_indonesia, berdebat panjang lebar dengan para twitter lain, dia mengaku kalau level tertinggi dari hacking adalah deface. Konon katanya seorang bolang 😀
Sudah bisa menangkap apa yang membedakan dengan kita yang sudah kuliah TI? 😀
Ya, yang dia tau ya level hacking cuma deface website saja, yang bisa dengan mudah mengandalkan google, mencari file dengan nama dan atau extensi tertentu, misal aspx, php, dll. Kemudian ia coba masuki dengan beberapa cara, sehingga bisa meng-upload file-file lain dari local komputernya, kemudian file index.html/index.php, dll direplace seakan-akan dibajak?!:P 😀
Padahal jelas yang seperti itu bagi anak jarkom, tentu dianggap mainan anak sekolahan. Dan tentunya tindakan itu bukan main-main, karena memang merupakan salah satu hal kriminal.
Ketika ditanyain istilah-istilah jaringan, ah, jangankan jaringan, istilah kecil seperti back-end, sysadmin, dan sejenisnya, orang seperti itu belum tentu mengetahuinya.
Lantas dari mana bisa mengetahui seperti itu? 😀 tidak dari buku, tidak juga dari belajar otodidak, tapi dari perkuliahan, di mana…seperti yang saya tulis di atas tadi : “Di perkuliahan, mahasiswa dibiasakan untuk berpikir secara sistemik dan utuh tentang TI”

Ada contoh lain :
Seorang yang tidak kuliah TI, dia mahir programming Visual Basic 6 dengan otodidak, kemudian VB6 tidak laku lagi, programming baru datang, .NET. Dia bisa mengikuti perkembangan hal tersebut dengan belajar otodidak lagi, tapi begitu .NET berakhir, tentu ia mau tidak mau dituntut untuk belajar yang baru lagi, namun hal tersebut akan berakhir di situ-situ saja. Dan begitu mendapatkan persoalan yang baru, ia akan kebingungan.

Ada seorang STM yang mahir TI, dia sudah menduduki jabatan yang bagus di salah satu perusahaan telekomunikasi asing, kemudian dihadapkan dengan massive problem, dari hal infrastruktur TI, jaringan, sistem yang sudah tertanam dan sistem yang akan dikembangkan. Menuntut dia harus belajar lebih giat lagi. Namun, dia menjadi kesulitan : “aku harus mulai belajar dari mana dulu? nanti aku mesti ngapain?” karena tidak tau arah dan belajarnyapun tidak berurut. Membuatnya menjadi tersesat.
Alhasil, posisi dia tidak naik ke level berikutnya, dan masih di posisi sebelumnya. Dan pada akhirnya, membuat keputusannya berubah : “sepertinya saya harus mengambil kuliah S1 TI, biar lebih paham lagi”

Tiap jenjang strata, mindset yang terbentukpun berbeda levelnya. Dan perlu diketahui, di S2 TI, ilmu-ilmu S1 TI masih bertemu lagi. Hanya saja, kerangka persoalan di S2 itu lebih ke level abstrak yang biasa dihadapi oleh mereka yang bekerja pada posisi manajerial, bukan hal teknis atau operasional lagi. Mahasiswa dituntut mampu menyelesaikan persoalan dengan solusi yang efektif (tepat sasaran) dan efisien (tepat guna).

Dan dari beberapa hal di atas sudah bisa disimpulkan bahwa kuliah TI bukanlah hal sia-sia.
Dengan kuliah TI :

  1. kita mampu berperan aktif sebagai profesional TI yang memiliki pola pikir terarah dan sistematik.
  2. atmosfer lingkungan kampus sangat mendukung bagi kita untuk belajar lebih giat lagi tentang TI, di situ juga ada kelompok/forum diskus/belajar bersama, dan juga organisasi kemahasiswaaan. yang tentu menambah tantangan dan pengalaman. Selain itu, dengan kelompok tersebut mahasiswa dituntut untuk bisa untuk bisa bekerjasama.
  3. kita dibimbing oleh dosen yang tentu ahli dalam bidangnya.
  4. kesempatan untuk dipandang oleh orang lain di dunia kerja juga akan tinggi. Bahkan oleh lingkungan sekitar, orang yang berpendidikan sarjana akan dianggap ahli dan pintar oleh lingkungan. Tentu membanggakan orangtuanya.
  5. membentuk pribadi yang memiliki passion, percaya diri, kesabaran dan soft-skill yang tinggi di bidang TI, dengan visi dan misi yang jelas untuk masa depannya.
  6. mungkin ada yang mau menambahkan lagi? 😀
 
Leave a comment

Posted by on November 18, 2013 in Uncategorized

 

Tags: , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,

Harga pengembangan aplikasi mobile yang dipasang, kemahalan atau kemurahan kah?

Mari kita berhitung harga aplikasi mobile. 🙂 Bila ada yg beranggapan harga 4-7jt itu kemahalan untuk membuat aplikasi bisnis berbasis mobile (android, iOS, BB) artinya temen-temen perlu membaca ini.

Ini dikerjakan secara profesional, bukan dikerjakan oleh mahasiswa tingkat akhir yang dipekerjakan (sadis, gan!) :p

Dan jangan dianggap, karena aplikasi yang dikembangkan itu cuma seukuran layar HP dan lebih kecil “keliatannya” tampilan daripada di website, bukan berarti harganya pasti lebih murah daripada mengembangkan versi web. Itu salah kaprah. Karena, bisa jadi kerumitannya lebih rumit daripada pengembangan website. Dan bisa jadi lebih mahal daripada pengembangan versi websitenya. Walau tampilannya keliatan kecil, tetapi di situ ada banyak kerumitan dalam hal UI, fungsionalitas, pemodelan, user-behavior aspect/user experience design, resources, dll. Hampir mirip saat mengembangkan website.

Dari hasil diskusi saya dengan beberapa teman project TI yang sudah 2 tahun mendalami pengembangan aplikasi mobile dan project TI di bidang mobile apps. Dan pengalaman pribadi yang mendalami project programming Android di beberapa tempat sejak memiliki HP Android di juni 2010.

Dan ini berlaku hampir di semua client dan client/perusahaan pun rata-rata mematok harga segitu.

Ok, kebanyakan aplikasi mobile itu faktanya, dikembangkan dalam jangka waktu paling tidak 6 bulan, dengan jam kerja full-time (mengikuti jam kerja) dan berkisar di harga 10 sampai 50 juta.

Eits, tetapi tidak serta merta semua begitu, mari kita buat lebih spesifik. Pertama, perlu kita perhatikan adalah tipe aplikasi yang akan dikembangkan. Kita berhadapan dengan klien, ngobrol panjang lebar dengan orangnya apa yang ia inginkan (user stories) dan mencatatnya untuk dianalisa setiap kebutuhan supaya menjadi milestone pekerjaan (per task, per man-days, per man-power, per period) dalam jangka waktu (timeline) yang sudah disepakati.

Kita bagi dalam dahulu menjadi 2 kategori :

A. Untuk digunakan konsumen (umum)

  1. Aplikasi dasar, yang memiliki fungsi-fungsi dasar android. Sekedar menampilkan teks, diinputkan, diproses ditampilkan secara sederhana. Seperti : aplikasi maps sederhana yang menampilkan petunjuk jalan lokasi penjualan produk, aplikasi alarm, jam, dsb..yang tidak menampilkan fitur-fitur selain itu.
  2. Aplikasi Native, yang menyediakan berbagai tipe konten (gambar, tulisan, suara, dll), dengan logika matematika yang kompleks dan arsitektur software yang terdiri dari beberapa level. Dan biasanya menggunakan framework tertentu atau library tertentu, dan database tertentu (mysql, sqlite, sql server, dsb)
  3. Games, dari berbagai info saja, aplikasi games Angry Birds seharga $125k-180k hanya untuk biaya coding saja. Dan games sama saja mencakup beberapa hal, seperti : rendering 2d/3d graphics, logika ilmu matematika, ilmu fisika, dll. Belum lagi nanti ada sound artist, artwork design, dll. Makin mahal.

B. Untuk digunakan perusahaan (bisnis/internal)

  1. Aplikasi enterprise kecil
  2. Aplikasi enterprise sedang
  3. Aplikasi enterpise besar

Mengenai kecil, sedang, dan besarnya ditentukan dari banyaknya scope-pekerjaan, timeline yang diberikan, dan kompleksitas masalah (apakah nanti cross-platform kah? artinya perlu menyediakan web-services, database-support library, Share Capabilities  dengan apps lain, dsb)

Ok, soal harga, berapa?

Menentukan harga itu harus ditambahkan juga dengan biaya penyediaan resources (tools/software/IDE) dan biaya produksi (publishing) jika memang semua diusahakan oleh pihak pengembang.

Begini, ketika kita akan mengembangkan apps. games dengan menggunakan Game Maker Studio seharga $299 dolar, artinya itu masuk hitungan nilai investasi kita, kecuali sudah disediakan oleh pihak client, kalau tidak? masa’ kita yang membeli sendiri? Kalau sudah punyapun, harus dihitung lagi. Karena secara profesional, semuanya disediakan oleh client, kecuali ada hitam di atas putih yang menyatakan kita ikhlas menyediakannya [yaoming.jpg] 🙂

Jika menggunakan tools yang gratisan ya jangan hehe..

Begitu juga biaya publishing ke PlayStore ataupun AppsStore, itu ya biaya pendaftaran akun untuk publishing-nya ya dihitung juga.

Dan untuk masalah harga yang berlaku, bisa dicek di sini :

  1. Aplikasi dasar seperti pada poin A.1 di atas : berkisar 2-5jt (di luar sana berkisar $1,000)
  2. Aplikasi native, seperti pada poin A.2 di atas : berkisar 6-50jt (di luar sana berkisar $8,000-$50,000)
  3. Aplikasi games, seperti pada poin A.3 di atas : berkisar 8-150jt (di luar sana berkisar $10,000-$250,000)
  1. Enterprise kecil, seperti pada poin B.1 di atas : berkisar 20jt (sekedar ekstrak data dari database, kemudian ditampilkan)
  2. Enterprise sedang, seperti pada poin B.2 di atas : berkisar 20-50jt (sudah mencakup masalah seperti : client-server apps, cache data, penggunaan library native, hardware support)
  3. Enterprise besar, seperti pada poin B.3 di atas : berkisar 80-300jt (full-scale enterprise, office automation, enterprise financial monitoring, mobile apps. banking, dsb)

Apalagi akan ada continuing cost setelah masa development, guarantee, maintenance, dll.

Harap diperhatikan juga, besar kecilnya harga yang ditawarkan itu bisa bergeser karena dipengaruhi banyak faktor. Ketersediaan SDM, Ide, Waktu, Budget, Fungsionalitas, Layout Design, dan negosiasi.  🙂

Apakah harga segitu wajar?

Jelas wajar, dilihat dari lifecycle development-nya, benefit dari pemanfaatan aplikasi mobile kepada user (yang jelas lebih mudah dipakai di manapun, kapanpun, tanpa perlu membawa laptop), promosi (iklan) produk dan monitoring (untuk keperluan survey statistik penggunaan) juga dapat dimanfaatkan dengan mudah melalui apps yang dikembangkan dan di-publish, demi memperhatikan konsumen dan mencari aspek penting buat menentukan kebijakan perusahaan. Dengan rata-rata per sekali publish, dalam seminggu bisa sampai 100-500 yang downloads, tentunya akan meningkatkan keuntungan bagi pihak client. Apalagi trend sekarang ini adalah mobile apps.

NB : tulisan ini mix teori (minim) dan hasil praktek, bukan money-oriented tanpa dasar, tetapi supaya kita juga paham memasang harga pengembangan aplikasi biar tidak dirugikan. :p Newbie belajar nulis.

 
2 Comments

Posted by on October 10, 2013 in Uncategorized

 

Tags: , , , , , , , , , , , , , , , , , , , , , , , ,