Rabu, 21 November 2012

Wonderland Live Wallpaper


Orang-orang suka dengan wallpaper pemandangan yang indah. Mengetahui hal itu, kami membuat live wallpaper dengan tema "wonderland". Banyak waktu yang dibutuhkan untuk membuat live wallpaper ini. Namun hasilnya sangat memuaskan. Pemandangan yang indah, makhluk-makhluk yang unik dan lucu serta berbagai macam pola untuk langit dan kesemuanya itu memiliki banyak interaktifitas.

 



 



Fitur:

 Artwork Original
Hal ini yang menyebabkan waktu pembuatan live wallpaper ini cukup lama. Saya sebagai illustrator berusaha semaksimal mungkin untuk memberikan karya ilustrasi dan animasi yang indah, imut serta unik.


 Kaya akan animasi interaktif
Semua karakter di live wallpaper ini sangat interaktif. Ada tokoh anak perempuan, Aiko, jamur-jamur fantasy, burung-burung yang lucu dan kelinci yang menggemaskan. Anda juga bisa mlakukan tap dimana saja untuk menjatuhkan apel untuk Aiko.

 Berbagai pola langit
Anda dapat memilih sendiri kombinasi warna dan pattern sesuai selera dan membuat wallpaper anda unik.

 Pelangi sebagai indikator baterai
Ada sebuah pelangi yang menunjukkan kondisi baterai smartpone atau tablet Anda. pelangi itu akan semakin transparan apabila level baterai rendah.

 Mendukung orientasi mendatar dan tegak
Kami juga mengimplementasikan pemrograman yang advance sehingga apabila Anda mengganti orientasi homescreen Anda, semua komponen didalam live wallpaper ini akan secara otomatis mengikuti dan menyesuaikan format layar Anda.

 Support Tablet
Semua artwork dalam live wallpaper ini hadir dengan resolusi tinggi yang cocok juga digunakan di tablet.

 Support MoveToSD
 Penggnaan baterai dan memori yang kecil

Dapatkan versi gratis dan berbayar di Google Play Store

Gratis:
Android app on Google Play
Berbayar:
Android app on Google Play

Senin, 12 November 2012

Piiko - Dancing Penguin live Wallpaper


Perkenalkan Piiko, Penguin lucu yang mondar-mandir dan menari-nari di homescreen perangkat Android Anda.

Piiko adalah tokoh penguin yang lucu dan imut yang hidup di smartphone dan tablet Android.

Sentuh (tap) pada Piiko dan dia akan berreaksi. Dia dapat melakukan tarian (Gangnam Style dan masih banyak lagi), berlari, melompat, meluncur, melempar bola salju, juggling, dan masih banyak lagi reaksi-reaksi lucu lainnya. Anda juga dapat memberi makan Piiko dengan tap dimana saja pada layar. Piiko akan meluncur dan makan. Goyangkan ponsel Anda dan Piiko akan pusing-pusing.

Piiko juga merespon pada berbagai level battery. Dia tidak dapat bereaksi apabila batery ponsel / tablet Anda terlalu rendah. Charge perangkat tersebut untuk memberi makan Piiko.

Untuk membuka dan men set Live Wallpaper: Home -> tekan Menu -> Wallpapers -> Live Wallpapers.

Screenshot Aplikasi:

  



Video:


Dapatkan Sekarang di PlayStore!

Versi Free:



Versi Full:



Minggu, 04 November 2012

Androbot - Android Robot Live Wallpaper



Robot Android bermain di home screen Anda.
Androbot adalah robot Android. Pasangkan Androbot sebagai live wallpaper pada perangkat android Anda dan dia akan menunjukkan berbagai atraksi menarik.

Sentuh (tap) pada Androbot untuk melihatnya melakukan berbagai atraksi seperti aksi ninja, Juggling, bermain skateboard, bermain sulap, bermain basket, fitness, bahkan ketika anda Charge, dia akan makan APEL!

Androbot juga bereaksi terhadap beberapa kondisi baterai perangkat Anda. Tap pada sembarang tempat di layar untuk melembar buah apel dan lihat Androbot menjadi ninja dan menghancurkannya!

Untuk membuka live wallpaper ini: Home -> tekan menu -> wallpapers -> Live Wallpapers.

Screenshot Aplikasi:

 

 

Video:



Fitur:

※ Custom background (pilih background dari gallery) [Full version]
※ Background pattern (Dapat dikombinasikan dengan berbagai warna) [FULL VERSION]
※ Tap di layar untuk melempar apel [FULL VERSION]
※ Mode goyangan ponsel [FULL VERSION]
※ Beragam animasi yang mengacu pada kondisi baterai (battery state)
※ Beragam animasi yang meresponi sentuhan (touch) [more on FULL VERSION]
※ Beragam warna background [more on FULL VERSION]
※ Animasi yang smooth
※ Support untuk "MoveToSD"
※ Support untuk layar Portrait dan Landscape
※ Penggunaan memori yang kecil
※ Penggunaan baterai yang sedikit
※ Aktifkan / non-aktifkan sentuhan
※ Aktifkan / non-aktifkan suara

Unduh di Playstore Sekarang!

Versi Free:

Versi Full:


Kamis, 01 November 2012

Cilo - Dancing Cat Live Wallpaper




Perkenalkan Cilo, kucing lucu dan imut yang mondar mandir di kome screen ponsel android Anda. Cilo adalah karakter kucing yang sangat imut dan hidup di ponsel dan tablet.

Sentuh (tap) pada Cilo dan dia akan ber-rekasi. Dia dapat menari-nari (Gangnam style, nyan dance, dll), berlari, melompat, dan  melakukan reaksi dan gerakan imut lainnya apabila disentuh. Cilo juga meresponi beragam kondisi baterai. Dia tidak dapat menari jika perangkat Anda kekurangan energi. Charge perangkat Anda untuk memberi makan Cilo. Anda juga dapat memberi snack untuk Cilo dengan menyentuh tempat tertentu di ponsel Anda.

Screenshot Aplikasi:


 

 

Video:


Untuk me-set live wallpaper Anda: pada Home -> menu -> wallpapers -> live wallpapers.


Fitur:

※ Beragam animasi yang mengacu pada kondisi baterai (battery state)
※ Beragam animasi yang meresponi sentuhan (touch)
※ Beragam background
※ Animasi yang smooth
※ Support untuk "MoveToSD"
※ Support untuk layar Portrait dan Landscape
※ Penggunaan memori yang kecil
※ Penggunaan baterai yang sedikit
※ Aktifkan / non-aktifkan sentuhan
 Aktifkan / non-aktifkan sentuhan [Full version]
 Memberi makan, tap disembarang tempat untuk memberi makan Cilo [Full version]
 Custom background (pilih background dari gallery) [Full version]

Beli versi full untuk mengaktifkan berbagai fungsi dengan maksimal:

★ Custom background
★ Lebih banyak background bawaan
★ Lebih banyak animasi interaktif
★ lebih banyak suara dan musik untuk animasi interaktif
★ Memberi makan

Unduh di PlayStore Sekarang!

Versi Free:

 

Versi Full:



Jumat, 26 Oktober 2012

Dudutsoft - Sebuah Start-up Developer Aplikasi Android



Beberapa bulan yang lalu, Saya dan teman kuliah saya sejak S1 dan S2 ini, Heryno, bergabung dalam sebuah tim yang memiliki visi untuk membangun sebuah start-up lokal dibidang program aplikasi. Setelah melewati proses panjang mengenai apa yang akan kami buat, akhirnya kami menetapkan satu visi dimana kami akan membuat produk-produk aplikasi jenis "personalisation" dan "entertainment" dan akan dipasarkan di Playstore Android. Pada tanggal 24 Oktober 2012 akhirnya kami berhasil menelurkan karya perdana kami yaitu Dancing Cat Live Wallpaper.

Tim yang kami buat bernamakan "Dudutsoft". Mungkin terdengar lucu dan aneh di telinga orang Indonesia. Karena pada dasarnya istilah "dudut" sendiri memiliki konotasi yang tidak terlalu menyenangkan. Ada yang bilang mirip suara kentut "dut~ dut~ (O_o) =3". Hahaha... Namun kami tidak berpikir pusing tentang hal itu. Mungkin saja kan, "Dudutsoft" cukup terdengar keren di kalangan bule bule kan kita juga gak tau. :D

