Tidak Semua Bisa Latah “Agile”, Tergantung Permasalah dan Sikon Perusahaan

eberapa waktu lalu, saya dapat pelajaran berharga dari salah satu perusahaan…

di mana perusahaan ini mengikuti trend yang ada.

“kita akan gunakan agile metodology!”

Sontak yg lain girang “wah, keren nih…itu gw denger metodologi kekinian dlm pengembangan software… waterfall so yesterday”

Lantas, seiring waktu berjalanlah..
yang dianut paham scrum fundamentalist, namun yang terjadi adalah mentalitas kerja yang silo abis.

Tau apa itu mentalitas silo?
Itu loh, contohnya di lembaga pemerintahan, masing-masing lembaga pasang pagar berduri, tidak mau bersinergi satu sama lain, alhasil antar lembaga negara format data dan standarisasinya berbeda-beda…kecenderungan tertutupnya, yang kudu digarisbawahi. Alhasil ketika mencoba mengintegrasikan sistem atau sinkronisasi data menjadi tersendat, yang berakhir membuat database tersendiri yang tidak realtime.

Antar anggota tim dan antar tim di dalam perusahaan tidak memikirkan standarisasi, ada yang bikin database formatnya kayak begini, ada yg bikin backend kayak begitu, ada yangmemanfaatkan komunikasi tim menggunakan tool ini, ada tim lain yang menggunakan tool itu..dan yang terjadi adalah tidak sinkron antar departemen/lembaga di dalam perusahaan.

Ibarat membangun sebuah rumah, masing-masing tim memiliki kamar yang tidak menentu ukuran kamarnya, ukuran pintunya, bentuk pintunya, dll. Jadi semua bergerak sendiri-sendiri. Tidak akan terasa betapa “chaos”-nya nanti pada saat ada yang ngomong “kita mau nyoba nyatuin semua layanan yg dibuat tim A dan B” | “waduh, pak…masalah e tim B bikinnya pake anu..iki aku malah bingung integrasiinnya piye?” | “bikin ulang po?” | “walah”

Jangan heran kalo ada perusahaan yang setiap tahun ganti platform. 😀 

Beberapa waktu lalu saya dapat artikel menarik juga mengenai hal ini, dan mengenai silo busting.
Apa itu silo busting? Secara garis besar silo busting dapat diartikan sebagai bentuk memecah pembatas kolaborasi antar tim/lembaga di dalam perusahaan.

Berikut artikelnya; sila klik tautan

  1. Forget Agile vs Waterfall, It’s Silo Busting.
  2. dan How to boost collaboration.
Advertisements

Mengapa waktu proyek tidak dapat dihitung dengan pasti?

Pengembangan software ataupun aplikasi itu tidak pernah menggunakan ilmu pasti.

Untuk waktu pengerjaan proyek dan biaya proyek juga selalu menggunakan estimasi: estimasi waktu dan estimasi harga.

Di luar sana, selalu menggunakan pendekatan “agile”, di mana interaksi antara tim pengembang dengan tim user ataupun klien lebih penting daripada proses.

Mengapa demikian? dengan kita berinteraksi, persepsi tim pengembang dengan tim “user”/klien akan selalu seirama.
Itulah mengapa terkadang walau sudah kita definisikan rancangan sistem dari “software” ataupun aplikasi di awal, pas di proses terkadang ada saja perubahan atau tidak tepat 100% sesuai dengan rancangan awal, mesti ada yang bergeser. Ini dikarenakan apa yang ditangkap tim pengembang dengan apa yang disampaikan tim “user”/klien ketika menyampaikan “scope” pekerjaan ataupun masalah yang harus diselesaikan, tidak semuanya 100% sama.

Contoh: tim klien meminta dibuatkan rumah yang ada tangganya. Tim developer menerjemahkan maksud dari si tim klien tangga kayu vertikal. Padahal, yang dimaksud tim klien adalah tangga spiral terbuat dari besi (ini contoh sederhana saja).

Jika di awal terlalu detail mendefinisikan semua, yang ada waktu akan banyak terbuang. Itulah mengapa pekerjaan pengembangan software dilakukan bertahap dan ada batas waktu, selanjutnya ya tinggal evaluasi bersama. Dan penting juga bagi tim developer memahami apa masalah klien dan apa solusi yang tepat (tidak harus menuruti 100% keinginan klien, karena terkadang sebenarnya klien juga tidak memahami masalahnya sendiri).

