Tuesday, January 9, 2018

Mengenal API Vision (auto deteksi image dimedia sosial)

Didalam ilmu computer programming ada istilah API, singkatan dari Application Programming Interface. Secara sederhana arti dan fungsi dari API ini adalah sekumpulan perintah, fungsi, komponen, dan protokol dalam bentuk koding-koding pemrograman yang memudahkan proses kerja suatu aplikasi.

API ini biasanya berisi alghoritma terstruktur yang lengkap dan berjalan dibelakang layar. Kita sebagai user tak tahu apapun tentang API ini. Pokoknya kita tinggal klik-klik mouse, sentuh-sentuh layar atau ketik sana sini selesai. Sisanya apa yang ada dibalik layar (behind the scene), itulah yang dikerjakan oleh sistem dengan API-nya.

Bisa dikatakan semua aplikasi komputer yang beredar dijagad informatika pasti memiliki API-nya masing-masing. Sebab eksistensi API adalah mutlak untuk memudahkan kerja si programmer dan user dalam berinteraksi dengan aplikasi.

Facebook punya API, Instagram punya API, Youtube punya API, Google punya API, Twitter punya API, PATH punya API, General Ledger, Aplikasi Absensi Fingerscan dan lain-lain.... semua pasti punya APInya sendiri.

Yuk sekarang saya ajak anda melihat contoh langsung penggunaan API ini dalam kasus-kasus yang sering terjadi.

Google, untuk tujuan komersial, telah membuka kepada publik salah satu API mereka yang dinamai Vision API. Adapun fungsi dan cara kerja dari Vision API Google tersebut disebut dalam web officialnya : to understand the content of an image by encapsulating powerful machine learning models. It quickly classifies images into thousands of categories (e.g., "sailboat", "lion", "Eiffel Tower"), detects individual objects and faces within images, and finds and reads printed words contained within images.