Berbeda dengan Start-up android lokal lainnya, start-up kami membuat produk-produk yang langsung mentargetkan pasar Internasional. Kami tidak  membuat produk-produk bertema kan lokal ataupun berbahasa Indonesia. Kami menyadari bahwa pasar Indonesia memang luas, namun mentalitas orang Indonesia untuk "BELI" aplikasi sangat-sangat rendah. Belum lagi jumlah pengguna yang "BISA BELI (punya credit card dan sudah mendaftarkannya ke google wallet)" adalah sangat-sangat sedikit. "Nggak-cuan" lah istilahnya. Maka dari itu, pada produk kami dengan sangat sengaja tidak mengangkat tema lokal dan kebudayaan Indonesia. Langsung saja kami berkata bahwa tujuan start-up ini dibuat bukan semata-mata hanya untuk "mengharumkan nama Indonesia". We are here to brings fun to mobile and to make money from it. Kami mentargetkan negara-negara yang menurut data statistik di Playstore adalah negara yang paling "mau beli". Negara-negara tersebut antara lain adalah USA, United Kingdom, Japan, Korea. Bahkan kami sempat berpikir bahwa ada baiknya kami menyamar sebagai perusahaan dari Jepang, biar lebih terlihat "valid". hahahaha...

Kami berdua belajar programming aplikasi Android dari awal. Hanya dari buku dan internet. Namun tampaknya semakin ke depan, Saya semakin tertinggal dengan Heryno (He's really a very fast learner O_O), dan akhirnya saya sendiri memutuskan untuk mengambil peran sepenuhnya menjadi Illustrator. Karena memang walaupun saya sarjana Sistem Informasi dan mahasiswa pasca sarjana Ilmu komputer, Saya juga punya skill menggambar yang cukup bersaing :D. Memang tim kami membutuhkan programmer dan illustrator.

Anyway, check out blog official Dudutsoft di:

Fan-page di Facebooknya di:

Google+ di:

Follow twitternya di:
@dudutsoft

List aplikasi Dudutsoft di Google Play Store:

Anyway, di postingan berikutnya saya akan membahas dengan lebih detail (baca: promosi) produk-produk Dudutsoft. Terima kasih :)

Minggu, 16 September 2012

Rooting Android


Android sedang populer di waktu-waktu ini. Mungkin Anda juga salah satu orang yang baru saja membeli perangkat mobile (Tablet PC atau Smartphone)  ber Sistem Operasi Android. Anda mungkin banyak mendengar dari para pengguna Android yang menyarankan Anda untuk melakukan "Rooting" pada perangkat Anda namun Anda masih kurang jelas apa itu Root? Manfaat apa saja yang didapatkan? Resikonya apa? Serta, bagaimana cara melakukannya. Tulisan ini bertujuan untuk menjawab semua pertanyaaan Anda ini. Semoga dapat bermanfaat dan Anda dapat mengerti dengan jelas mengenai Rooting dan mampu memutuskan apakah Anda membutuhkan akses Root atau tidak. 

Dengan pengalaman Saya yang sudah pernah memiliki dan menggunakan 4 perangkat Android sejak tahun 2010, (Acer Liquid E, HTC Desire Z, Acer Iconia A500 dan HTC Sensation XE with Beats Audio), saya akan mencoba untuk berbagi pengetahuan dengan bahasa yang lebih sederhana dan diharapkan dapat dimengerti oleh pengguna awam.

1. Apa Itu Rooting?

Root pada dasarnya adalah sebuah hak akses. Dalam proses rooting, Anda memang akan menginstall beberapa aplikasi seperti Superuser, Recovery dan beberapa aplikasi lainnya namun pada dasarnya mendapatkan Root adalah Anda mendapatkan hak akses tertinggi (Super User) untuk mengatur  perangkat Anda. Dengan kata lain, Anda memiliki kontrol penuh terhadap perangkat Anda baik secara hardware maupun software

Perusahaan pengembang perangkat Android pada dasarnya tidak mendukung aksi "rooting" ini. Secara default, perangkat Android yang Anda beli dari toko pasti dalam kondisi yang tidak memiliki akses Root. Alasannya sederhana.. yaitu untuk memberikan batasan-batasan kepada pengguna agar tidak dapat melakukan hal-hal yang berpotensi "membahayakan" perangkat Android tersebut. Maka dari itu perusahaan dapat memberikan jaminan kestabilan perangkat tersebut (baca: garansi) jika pengguna mempergunakannya secara "normal" (tidak di root).

Android adalah sistem operasi yang terbuka. Sistem operasi ini men-share source code pembangunnya pada publik sehingga memungkinkan untuk komunitas pengembang pihak ketiga untuk melakukan modifikasi dan pengembangan terhadap Android. Berbeda dengan sistem operasi yang tertutup seperti IOS, Blackberry OS, Windows dan berbagai sistem lain yang tertutup dan tidak mempublikasi kode pembangunnya. Karena itu, banyak terbentuk komunitas yang mengembangkan berbagai aplikasi untuk meng-optimalisasi dan meng-efektifkan perangkat Android tersebut. Sebagian dari aplikasi tersebut memerlukan akses Root untuk menjalankannya. Maka dari itu, pengguna juga harus berperan aktif terlebih dahulu untuk berusaha mendapatkan akses root tersebut dengan cara rooting. 

Ada satu hal yang perlu Anda ketahui setelah Anda mempunyai akses ROOT dan menginstal aplikasi-aplikasi yang membutuhkan akses Root... "Anda bertangung jawab atas apa yang Anda lakukan sendiri". Karena Perusahaan sudah tidak lagi memberi jaminan (garansi), dan pengembang software juga tidak bertanggung jawab apabila ternyata software tersebut menyebabkan perangkat Anda rusak. Seharusnya peringatan ini sudah diberikan di setiap tutorial rooting sebagai pengetahuan umum yang harus diketahui oleh semua calon rooters.


2. Manfaat Rooting dan Aplikasi yang Membutuhkan Akses Root pada Android

Sebelum Saya jelaskan lebih jauh mengenai proses root, Saya akan jabarkan beberapa manfaat yang bisa Anda dapatkan jika Anda memiliki akses root. Berikut poin-poinnya:

2.1 Backup dan Restore full Rom

Ketika Anda melakukan Rooting, salah satu tahapannya adalah menginstal custom recovery yang dapat diakses pada bootloader (menu yang dapat diakses ketika perangkat dihidupkan sebelum masuk ke sistem operasi androidnya). Sebenarnya, Android sudah memiliki program Recovery bawaan sendiri. Namun, recovery bawaan Android sangatlah terbatas dan salah satunya adalah tidak dapat melakukan backup dan restore Rom (Rom: kata lain dari sistem operasi yang sudah diimplementasikan pada perangkat). Maka dari itu, Hal pertama yang saya Anjurkan setelah mendapatkan akses root adalah Anda dapat dan harus melakukan full backup (OS + aplikasi + data aplikasi) terhadap ROM yang dipakai sekarang denganmengasumsikan bahwa sistem saat ini berada pada kondisi yang paling stabil (belum di apa-apakan), sehingga apabila terjadi masalah di kemudian hari, Anda dapat melakukan full restore dan dapat kembali ke kondisi paling stabil. Ada banyak Custom Recovery yang tersedia seperti ClockworkMod (CWM) Recovery, RA Recovery, TeamWin Recovery (TWRP), dan sebagainya. Sebaiknya pilihlah recovery image yang direkomendasikan oleh komunitas pengembang perangkat Anda (Tidak perlu bingung. Biasanya sudah include dalam tutorial rooting). 

2.2 Partisi, Swap Memory, Link2SD dan Ram Manager

Partisi adalah menyisihkan sebagian dari memori eksternal (MicroSD Card) Anda untuk dijadikan virtual memori internal dan Swap memori adalam menyisihkan sebagian dari memori eksternal menjadi virtual RAM. Mengapa partisi diperlukan? Android diatas versi 2.2 (Froyo) sebenarnya sudah ada fitur bawaan untuk "Move to SDCARD" untuk beberapa aplikasi yang support. Namun, cara ini tidak seluruhnya (tidak 100%) memindahkan aplikasi dari memori internal dan tidak semua aplikasi bisa di move to SDCARD. Sehingga untuk perangkat Android yang kebetulan dianugerahi memori internal yang sangat terbatas akan tidak leluasa dalam menginstal aplikasi.

Dengan membuat partisi (dengan bantuan custom recovery) dan dengan bantuan aplikasi Link2SD (butuh Root) Kita dapat meng-ekspan memori internal kita menjadi up to + 4GB. 