Nah, itulah mengapa pentingnya dipahami bersama jika waktu dan harga proyek itu tidak bulat sama dengan yang direncanakan di awal, mesti ada perubahan, ya lazimnya kalau ada tambahan “task”, di-charge di akhir, biar fair. Atau dibuat per fase, jadi kalau ada pekerjaan tambahan, dilanjutkan di fase kedua (tergantung prioritas).

Demi mencapai hal tersebut, biasanya ada “daily meeting/call”, “weekly meeting/call”, laporan dwi-mingguan, dll. demi mencapai target yang diinginkan agar semua tetap pada tempo-nya, pada prinsip yang sama, dan tetap “on-track” sesuai “task” pekerjaannya.

Tim klien juga harus menyadari, tidak bisa menuntut “loh, kok molor, kan di kontrak kerja targetnya tanggal sekian” | “pak, itu yang di proposal kami dan di kontrak kerja sudah kami sampaikan kalau itu estimasi. Bapak juga mestinya paham, di tengah proses pengembangan kemarin, bapak minta perubahan di bagian form tertentu, itu tentu memakan waktu dan mempengaruhi timeline dari pekerjaan ini. Tidak bisa sama waktunya, pak. Ibarat bapak bangun rumah, bapak minta tambahin garasi mobil, yang sebelumnya minta garasi motor, tentu akan merubah requirement yang sudah disepakati, meskipun sama-sama garasi”.

Di tambah lagi, terkadang di tengah proses, ntah tim klien ataupun tim developer, “discover” sesuatu yang lebih baik, ntah berdasarkan “feedback” dari “end-user”-nya, ntah karena sudah terlihat wujud desainnya, dirasa kurang pas, dan lain sebagainya.

—————————————-

Apakah perubahan di tengah proses dapat diatasi dengan menambah personil? belum tentu, terkadang “transfer knowledge” sampai dengan progress terakhir itu butuh waktu bagi personil baru, dan bahkan untuk “menyamakan tempo” saja butuh keahlian khusus, tidak semua bisa. Paling aman ya waktunya yang bergeser, atau personil baru mengerjakan “task-task minor”.

Oleh karena itu, penting dipahami bersama, masalah waktu dan harga di dalam proyek itu hanya bisa dihitung sebatas estimasi saja (lazimnya seperti itu), dan harus mengetahui resiko-resiko(resiko teknis, “scope” pekerjaan, SDM, man hour, dll) dari setiap keputusan perubahan yang diambil di dalam pengembangan aplikasi atau software.

Penjelasan Soal NAT di Dalam Nintendo Switch Beserta Penanganannya

Kalo ada orang jaringan (network engineer) di sini mesti bisa jelasin lebih mudah apa itu NAT. Apalagi yang sudah CCNA certified
Jadi begini, apa itu NAT?
NAT atau Network Address Translation adalah suatu metode atau salah satu protocol di dalam jaringan untuk menghubungkan lebih dari satu device ke jaringan internet dengan menggunakan satu alamat IP (melalui router).
Router internetmu akan menggunakan NAT tersebut untuk menyimpan setiap catatan (log) dari semua request device yang terhubung ke jaringan router tersebut, dan kemudian mengirimkan semua request tersebut ke server yang dituju (dalam hal ini server Nintendo) di internet. Request ini kalau dalam game bisa berupa request ID/user ide pemain di dalam game multiplayer, request data pergerakan pemain, dsb. Ketika routermu menerima respon dari server (dari internet), kemudian router tersebut mengirimkan respon-nya ke perangkat yang sesuai. Ya, yang request si Switch yang nerima juga tentu si Switch.
Dengan banyaknya request tersebut dan banyaknya perangkat yang terhubung ke internet dan terutama server Nintendo, untuk itulah diperlukan pengklasifikasian NAT (NAT juga dapat membedakan mana IP public dan mana IP static).
Mengapa pengklasifikasian NAT dilakukan? salah satunya, agar menjamin komunikasi antar device (dalam hal ini Switch) dapat berjalan lancar sesuai dengan type NAT-nya.
Mengapa Nintendo, Sony, dan Microsoft melakukan klasifikasi NAT ini? ya karena beberapa provider internet tidak mengizinkan NAT dibuka (biasanya port diblokir), atau bahkan dibatasi oleh vendor tersebut, jadi kalau NAT-nya gak OPEN ya bakal susah melakukan koneksi ke server.
Nah, di dalam dunia games Nintendo Switch, klasifikasi NAT adalah sebagai berikut:
    1. NAT type A (dalam hal ini OPEN): artinya kamu akan mendapatkan skala 1:1 mapping port di dalam jaringan, koneksi tidak terblokir. Buat nge-game splatoon gak masalah.
    2. NAT type B (dalam hal ini OPEN tapi mengerucut ke MODERATE): artinya koneksi tetap berlangsung dari device ke server namun terjadi di belakang NAT, dalam hal ini console Switch bakal terkoneksi ke server STUN punya Nintendo. Buat nge-game Splatoon mestinya masih OK, gak masalah.
    3. NAT type C (dalam hal ini MODERATE, yang mengerucut ke Strict): artinya koneksi terbatas hanya pada port yang dibuka saja, jadi kalau ada gamer dengan koneksi dan port yang sama ya dapat terhubung. Sayangnya Splatoon menggunakan port yang acak, jadi ya kalau port-nya gak cocok gak bakal bisa konek ke server Splatoon (gak bisa main multiplayer). Buat nge-game Splatoon ya nasib-nasib-an.
    4. NAT type D & E (dalam hal ini STRICT): artinya routernya tidak ada pengaturan NAT, alias sepenuhnya diatur oleh ISP (provider internet-nya), yang model gini biasanya sangat-sangat terbatas.

