Showing posts with label Pemrograman. Show all posts
Showing posts with label Pemrograman. Show all posts

Pengertian DNS, Fungsi dan Cara kerjanya

Tahukah anda bahwa tiap-tiap komputer di dunia ini dapat saling terhubung melalui internet dengan menggunakan IP ADDRESS.

Ketika anda mengetik Google.com pada browser maka yang sebenarnya terjadi adalah komputer anda mengakses ke sebuah komputer lain dengan IP 74.125.68.xx (ip address server google) .

Tentu tidak mudah bagi manusia untuk mengingat deretan angka Ip Address apalagi jika ada beberapa IP Address yang ingin di tuju setiap harinya. Nah disinilah DNS berperan sangat penting.

Pengertian DNS dan Fungsinya
Domain Name System ( kepanjangan dari DNS ) dapat dianalogikan sebagai buku telepon di Internet.
Sederhananya DNS merupakan kumpulan Nama Host (domain) dan IP Address. Kumpulan data tersebut diperlukan oleh DNS untuk menjalankan fungsinya yaitu Sebagai Penerjemah IP ADDRESS ke Host Name (domain) maupun sebaliknya.
Dalam hal ini manusia dipermudah karena untuk dapat terhubung ke website tertentu tinggal mengingat nama host domainnya saja.
Tanpa DNS anda harus mengetikkan 123.233.112.211 untuk mengakses Facebook. ribet.
Baca juga : Memahami Pengertian IP Address dan Cara Setting IP
Bagaimana cara kerja DNS ?
Misal ketika anda ketikkan alamat google.com di browser maka alur kerjanya adalah :
Laptop anda merequest alamat ip website ke server DNS lokal
Server DNS lokal akan melihat ke dalam database dan cache nya.
Jika cache nya ditemukan maka server dns akan langsung memberikan ip ke aplikasi browser. jika tidak ditemukan maka server dns lokal tadi akan menghubungi dns lainnya
Setelah mendapatkan alamat IP, Server lokal tadi akan menyimpannya sebagai cache sehingga jika ingin menghubungi lagi server tidak perlu menghubungi dns lainnya. permintaan ke dns lain hanya terjadi jika di server lokal tidak ditemukan data atau cache nya.
Alamat IP di berikan ke browser sehingga browser dapat membuka website yang di publikasikan di IP tujuan.

Setelah melihat cara kerja DNS diatas lalu pertanyaan baru muncul. Siapa yang bertanggung jawab untuk menyatukan semua server DNS sehingga Server DNS tersebut mengetahui keberadaan server lainnya ? bagaimana DNS tersebut dapat menghubungi Server DNS lain secara tepat ?
Jawabannya . Semua Server DNS mengetahui Server Root . pemetaannya seperti di bawah ini.
Server Root menyimpan informasi ip address dan host semua domain di bawahnya.
Domain ‘.com’ hanya menyimpan semua informasi ip address dan host name yang berada dibawahnya saja.
‘.com’ tidak menyimpan informasi yang dimiliki domain ‘.id’
Untuk mengetahui ip address contoh-web-id maka dns ‘.com’ akan menghubungi dns diatasnya yaitu dns Root

kesimpulannya, ketika ip yang anda cari tidak ditemukan di server DNS lokal maka server dns lokal tersebut menghubungi server dns yang berada di atasnya dan seterusnya sampai ip address ditemukan.

Penggunaan DNS
DNS bisa diaplikasikan pada router sebagai remote dns untuk komputer-komputer di bawah jaringan router tersebut, atau digunakan langsung di control panel PC anda, atau pada konfigurasi modem jika anda menggunakan modem.

DNS yang paling terkenal dan sering di gunakan adalah DNS milik google. yaitu 8.8.8.8 dan 8.8.4.4
selain kecepatannya yang bagus juga sangat mudah di ingat.

Memahami Pengertian IP Address dan Cara Setting IP



Internet adalah seluruh jaringan komputer yang saling terhubung di dunia. Agar dapat berkomunikasi dan bertukar data, antar komputer ini membutuhkan alamat sebagai identitas pengenal. Alamat itulah yang secara global disebut dengan IP Address.
Pada kesempatan kali ini saya akan berbagi pengetahuan tentang Pengertian IP Address. Harapannya setelah belajar dari artikel ini anda dapat mengerti seluk beluk IP Address sehingga memahami betul cara setting IP.