Pada contoh diatas, Saya membuat partisi untuk SD Card 2nd Part sebesar 2GB. Aplikasi-aplikasi yang makan memori besar saya pindahkan (Link) ke memori internal kedua itu sehingga memori internal bawaan saya jadi lebih lenggang. 

Hal kedua adalah menambah RAM dengan membuat file swap (swap memory). Dengan bantuan RAM Manager Pro, saya dapat menambah RAM dari perangkat saya sebesar 256MB lagi. Dengan demikian Ram perangkat saya yang semula hanya 768MB menjadi 1GB dengan tambahan 256MB secara virtual. 


Untuk lebih optimal, pastikan Anda menggunakan kartu memori (MicroSD Card) dengan kecepatan diatas class 6. Preferably class 10 atau ULTRA agar tidak memperlambat performa memori. Perlu diketahui bahwa penambahan ram dengan cara swap memori dapat mereduksi umur SD Card cukup signifikan karena SDcard akan secara intense diakses untuk keperluan swap memori.

2.3 Ad Blocker

Android memang memiliki banyak aplikasi-aplikasi gratis yang cukup berguna. Namun, aplikasi-aplikasi ini sebagian besar menampilkan iklan. Taukah Anda bahwa dibutuhkan daya (batrai) dan bandwith (internet) yang cukup besar untuk menampilkan iklan iklan tersebut? Tidak heran bahwa jika Anda kelupaaan menggunakan paket internet yang besar, tagihan Anda bisa membengkak karena sebenarnya perangkat Anda mengunduh iklan-iklan untuk ditampilkan pada Anda, bahkan ada beberapa aplikasi yang tetap mengunduh iklan padahal aplikasi tersebut sedang tidak digunakan. 

Anda dapat menginstal berbagai software ad-block untuk menghalangi perangkat Anda mengunduh iklan iklan tersebut. Salah satu aplikasi yang menyediakan fitur ad-blocker adalah ROM Toolbox yang cara kerjanya adalah mem black-list puluhan ribu URL iklan agar aksesnya ditolak oleh perangkat Anda ataupun Anda juga dapat menghapus manual setiap iklan dari aplikasi-aplikasi populer dengan menggunakan Lucky Patcher (ada unsur probabilitas keberhasilannya). 

Perlu diketahui bahwa aksi ad-blocking ini merugikan para pengembang aplikasi.



2.4 Menghapus aplikasi bawaan

Perusahaan pengembang perangkat Android biasanya memasukkan banyak aplikasi-aplikasi pre-install (system app) yang secara normal tidak dapat Anda uninstall. Anda hanya dapat melakukan uninstall pada aplikasi-aplikasi yang Anda install sendiri (user app). Aplikasi-aplikasi bawaan tersebut kadang memakan banyak memori internal dan apabila Anda merasa tidak pernah menggunakannya dan tidak membutuhkannya, Anda dapat meng-uninstallnya dengan menggunakan bantuan aplikasi Rom Toolbox

Selain itu, Anda juga dapat membuat suatu system app menjadi user app maupun sebaliknya. Anda perlu berhati-hati dan jangan sampai melakukan uninstall pada system app yang penting bagi kestabilan sistem Android. Karena Anda sudah memiliki akses tertinggi, tidak ada lagi peringatan yang diberikan. Anda harus tahu sendiri mana yang "aman" untuk dibuang dan mana yang tidak. 

Anda juga dapat melakukan "Freeze app" untuk me-non aktifkan suatu aplikasi secara total tanpa menghapusnya (meng-uninstalnya). 


2.5 Start Up Manager

Dngan bantuan Rom Toolbox, Anda dapat mengatur aplikasi apa sajakah yang boleh dijalankan ketika startup (Perangkat dinyalakan pertama kali). Ada beberapa aplikasi yang memasang "Receiver" untuk menangkap suatu event dan meresponinya walaupun aplikasi utama sedang tidak dijalankan. Jika Anda menginstal banyak aplikasi dan banyak receiver yang aktif, otomatis startup akan jadi lebih lama dan memori RAM perangkat Android Anda akan semakin sedikit. Maka dari itu, Dengan adanya startup manager ini Anda dapat menghentikan beberapa receiver dari aplikasi-aplikasi yang jarang Anda gunakan sehingga perangkat Anda tetap dalam kondisi prima walaupun menginstal ratusan aplikasi. 


2.6 CPU Control dan Auto Memory Manager

Selain mengontrol perangkat lunak, dengan adanya akses Root, Anda juga mampu mengontrol secara langsung behavior (cara kerja) dari CPU perangkat Anda (CPU Control). Mulai dari yang paling sederhana adalah memilih profil Governor hingga menentukan profil apabila terjadi suatu event (Ketika layar mati, ketika batrai dibawah sekian persen, ketika kondisi charging/full, temperatur diatas sekian derajat, layar hidup, ketika on call, dan sebagainya).


Tujuannya adalah, agar penggunaan CPU dapat lebih hemat daya apabila sedang tidak dibutuhkan namun tetap cepat dan responsif apabila sedang dibutuhkan. Misal pada gambar diatas, Saya menggunakan Governor On Demand untuk kinerja secara default dengan minimum  clock rate 385MHz dan maksimum 1512MHz. Namun ketika kondisi layar mati (Screen Off), CPU clock rate akan langsung diturunkan pada 384MHz - 756MHz dengan governor Powersave. 

Sedikit akan dijelaskan apa itu Governor dari CPU. CPU Governor adalah kumpulan 'logic' yang sudah ditanamkan pada kernel yang menentukan penggunaan CPU apabila user melakukan sesuatu. Jadi, program pengatur CPU seperti Rom Toolbox, SetCPU dan lain sebagainya hanya memanggil berbagai profil tersebut dari kernelnya. 
  • On Demand: Mode On Demand biasanya ada di sebagian besar kernel. Pada mode ini CPU akan dengan sangat cepat menaikkan performa (clock rate) apabila sedang dibutuhkan (perangkat digunakan) untuk memenuhi permintaan, kemudian akan memperlambat performa (clock rate) secara bertahap (perlahan). Profil ini menghasilkan perangkat yang responsif namun lebih boros daya.
  • Conservative: Mode conservative ditemukan di beberapa kernel. Mirip dengan On Demand, namun CPU akan menaikkan clock rate secara bertahap untuk memenuhi kebutuhan. Performa pada mode conservative mungkin akan kurang responsif dibandingkan On Demand, namun akan lebih hemat daya. 
  • Performance: CPU akan disetel bekerja pada clock rate maksimal setiap waktu. Profil governor ini sebaiknya digunakan untuk proses benchmarking saja karena akan sangat panas dan boros daya. 
  • Powersave: Kebalikan dari profil  performance, CPU pada profil powersave akan disetel untuk selalu bekerja pada nilai clock rate minimum.
  • Userspace: Metode pengontrolan CPU yang saat ini tidak digunakan pada program set CPU (Khusus pengembang). Sebaiknya pengguna awam tidak menggunakan metode ini.
  • Interactive
The 'interactive' governor has a different approach. Instead of sampling the cpu

at a specified rate, the governor will scale the cpu frequency up when coming

out of idle. When the cpu comes out of idle, a timer is configured to fire

within 1-2 ticks. If the cpu is 100% busy from exiting idle to when the timer

fires then we assume the cpu is underpowered and ramp to MAX speed.


If the cpu was not 100% busy, then the governor evaluates the cpu load over the
last 'min_sample_rate' (default 50000 uS) to determine the cpu speed to ramp down

  • SmartAss dan SmartAssV2: Singkat kata: logic yang lebih baik daripada mode interactive. Biasanya terdapat pada kernel custom rom. 

2.7 "Membajak Aplikasi" lebih mudah

Poin ini sebenarnya kontroversial karena disatu sisi merugikan para developer. Saya tetap akan bahas poin ini karena hal ini juga termasuk "to-do list yang dapat dilakukan jika Anda memiliki akses Root. Aplikasi Android pada dasarnya mudah sekali untuk dibajak. Dengan menggunakan file manager yang mendukung  root browser (Misalnya Es File Explore) , Anda dapat menelusuri sistem Android dan mengambil installer (file berekstensi .apk) dari sistem kemudian men-copy kan nya pada perangkat lain. Anda sebenarnya tidak memerlukan akses root untuk dapat menginstal aplikasi bajakan ini. Anda cukup men-centang "Unknown Resource" pada setting "Security" dan Anda dapat dengan bebas menginstal aplikasi berekstensi .apk diluar market (PlayStore). 


