Fenomena Supranatural, Glitch IRL?

Kali ini bahasannya tentang, yah…hantu, dukun, & yang berkaitan dengan itu. Sebentar, kenapa gw ngebahas tentang itu? Bukannya ini blog komputer? Ngapain ngebahas hal-hal gak jelas kayak itu semua? Oke, kayaknya gw nggak bisa cerita dengan singkat kenapa gw ngebahas beginian & apa hubungannya dengan komputer. Jadi gw langsung masuk ke topik bahasannya aja, ntar juga pasti ngerti sih. Soalnya bahasannya nanti isinya sih tentang ngehubung-hubungin itu dengan logika computer science. Berhubung ini hasil pikiran gw sendiri & gw gak pernah ngeliat hantu atau berurusan dengan dukun, pastinya nggak bisa dibuktiin lah kebenarannya. Ini sih teori karangan gw doang, bacanya buat fun aja lah.

Kita-kita yang suka main game mungkin udah familiar dengan kata ‘glitch’. Glitch ini sendiri artinya kesalahan-kesalahan kecil dalam program, bisa dibilang minor bug lah. Kalo di game sih kadang-kadang ada keanehan, misalnya karakternya bisa nembus tembok di satu tempat itu aja & kejebak di dalem tembok. Ya, kalo penjelasan gw tentang glitch barusan kurang bisa coba nonton video di bawah ini deh. Video ini nunjukin glitch-glitch yang ada di beberapa game, yang paling keliatan glitchnya sih yang di bagian game Mario & Street Fighter.

Continue reading

Caesar’s Cipher

Kali ini gw mau ngebahas kriptografi dulu. Buat yang belum tau, kriptografi itu teknik yang dipake buat enkripsi & dekripsi data. Ngomong-ngomong, Caesar’s cipher ini teknik kriptografi yang katanya dulu dipake sama Julius Caesar & akhirnya dinamain Caesar’s cipher karena dia yang pake.

Caesar’s cipher ini hasil enkripsinya bisa beda-beda tergantung key yang dipake buat enkripsi datanya, jadi buat dekripsinya nanti perlu tau key yang dipake dulu. Lumayan canggih untuk ukuran jaman dulu kayaknya, tapi kalo buat sekarang sih ini simpel banget. Caesar’s cipher ini dipake buat enkripsi data yang isinya cuma huruf A-Z. Sebenernya ini bisa dipake untuk dekripsi deretan alfabet lain & angka juga sih, tapi biasanya yang dipake cuma buat huruf A-Z. Algoritmanya sendiri agak matematis sih, tapi logikanya simpel lah. Fungsi yang dipake untuk Caesar’s cipher itu begini.

En(x) = (x + n) mod 26
Dn(x) = (x – n) mod 26

Continue reading

Recursive Function

Recursive function, biasa kalo di bahasa Indonesia disebutnya fungsi rekursif, itu function yang di dalamnya ada perintah buat manggil function itu sendiri. Gunanya yang paling utama sih buat ngulang proses yang ada di dalam function itu juga. Pertanyaannya, ngapain kita pake fungsi rekursif kalo kita bisa pake looping for, while, atau do while buat ngulang perintah? Karena dalam beberapa kasus, fungsi iteratif (yang pake looping for, while, & do while tadi) lebih ribet daripada fungsi rekursif atau malah nggak bisa ngeberesin masalahnya sama sekali.

Pernah denger tentang faktorial? Faktorial itu perhitungan di matematika, biasanya sih dipake di perhitungan untuk peluang. Notasi matematika & penyelesaiannya kayak begini.

3! = 3 * 2 * 1 = 6

Faktorial ini salah satu contoh soal yang paling umum yang dipake buat ngajarin fungsi rekursif di kelas-kelas pemrograman sih. Contoh lainnya biasanya pake deretan Fibonacci, tapi di sini biar gampang gw pake contoh faktorial aja.

Continue reading

Seven Layers of OSI Model

Oke, berhubung udah cukup lama gw nggak nulis soal networking di sini padahal peminatan gw di kampus itu bagian networking, kali ini gw bahas tujuh layer OSI aja dah. Udah standar kita tau kalo kita mau bikin jaringan komputer itu harus pake peralatan macam kabel jaringan & ethernet. Kalo mau agak ribet dikit jaringannya, kita masih perlu pake switch lagi. Terus kalo mau bisa konek ke jaringan lain kita perlu pake router. Lalu ada yang namanya IP address, subnet mask, MAC address, & yang lain-lain. Nah, itu semua masuk ke kategori layer yang beda-beda di OSI model.

Sebelum dibahas, ini daftar layer di OSI model dimulai dari layer paling atas.

  • Application Layer
  • Presentation Layer
  • Session Layer
  • Transport Layer
  • Network Layer
  • Data Link Layer
  • Physical Layer

