mobile developer

Berapa Harga Membuat Aplikasi Mobile

All Trending Programming Mobile

Salah satu pertanyaan yang sering diajukan ke saya adalah: berapa harga membuat aplikasi mobile.

Jawaban saya biasanya: tergantung aplikasinya, tapi minimal beberapa juta (ini benar-benar minimal, untuk aplikasi statik sangat sederhana sekali), biasanya angka yang saya sebutkan adalah belasan atau puluhan juta, dan kadang sampai ratusan juta. Sebagian terkejut dengan angka ini, tapi ini bukan angka yang mengada-ada, Anda bisa mencari-cari di berbagai artikel lokal ataupun berbahasa Inggris. bahwa angka ini sangat wajar

Sebelum Anda membaca panjang lebar, coba salah satu web yang memperkirakan biaya pembuatan app.

Lalu kembali ke sini untuk mengetahui kenapa bisa semahal itu.

Perkiraan Harga Aplikasi Mobile

Untuk yang malas mengklik, estimasi biaya minimum lebih dari 2000 USD, dan umumnya lebih dari 20 ribu USD.

Saat ini saya sendiri tidak banyak mengembangkan aplikasi mobile, tapi cukup mengenal dunianya.

Saya akan menjelaskan secara sederhana proses pembuatan dan penerbitan aplikasi ini, supaya sebagai orang yang meminta pembuatan aplikasi bisa mengerti. Ceritanya agak panjang, tapi saya harap tidak terlalu teknis.

Sebagai catatan: saya hanya akan membahas aplikasi yang dideploy via app store
(sebagian besar aplikasi disebarkan dengan cara ini). Di bagian akhir akan saya singgung sedikit mengenai pendekatan non-app store.

Ada Yang Murah Kok …

Setelah saya sebutkan angka yang terdengar fantastis, sebagian reaksi pertama adalah;
kok saya liat ada yang bisa mengembangkan cuma dengan sekian juta saja?

Dalam kasus tertentu, jika aplikasinya sangat sederhana, atau developernya sudah punya aplikasi sejenis, mungkin Anda bisa mendapatkan harga murah.

Contohnya ada aplikasi untuk stasiun radio, dan aplikasi itu dijual murah karena aplikasinya sama untuk semua stasiun radio, cuma gambar latar belakang, ikon, link twitter/facebook, dan nomor telepon saja yang diganti.

Contoh Aplikasi Sederhana

Contoh aplikasi sangat sederhana lain adalah launcher (dulu banyak di jaman Blackberry OS lama) yang sekedar membuka sebuah link web page.

Website wrapper yang sekedar meload halaman web tertentu di dalam aplikasi (jadi sudah harus punya website dulu). Bahkan untuk aplikasi sederhana seperti ini, developer kadang-kadang meminta minimal sejuta rupiah, karena membuat aplikasi paling sederhana sudah cukup merepotkan.

Langkah pertama untuk menaruh aplikasi di sebuah app store adalah membuat account di app store tersebut (Saya memakai kata generik app store untuk Apple App store, Google Play, dsb). Proses ini bisa memakan waktu beberapa jam sampai beberapa hari (tergantung app storenya).

Ada app store yang registrasinya gratis (misalnya Blackberry Appworld), ada yang perlu biaya sekali saja (25 USD untuk Google Play), ada yang perlu biaya tahunan (99 USD/tahun untuk Apple App Store).

Untuk Apple App Store, jika Anda tidak membayar biaya tahunan, aplikasi Anda akan diremove dari App Store.

Buat Aplikasi Gratis …

Jika kita membuat aplikasi yang gratis, sebenarnya kita bisa “nebeng” account developer aplikasi ke pihak lain, tapi cara ini amat sangat tidak disarankan. Pertama adalah mengenai kebergantungan kita pada developer tersebut. Jika developer menghilang, maka Anda tidak akan bisa mengupdate aplikasi Anda dan harus mengupload baru dengan nama lain. Alasan kedua adalah: kita tidak punya akses ke developer dashboard. Jika punya account sendiri, kita bisa melihat review aplikasi dari pengguna (dan membalas komentar review).