Walaupun Anda dapat menginstalnya, namun beberapa aplikasi menambahkan sendiri mekanisme keamananan didalam aplikasi tersebut. Mekanisme keamanan ini misalnya sinkronisasi pada server dan server dapat mengidentifikasi apakah aplikasi tersebut dari pembeli yang sah atau tidak. Apabila Anda terdeteksi bukan pembeli yang sah, maka aplikasi akan menolak untuk bekerja. Untuk masalah ini ada aplikasi seperti Lucky Patcher yang membutuhkan akses root untuk menghilangkan "license verification" ataupun memberikan "custom patch" supaya aplikasi tersebut tetap bisa digunakan. Lucky patcher sendiri memiliki daftar aplikasi apa saja yang bisa dibajak (diberi custom patch). Biasanya aplikasi-aplikasi populer.


2.9 Flashing Custom Rom

Pada dasarnya Anda hanya perlu membuka (unlock) bootloader dan menginstal custom recovery saja untuk dapat melakukan flashing custom rom (tidak perlu rooting). Namun, biasanya proses pemasangan custom recovery sudah "satu paket" dalam proses rooting. Dengan menggunakan custom recovery, Anda dapat menginstal custom rom yang dibuat oleh komunitas perangkat Anda. Custom rom biasanya menawarkan berbagai hal yang biasanya tidak terdapat pada Stock Rom atau Rom bawaan pada perangkat Anda, misalnya, 
  1. Versi OS yang lebih baru, misalnya secara resmi baru menggunakan Android 2.3.3 (Gingerbread), namun komunitas pengembang di XDA Developers sudah mengembangkan versi 4.0.3 (Icecream Sandwich) nya.
  2. Dapat menggunakan versi OS dari perangkat berbeda (tergantung pengembang). Misalnya, HTC Desire Z saya dapat menggunakan rom dari HTC Desire HD yang sudah di sesuaikan drivernya dengan HTC Desire Z. 
  3. Kernel CPU yang sudah di overclock. Ada beberapa pengembang yang sengaja downclock CPU suatu perangkat. Proses overclock yang disarankan pengembang sebenarnya tidak berbahaya karena hanya sekedar "mengembalikan" kecepatannya ke semula. Misalnya, HTC Desire Z saya sebenarnya memiliki processor yang sam dengan HTC desire HD. Namun HTC Desire saya di downclock oleh HTC secara default di kecepatan 800Mhz (Desire HD 1Ghz). 
  4. Memiliki optimisation RAM script, Dalvix tweak (yang intinya untuk optimalisasi hardware agar kinerja lebih smooth). Adrenaline Engine, Supercharger, Zipaligned, dan lain sebagainya.
  5. Kadang, custom rom juga bisa mengusung teknologi dari pengembang lain. Misalnya Sony Bravia Engine dapat diimplementasikan di HTC. atau HTC beats audio dapat diimplementasikan di perangkat lain.
  6. Custom rom umumnya sudah dalam kondisi rooted. 
  7. Berbagai kostumisasi tampilan yang unik seperti boot animation, tema warna icon, font dan sebagainya.

Berikut berbagai tips dalam memilih custom rom:
  1. Custom rom dikembangkan oleh pihak ketiga sehingga tidak menjamin kestabilannya. Silahkan kunjungi situs yang terpercaya dalam memilih custom rom (misal: XDA Developers)
  2. Perhatikan dengan seksama spesifikasi custom rom. Pastikan semua persyaratan, jenis perangkat dan sebagainya sudah cocok dengan milik Anda. 
  3. Perhatikan juga "work" dan "not work". Karena custom rom yang belum stabil dan masih dalam tahap pengembangan terkadang ada beberapa komponen yang belum jalan (misal kamera, wifi, dll). Pilihlah custom rom yang sudah berumur cukup lama, sudah di update banyak versi dan banyak testimoni "stabil" dari para penggunanya. 
  4. Selalu lakukan Nandroid Backup terlebih dahulu sebelum flashing custom rom

2.10. Multi Boot Rom

Sama seperti layaknya PC, Anda juga dapat memiliki multi-boot atau banyak sistem operasi (ROM) Android pada sebuah perngkat dengan bantuan aplikasi Boot Manager. Tidak semua perangkat Android disupport oleh Boot Manager (Ada compatibility listnya). 
Current Supported Devices
Samsung Galaxy Nexus
HTC Desire
HTC Desire HD
Htc Desire S
HTC Desire Z
Htc Evo 3D
HTC EVO 4G
HTC G2(aka Vision)
HTC Incredible 1
Htc Incredible 2
Htc Incredible S
HTC Inspire4g
HTC MyTouch 4G
HTC Nexus One
Htc Sensation
HTC Thunderbolt
HTC Rezound
Motorola Droid 1
Motorola Droid 2
Motorola Droid 2 Global
Motorola Droid X
Motorola Razr
Silahkan kunjungi halaman aplikasi Boot Manager pada link diatas untuk tahu lebih detailnya. 

2.11. Backup aplikasi dan data aplikasi

Jika Anda suka gonta-ganti ROM, maka akan sangat merepotkan jika Anda harus menginstal lagi puluhan aplikasi-aplikasi Anda secara Manual. Anda dapat memanfaatkan aplikasi seperti Titanium Backup untuk "Batch Backup" dan "Batch Restore" aplikasi-aplikasi Anda (Membackup dan menginstal kembali semua aplikasi Anda dalam 1x klik). Aplikasi tersebut tidak hanya menginstal namun juga merestore semua data yang tersedia. Jadi Anda tidak memulai lagi dari nol (fresh install).

2.12 Install External Script

Jika Anda memiliki akses root pada perangkat Anda, ada banyak script yang dapat dipasangkan untuk mengoptimalisasi perangkat Android Anda. Misalnya sebuah script untuk mengoptimalkan GPS. Dengan menggunakan script ini diharapkan GPS perangkat Anda dapat lebih cepat mendapatkan posisi dan mengunci lokasi (satelit). Selain itu ada script seperti Supercharger yang membuat perangkat Anda jadi lebih cepat dan hemat baterai. Biasanya, script-script ini sudah include dalam custom rom. Namun jika belum sekalipun Anda dapat bereksperimen dan memasangnya sendiri.
Perlu diingat bahwa pemasangan script ini cukup beresiko. Pastikan Anda membaca forum, mempelajari kendala dan error yang terjadi pada pengguna-pengguna lain dan jangan lupa melakukan Full backup menggunakan custom recovery. 

2.13 [Dalam pengembangan] Menginstal Sistem Operasi lain pada perangkat Android

Mengingat saat ini perankgat mobile sudah memiliki hardware yang sangat mumpuni, Anda dapat menginstal beberapa sistem operasi lain pada perangkat Android. 
  1. Linux (Ubuntu)
  2. Windows 95/98/XP

3. Bagaimana Cara Rooting?

Cara rooting setiap perangkat berbeda-beda untuk setiap seri, merk, dan beberapa versi android. Jika Anda memiliki teman yang berhasil melakukan rooting pada perangkat Androidnya, jangan diharapkan bahwa dia juga dapat melakukannya pada perangkat Anda apabila berbeda seri dan merk. Setiap perangkat memiliki cara yang unik dan dapat Anda temukan dengan menjelajahi forum XDA Developers pada sub-forum Android Development untuk setiap perangkat. Ada perangkat yang gampang di root, ada yang sukar. Ada yang sudah memiliki "one click root", ada yang masih harus manual menggunakan ADB shell. 

Berikut ini saya sediakan beberapa link menuju tutorial rooting untuk beberapa merk dan seri perangkat. Selebihnya silahkan cari sendiri di forum XDA Developers.

4. Resiko Rooting

Rooting pada dasarnya tidak beresiko yang fatal. Jika Anda gagal, Anda belum mendapatkan akses root. Itu saja. Secara umum, proses yang membahayakan adalah proses flashing. Flashing yang tidak berjalan semestinya bisa menyebabkan bootloop (mengulang-ulang booting), boot stuck (berhenti pada titik tertentu.. misal logo produk), semi brick, bahkan brick (rusak total). Pada beberapa perangkat yang sudah melalui OTA (Over The Air) Update ke versi OS yang terbaru biasanya lebih skar di root. Perangkat Anda harus di flashing ke versi software yang lebih lawas, yang root-able. Selain itu, ada beberapa perangkat yang harus melakukan flashing ketika meng-unlock bootloader (supaya bisa di root). Anda harus berhari hati ketika proses flashing berjalan. Pastikan proses tersebut tidak terinterupsi. Perhatikan baterai perangkat harus diatas 70%, konekkan ke charger dan jika proses menggunakan PC, pastikan PC memiliki UPS atau menggunakan laptop yang ber-baterai.