Klasifikasi NAT
Untuk tipe NAT C sampai dengan B, sebenarnya ada cara dan masih memungkinkan untuk bisa naik ke type A. Karena NAT ini berhubungan dengan settingan Port, maka kamu harus melakukan port-forwarding.
Apa itu port-forwarding?
Fitur dari router di mana fungsi ini akan membuka akses terhadap perangkat pada jaringan lokal untuk bisa diakses dari internet) di router ISP-mu. Bila di console sebelah dikasih tau port berapa aja yang harus dibuka untuk device tertentu, sayangnya di Nintendo Switch sampai saat ini belum diketahui (Nintendo belum memberitahukan port apa saja dan protocol apa saja yang harus dibuka).
Nah, langkah lain adalah membuka semua port untuk koneksi yang masuk dari internet.
Biasanya di pengaturan router ada yang namanya pengaturan NAT type: “full-cone NAT”, yang berarti semua tipe NAT di mana port-nya dibuka secara permanen (OPEN) dan mengizinkan permanently open and mengizinkan semua koneksi dari luar.
Namun, ada beberapa router tidak menyediakan hal tersebut, akan tetapi menyediakan menu untuk pengaturan port-forwarding. Di menu port-forwarding tersebut, kita diminta mengisi IP address device dan port yang ingin dibuka, seperti pada gambar di bawah ini:
Contoh pengaturan PORT FORWARDING untuk console sebelah
Nah, seperti yang sudah dituliskan;disampaikan sebelumnya kalau kita tidak mengetahui port berapa saja yang harus dibuka. (*ada pembaharuan tulisan ini, cek di bawah ya untuk pengaturan port-forwarding di Nintendo Switch)
Untuk itu, pengaturan lain agar dapat mengubah type NAT menjadi OPEN, adalah dengan membuat pengaturan DMZ server.
DMZ atau DeMilitarized Zone sederhananya adalah fitur yang memungkinkan perangkat dibalik router untuk diakses dari internet.
Jadi, kalau tadi kita sudah tahu kalau port-forwarding hanya akan membuka akses sesuai dengan port yang dibuka dan bisa digunakan terhadap beberapa IP, nah sedangkan DMZ akan membuka seluruh port sebuah IP lokal untuk bisa diakses dari internet dan hanya bisa membuka satu ip local saja (satu perangkat, dalam hal ini Switch).
Perlu diperhatikan juga, karena DMZ ini membuka semua port tanpa terkecuali, oleh karena itu jangan sekali-kali membuat koneksi DMZ host untuk PC/laptop, karena akan sangat rawan diserang intruder/cracker. Untuk Switch, sampai saat ini masih relative aman lah.
Bagaimana pengaturan DMZ server di router? Berikut ini langkah-langkahnya:
        1. Login ke routernya: biasanya menggunakan IP 192.168.1.1 (buka dari browser). Atau kalau tidak tahu IP routernya, cek di pengaturan Network di OS PC/Laptop, biasanya ada keterangan IP router/gateway (untuk TCP/IP)
        2. Pilih menu DMZ host atau DMZ server seperti di gambar ini (biasanya di dalam menu Application):

          DMZ Host
        3. Nyalakan Nitendo Switch, masuk ke Pengaturan>Internet, cek Mac Address Switch kamu, seperti pada gambar di bawah ini:
          Cek mac address di Nintendo Switch

          Mengapa menggunakan Mac Address? karena Mac Address ini sifatnya permanen, berbeda dengan IP (apalagi cuma punya IP dinamis) yang berubah-ubah setiap ganti koneksi/restart koneksi. Jadi, tidak perlu setting ulang IP di DMZ Host, karena yang dikenali Mac Address-nya si Switch.

        4. Input MAC Address dari Switch ke DMZ Host dengan cara memberi tanda centang “Enable Mac Mapping” dan mengisi alamat Mac Address Switch tersebut, setelah itu submit.
        5. Jika sudah selesai langkah-langkah di atas, lakukan restart router dan koneksi ulang Switch kamu ke internet rumahmu melalui router tersebut. Semestinya sih dari B bisa naik ke A.