Jika aplikasi kita berbayar atau memiliki in-app purchase, maka jelas-jelas kita perlu membuat account sendiri, karena jika kita nebeng account orang, maka sangat berisiko uang kita diambil developer. Memakai account orang juga bisa menyulitkan dalam perhitungan pendapatan, pajak, dsb.

Setelah account app store dibuat dan disetujui (proses yang bisa memakan beberapa jam sampai beberapa hari), maka aplikasi perlu dibuat. Nanti saya akan detailkan betapa sulitnya proses ini. Asumsikan aplikasi sudah selesai, maka berikutnya adalah mengupload aplikasi tersebut.

Minimum ketika mengupload aplikasi untuk sebuah appstore, kita perlu membuat ikon dalam ukuran tertentu, splash screen dalam ukuran tertentu, screen shot aplikasi, teks deskripsi aplikasi, dan memasukkan berbagai informasi lain (kategori aplikasi, target usia, dsb).

Aplikasi juga perlu ditandatangani secara digital. Proses penandatanganan ini gampang-gampang susah. Untuk aplikasi iOS, penandatanganan perlu dilakukan di komputer dengan sistem operasi OS X (jadi umumnya perlu hardware Apple). Untuk app store lain, diperlukan tools dari SDK (software development kit) platform tersebut, umumnya perlu download ratusan megabyte untuk menyiapkan ini di sebuah komputer.

Setelah proses tersebut, kita perlu menunggu sampai aplikasinya disetujui, prosesnya bisa beberapa jam, sampai beberapa belas hari (Apple App Store minimum butuh 5 hari). Di sini aplikasi sudah siap didownload pengguna.

Mereka Masih Butuh di Update …

Di sini kita berasumsi aplikasinya sudah selesai. Tapi kenyataannya aplikasi ini akan butuh diupdate.

Bahkan meskipun kita tidak menambah fungsionalitas tertentu, kadang ada perubahan kebijakan App Store, atau ada OS versi terbaru, dan aplikasi kita perlu diupdate.

Ini bukan hal yang mengada-ada, sudah beberapa kali ini terjadi di berbagai app store. Misalnya Apple pernah meminta semua aplikasi untuk tidak memakai UDID (universal device ID), Apple pernah mengubah kebijakan menggunakan metode pembayaran dari pihak ketiga (hasilnya sekarang pengguna Aplikasi Amazon Kindle di iOS tidak bisa membeli buku langsung dari aplikasinya, harus ke websitenya Amazon), atau Blackberry pernah menyarankan penggunaan App Generator, tapi dua tahun kemudian menghapus semua aplikasi yang dibuat dengan App Generator dari Blackberry World.

Perhatikan bahwa di situ saya mengasumsikan design aplikasi, logo, ikon, dan semua gambar sudah tersedia, atau developer bersedia membuatkannya.

Harga Harga Lainnya Yang Termasuk

Harga jasa pembuatan logo, ikon, dsb bisa ditanyakan pada graphic designer, tapi bisa dicek bahwa harga minimumnya untuk design yang sangat sederhana ratusan ribu rupiah. Jika designernya sudah memiliki portfolio yang bagus, harganya bisa melambung minimal jadi beberapa juta rupiah.

Asumsi lainnya adalah bahwa programmer tidak perlu memberi training bagaimana login ke app store, bagaimana melihat review, membalas review, melihat analytics, mengembalikan pembelian (refund) untuk aplikasi berbayar, dsb.

Memberi panduan apa yang boleh dan tidak boleh dilakukan (jangan sampai app-nya hilang hanya karena pemilik aplikasi salah menekan tombol).

Setelah menjelaskan hal-hal di atas yang di luar programmingnya, saya akan menjelaskan bagian lain yang paling penting: programnya.

Perkembangan Program Aplikasi Mobile

Program yang paling sederhana hanya menampilkan informasi tertentu yang statik (misalnya aplikasi untuk event tertentu). Aplikasi ini tidak butuh login, tidak butuh update, dan tahun berikutnya aplikasinya sudah tidak berlaku lagi.