Pengertian IP Address (Internet Protocol Address)
IP Address adalah alamat atau identitas numerik yang diberikan kepada sebuah perangkat komputer agar komputer tersebut teridentifikasi dan dapat berkomunikasi dengan komputer lain.
Alamat atau Identitas tersebut berupa nomer yang terdiri dari 4 blok bilangan desimal yang nilainya terbatas dari angka 0 sampai 255. Contohnya seperti gambar yang tampil dibawah ini.

Anda akan mengerti kenapa bilangan desimal yang digunakan hanya sampai 255 setelah selesai membaca keseluruhan artikel ini.

Bagaimana IP Address diberikan ?
Sebuah IP address sebenarnya tidak diberikan pada unit komputernya, melainkan kepada sebuah Interface Jaringan di dalam komputer itu.
Misalnya, sebuah komputer / PC bisa saja memiliki dua buah interface jaringan sehingga memiliki dua buah IP Address. Pada PC Interface jaringan tambahan yang dimaksud biasanya berupa Lan Card.
Dalam suatu Jaringan Komputer, IP Address harus unik alias tidak boleh sama persis dengan IP pada interface yang lain. Hal itu dimaksudkan untuk menghindari adanya kesalahan pengiriman data.

Bentuk sebenarnya IP Address
Komputer sebenarnya hanya mengenal pengkodean on dan off (digital), oleh karenanya semua data yang dikirim dan terima adalah bilangan biner (hanya nol dan satu).

Misalnya ketika mengirim huruf Z maka melalui media kabel utp diciptakan kondisi on dan off yang sangat cepat (ketika kabelnya dialiri listrik dianggap 1 dan ketika tidak dialiri listrik dianggap 0) sehingga membentuk angka angka biner 10100100. Setelah data biner sampai ke komputer tujuan barulah diterjemahkan kembali kedalam bentuk huruf.

Sama seperti hal diatas, bentuk IP Address yang berupa bilangan desimal sebenarnya adalah bilangan biner yang diterjemahkan agar mudah di ingat manusia. pada setiap titik pemisah ip address adalah terdiri dari 8 bilangan biner sehingga totalnya menjadi 32 bit biner.

contoh penulisan ip address = 192.168.1.1
sebenarnya adalah = 11000000.10101000.00000001.00000001

ketika kita masih SMA pasti sudah diajarkan cara mengkonversi bilangan biner ke desimal bukan ? Nah ilmu tersebut ternyata dipakai dalam belajar IP Address ini.

Versi IP Address
Versi IP Address yang sedang kita bahas adalah IP Address versi 4.
Faktanya versi itulah yang paling banyak digunakan pada saat ini meskipun sebenarnya sudah ada yang lebih baru yaitu IPv6.
Perbedaannya keduanya adalah pada jumlah bit yang digunakan masing masing versi.
Pada IPv4 terdapat 32 bit biner sedangkan IPv6 128 bit. Artinya IPv6 memungkinkan IP Address unik untuk jumlah yang sangat besar. Namun kelemahannya akan sangat sulit untuk di hafal manusia.
agar tidak melebar, saya mengunci agar bahasan ini fokus kepada IPv4 saja.

Pengertian Network dan Host
Sebuah IP address sebenarnya terbagi menjadi dua porsi yaitu porsi Network dan porsi Host. Network merupakan bagian IP address yang menunjukan alamat atau id sebuah jaringan. Sedangkan bagian Host adalah bagian yang menunjukkan alamat komputer didalam jaringan tadi.

berkaitan dengan itu, ada beberapa aturan, antara lain :
Semua alamat network tersebut harus sama jika kita ingin komputer-komputer itu bisa saling terkoneksi tanpa bantuan router.
Dalam sebuah network tidak boleh ada host yang sama nilainya.

Bagaimana caranya agar kita bisa mengetahui porsi Network dan host pada IP Address ? jawabannya adalah tergantung nilai subnetmask nya. Mengenai subnet mask sudah saya bahas pada artikel Pengertian Subnet Mask dan Prefix . Dengan membaca artikel itu anda akan mengerti bahwa porsi network ditandai dengan bilangan biner 1 dan porsi host bilangan 0.

Pada IP address kelas C biasanya memakai subnet mask 255.255.255.0 (kalau bentuk binernya adalah 1111111.1111111.111111.0000000) dengan kata lain, jika ip yang kita gunakan adalah 192.168.1.1 maka 192.168.1 nya adalah network dan 1 adalah host.