5. Un-Root

Seperti yang sudah disebutkan di awal bahwa aksi rooting me-revoke garansi. Apabila perangkat anda mengalami kerusakan, ada kemungkinan service center tidak mau menerima jika diketahui perangkat tersebut sudah di root. Ada berbagai cara untuk menghilangkan root. Namun sekali lagi, cara-cara tersebut juga bergantung pada setiap perangkat. Ada yang bisa meng-unroot dengan tools, ada yang harus manual menggunakan ADB Shell. Cara paling mudah dan biasanya dipakai ketika mau menservice perangkat adalah flashing ke STOCK ROM (Rom bawaan waktu beli pertamakali). Setiap pengembang perangkat biasanya menyediakan stock rom untuk masing masing perangkat di websitenya. Anda tinggal apply update dan perangkat Anda akan di flashing ke kondisi awal sebelum memiliki akses root.

Akses root juga bisa hilang apabila Anda melakukan update OTA (Over The Air) update.

6. Kesimpulan 

Salah satu ke'asyikan' dari memiliki perangkat android adalah ke oprek-able an nya. Anda dapat mengoptimalisasi perangkat Anda sehingga memiliki performa yang lebih tinggi bahkan menyamai performa perangkat yang memiliki spesifikasi hardware lebih mahal. Sebagai contoh, tablet Acer Iconia A500 saya, yang merupakan tablet dual core generasi pertama yang seharusnya memiliki skor benchmark (Quadrant) sekitar 2000an, setelah menggunakan custom rom Flexreaper Rev 7, overclock ke 1,5GHZ dan segala optimalisasinya dapat menembus angka benchmark 3700. Berada diatas Samsung Galaxy Tab 10.1.


Sabtu, 04 Agustus 2012

VOIP (Voice Over Internet Protocol)


Voice over Internet Protocol (juga disebut VoIP, IP Telephony, Internet telephony atau Digital Phone) adalah teknologi yang memungkinkan percakapan suara jarak jauh melalui media internet. Data suara diubah menjadi kode digital dan dialirkan melalui jaringan yang mengirimkan paket-paket data, dan bukan lewat sirkuit analog telepon biasa.

Voice over IP telah diimplementasikan dalam berbagai macam jalan menggunakan hak milik dan standar serta protokol terbuka. Contoh protokol jaringan yang digunakan untuk mengimplementasikan VoIP meliputi:


  • H.323
  • Media Gateway Control Protocol (MGCP)
  • Session Initiation Protocol (SIP)
  • Real-time Transport Protocol (RTP)
  • Session Description Protocol (SDP)
  • Inter-Asterisk eXchange (IAX)
Bentuk paling sederhana dalam sistem VoIP adalah dua buah komputer terhubung dengan internet. Syarat-syarat dasar untuk mengadakan koneksi VoIP adalah komputer yang terhubung ke internet, mempunyai kartu suara yang dihubungkan dengan speaker dan mikropon. Dengan dukungan perangkat lunak khusus, kedua pemakai komputer bisa saling terhubung dalam koneksi VoIP satu sama lain.

Bentuk hubungan tersebut bisa dalam bentuk pertukaran file, suara, gambar. Penekanan utama untuk dalam VoIP adalah hubungan keduanya dalam bentuk suara. Jika kedua lokasi terhubung dengan jarak yang cukup jauh (antar kota, antar negara) maka bisa dilihat keuntungan dari segi biaya. Kedua pihak hanya cukup membayar biaya pulsa internet saja, yang biasanya akan lebih murah daripada biaya pulsa telepon sambungan langsung jarak jauh (SLJJ) atau internasional (SLI).

Pada perkembangannya, sistem koneksi VoIP mengalami evolusi. Bentuk peralatan pun berkembang, tidak hanya berbentuk komputer yang saling berhubungan, tetapi peralatan lain seperti pesawat telepon biasa terhubung dengan jaringan VoIP. Jaringan data digital dengan gateway untuk VoIP memungkinkan berhubungan dengan PABX atau jaringan analog telepon biasa. Komunikasi antara komputer dengan pesawat (extension) di kantor adalah memungkinkan. Bentuk komunikasi bukan Cuma suara saja. Bisa berbentuk tulisan (chating) atau jika jaringannya cukup besar bisa dipakai untuk Video Conference. Dalam bentuk yang lebih lanjut komunikasi ini lebih dikenal dengan IP Telephony yang merupakan komunikasi bentuk multimedia sebagai kelanjutan bentuk komunkasi suara (VoIP). Keluwesan dari VoIP dalam bentuk jaringan, peralatan dan media komunikasinya membuat VoIP menjadi cepat popular di masyarakat umum.

Khusus untuk VoIP bentuk primitif dari jaringan adalah PC ke PC. Dengan memakai PC yang ada soundcardnya dan terhubung dengan jaringan maka sudah bisa dilakukan kegiatan VoIP. Perkembangan berikutnya adalah pengabungan jaringan PABX dengan jaringan VoIP. Disini dibutuhkan VoIP gateway. Gambarannya adalah lawan bicara menggunakan komputer untuk menghubungi sebuah office yang mempunyai VoIP gateway. Pengembangan lebih jauh dari konfigurasi ini berbentuk penggabungan PABX antara dua lokasi dengan menggunakan jaringan VoIP. Tidak terlalu dipedulin bentuk jaringan selama memakai protocol TCP/IP maka kedua lokasi bisa saling berhubungan. Yang paling komplek adalah bentuk jaringan yang menggunakan semua kemungkinan yang ada dengan berbagai macam bentuk jaringan yang tersedia. Dibutuhkan sedikit tambahan keahlian untuk bentuk jaringan yang komplek seperti itu.

Prinsip Kerja VOIP

Prinsip kerja VoIP adalah mengubah suara analog yang didapatkan dari speaker pada Komputer menjadi paket data digital, kemudian dari PC diteruskan melalui Hub/ Router/ ADSL Modem dikirimkan melalui jaringan internet dan akan diterima oleh tempat tujuan melalui media yang sama. Atau bisa juga melalui melalui media telepon diteruskan ke phone adapter yang disambungkan ke internet dan bisa diterima oleh telepon tujuan.

Untuk Pengiriman sebuah sinyal ke remote destination dapat dilakukan secara digital yaitu sebelum dikirim data yang berupa sinyal analog diubah ke bentuk data digital dengan ADC (Analog to Digital Converter), kemudian ditransmisikan, dan di penerima dipulihkan kembali menjadi data analog dengan DAC (Digital to Analog Converter). Begitu juga dengan VoIP, digitalisasi voice dalam bentuk packets data, dikirimkan dan di pulihkan kembali dalam bentuk voice di penerima. Format digital lebih mudah dikendalikan, dalam hal ini dapat dikompresi, dan dapat diubah ke format yang lebih baik dan data digital lebih tahan terhadap noise daripada analog.

Pengertian SIP (Session Initiation Protocol)

Di tahun 2005, Anton Raharja dan tim dari ICT Center Jakarta mulai mengembangkan VoIP jenis baru berbasis Session Initiation Protocol (SIP). Teknologi SIP merupakan teknologi pengganti H.323 yang sulit menembus proxy server. Di tahun 2006, infrastruktur VoIP SIP di kenal sebagai VoIP Rakyat.
Dunia internet tidak akan berhenti menghadirkan berbagai terobosan penting, pertautan konvergensi berbagai kemampuan suara, video, dan data menjadi sebuah kesatuan. Salah satu tren baru dalam jaringan internet adalah Session Initiation Protocol atau SIP, protokol sinyal jaringan berbagai Internet Protocol yang menyambung koneksi berdasarkan sesi.

Sebuah sesi bisa berbentuk percakapan telepon atau dalam skala yang lebih luas, seperti sesi konferensi multimedia yang menghadirkan tidak hanya suara, tetapi juga video.

Selama beberapa tahun ini komunitas VoIP mengadopsi SIP sebagai protokol untuk mendorong sinyal di jaringan internet. Sampai sekarang protokol SIP terus berkembang sebagai teknologi yang sudah matang, dan secara bersamaan mulai banyak produk teknologi yang tersedia di pasaran.