Ketika aplikasi menjadi sedikit lebih rumit, maka biasanya dibutuhkan sebuah server. Semua aplikasi yang membutuhkan login, atau membutuhkan update informasi akan butuh server.

Secara sederhana: server dibutuhkan untuk menyimpan informasi mengenai user dan menyimpan data dinamik yang perlu ditampilkan aplikasi. Misalnya jika kita ingin membuat aplikasi untuk restoran, contoh updatenya adalah update menu dan update harga. Untuk aplikasi yang butuh sisi server, maka berbagai biaya baru bermunculan.

Jika sebuah app memerlukan server, maka biaya pertama adalah biaya sewa server itu sendiri. Setelah itu ada biaya untuk pembuatan aplikasi backendnya. Lalu dibutuhkan waktu ekstra untuk menghubungkan aplikasi mobile dengan servernya. Contoh fitur minimal aplikasi server ini: untuk melihat user yang sudah terdaftar, mereset password user tertentu, menghapus user, melihat statistik, mengirimkan informasi promo, dan sebagainya.

Aplikasi Server …

Untuk aplikasi tertentu, kadang sisi server ini bisa disederhanakan dengan memakai layanan mobile backend (contohnya Parse, Kinvey, dan lain-lain).

Perhatikan bahwa rata-rata biayanya adalah ratusan dollar per bulan, Sepertinya yang paling murah adalah kumulos yang hanya 10 USD/bulan (tapi jumlah recordnya terbatas). Meski sudah memakai layanan dari pihak ketiga untuk menyederhanakan pembuatan server, pembuat aplikasi harus menulis kode tambahan untuk proses login, koneksi ke server, dsb.

Jangan pikir bahwa menggunakan facebook/twitter/linked in login akan menyederhanakan semuanya. Ini menyederhanakan proses registrasi/login di sisi user, tapi merepotkan di sisi developer. Dari mulai proses awal registrasi aplikasi di Facebook/Twitter/Linked in, sampai update aplikasi ketika ada perubahan API (yang cukup sering dilakukan oleh Facebook).

Testing Aplikasi

Aplikasi yang sederhana hanya akan butuh testing di emulator dan di sebuah device, dan akan berjalan di semua device lain. Aplikasi yang rumit akan crash di device tertentu, dan butuh debugging khusus. Jika tidak percaya, silakan lihat review berbagai aplikasi di app store (banyak komentar “tidak jalan di HP saya, merk X”). Sebagian developer akan mengabaikan ini, sampai ditanya oleh clientnya “Investor kita pakai Galaxy S5, tapi aplikasi kita crash di Galaxy S5″. Siapa yang akan meminjamkan atau memberikan Galaxy S5 ke developernya? (Ketika Artikel ini ditulis, ini salah satu HP baru yang mahal).

Untuk aplikasi yang melibatkan uang, masalahnya jadi jauh lebih rumit. App store sudah menyediakan metode pembayaran, tapi akan memotong 30% (iya benar tiga puluh persen, bukan tiga persen) dari semua pembayaran. Banyak aplikasi perlu melindungi diri dari orang iseng jika sudah melibatkan uang. Contohnya untuk aplikasi pesan makanan: apa yang terjadi kalo ada orang iseng memesan makanan, tapi orangnya menghilang? Beberapa aplikasi mewajibkan kita menyetor dana di awal (contohnya Gojek) atau memasukkan kartu kredit di awal (contohnya Uber), jadi jika ada orang iseng, dananya tetap bisa dipotong.

Aplikasi tertentu bisa ditulis dengan teknologi yang namanya HTML5.

Teknologi ini sederhana (dari sisi developmentnya), dan bisa jalan di berbagai platform (iOS, Android, Blackberry, dll). Tapi aplikasi jenis ini juga punya banyak keterbatasan. Aplikasinya umumnya lebih lambat, lebih butuh lebih banyak memori, dan tidak efisien membuat aplikasi yang berjalan di latar belakang. Di contoh sebelumnya: jika kita ingin bisa tracking status pengantar makanan, maka si pengantar makanan butuh HP dengan GPS dengan aplikasi di latar belakang yang mengupdate informasi lokasi saat ini ke server dan informasinya akan dikirimkan ke pemesan makanan.