dibawah ini ada sedikit contoh penerapan ip address :
Dalam penerapan ip address terdapat dua buah ip yang tidak boleh digunakan pada Host yaitu semua 0 dan semua 1 dalam bilangan biner.
jadi setiap Host tidak boleh
00000000 = 0 atau 11111111 = 255

karena alamat semua 0 pada Host merupakan IP NETWORK dan semua 1 pada Host adalah IP BROADCAST. Sehingga bisa dikatakan ip yang bisa dipakai pada Host adalah 1 sampai 254 saja.
contoh ip yang tidak diperbolehkan :
00001010.00001010.00000011.00000000 = 10.10.3.0
00001010.00001010.00000011.11111111 = 10.10.3.255

Fungsi IP yang berakhiran 0 (host 0) adalah sebagai network, IP ini akan dipakai ketika kita melakukan setting pada router. sehingga ketika routing (menjalurkan) dengan tujuan suatu range IP (misal 192.168.1.1 sampai 192.168.1.254) kita tinggal menyebut IP Networknya saja (192.168.1.0).

Fungsi IP berakhiran 255 (host 255) adalah sebagai broadcast. secara otomatis fungsinya adalah berteriak teriak kepada jaringan yang lain “mau nyari ip ini, dia ada di jaringanku !”

Kelas IP Address
Karena banyaknya kemungkinan angka IP Address yang bisa digunakan maka diperlukan aturan dalam pendistribusi-annya. Oleh karena itu IP Address di bagi ke dalam kelas kelas tertentu berdasarkan jumlah Network dan Host nya.

Pembagian kelas IP Address bisa dibaca di NETWORKING DASAR UNTUK CALON HACKER . Dengan membaca artikel tersebut anda juga akan mengetahui perbedaan IP public dan IP local.

Secara garis besar terdapat tiga kelas yang sering digunakan yaitu kelas A, B dan C. Perbedaan diantara ketiganya adalah jumlah Host dan Network.

Kelas IP Address yang paling banyak digunakan pada jaringan lokal adalah kelas C. Alasannya, karena jumlah host yang bisa dipakai tidak terlalu sedikit dan tidak terlalu banyak, yaitu 254 host IP Address. IP tersebut bisa bernilai 192.0.0.0 sampai dengan 223.255.255.255

Pada jaringan lokal anda akan banyak menjumpai IP 192.168.0.0 sampai dengan 192.168.255.255 . IP Address itu termasuk kedalam kelas C.

Cara Setting IP Address
Sampai disini anda sudah mengetahui bentuk IP yang sebenarnya dan apa itu Subnet mask. Sedangkan untuk menyeting IP anda membutuhkan beberapa kolom isian lagi yang harus dipahami, yaitu defaulit gateway dan dns.

Kolom Gateway bisa diisikan dengan alamat router. Router itu sendiri berfungsi untuk menjebatani antara jaringan anda dengan jaringan yang lain seperti jaringan lokal anda dan jaringan internet. Maka agar komputer yang anda setting bisa terhubung ke internet harus di setting alamat IP Router pada default gateway.

Modem yang diberikan oleh isp juga dianggap sebagai router, sehingga untuk terhubung ke internet kita tinggal mengisikan alamat modem pada gateway. Biasanya 192.168.1.1

Sedangkan DNS adalah sebuah server yang berfungsi untuk menerjemahkan domain ke alamat IP. Misalnya ketika anda mengunjungi google.com sebenarnya anda mengakses ke alamat IP tertentu di internet. Selengkapnya tentang DNS

Untuk menyeting IP di sistem operasi windows anda bisa menuju ke Control Panel > Network and Internet > Network Connection > Local Area Connection lalu pilih IPv4 dan isikan apa yang sudah anda pelajari pada artikel ini.

Pengertian SQL Injection dan Cara menghindarinya


Apa itu SQL Injection?
Sql injection adalah sebuah teknik hacking yang dilakukan dengan menyisipkan baris kode SQL pada kotak isian (misalnya form login) atau pada url yang mana serangan ini akan mempengaruhi logika dari website tersebut.

Sql injection memanfaatkan celah keamanan yang disebabkan karena masukan pengguna tidak disaring secara benar oleh aplikasi.

Bingung?
Mari kita bahas bagaimana website bekerja terlebih dahulu.

Bagaimana website bekerja?
Aplikasi web pasti menggunakan database untuk menyimpan semua data seperti komentar, artikel, termasuk data login, semuanya disimpan di dalam database. Rata-rata database untuk website menggunkan bahasa SQL.

Jadi sekurang kurangnya pasti ada :
Halaman website > backend server > database.