SIP merupakan suatu peer-to-peer signaling protokol, dikembangkan oleh Internet Engineering TaskForce (IETF), yang mengijinkan endpoint-nya untuk memulai dan mengakhiri session komunikasi. Protokol ini didefinisikan pada RFC2543 dan menyertakan elemen protokol lain yang dikembangkan IETF, mencakup Hypertext Transfer Protokol (HTTP) yang diuraikan pada RFC 2068, Simple Mail Transfer Protokol (SMTP) yang diuraikan pada RFC 2821, dan Session Description Protokol (SDP) yang diuraikan pada RFC 2327.

Arsitektur dari SIP terdiri dari dua komponen yaitu user agent dan servers. User agent merupakan endpoint dari sistem dan memuat dua sub sistem yaitu user agent client (UAC) yang membangkitkan requests, dan user agent server (UAS) yang merespon requests. SIP server adalah kesatuan fungsi logic, dimana tidak perlu memisahkan alat secara fisik. Fungsi dari empat server tersebut yaitu :
  1. Proxy Server : merupakan host jaringan yang berperan sebagai server yang meroutingkan request ke tujuan dan juga membuat kebijakan seperti meyakinkan bahwa pemakai tertentu diijinkan untuk melakukan panggilan. Proxy harus bertindak sebagai server dan client, dia harus mengarahkan SIP request pada user agent server, dan mengarahkan SIP response pada user agent client.
  2. Redirect Server : merupakan server logika yang mengarahkan suatu klien pada perangkat pengganti dari Uniform Resource Indicators(URIs) untuk menyelesaikan tugas request.
  3. Registrar Server: menerima dan memproses pesan pendaftaran yang mengijinkan lokasi dari suatu end point dapat diketahui keberadaannya.
  4. Location Server : menyediakan service untuk data base abstrak yang berfungsi mentranslasikan alamat dengan data atau keterangan yang ada pada domain jaringan.
Format Messages pada SIP didefinisikan dalam dua format :
  • Request, dikirim dari client ke server, yang berisi tentang operasi yang diminta oleh client tersebut.
  • Responses, dikirim dari server ke client, yang berisi informasi mengenai status dari apa yang diminta oleh client.

Prinsip Kerja SIP

Protokol SIP sebenarnya memiliki satu prinsip, yakni kesederhanaan. Artinya, mekanisme jaringan hanya dikembangkan dan digunakan sesuai dengan kebutuhan. Berbeda dengan protokol telekomunikasi lain, protokol SIP berkembang murni sebagai sebuah mekanisme untuk membangun sesi agar dua pengguna protokol ini bisa saling berhubungan tanpa perlu mengetahui lanjut rincian sesi ini.

Cara kerjanya sederhana, bisa digunakan siapa saja yang memahami mekanisme jaringan atau yang rajin mengikuti aturan-aturan protokol SIP melalui buku panduan. Eksekusi protokol SIP dilakukan melalui inisiasi untuk menghubungkan jaringan, melakukan terminasi serta memodifikasi sesi-sesi percakapan teleponi internet.

Kesederhanaan protokol SIP memungkinkan untuk berjalan di atas berbagai platform dan bekerja sebagai protokol yang meminta dan merespons yang sangat terkait dengan protokol internet lain, HTTP dan SMTP yang mengendalikan world wide web dan e-mail.

Ibarat keran air, protokol SIP bekerja dengan membuka keran, air mengalir melalui pipa, ditampung di ujung pipa, begitu penampung penuh, keran ditutup kembali. Karena kesederhanaannya, protokol SIP mampu berjalan di atas sistem jaringan wireless, termasuk sistem jaringan satelit, dengan kualitas suara yang prima setara GSM.

Karena sangat sederhana, berbagai sekolah kejuruan di Indonesia mengembangkan VoIP menggunakan protokol SIP ini, dan menjadi teknologi internet yang sangat pesat dan luas berkembang.

Kelebihan VOIP

  1. Penekanan utama dari VoIP adalah biaya. Dengan dua lokasi yang terhubung dengan internet maka biaya percakapan menjadi sangat rendah. Biaya lebih rendah untuk sambungan langsung jarak jauh.
  2. Memanfaatkan infrastruktur jaringan data yang sudah ada untuk suara. Berguna jika perusahaan sudah mempunyai jaringan. Jika memungkinkan jaringan yang ada bisa dibangun jaringan VoIP dengan mudah. Tidak diperlukan tambahan biaya bulanan untuk penambahan komunikasi suara.
  3. Penggunaan bandwidth yang lebih kecil dari pada telepon biasa. Dengan majunya teknologi penggunaan bandwidth untuk voice sekarang ini menjadi sangat kecil.
  4. Memungkinkan digabung dengan jaringan telepon lokal yang sudah ada. Dengan adanya gateway bentuk jaringan VoIP bisa disambungkan dengan PABX yang ada dikantor. Komunikasi antar kantor bisa menggunakan pesawat telepon biasa.
  5. Variasi penggunaan peralatan yang ada, misal dari PC sambung ke telepon biasa, IP phone handset.

Kelemahan

  1. Kualitas suara tidak sejernih telepon biasa. Merupakan efek dari kompresi suara dengan bandwidth kecil maka akan ada penurunan kualitas suara dibandingkan jaringan PSTN konvensional. Namun jika koneksi internet yang digunakan adalah koneksi pita-lebar/broadband, maka kualitas suara akan jernih dan tidak terputus-putus.
  2. Ada jeda dalam berkomunikasi. Proses perubahan data menjadi suara, jeda jaringan, membuat adanya jeda dalam komunikasi dengan menggunakan VoIP. Kecuali jika menggunakan koneksi broadband.
  3. Jika belum terhubung secara 24 jam ke internet perlu janji untuk saling berhubungan.
  4. Peralatan relatif mahal. Peralatan VoIP yang menghubungkan antara VoIP dengan PABX (IP telephony gateway) relatif berharga mahal. Diharapkan dengan makin populernya VoIP ini maka harga peralatan tersebut juga mulai turun harganya.
  5. Berpotensi menyebabkan jaringan terhambat/Stuck. Jika pemakaian VoIP semakin banyak, maka ada potensi jaringan data yang ada menjadi penuh jika tidak diatur dengan baik. Perlunya pengaturan bandwidth agar jaringan diperusahaan tidak menjadi penuh akibat pemakaian VoIP.
  6. Penggabungan jaringan tanpa dikoordinasi dengan baik akan menimbulkan kekacauan dalam sistem penomoran.

Selasa, 31 Juli 2012

Manajemen Proyek Perangkat Lunak


Manajemen proyek perangkat lunak merupakan bagian yang penting dalam pembangunan perangkat lunak. Sekalipun tidak bersifat teknis seperti pengkodean, hal-hal dalam manajemen proyek PL ini mampu menentukan apakah proyek akan berjalan dengan baik sehingga menghasilkan produk yang
baik. Hal-hal yang berkaitan dengan manajemen adalah pengelolaan personel dan koordinasi tim, proses, pengukuran proyek-termasuk menentukan harga dari PL, penjadwalan dan sebagainya. Dalam pembahasan berikut, hanya sebagian kecil dari manajemen yang akan dibahas untuk memberi gambaran tentang hal-hal
manajemen yang berlaku dan diterapkan dalam pembangunan PL. 

Manajemen Personel, Produk dan Proses

Manajemen proyek perangkat lunak mengatur 4 hal penting: personel, produk, proses dan proyek. Empat hal ini berurutan mulai dari yang paling penting. Personel merupakan mendapat tempat paling penting karena tanpa personel yang baik dan tepat maka 3 hal lain tidak bisa berjalan dengan baik.

Katagori Personel

Proses pembangunan PL melibatkan banyak personel. Personel-personel ini digambarkan seperti pemain, dan dikatagorikan dalam 5 katagori pemain:

  1. Manajer senior : yang menentukan usaha yang dikerjakan, dan pemegang keputusan dalam proyek.
  2. Manajer proyek (teknis)– pemimpin tim: yang membuat rencana, memotivasi, mengatur dan mengendalikan praktisi yang mengerjakan PL
  3. Praktisi : yang mengerjakan PL
  4. Klien : yang menentukan kebutuhan PL dan pihak lain yang berkaitan dengan hasil produk
  5. Pengguna PL : yang berinteraksi langsung dengan PL yang dibangun.