Updated, Port Forwarding:

Bagaimana pengaturan port forwarding di Nintendo Switch?

Berdasarkan informasi yang beredar di forum reddit dan nintendo, port yang harus dibuka untuk koneksi ke server Nintendo adalah dari port 45000 sampai dengan port 65535, dan protocol UDP.
Bagaimana caranya?
  1. Login ke routernya: biasanya menggunakan IP 192.168.1.1 (buka dari browser). Atau kalau tidak tahu IP routernya, cek di pengaturan Network di OS PC/Laptop, biasanya ada keterangan IP router/gateway (untuk TCP/IP)
  2. Masuk ke Menu Application>Port Forwarding seperti pada gambar berikut:

    Menu Port-forwarding
    Menu Port-forwarding
  3.  Centang tombol enable, beri nama, misal “Switch”, Protocol UDP, WAN host IP address start dan end biarkan kosong, kemudian pilih WAN Connection “pppoe_1”, WAN start port, input angka “45000”, dan WAN end port, input angka “65535” (berlaku juga untuk LAN Host port start dan end), kemudian centang “Enable MAC Mapping”, dan masukkan Mac Address Switch (*untuk cara mengetahui mac address switch, cek tulisan di atas ya, dibahas di pengaturan DMZ, atau search aja di tulisan ini dengan mengetik “mac address”). Jika sudah, pastikan yang diinput benar, seperti pada gambar berikut:
    Pengaturan port-forwarding Switch
  4. Tekan tombol “Add”, selesai, selanjutnya restart router dan coba koneksi ulang dari Switch ke Router.
Sekianlah tulisan singkat, semoga bermanfaat.
Referensi :

Paradigma

Tadi teman bilang: “saya di Java sudah 5 tahun, pak, tapi di rails belum setahun, kalau saya masuk tim itu, bisa-bisa saya jadi kroco”
Lantas teman yang senior satunya bilang: “pengalaman kerja kan bukan dilihat dari berapa lama kamu pengalaman di bahasa pemrograman itu..tapi dari selama ini yang kamu kerjakan, problem solving-nya seperti apa, achievement yang diperoleh apa saja”.

Banyak yang bisa coding, coding malah mudah, bisa otodidak, tapi yang memiliki skill problem solving itu sedikit.
Berapa banyak di grup developer bertanya “mas, aku liat gojek aplikasinya kayak gini, bikinnya gimana ya?” | “yaelah mikirnya langsung gede, mbok ya dipecah satu per satu fiturnya, cari masalahnya, terus cari solusinya…”

Logika coding seperti pemakaian logical expression, dan lain-lain, kalau memang logikanya jalan, mau coding pakai bahasa apapun ya mudah tinggal belajar syntax pemrograman tersebut saja. Bahkan dengan sangat mudah seseorang developer java beralih ke javascript.
Terus apakah yang mempengaruhi hal tersebut? Paradigma!

Paradigma adalah sudut pandang terhadap suatu masalah, realitas, keadaan, dan sebagainya. Dalam pemrograman pun dikenal istilah paradigma pemrograman, yakni sudut pandang atau strategi analisa khusus yang diambil untuk menyelesaikan suatu masalah pemrograman.
Kalau sudah bisa paradigma, mau belajar programming apapun jadi mudah. “if you know how to code, you can code in anything“. Tidak perlu menghapal syntax pemrograman, nanti juga mahir sendiri setelah googling>stackoverflow dan langsung ke kasus.