Saat user sedang login, user tersebut harus mengisi username dan password pada sebuah formulir isian bukan?
Pada saat itu username dan password dikirimkan ke server, lalu server mengecek kesesuaian data.

Apakah username tersebut ada di dalam database? (kalau ada maka akan mengembalikan nilai Variable1 = “True”, kalau tidak ada maka Variable1 = “False”),
DAN Apakah passwordnya sesuai dengan apa yang dipasangkan dengan username? (kalau sesuai maka akan mengembalikan nilai Variable2 = “True”, kalau tidak sesuai maka Variable2 = “False”).

Nah pada website yang tingkat keamanannya rendah biasa dilakukan verifikasi langsung seperti ini:
“Jika nilai yang masuk pada formulir isian menghasilkan True maka user dapat login.”

Kita tentu saja berharap nilai True yang didapat adalah hasil dari Variable1 dan Variable2.
Namun bagaimana jika seseorang dapat memasukkan nilai True bahkan tanpa harus menyesuaikan username dan passwordnya di database?
Inilah Salah Satu Teknik SQL Injection.

Seperti apa sih bahasa SQL itu?
Misalnya, kita dapat melakukan perintah sql seperti dibawah ini
select * from account
(pilih semua dari table account)

Akan membuat response seperti ini:

Menampilkan sebuah table yang yang di isi data baris per baris. (gambar diatas tidak berkaitan dengan contoh gambar yang selanjutnya)

Lalu biasanya Logika yang digunakan untuk proses login pada website yang keamanannya rendah adalah seperi ini:
Select * from accounts where username =’$USERNAME’ and password=’$PASSWORD’

(pilih semua dari table account yangmana usernamenya adalah ” $USERNAME ” dan passwordnya sama dengan ” $PASSWORD “). kalau usernamenya ada (True) dan passwordnya sesuai (True) maka user blablabla di ijinkan masuk.

Perlu diperhatikan penggunaan gerbang digital,
Gerbang digital AND adalah jika suatu nilai ada yang memiliki nilai False, maka hasilnya akan False, jadi semua nilai harus True untuk mendapatkan hasil True.
True and False = False
False and True = False
True and True = True

Gerbang digital OR adalah jika ada satu nilai saja yang True, maka hasilnya akan True.
True or False = True
False or False = False
True or True = True

Contoh SQL Injection
Pada pengujian dibawah ini kita anggap usernamenya adalah srinivas dan passwordnya adalah mypassword sedangkan Logika login yang digunakan di asumsikan sama seperti diatas. maka seperti ini yang akan terjadi.


Seperti yang diharapkan, user admin dapat masuk karena passwordnya benar.

Dapat dimengerti bahwa pada inputan username dan password akan mengisi logika yang dijalankan website di belakang layar yang mana menggunakan bahasa SQL.
(apapun yang dimasukkan didalam form input akan mengisi username dan password pada Select * from blablabla…)



User admin dapat login tanpa menggunakan password yang seharusnya.

Perhatikan lagi pada gerbang logika “or” apabila ada salah satu yang bernilai True maka hasilnya True.
Penggunaan tanda petik sangat penting dan perlu ketelitian, lalu tanda pagar dalam bahasa SQL merupakan tanda komentar, jadi setelah tanda pagar kode apapun akan di abaikan.

Bahaya Serangan SQLI
Apa saja kerugian yang bisa disebabkan oleh SQL Injection?

Kemungkinan penyerang dapat mengakses database. dapat mengakes database artinya dapat melihat data-data sensitif,
Dapat login menggunkan hak akses admin,
Dapat mengupload file kedalam website kita.

Bagaimana cara mengatasi SQL Injection?
Dalam hal ini saya memposisikan pembaca sebagai developer, pembuat website itu sendiri.

Lakukan validasi pada setiap formulir isian, misalnya sebelum melakukan logika pengijinan login pastikan data yang masuk di jadikan string value terlebih dahulu. Hindari logika yang terjadi pada contoh diatas.
Pisahkan data dari dari pengkodean SQL.
Ada banyak lagi teknik teknik sql injection selain baypass login, salah satunya dengan memanfaatkan informasi atas jumlah baris dari table database. maka hindari menampilkan id angka (biasanya auto increment), gunakanlah slug sebagai gantinya.
Website yang rentan terhadap SQL Injection biasanya adalah website yang dibangun sendiri tanpa bantuan framework seperti website sekolah (dulu), yang mana developer aplikasinya memikirkan sendiri logika-logika yang beresiko cacat logika. Padahal framework-framework website sekarang sudah berpedoman pada keamanan.