Efektifitas kerja masing-masing personel di atas harus diusahakan oleh pemimpin tim. Pemimpin tim ini yang mengatur tim proyek agar dapat memberikan yang terbaik dari masing-masing personel.

Pemimpin Tim

Pemimpin Tim PL disini adalah manager proyek. Seorang pemimpin tim diharuskan mempunyai ketrampilan memimpin yang cukup. Seseorang tidak menjadi pemimpin tim secara kebetulan tapi sungguh-sungguh karena punya kemampuan. Kemampuan yang dibutuhkan dalam kepemimpinan seperti:

  • Mampu memotivasi.
  • Mampu berorganisasi : mengatur proses yang ada atau membuat yang baru dalam rangka mewujudkan ide/konsep menjadi produk.
  • Mampu mendorong keluarnya ide-ide baru: memberi dorongan, menciptakan situasi yang kondusif untuk lahirnya ide baru.
  • Mencari penyelesaian masalah (problem solving): mampu menganalisa masalah-masalah teknis ataupun manajemen/organisasi kemudian mendapatkan jalan keluar atau memotivasi anggota untuk mampu menyelesaikan masalah. Akomodatif terhadap perubahan yang mungkin terjadi.
  • Mampu menjadi manajer: menggunakan wewenangnya pada saat yang tepat, atau memberikan kebebasan pada anggota timnya jika diperlukan.
  • Mampu menghargai kerja: menghargai hasil yang dicapai, ide yang dilontarkan dan pendapat yang diajukan oleh anggota timnya.
  • Mampu mengenali tim: mampu “membaca” dan memahami anggota timnya. Mampu memenuhi kebutuhan tim dan bertahan dalam tekanan yang tinggi.
Tim Perangkat Lunak (Software Team)
Struktur organisasi dalam tim ini bisa mengadaptasi dari banyak struktur organisasi yang sudah ada. Berikut beberapa pilihan pembagian tugas/penugasan yang bisa diterapkan untuk tim perangkat lunak yang terdiri dari n personel yang bekerja selama k tahun:
  • n personel ditugaskan untuk sejumlah m tugas yang berbeda dengan sedikit tugas gabungan   =>  koordinasi adalah tugas dari manajer yang mungkin saja punya 6 proyek lainnya.
  • n personel di tugaskan untuk sejumlah m tugas yang berbeda dengan < n sehingga terbentuk tim informal. Pemimpin tim khusus perlu ada koordinasi antar tim adalah tanggung jawab manajer
  • n personel dibagi menjadi sejumlah t tim. Tiap tim ditugaskan mengerjakan satu atau lebih tugas. Tiap tugas mempunyai struktur yang ditentukan sebelumnya bagi semua tim =>  koordinasi dikendalikan oleh tim dan manager
Sekalipun masing-masing pilihan punya argumentasi sendiri-sendiri, namun dari pengamatan yang dilakukan, pilihan no 3 dianggap lebih produktif. Cara atau gaya manajemen, jumlah personel, tingkat kemampuan para personel dan masalah-masalah yang dihadapi tim menentukan bentuk struktur organisasi
yang bisa diterapkan. Contoh struktur organisasi tim adalah:
  1. Democratic Decentralized (DD) : Tidak ada pemimpin yang permanen, koordinator ditunjuk untuk jangka waktu yang pendek, keputusan diambil berdasarkan konsensus bersama, komunikasi horizontal antar anggota tim (posisi sejajar semua) cocok untuk masalah yang sulit/rumit, cocok untuk proyek besar, tim cenderung awet dan bertahan lama, pekerjaan memuaskan, cocok untuk masalah yang modularitasnya rendah, perlu banyak waktu untuk menyelesaikan proyek,
  2. Controlled decentralized (CD) : Pemimpin tim ditentukan, ada wakil pemimpin dan mereka berbagi tugas, penyelesaian masalah adalah tugas tim dan implementasinya dibagi di antara beberapa sub-tim oleh pemimpin, komunikasi horisontal di antara sub-tim dan di antara personel, komunikasi vertikal berdasarkan struktur hirarki, sentralisasi untuk penyelesaian masalah, cocok untuk masalah yang sederhana, cukup cocok untuk proyek besar, masalah dengan modularitas tinggi, menghasilkan sedikit kesalahan
  3. Controlled Centralized (CC): penyelesaian masalah dikerjakan oleh pemimpin, pemimpin melakukan koordinasi internal tim, komunikasi lebih banyak vertikal antara pemimpin dan anggota tim , cocok untuk masalah yang sederhana, melakukan penyelesaian, masalah lebih cepat, masalah dengan modularitas tinggi, menghasilkan sedikit kesalahan.

Pengukuran PL

Metric dalam software engineering didefinisikan oleh IEEE Glossary of SE sebagai a quantitative mesaure of the degree to which a system, component, or process possesses a given attribute” atau artinya pengukuran secara kuantitatif pada tingkat sistem, komponen atau proses berdasarkan katagori yang ditetapkan.

A. Pengukuran berdasarkan ukuran

Pengukuran berdasarkan PL-PL yang sudah diproduksi/dibuat sebelumnya, lengkap dengan karakteristik lain seperti line of code (LOC), harga, waktu yang diperlukan pada tiap fungsi atau proyek yang dibangun, kesalahan (error) yang ditemukan. Dari total LOC, harga dan lama waktu dapat diperoleh misalnya :
  • Harga per KLOC (seribu baris kode)
  • Kesalahan per KLOC
Cara ini kurang diterima secara universal karena pengunaan LOC untuk kunci ukuran bergantung pada bahasa pemrograman yang digunakan.

B. Pengukuran berdasarkan fungsi (Function Point – FP)

Function point ditentukan berdasarkan bagian-bagian software yang bisa dihitung seperti :
  • jumlah input dari pengguna
  • jumlah output untuk pengguna
  • jumlah user inquiry: inquiry didefinisikan sebagai online input yang menghasilkan respon langsung dari software dalam bentuk online output
  • jumlah file: baik file yang terpisah dari database, atau bagian dari file
  • jumlah external interface: misalnya data file pada storage media yang digunakan untuk mengirimkan informasi ke sistem lain.
Gambar dibawah menggambarkan proses penghitungan Function Point. Yang Kurang jelas dalam proses ini dan kurand detil adalah bagaimana menentukan berat (weight).

Gambar dibawah menjelaskan contoh penghitungan Function point berdasarkan parameter yang sudah ditentukan.

C. Ukuran untuk organisasi kecil (DRE = Defect Removal efficiency)

Untuk organisasi yang kecil mungkin bisa menggunakan ukuran seperti :
  • Waktu (hari atau jam) mulai dari permintaan/request samai evaluasi lengkap tqueue.
  • Usaha (personel-waktu) untuk melakukan evaluasi => Weval.
  • Waktu (jam atau hari) dari selesainya evaluasi sampai penugasan lain ke personel =>  teval.
  • Usaha (personel – jam) yang dibutuhkan untuk membuat perubahan   =>  Wchange.
  • Waktu (jam atau hari ) untuk melakukan perubahan =>  tchange.
  • Kesalahan yang terjadi selama pengerjaan untuk melakukan perubahan => Echange.
  • Cacat yang terjadi setelah perubahan diserahkan ke klien Dchange.
Setelah ukuran-ukuran tersebut dikumpulkan bisa beberapa hal bisa dihitung seperti total waktu dari permintaan perubahan sampai implementasi dari perubahan. Persentase usaha yang dibutuhkan untuk evvaluasi dan implementasi bisa ditetapkan. Defect Removal Effiency (DRE) bisa dihitung dengan: 

DRE = Echange / (Echange+ Dchange).

Minggu, 29 Juli 2012

Rekayasa Web


Rekayasa web adalah proses yang diunakan untuk menciptakan aplikasi web yang berkualitas tinggi. Rekayasa web mengadaptasi rekayasa perangkat lunak dalam hal konsep dasar yang menekankan pada aktifitas teknis dan manajemen. Namun demikian adaptasi tidak secara utuh, tapi dengan perubahan dan penyesuaian. Rekayasa web gabungan antara web publishing (suatu konsep yang berasal dari printed publishing) dan aktifitas rekayasa perangkat lunak. Dikatakan demikian karena desain sebuah aplikasi web menekankan pada desain grafis, desain informasi, teori hypertext, desain sistem dan pemrograman.

Ciri dan sifat WebApp (Web Application)