Nah, balik ke pengalaman kerja tadi, kalau sekedar teori, itu hanya pengetahuan yang masih “terkurung”. Sedangkan wawasan, lebih ke kesadaran emosional, ketika seseorang sudah berpengalaman, wawasan ini membuka “kurungan” pengetahuan yang selama ini dipelajari didasari pada yang telah diamati/dirasakan/kebiasaan. Dan paradigma menjadi seperangkat aturan dan aturan tsb melakukan dua hal:
(1) menetapkan dan mendefinisikan batasan; dan
(2) Ini memberitahu kita bagaimana berperilaku di dalam batas-batas agar tercapai tujuan.
Bagaimana belajar paradigma? ya bertahap dari pahami konsepnya, teorinya, baru memperkuat wawasan dari pengalaman.
Itulah mengapa seseorang problem solver itu paradigma-nya bagus.

Tips Seputar Menulis Laporan Penelitian atau Tugas Akhir

Tugas akhir menjadi bagian yang tidak terpisahkan bagi mahasiswa yang ingin melengkapi langkahnya menuju Sarjana. Berikut ada beberapa tips sederhana seputar menulis laporan penelitian yang setidaknya bisa membantu teman-teman dalam menyelesaikan tugas akhir. Dan untuk menghindari banyak revisi dalam hal tulisan.

Pahami dahulu setiap bagian dari tugas akhir, misal pada BAB I Pendahuluan yang umumnya berisi :

  • latarbelakang masalah,
  • rumusan masalah,
  • batasan masalah,
  • keaslian penelitian,
  • tujuan penelitian,
  • manfaat penelitian,
  • sistematika penulisan.

Biasanya mahasiswa sering kali menuliskan latarbelakang yang tidak berhubungan dengan topik Tugas Akhir yang ia akan jalankan. Latarbelakang haruslah menjadi bagian pengantar yang mendasari mengapa Tugas Akhir tersebut harus dilakukan.

Kemudian pada bagian rumusan masalah semestinya harus mengungkapkan sesuatu yang penting yang menuntun pada penyelesaian masalah. Bagian ini kadang-kadang berupa suatu pertanyaan yang akan dijawab melalui penelitian. Bentuk kalimat Rumusan masalah adalah kalimat deklaratif (problem statement), bukan kalimat tanya (research question). Sedangkan pertanyaan harus ditempatkan di bagian pertanyaan Tugas Akhir.

Untuk bagian batasan masalah, harus diperhatikan dengan cermat oleh si mahasiswa, karena bagian ini membantu mahasiswa agar penelitian atau Tugas Akhir yang ia lakukan, lebih mudah dalam penarikan kesimpulan serta menjaga agar mencerminkan permasalahan yang dihadapi. (Dengan kata lain, agar permasalahan dan cakupan masalah yang dihadapi di dalam Tugas Akhir tidak melebar atau keluar jalur)

Untuk bagian tujuan dan manfaat, mahasiswa sering kali terbalik mengungkapkan tujuan dan manfaat. Tujuan tidak sama dengan manfaat. Tujuan itu mengungkapkan target apa yang hendak dicapai oleh mahasiswa dalam penelitian atau Tugas Akhirnya tersebut. Tujuan penelitian juga tidak bersifat pribadi, jadi harus dihindari tujuan dari sisi mahasiswa, tetapi tujuan mengapa penelitian itu harus dilakukan.
Sedangkan manfaat, menekankan pada manfaat apa yang didapat diperoleh dari hasil penelitian tersebut (lebih kepada perkiraan apabila tujuan penelitian tercapai), dan lagi-lagi tidak secara pribadi, namun umum, misal manfaat untuk user yang menggunakan software yang sudah dikembangkan, dan sebagainya.

Dan terakhir, sistematika tulisan ini mengungkapan setiap urutan bab yang terdapat dalam Tugas Akhir yang disertakan penjelasan singkat dari masing-masing bab tersebut.