Untuk mencegah Sql Injection di Form Login misalnya dengan cara Bypass, gunakan script mysqli_real_escape_string(); disetiap variabelnya.

Misalnya :
$username = $_POST['username'];

$password = $_POST['password'];

menjadi
$username = mysqli_real_escape_string($conn, $_POST['username'];

$password = mysqli_real_escape_string($conn, $_POST['password'];

$conn adalah variabel dari configurasi database (mysqli_connect)
dan untuk mencegahnya dari url dimana postingan memiliki id, berikut gunakan script dibawah ini, mudah-mudahan bisa membantu :
function filter_param($text,$html=true)

{

$e_s=array('\\','\'','"','*','%',"'",'#');

$d_s=array('','','');

$text = preg_replace( "'<script[^>]*>.*?</script>'si", '', $text );


$text = preg_replace( '/<a\s+.*?href="([^"]+)"[^>]*>([^<]+)<\/a>/is', '\2 (\1)', $text );

$text = preg_replace( '/<!--.+?-->/', '', $text );

$text = preg_replace( '/{.+?}/', '', $text );

$text = preg_replace( '/&nbsp;/', ' ', $text );

$text = preg_replace( '/&amp;/', '', $text );

$text = str_replace( $e_s, $d_s, $text );

$text = strip_tags( $text );

$text = preg_replace("/\r\n\r\n\r\n+/", " ", $text);

$text = $html ? htmlspecialchars( $text ) :

$text;

return $text;

}

digunakan pada tiap id, misalnya pada saat pemanggilan id script ini harus disertakan :
$id = $_GET['id'];

menjadi
$id = filter_param($_GET['id']);

yah, jadi begitu saja untuk mencegahnya, semoga artikel ini bisa bermanfaat dan membantu.

Bahasa Pemrograman Terbaik untuk Calon Hacker


Benarkah untuk menjadi hacker kita harus menguasai bahasa pemrograman? tidak juga. Karena ada banyak sekali tools diluar sana yang bisa kamu manfaatkan untuk melakukan kegiatan pentesting atau mencari kelemahan kelemahan suatu sistem. Tapi…

Seseorang yang menggunakan aplikasi buatan orang lain dan terbatas pada kemampuan aplikasi itu saja sebenarnya disebut Script Kiddie, bukan Hacker.

Meskipun dengan menjadi Script Kiddie calon hacker sudah berada di jalur, namun seharusnya kemampuan itu bisa di kembangkan lagi dengan mempelajari bahasa pemrograman.

Ada beberapa alasan kenapa calon hacker mestinya belajar bahasa pemrograman .
Mengapa belajar programming?

Programming adalah skill terbaik yang bisa dipelajari di dunia IT
Hacker-hacker ternama memulai debutnya dari programming
Dengan mempelajari programming, kesempatan untuk mendapatkan pekerjaan jadi lebih besar
Mengijinkanmu untuk menerapkan solusimu sendiri
Mampu mengedit dan mengembangkan program yang sudah ada dan menyesuaikan dengan skenario mu sendiri

Ketika kita berada di level script kiddie. Kita mengandalkan tools buatan orang lain. Dalam hal ini segala file dan kegiatan yang dihasilkan berkemungkinan besar terdeteksi oleh antivirus. Karena antivirus (salah satu fungsinya) mendeteksi melalui pola daripada hasil koding yang tool itu hasilkan.

Ok! Saya mau belajar pemrograman, darimana saya harus memulai? Bahasa program itu ada banyak sekali.

Tips memilih bahasa pemrograman
Untuk menjadi hacker seperti di film-film kamu harus menguasai banyak bahasa pemrograman. Karena aplikasi atau website yang kita maksud diprogram dengan bahasa pemrograman yang berbeda-beda.

Namun, mempelajari semuanya bukan pilihan yang terbaik. kamu akan terus terusan belajar tanpa menghasilkan apapun.
Jadi menurut saya pelajari satu saja sampai expert.
Karena pada dasarnya penggunaan bahasa program itu mirip mirip saja, dan tidak wajib juga kita menghapal syntax nya, yang paling penting disini adalah bagaimana konsep bahasa program itu digunakan, alogaritma, dan struktur data.
Jika kita sudah menguasai satu, maka berpindah ke bahasa lain akan sangat mudah. Hanya membutuhkan sedikit penyesuaian.
Jadi, kuasai satu saja terlebih dahulu, bahasa program yang lain belakangan.
Nah, cara terbaik untuk belajar bahasa program adalah dengan membuat suatu project yang nyata. Karena hasilnya bisa kita pamerkan ke siapapun untuk menyemangati kita (tanpa semangat ini, mungkin kamu akan bosan mempelajarinya).

Project nyata inilah yang akan kita jadikan patokan dalam memilih bahasa program untuk pertama kalinya.
Misalnya kamu ingin membuat aplikasi android maka mulailah dengan Java, atau Kotlin
Ingin membuat aplikasi web bisa dimulai dengan salah satu dari banyak bahasa program seperti JavaScript, Python, Php.
Untuk membantumu dalam memilih bahasa program berdasarkan apa yang ingin kamu buat, bisa menggunakan bantuan situs ini http://www.bestprogramminglanguagefor.me

Bahasa pemrograman terbaik yang direkomendasikan untuk Hacker
Lalu bahasa apa yang direkomendasikan banyak praktisi untuk keperluan hacking?
Yaitu bahasa python.
Mengapa python?
Python merupakan bahasa program yang paling mudah dibaca oleh manusia sehingga, mudah dipelajari bagi pemula
Python mempunyai banyak library untuk menunjang kegiatan pentesting/hacking
Python dapat kamu gunakan untuk menulis banyak program, meskipun itu tidak berkaitan dengan hacking
Banyak tools yang kita bicarakan di awal tadi yang ditulis dengan python, sehingga jika kita mempelajari python maka kita akan mengerti apa yang sebenarnya di kerjakan oleh program tersebut dibelakang layar.

Contoh penggunaan library yang berkaitan dengan Hacker menggunakan python:
import subprocess #mengimport modul subprocess dari library python
subprocess.call(“ifconfig wlan0 down”,shell=True)
subprocess.call(“ifconfig wlan0 hw ether 11:22:33:44:55:66”,shell=True)
subprocess.call(“ifconfig wlan0 up”,shell=True)

sub process mengijinkan kita menjalankan command di dalam shell linux. Dengan mengeksekusi code python diatas kita akan mengubah mac address pada perangkat menjadi 11:22:33:44:55:66.
Mulai Belajar Bahasa python dari mana?

Kalian bisa install sololearn di Playstore secara gratis. Proses belajarnya lumayan efektif karena setelah mendapatkan materi kita akan diuji dengan quiz.

Lalu untuk video pelajaran python berbahasa indonesia yang paling bagus penjelasannya bisa mengunjungi channel youtube Kelas Terbuka. Dimulai dari Python Dasar sampai Object Oriented Programming Python.

Saya sudah menguasai satu bahasa pemrograman. Selanjutnya apa?
Misalnya, bagaimana kamu bisa melakukan serangan sql injection jika kamu tidak mengerti bahasa sql, atau bahkan tidak mengerti bagaimana cara kerja suatu website dalam memproses ijin masuk. Maka dalam hal ini kamu harus belajar sql dan belajar bikin website.

Hacker dan Programmer itu sama saja, perbedaan yang mencolok dari keduanya adalah apa tujuannya. Programmer memastikan bagaimana program bisa berjalan dan Hacker menguji apa yang salah pada program itu dan memanfaatkan kesalahan tadi.

Jadi, Jika kamu ingin mencari cari kelemahan di aplikasi android, maka pelajari cara membuat aplikasi android. Jika kamu ingin mencari kelemahan di sisi server maka pelajari cara membuat backend server dan seterusnya.

Tidak ada bahasa pemrograman terbaik, semuanya memiliki penggunaan yang optimal pada blok masing masing. Oleh karena kamu sudah menguasai satu bahasa pemrograman maka mudah saja untuk menguasai bahasa yang lain.

Hal ini tidak seperti kita ingin ke mall (finish) lalu memilih satu atau dua pilihan jalan saja. Tapi seperti masuk ke hutan yang amat luas yang harus kamu tandai pohon pohonnya. Tidak ada cara instan untuk menguasai semuanya. Dan memang tidak di design untuk dikuasai semua.

Tapi semakin banyak pohon yang kita tandai, maka semakin banyak pula peluang kita untuk menerobos sesuatu. Jadi kalau ada yang tanya “bisa hack facebook tidak?” jawabannya sama seperti : “Bisa bikin sistem login seaman facebook tidak?” ditambah “Bisa menemukan kelemahannya tidak?”. Hal itu seperti menandingkan satu orang dengan satu perusahaan.