Continue reading

Codecamy: Website Interaktif untuk Belajar Coding

Hari ini gw ada browsing tentang topik-topik yang berhubungan dengan programming, lalu gw nyasar ke blog Programming Zen. Lalu gw baca-baca beberapa postingan di sana & nemuin satu postingan tentang usability test buat website Codecademy. Jadi ceritanya dari postingan tentang usability test itu gw tau tentang website yang namanya Codecademy ini. Codecademy ini website yang dibuat untuk ngebantuin orang-orang yang baru mulai belajar programming dari awal, & websitenya dibikin lumayan interaktif. Gw sendiri belum nyobain fitur-fiturnya yang khusus member, tapi gw coba tutorial JavaScript yang dikasih buat non-member sih lumayan bagus.

Di bagian yang gw cobain tadi sih kita disuruh nyobain beberapa function & diajarin logika dasar pemrograman. Cara ngajarinnya sih nggak ngebosenin-ngebosenin banget kalo menurut gw. Materi yang diajarin di tutorialnya bukan barang baru buat gw sih, jadi mungkin berpengaruh ke faktor kebosanan gw pas ngikutin tutorial itu tadi juga. Tapi kalo buat orang yang baru mulai belajar & emang minat sih kata gw ini pantas dicoba, & kalo berniat daftar pasti yang punya website itu bakal seneng banget. Iya, yang bakal seneng yang punya websitenya, bukan gw. Gw sendiri belum tau selain JavaScript dasar apa aja yang bakal diajarin di sana, tapi yang pasti ini website pantes dicoba lah. Lumayan canggih soalnya.

Continue reading

HTML Meta Tag: Search Engine Optimization

Jadi ceritanya kemarin ini gw iseng-iseng nawarin ke Yoanes Leonardi, temen SMA gw dulu, buat ngerjain website baru buat blog pribadinya. Terus gw ditanya, apa kerjaan gw termasuk nambahin SEO (Search Engine Optimization) di website itu. Gw sendiri sih nggak pernah terlalu merhatiin optimisasi search engine kalo bikin web, berhubung gw orang teknik & emang orang teknik itu tugasnya lebih ke arah gimana caranya website yang dibuat bisa jalan lancar, agak kurang ke bagian gimana caranya website itu bisa nongol di paling atas daftar search results Google.

Gw sendiri sebenernya agak ngerasa aneh dengan istilah “software SEO”, berhubung urutan search results di Google itu udah mutlak ditentuin dari algoritma searching Google. Jadi karena penasaran gw minta contoh script SEO punya Leo, ternyata yang dipake buat SEOnya itu tag <meta> di HTML. Gw sih udah cukup familiar dengan tag <meta> ini, tapi gw sendiri baru tau kalo orang-orang yang serius buat ngedapetin traffic bener-bener ngemanfaatin ini, soalnya tag <meta> ini bisa dibilang sebagai tag HTML yang hampir nggak pernah gw pake di website-website yang gw buat. Lalu gw googling buat nyari tau lagi tentang SEO, & dari hasilnya sih gw bisa ngambil kesimpulan kalo SEO itu sebenernya cuma mainin tag <meta> & gimana caranya kita masukin keyword yang bener di tag <meta> kita nanti biar lebih gampang ditemuin sama search engine buat dimasukin ke daftar search results.

Continue reading

Cegah SQL Injection & XSS di Website

Kemarin-kemarin ini gw udah sempet ngebahas tentang cara ngelakuin SQL injection & XSS di website orang. Tapi nggak semua website orang bisa kena SQL injection & XSS. Nah, gimana caranya banyak website bisa kebal SQL injection & XSS? Berhubung SQL injection & XSS ini masalahnya dateng dari input yang dikirim user buat diproses, cara ngatasinnya ya kita harus ngefilter input dari user. Kalo ada input dari user yang ternyata perintah SQL buat ngelakuin SQL injection atau script untuk XSS, inputan itu harus diubah dulu jadi inputan teks biasa yang nggak berbahaya buat sistem.

Karena gw bikin website cuma bisa pake PHP (sebenernya dulu sempet pake ColdFusion waktu ngantor, tapi udah lama nggak pake terus lupa), gw kasih tau cara untuk ngefilter input dari user itu di PHP. Tapi di bahasa-bahasa lain juga seharusnya caranya nggak beda terlalu jauh sih.

Ngomong-ngomong di PHP versi 5.3 ada fitur yang namanya Magic Quotes yang kalo diaktifin udah otomatis bisa nangkal SQL injection, tapi fitur ini dihapus di PHP versi selanjutnya. Jadi gw nyaranin sih buat nangkal SQL injection kita pake function addslashes() aja.

Continue reading