Ada hal lain juga yang harus diperhatikan mahasiswa Tugas Akhir, yaitu :

  • penggunaan kata-kata dalam bahasa indonesia yang baku, penulisan kalimat sesuai standar kalimat : SPOK (Subjek Predikat Objek Keterangan), dan apabila terdapat istilah asing, harus dicetak miring (italic);
  • hindari penggunaan kata yang tidak perlu, atau bila perlu hapus saja agar menjadi kalimat yang sederhana. Biasanya sering dijumpai, mahasiswa menuliskan kalimatnya memiliki kata yang berulang seperti kata : agar, supaya, namun, tetapi, dll. Yang tidak pas apabila dibaca;
  • pahami perbedaan imbuhan di- dan kata depan di. Sering kali dijumpai mahasiswa tidak mengerti apakah di yang dipakai adalah imbuhan atau kata depan yang menerangkan tempat. kata “diatas” adalah keliru, karena kata tersebut menunjukan arah/tempat, berarti bukan memakai imbuhan di-, tetapi kata depan di. Sehingga, kalimat yang benar adalah “di atas”. Kata “di mulai” juga keliru, yang benar adalah dimulai, karena mulai bukan menunjukan tempat, melainkan kata kerja. Dan masih banyak contoh lain, jadi harap diperhatikan ya 🙂
  • hal lain adalah menuliskan kata yang kurang pas. Seperti : “data-data yang dipakai”, padahal data adalah kata jamak.  Jadi yang benar adalah : “data yang dipakai”
  • apabila ada dua kata : tanggung jawab bertemu awalan dan akhiran, misal : di- dan -kan. Yang benar adalah dua kalimat tersebut melebur menjadi : dipertanggungjawabkan, bukan dipertanggung jawabkan. Dan masih banyak contoh lain 😀
  • apabila ada dua kata dalam kata bahasa asing yang ternyata terdiri dari satu kata atau sebaliknya, misal : database. Yang benar adalah : basisdata, bukan basis data. Ada pula contoh lain, remote : yang benar adalah : jarak-jauh, bukan jarak jauh.
  • Biasakan ketika sudah menyusun satu bab dalam laporan Tugas Akhir, dicetak, kemudian jangan langsung dibaca. 😀 Coba jalan-jalan santai sejenak, refreshing atau melakukan aktivitas lain, kemudian ketika pikiran santai. Coba baca kembali bab laporan Tugas Akhir yang sudah kamu cetak, biasanya akan menjadikan si mahasiswa menyadari bahwa kalimat atau paragraf yang ia susun itu keliru, nah dari situ, tandai setiap kekeliruan dalam penulisan, lalu lakukan corat-coret untuk me-revisi laporan Tugas Akhirmu. Jika sudah, coba dibaca lagi, apakah sudah pas susunan kata dan kalimatnya di dalam paragraf, apakah satu paragraf dengan paragraf yang lain berhubungan atau tidak. Dan baru deh, menghadap dosenmu dengan yakin dan percaya diri. 🙂

Semoga tips-tips ini dapat membantu.

Sumber dari semua ini adalah dari perkuliahan Metodologi Penelitian oleh Pak Abdul Kadir dan Pak Insap Santosa, dosen-dosen JTETI UGM. Tidak sepenuhnya ditulis, namun disampaikan seadanya. Apabila ada kekeliruan di dalam penulisan artikel ini, itu murni kekeliruan penulis. Penulis mencoba menyampaikan dengan bahasa yang santai agar mudah dibaca, insyaAllah. 🙂

Terima kasih.

NFC dan “internet of things”

Near-field communications (NFC) telah mendapatkan banyak perhatian akhir-akhir ini. Banyak masyarakat telah memfokuskan perhatiannya ke NFC sebagai alternatif kartu kredit, namun sebenarnya NFC ini memiliki kemampuan lebih dari itu.

Di kehidupan nyata, teknologi komunikasi wireless jarak pendek ini memungkinkan kita untuk berganti cara berinteraksi dengan dunia di sekitar kita. Sebagai contoh : Google Wallet dan kemampuan NFC di Android telah difokuskan untuk fasilitas pembayaran.

Sebagai contoh, NFC dapat meningkat, lebih maju, dan berevolusi memasukkin layanan-layanan dan permainan-permainan (games). NFC juga dapat dengan mudah melakukan komunikasi antar device. Aplikasi yang menggunakan NFC untuk berkomunikasi antara pengguna smartphone  dapat melakukan ini dengan lebih mudah, lebih handal daripada Bluetooth atau pembaca barcode. Sebagai contoh : Hasable untuk sharing kontak dan DoubleTwist untuk sharing-MP3. Namun contoh-contoh tersebut hanya menyentuh permukaan kemampuan NFC.

Aplikasi yang handal dari teknologi NFC adalah Tag NFC. Didorong oleh keinginan penjualan konsumen, NFC memiliki kemampuan pembayaran lebih cepat dan lebih bebas kesalahan daripada barcode. Hal ini dapat dilakukan di penjual eceran yang memungkinkan konsumen untuk memeriksa harga, menemukan informasi yang lebih rinci dari sebuah produk dan menemukan produk komplementer. Dan tidak seperti barcode, Tag NFC dapat ditulis. Hal ini memungkinkan calon pembeli untuk mengekspresikan minat terhadap sebuah produk, meninggalkan komentar-komentar dan memeberikan informasi mereka untuk ditindaklanjuti oleh pedagang.