Jika Anda masih menganggap: wah mending saya belajar bikin sendiri aplikasinya, silakan Anda memulai sendiri belajar development aplikasi sendiri. Ada banyak sekali tutorial yang tersedia di Internet, baik yang gratis maupun berbayar.

Modal Pengembangan Aplikasi

Beberapa platform akan butuh modal yang cukup signifikan, contohnya untuk pengembangan aplikasi iOS: Anda butuh handphone iOS (beberapa juta), laptop MacBook (beberapa juta), developer account (99 USD/tahun, wajib, meski hanya untuk testing/belajar).

Bahkan persiapannya untuk bisa memprogram akan butuh waktu (silakan download XCode di OSX yang ukurannya beberapa GB). Untuk OS Android, Anda bisa memulai belajar dengan lebih murah, harga HP Android termurah sekitar sejuta rupiah juga sudah bagus. Anda juga tetap butuh download software beberapa gigabyte untuk memulai proses development.

Setelah Anda belajar app development, silakan kembali ke sini untuk berkomentar apakah memang harga development aplikasi itu wajar atau tidak.

Meskipun uang dari pengembangan aplikasi mobil menggiurkan, saya sendiri merasa development mobile app yang serius itu stressful.

Aplikasi biasa biasanya hanya melibatkan dua pihak: saya dan client. Aplikasi mobile di app store melibatkan banyak pihak: saya (yang membuat aplikasi), client yang meminta aplikasi (dan sering meminta fitur yang sepertinya sederhana tapi rumit dalam implementasinya), pihak app store (yang membuat berbagai batasan, yang sering mengupdate sistem operasi dan API-nya), pihak end user (yang mendownload aplikasi), dan bahkan kadang melibatkan perusahaan hardware tertentu (appnya nggak jalan di Samsung model tertentu).

Tapi Yang Gratis … Bener …

Jika Anda heran kenapa banyak aplikasi gratis yang dibuat oleh seorang diri, padahal biaya pembuatan aplikasi bisa mahal, salah satu alasannya aplikasi gratis membebaskan developer dari berbagai pihak. Jika end user tidak suka: ya sudah, nggak usak pake app saya, kan gratis, kamu tidak membayar, tidak rugi. Jika ada yang suka, developer bisa mendapatkan uang ekstra dari iklan.

Aplikasi gratis yang dibuat berbagai developer besar (misalnya banking), mendapatkan uang dari cara lain (contohnya dari transaksi banking itu sendiri).

Saat ini saya hanya membuat aplikasi yang benar-benar saya inginkan (misalnya game untuk anak-anak saya) dan bahkan sebagian gratis. Aplikasi Alkitab di berbagai platform saya buat gratis karena bagi saya itu adalah pelayanan saya. Developer lain mungkin punya motivasi yang berbeda sehingga merilis aplikasi mereka gratis.

Sedikit catatan: penyebaran aplikasi melalui appstore bukan satu-satunya cara menyebarkan aplikasi, tapi cara itu yang termudah untuk umum.

Untuk Android kita bisa menyebarkan file APK ke user, tapi user harus menginstall dengan cara khusus (untuk iOS Anda tetap perlu mendaftar developer account).

Untuk suatu aplikasi yang hanya dipakai internal perusahaan tertentu, ada yang namanya enterprise deployment.

Saya tidak membahas banyak mengenai ini, karena sebagai perusahaan tentunya Anda sudah tahu berapa kisaran harga aplikasi. Biasanya aplikasi perusahaan dikembangkan internal dengan mempekerjakan developer mobile sebagai pelengkap tim programmer internal.

Semoga uraian di atas cukup bisa menjelaskan mengapa harga sebuah aplikasi mobile, bahkan yang paling sederhana bisa cukup mahal.

by yohanes, blog.compactbyte.com