Easily detect broad sets of objects in your images, from flowers, animals, or transportation to thousands of other object categories commonly found within images. Vision API improves over time as new concepts are introduced and accuracy is improved. (https://cloud.google.com/vision/)

Intinya, Vision API yang ditawarkan oleh Google ini mampu mengidentifikasikan sebuah gambar, foto atau image apapun kedalam klasifikasi tertentu sesuai apa yang terdapat didalam gambar itu sendiri.

Misalnya, anda upload foto berdua pasangan anda. Nah, Vision API akan langsung tahu disana adalah foto dua orang manusia. Bahkan secara lebih detil akan di identifikasikan apakah anda mengenakan topi alias penutup rambut atau tidak, apakah anda berkumis atau tidak dan seterusnya. Bahkan apakah didalam image ini ada hewan, ada gunung, ada kapal dan sebagainya akan mampu dikenali oleh Vision API. MasyaAllah.

Jika anda sering nonton film-film Science Fiction dan juga Police Action yang mempertunjukkan adegan bagaimana polisi mengenali dan mencari presisi wajah seseorang menggunakan komputer sampai muncul output orang itu adalah si A, si B ... nah inilah API-nya kurang dan lebih didalam praktek nyata.

Itulah contoh algorithma yang pernah kita bahas pada status saya terdahulu.

Jadi jangan heran bila begitu anda mengupload sebuah gambar/image lalu saat itu juga facebook atau instagram akan langsung dapat mengidentifikasikan image apa yang anda upload ini. Jualankah? Meme bullyingkah? dan sebagainya. Termasuk apakah didalam image itu ada kata-kata tertentu yang masuk dalam daftar hitam mereka (misal lgbt, fpi, cebong dan lain-lain).

Manakala image yang kita upload itu dianggap match dengan data didalam database yang mereka simpan, image yang sudah anda upload akan langsung di banned bahkan akun anda dapat secara otomatis diblokir oleh sistem. (Saya bilang oleh sistem ya, jadi otomatis, tidak ada campur tangan operator manusianya disini).

Skema algorithma yang mirip-mirip juga diterapkan oleh youtube dalam mengidentifikasikan sebuah video mengandung content berhak cipta dan sejenisnya sehingga sistem youtube akan langsung otomatis mengenali video kita itu terdapat musik dari si A, diproduksi oleh studio rekaman ABC dan lain-lain.

So, hati-hati dalam bermedia sosial saat ini. Cerdas dan ariflah. Kita tidak hanya berhadapan dengan manusia-manusia jahat yang selalu mengintai-intai status dan image kita tetapi juga berhadapan dengan sistem yang memiliki algorithma canggih, ibaratnya kita berhadapan dengan cyborg maya. API model ini juga yang sangat saya yakini dibenamkan dalam mesin 2T yang heboh itu.

Armansyah
Dosen & Praktisi IT
Ditulis di Bumi Palembang Darussalam, 08 Jan 2018.





Mengenal enkripsi (panduan untuk mca)

Didalam dunia pemrograman, ada istilah enkripsi yang secara bebas dapat diterjemahkan sebagai metode pengacakan. Apa yang diacak? Jelas teks, entah berupa kata atau kalimat. Baik dia ditulis dengan format alphabet maupun alphanumeric (gabungan alphabet dengan angka dan symbols).

Bila anda menulis "Tiada Tuhan Kecuali Allah" nah dengan metode enkripsi, kata-kata tersebut dapat saja berubah menjadi " !ibmmB!jmbvdfL!obivU!bebjU "

Dapatkah anda membaca teks " !ibmmB!jmbvdfL!obivU!bebjU " ? tentu tidak... sekeras apapun anda berupaya memutar balikkan teks itu dengan teori probabilitas tetap tak akan dapat memecahkan kodenya.

Nah untuk bisa membacanya maka anda perlu melakukan proses dekripsi atau restorisasi pengacakan dengan algorithma yang sama juga sehingga teks " !ibmmB!jmbvdfL!obivU!bebjU " akan dikembalikan kestruktur asalnya menjadi "Tiada Tuhan Kecuali Allah"

Formulanya harus sama.

Inilah yang sebenarnya terjadi pada proses percakapan di WhatsApp dan sebagian besar aplikasi chat lainnya. Hanya saja tingkatan enkripsi ini luas dan berjenjang. Apa yang tadi saya contohkan hanya bentuk sederhananya saja.

Secara klasik cara-cara begini digunakan pada sandi morse dan sandi pramuka. Hayo, yang SD-nya dulu ikut pramuka pasti ingat khan?

Metode enkripsi ini tentu akan efektif bila ditulis sebagai posting di media sosial. Tak sembarang orang dapat membacanya. Bahkan tidak pula mesin yang bernilai 2T. Tulisan yang sudah di enkripsi menjadi tak ubahnya seperti coretan yang tak berguna, ketikan asal dari anak kecil yang tak sengaja memainkan gadget ayahnya atau rapalan mantera-mantera dalam komik-komik.

Cuma ya itu tadi, si penerima informasi harus punya formula dekripsinya agar teks yang acak tadi dapat dikembalikan menjadi informasi. Repot. Apalagi bila sifatnya publik tertentu. Setiap orang harus copy paste ke mesin atau perangkat lunak dekripsinya masing-masing untuk dapat membaca informasi yang diteruskan oleh membernya.





Contoh program enkripsi dan dekripsi



Olehnya anak-anak IT sering bergurau dan membuat formula asal sehingga kesannya teks telah di enkripsi guna menyulitkan orang membacanya (dan dalam hal ini dianggap mampu mengelabui mesin 2T maupun fitur algorithma media sosial). Misalnya kata-kata FPI dirubah jadi eFP3i, Islam menjadi i5L4m.

Sebagai seorang programmer, saya tidak melihat ini efektif. No at all. Mereka bisa mempelajarinya dan kemudian memasukkan pola ini kedalam database filter yang mereka punya sehingga next time kata-kata seperti ini muncul akan langsung dapat dikenali. Piece of cake. Too easy. Bukan solusi. Cuma bikin mules. Xoxoxo

Sudah InsyaAllah ntar kita lanjut lagi ya... pelan-pelan. Take a breath.

Armansyah
Bumi Palembang Darussalam, 08 Jan 2018

Mengenal cara kerja media sosial (panduan untuk mca)

Jadi begini... pernahkah anda memposting sebuah item tertentu yang akan dijual di facebook lalu dalam waktu sepersekian milidetik facebook secara otomatis menandai posting anda sebagai posting jualan? Begitu juga ketika kita memposting suatu status mengandung kata-kata yang "dianggap" menyalahi aturan facebook lalu status kita itu dianggap spam dan tak bisa diposting di timeline? Padahal mungkin buat kita kata-kata itu sah-sah saja dan sesuai norma keagamaan maupun konstitusi dinegara kita, misalnya tag 3LG38T (baca : perilaku jahannam kaum Nabi Luth).

Dilain kesempatan anda mungkin pernah pula memposting sebuah video yang mengandung content musik dari artis tertentu dan youtube otomatis mengetahui apa nama musik tersebut, siapa artisnya serta apa nama studio rekamannya. Anda selanjutnya dianggap oleh youtube telah melanggar copyright. Semuanya lagi-lagi hanya dalam waktu sepersekian milidetik pasca ia kita upload.

Terakhir, di Instagram. Kita upload meme tertentu eh IG pun mendadak tahu meme apa itu. Jika dianggap gambar itu memiliki sesuatu yang dianggap melanggar peraturannya maka seperti youtube dan facebook, posting anda inipun akan di banned.

So bagaimana facebook, youtube dan instagram tahu apa yang kita upload dalam tempo yang sangat singkat? Taklah mungkin dibalik layarnya duduk para operator masing-masing media sosial nongkrongin akun-akun yang berjumlah jutaan manusia tersebut, khan? logika sajalah.

Seluruh cases ini didalam ilmu informatika, wabil khusus ilmu pemrograman komputer dikenali dengan algorithma. Yaitu skema tertsruktur tertentu yang telah didesain sedemikian rupa alurnya sehingga dapat digunakan untuk memecahkan persoalan yang dihadapi oleh manusia. Algorithma inilah yang nantinya setelah dipadukan dengan koding-koding bahasa pemrograman lalu ditanamkan kedalam chip dapat membuat sebuah mesin seolah memiliki kecerdasan buatan (Artifficial Intelligence alias AI).

Itulah yang digunakan oleh Facebook, Instagram dan Youtube. Ini juga yang ada dibalik mesin 2T yang sekarang sedang heboh.

Didalamnya juga sudah dipasang filter kata yang nantinya akan disimpan kedalam database tertentu sehingga manakala sebuah posting ditemukan match dengan kata-kata didalam database tersebut, mesin ini secara otomatis menandainya sebagai sebuah pelanggaran rules of the game mereka.

Kami para programmer sudah tak asing dengan permodelan klasik kata-kata ini. Secara prinsipnya pola kerja pemfilteran ini sama seperti anda mengetikkan suatu keywords di google, yahoo dan bing. Setelah anda tekan enter, kata yang anda input dikolom pencarian akan segera diproses oleh koding pemrograman yang telah dibekali algorithma bagus sehingga apapun temuan didatabase mereka yang mendekati apalagi persis sama dari keyword anda tadi akan langsung ditampilkan.

Lantas apakah tak ada cara untuk menghindari hal demikian?

Tenang... kami di dunia komputer selalu punya prinsip diatas langit selalu ada langit. Selama teknologi itu ciptaan manusia, tentu ada sisi lemahnya. Tinggal lagi how to find it.

Tentu anda sudah faham pula bila didunia perkomputeran ada yang disebut virus dan anti virus. Nah, sekuat apapun algorithma yang ada dalam sebuah anti virus, si programmer jahat akan terus mencari sisi lemahnya sehingga virus yang ia buat dapat mengelabui anti virus tadi. Makanya dijagad software akan anda temui ratusan anti virus dari berbagai vendor termasuk anti virus lokal. Kenapa? sebab setiap anti virus punya keterbatasan algorithma. Terkadang anti virus A tidak mampu mengenali virus X, anti virus B bisa namun tak mampu membersihkan virus tadi. Eh anti virus C bisa mengenali dan bisa membersihkannya.

Again... keterbatasan algorithma. Sisi lemah si programmer.

Lalu kembali lagi pada kasus mesin 2T.... hehehe, saya menyebutnya sami mawon. Tak ada ciptaan manusia yang sempurna. InsyaAllah kedepan kita coba bahas dan explore ini one by one ya.

Tetap setia pantengin status-status saya. Termasuk iklan komersial herbalnya, travelnya dan lain-lain ya hahaha.... namanya juga usaha.

Bumi Palembang Darussalam,
08 Januari 2018

Armansyah, S.Kom, M.Pd
Dosen & Praktisi IT