Karena Tag NFC lebih mahal daripada barcode atau tag RFID (sekitar lebih kurang $1 per volume), mereka dapat memakai cara ini untuk penjualan produk yang dengan kualitas-harga tinggi : Mobil, Elektronik, Peralatan Konsumen. Sebagai produk yang lebih mahal dengan pemanfaatan Tag NFC, ini tentunya dapat mengendalikan harga sewaktu-waktu harga barang tersebut turun di kemudian harinya. Apabila harga barang tersebut turun, Tag NFC akan membuat para pedagang memasang ke dalam produk yang seharga $20 atau lebih (seperti pakaian, sepatu, tas, dan sebagainya).

Dan sekarang ada smartphone. Dengan lebih dari 100 juta smartphone yang dilengkapi dengan NFC di tahun 2012 dan lebih dari 1 milyar akan diprediksi 4 tahun ke depannya, tentunya dengan NFC ini, konsumen dapat melakukan belanja produk, membandingkan produk, dan pembayaran dengan menggunakan smartphone yang dilengkapi NFC menjadi lebih umum.

Sekali kita mengadopsi layanan NFC untuk suatu produk atau barang-barang konsumen, akan lebih banyak lagi pemanfaatan NFC ini di berbagai keperluan dan tempat : semua objek akan memiliki Tag NFC. Dan ini tentunya menjadi kekuatan yang transformatif untuk semua aplikasi NFC.

Salah satu contohnya, semua mobil akan memiliki Tag NFC yang terpasang, berisi spesifikasi, statistik dan web link untuk informasi lebih rinci mengenai kendaraan tersebut. Sementara pihak pengendara bermotor mempromosikan produk yang mereka beli, pengalaman mereka mengendarai produk tersebut ke konsumen-konsumen lain, informasi yang diperoleh dengan pemanfaatan NFC ini dapat digunakan oleh perusahaan rental mobil, taxi dan layanan angkutan umum dan armada lainnya agar selalu menjaga layanan dan kualitas dari produk dan aset mereka.

Dan tentunya, ini dapat dimanfaatkan di perusahaan bidang produksi juga. Mesin-mesin dan peralatan yang akan dijual ke perusahaan atau produsen manufaktur, akan dipasang Tag NFC. Setiap peralatan itu digunakan, tag tersebut dapat digunakan ketika proses produksi : pekerja dapat memeriksa kinerja mesin tersebut dan mencatat proses yang sedang berjalan.

Tag NFC di berbagai objek akan mengganti keamanan barang dagangan. Merchandise akan dipasang alarm selama tag NFC yang terpasang di produk tersebut belum ditulis oleh perangkat NFC si pembeli atau pekerja toko. Smartphone pembeli akan menulis tag yang menerangkan bahwa produk tersbut telah dibeli.

Ketika produk tersebut telah dibeli dan dibawa ke rumah, ketersediaan tag yang berada di setiap barang dapat membuat NFC di smartphone memberitahukan atau menjadi petunjuk di mana lokasi smartphone tersebut. Sebagai contoh, ketika meja kerja atau meja kantormu terpasang tag NFC dan ketika itu juga anda meletakkan smartphone di dekat tag tersebut atau berada dalam jangkauan tag tersebut, ini memungkinkan smartphone tersebut berganti modus secara otomatis menjadi “modus kantor” (misalnya : suara nada dering jadi modus tenang dan wifi menyala dan otomatis menggunakan akses internet kantor). Dan ketika anda berkendara, anda meletakkan smartphone anda di dekat stiker NFC di mobil anda, dan secara otomatis smartphone anda berganti modus menjadi “modus berkendara” (di mana semua device Android memiliki modus-modus tersebut).