Aplikasi web berbeda dari software lain karena hal-hal dibawah ini:
  1. Network intensive. Sifat dasar dari WebApp (aplikasi web) adalah aplikasi ini ditujukan untuk berada di jaringan dan memenuhi kebutuhan komunitas yang berbeda.
  2. Content-Driven. Sebagian besar fungsi dari WebApp adalah untuk menyajikan informasi dalam bentuk teks, grafik, audio dan video ke end user.
  3. Continuous evolution. Selalu berkembang secara terus menerus.
  4. Document-oriented. Halaman-halaman situs yang statis akan tetap ada sekalipun sudah ada pemrograman web dengan java atau yang lain.
Selain itu WebApp memiliki karakteristik seperti berikut ini :
  1. Immediacy. Diperlukan segera untuk memenuhi ditayangkan, dipasarkan dalam waktu singkat.
  2. Security. Untuk melindungi isi yang sensitif dan menyediakan pengiriman data yang aman, keamanan suatu WebApp harus diterapkan pada seluruh infrastruktur yang mendukung WebApp dan termasuk dalam WebApp sendiri.
  3. Aesthetics. Daya tarik utama WebApp adalah tampilan dan keindahan. Jika WebApp digunakan untuk memasarkan suatu produk maka sisi aestetika harus diperhatikan sebagaimana sisi teknis.
Faktor-faktor yang menentukan kualitas suatu web digambarkan pada gambar dibawah.
Faktor-faktor kualitas pada gambar 1 adalah faktor-faktor yang membantu web developer dalam merancang dan membangun webapp yang dapat diterima dan memenuhi kebutuhan end user yang begitu beragam. Untuk memenuhi faktor-faktor kualitas tersebut, perancangan dan implementasi webapp terkait dengan 3 teknologi yang sangat penting yaitu: component-based development, security dan standart Internet. Seorang web developer harus mengenal 3 teknologi ini untuk membangun webapp yang berkualitas:
  • Component-based development : CORBA,DCOM/COM dan JavaBeans merupakan standar yang memungkinkan web developer menggunakan komponenkomponen yang sudah ada untuk berkomunikasi dengan sistem pada level lain.   
  • Keamanan: enkripsi, dan firewall 
  • Standard Internet: HTML, XML

Proses Rekayasa Web

Model yang dianggap cocok dan baik untuk rekayasa web adalah model modified waterfall dan spiral.

Modified waterfall

Tahapan dalam modified waterfall adalah :
  1. Problem definition dan concept exploration.
  2. Requirement analysis specification.
  3. Design prototyping.
  4. Implementation and unit testing
  5. Integration and system testing
  6. Operation and maintenance
pada modified waterfall, perbedaan berada pada 2 proses pertama yang dilakukan secara berulang-ulang sehingga disebut whirlpool. Tujuannya adalah dapat melengkapi requirement dan analisis secara lengkap.

Spiral

Pada spiral terbagi beberapa sektor yaitu :
  1. Determine site objectives and constraints.
  2. Identify and resolve risks.
  3. Develop the deliverables for the interation and verify that they are correct.
  4. Plan the next iteration.
Spiral model sangat masuk akal untuk rekayasa web tapi rumit dan sulit dalam pengaturan. Dibandingkan dengan waterfall, tahapan-tahapan pada spiral tidak jelas dimana mulai dan dimana akhir. Pada prakteknya spiral berguna selama perencanaan karena mengurangi resiko dan mendorong tim developer untuk memikirkan apa yang paling penting.

Formulasi dan Analisis sistem berbasis web

Formulasi dan analisis sistem dan aplikasi berbasis web adalah serangkaian aktifitas rekayasa web yang dimulai dengan identifikasi tujuan dan diakhiri dengan pembangunan analisis model atau spesifikasi requirement sistem.

Formulasi

Formulasi memungkinkan klien dan pembangun untuk menetapkan tujuan-tujuan pembangunan web. Beberapa pertanyaan berikut dapat membantu menentukan tujuan :
  • Apa motivasi utama pembangunan WebApp?
  • Mengapa WebApp diperlukan?
  • Siapa yang akan menggunakan WebApp?
Ada dua macam tujuan:
  • Informational goals—tujuan dari penyajian isi atau informasi kepada end
  • Applicative goals—berkaitan dengan kemampuan yang dimiliki WebApp

Analisis rekayasa web

Ada 4 tipe analisis dalam rekayasa web:
  1. Content Analysis. Isi yang akan disajikan oleh WebApp dalam ditentukan formatnya baik itu berupa text, grafik dan image, video, dan audio.
  2. Interaction Analysis. Cara interaksi antara user dan WebApp dijelaskan.
  3. Functional Analysis. Menentukan operasi yang akan diaplikasikan pada WebApp dan termasuk di dalamnya fungsi-fungsi yang melakukan proses. Semua operasi dan fungsi dideskripsikan secara detil.
  4. Configuration Analysis. Lingkungan dan infrastruktur dimana WebApp akan diberada digambarkan secara detil.

Desain Web

1. Architectural design: Menggambarkan struktur WebApp

a. Struktur linier
  • Urutan interaksi sudah bisa dipastikan.
  • Misal untuk presentasi tutorial, pemesana produk yang harus mengikuti urutan tertentu.

b. Struktur Grid

  • Isi dapat dikatagorikan dalam 2 atau lebih dimensi
  • Mmisal: e-commerce menjual handphone. Horizontal adalah katagori berdasarkan feature hp, sedang vertikal adalah merek HP

c. Struktur jaringan / Pure Web

  • Komponen pada struktur ini terhubung satu sama lain
  • Sekalipun bersifat fleksibel, struktur ini membingungkan user

d. Struktur Hirarki

  • Struktur paling umum digunakan.
  • Memungkinkan aliran secara horizontal selain jalur vertikal yang umum.
  • Aliran secara horizontal juga bisa mengakibatkan kebingungan user.

2. Navigation design: menentukan navigasi halaman-halaman web.

Setelah arsitektur WebApp sudah terbentuk dan komponen-komponen seperti halaman, scripts, applet dan fungsi lain sudah ada, developer menentukan navigasi yang memungkinkan user mengakses isi WebApp dan layananlayanannya. Jika user tidak bisa berpindah ke halaman lain dalam web dengan mudah dan cepat maka mungkin karena grafik, dan isi tidak relevant, ini masalah navigasi. Dalam desain navigasi beberapa hal perlu dilakukan :
  • Menentukan semantik (arti ) dari navigasi untuk user yang berbeda.
  • Menentukan cara yang tepat: pilihannya adalah text-based links, icons, buttons and switches, and graphical metaphors

3. Interface design: membangun interaksi dengan user yang konsisten dan efektif.

User interface pada WebApp adalah kesan pertama. Sekalipun nilai isinya baik, kemampuan prosesnya canggih, layanannya lengkap namun jika user interfacenya buruk maka hal lain tidak berguna, karena akan membuat user berpindah ke web lain.

Beberapa petunjuk dalam merancang interface design :

  • Server errors, menyebabkan user pindah ke website.
  • Membaca di layar monitor lebih lambat 25% dari pada di kertas, karena itu teks jangan terlalu banyak.
  • Hindari tanda “under construction”.
  • User tidak suka scroll. Pastikan informasi cukup dalam satu layar.
  • Navigasi menu dan headbar harus konsisten.
  • Keindahan tidak seharusnya lebih penting dari pada fungsinya
  • Opsi navigasi harus jelas sehingga tahu bagaimana berpindah atau mencari hal lain pada halaman aktif.

Pengujian pada Rekayasa web

  1. Check isi/informasi untuk kesalahan yang mungkin terjadi, misalnya salah ketik.
  2. Design model WebApp di- review untuk menemukan navigation errors.
  3. Processing components an Web pages diuji.
  4. Integration test untuk arsitektur web :
    • Struktur linier, grid, atau hirarki sederhana—seperti pada software dengan pemrograman terstruktur (modular).
    • Struktur hirarki campuran atau network (Web) — seperti pada Object oriented software.
  5. Uji WebApp secara keseluruhan setelah disatukan semua komponennya secara lengkap.
  6. WebApp yang diimplementasikan pada konfigurasi yang berbeda diuji kompatibilitasnya.Misalnya jika membuat di IE, coba di Netscape, dan Firefox
  7. WebApp diuji oleh sekelompok pengguna dengan kemampuan yang berbeda.Bagian yang diuji adalah isi, navigation, kemudahan penggunaan, kehandalan dan unjuk kerja.