Dan pada saat anda tiba di rumah sambil memegang smartphonemu yang didekatkan ke pintu yang terpasang tag NFC, dan secara otomatis pengaman pintu elektronik akan terlepas dan pintupun terbuka, dan tidak hanya itu, ini juga mengubah secara otomatis modus smartphone anda menjadi “modus rumah”, menyalakan koneksi wifi dan secara otomatis terkoneksi dengan jaringan internet di rumah dan menjalankan otomatis aplikasi yang terkoneksi dengan server di rumah anda yang dapat menyalakan otomatis lampu-lampu di rumah anda, menutup garasi dan pintu pagar. Dan ketika anda ke dapur, anda dapat meletakkan smartphonemu di meja dapur, dan di meja itu pula anda meletakkan berbagai bahan masakan yang terpasang Tag NFC, dan ketika itupula smartphone dengan cerdasnya mengenali setiap bahan masakan dan mencarikan resep masakan yang cocok dengan bahan masakan tersebut, dan tentunya anda dapat dengan mudah menyiapkan makanan kesukaan di rumah. Dan ketika malam tiba, anda meletakkan smartphone anda di meja kamar tidur, dans ecara otomatis menyalakan aplikasi alarm agar anda bangun pagi.

NFC tentunya menjadi prediksi jangka panjang di masa depan tentang “internet of things”, mengubah paradigma kita dan cara berinteraksi dengan dunia dengan cara yang halus namun meresap (pervasive ways).

Referensi :

Install Git Server di VPS berbasis Linux – CentOS

Di sini akan dicoba langkah-demi-langkah tutorial mengenai instalasi Git Server di VPS (Virtual Private Server) yang menggunakan OS CentOS.

Perlu diketahui, ketika kita menyewa sebuah lingkungan virtual, VPS, kita tentunya akan mendapatkan IP Address VPSmu, akun akses control panelnya (biasanya pakai Lxadmin), atau yang disediakan oleh hostingnya dengan menginputkan username dan password. Biasanya di dalam control panel tersebut disediakan menu : remote access dan ssh remote. Nah, inilah yang akan kita pakai dalam tutorial kali ini. Di sini saya mencoba meremote VPS yang saya sewa menggunakan putty dengan Connection Type : SSH.

Akses VPSmu, menggunakan Putty. Masukkan hostname (atau IP Address VPSmu), dengan port standard : 22.

Ketika sudah masuk ke session VPSmu, silahkan login dengan memakai superuser : root. Dan masukkan password yang telah diberikan oleh hosting tempat kamu menyewa VPS.

Ok, jika sudah, silahkan ikuti petunjuk di bawah ini :

Cek DAG Repository, Webtatic repo untuk Git Server yang akan kita install di VPS, dengan mengetik :

– Untuk Red Hat Enterprise Linux 5 / i386 :

rpm -Uhv http://apt.sw.be/redhat/el5/en/i386/rpmforge/RPMS/rpmforge-release-0.3.6-1.el5.rf.i386.rpm

– Untuk Red Hat Enterprise Linux 5 / x86_64:

rpm -Uhv http://apt.sw.be/redhat/el5/en/x86_64/rpmforge/RPMS//rpmforge-release-0.3.6-1.el5.rf.x86_64.rpm

Ok, tunggu sampai proses selesai, setelah itu dilanjutkan dengan perintah install Git server :

yum -y install git

Tunggu sampai proses install selesai.

Ketika installasi selesai, saatnya membuat repository.

Membuat repository itu mudah! sederhana, tinggal buat folder untuk reponya, terus diinit, perintahnya sebagai berikut :

mkdir newrepo [diasumsikan nama foldernya newrepo, tapi bebas, terserah kamu namanya]
cd newrepo
git init

Setelah repo sudah dibuat, kita dapat menduplikat atau membuat file-file proyek kita (bisa pakai SVN import) dan lakukan langkah berikut :

git add .
git commit

Nah, repo sudah dibuat nih, kamu mungkin ingin membagi repo mu ke temen-temen. Ini berarti orang lain dapat pull dan push file-file mereka ke repomu dan mengubahnya. Ada banyak cara sharing untuk SVN repository.
Tapi cara yang sederhana adalah menggunakan Git Daemon. Ini akan mengizinkan orang lain push+pull, share, dengan menggunakan perintah berikut :

git daemon --reuseaddr --base-path=/path/to/repos --export-all --verbose --enable=receive-pack

Perintah di atas akan mengizinkan repo untuk dishare melalui folder repo yang kita buat di atas (ex : newrepo). Ketika sudah membuat repo tersebut dapat dishare. Dan tentunya client atau user lain, dapat melakukan clone Git repo kamu. Dengan syntax :

git clone git://remote.computer.hostname/newrepo

Atau via Github atau via Tortoise SVN. 😀

Kamu bisa menggunakan gitolite atau Gitosis untuk integrasi ke Redmine (software project management) dan tentunya tercentral, private, sehingga aman dari ancaman dari luar dan mudah ter-manage

Selamat mencoba dan sukses! 😀