01 April 2023

Bikin Laptopmu jadi Server Internet

Jadi begini, beberapa waktu lalu aku bikin script PHP sederhana buat nggabungin dua file PDF. Trus aku kepikiran, "Wah, kenapa nggak dibikin online biar bisa diakses dari mana aja?" Aku pun kepikiran buat jadiin laptopku jadi server, tapi aku nggak yakin gimana caranya.

Setelah nanya-nanya dan coba-coba, akhirnya aku bisa juga loh! Pertama-tama, kamu harus tahu IP publik router yang kamu pake buat konek ke internet. Terus, kamu juga harus setting port forwarding di router kamu. Misalnya IP router kamu 200.154.20.143, trus IP laptop kamu 192.168.1.3, kamu harus kasih tahu router kamu kalo ada permintaan koneksi ke IP router kamu di port 80 (ini sama aja kaya ngetik IP itu di address bar browser internet), mesti diterusin ke komputer kamu di port 80 juga. Kalo udah di-setting, laptop kamu bisa melayani permintaan koneksi dari mana aja di internet!

Terakhir, kamu tinggal jalanin program internet server favorit kamu, biarin laptop nyala terus, sama koneksi internet tetep terbuka. Kalo IP publiknya nggak berubah, kamu atau siapapun bisa akses internet server laptop kamu dari mana aja loh! Keren kan?

detailnya:

Jika Anda ingin membagikan file atau aplikasi Anda secara online, tapi tidak ingin membayar untuk hosting web atau server, maka membuat laptop Anda menjadi server HTTP bisa menjadi solusi yang tepat untuk Anda. Dengan cara ini, Anda dapat membuat komputer Anda menjadi tempat di mana orang lain dapat mengakses file atau aplikasi yang Anda miliki.

Namun, sebelum Anda memulai, ada beberapa hal yang perlu Anda ketahui. Pertama, pastikan Anda memiliki koneksi internet yang cukup stabil dan cepat. Kedua, pastikan laptop Anda tetap menyala dan terhubung ke internet selama Anda ingin server HTTP Anda tetap berjalan.

Langkah pertama dalam membuat laptop Anda menjadi server HTTP adalah mengetahui alamat IP publik dari router Anda. Alamat IP publik ini adalah alamat unik yang diberikan kepada router Anda oleh penyedia layanan internet (ISP) Anda. Untuk mengetahui alamat IP publik Anda, Anda dapat mencarinya di internet menggunakan mesin pencari atau memeriksanya di router Anda. Biasanya, Anda dapat menemukannya di menu "status" pada antarmuka pengguna router Anda.

Setelah Anda mengetahui alamat IP publik router Anda, langkah berikutnya adalah melakukan setting port forwarding di router Anda. Port forwarding adalah proses di mana Anda memberi tahu router Anda untuk mengarahkan permintaan koneksi dari internet ke komputer tertentu dalam jaringan lokal Anda. Jadi, jika seseorang mencoba mengakses alamat IP publik Anda pada port tertentu, permintaan itu akan dialihkan ke komputer Anda yang berjalan di port yang sama.

Misalnya, jika alamat IP publik Anda adalah 200.154.20.143 dan alamat IP laptop Anda adalah 192.168.1.3, maka Anda perlu memberi tahu router Anda bahwa bila ada permintaan untuk koneksi ke 200.154.20.143 port 80 (jadi ini sama dengan kalau kita menuliskan alamat ip tersebut di address bar sebuah browser internet) maka forward permintaan tersebut ke komputer dengan IP 192.168.1.3 port 80. Dengan konfigurasi ini, laptop Anda sudah bisa melayani permintaan koneksi dari manapun di internet.

Setelah Anda melakukan setting port forwarding, langkah terakhir adalah menjalankan program server HTTP favorit Anda di laptop Anda. Beberapa contoh program server HTTP yang populer adalah Apache, Nginx, dan Lighttpd. Setelah program server HTTP dijalankan, biarkan laptop tetap menyala dan terhubung ke internet. Selama alamat IP publik Anda tidak berubah, siapa pun di internet dapat mengakses server HTTP laptop Anda.

Menjadikan laptop sebagai server HTTP dapat menjadi solusi yang tepat jika Anda ingin membagikan file atau aplikasi secara online tanpa harus membayar untuk hosting web atau server. Dengan beberapa langkah sederhana, Anda dapat membuat laptop Anda menjadi tempat di mana orang lain dapat mengakses file atau aplikasi yang Anda miliki. Namun, pastikan untuk memperhatikan keamanan dan privasi data Anda dan jangan lupa untuk memastikan laptop Anda tetap menyala dan terhubung ke internet selama server HTTP Anda tetap berjalan.

11 April 2021

Apa itu "Machine Learning"?

Menjawab pertanyaan ini dengan definisi dari para ahli adalah pekerjaan mudah. Namun membuat seseorang mengerti tentang apa itu "machine learning" mungkin tidak semudah itu. Karena itu sebaiknya kita mengetahui juga mengenai latar belakangnya dan juga melihat contohnya dalam kehidupan sehari-hari.

Artificial Intelegence (A.I.) atau kecerdasan buatan

"Bisakah kita menciptakan mesin yang bisa berpikir?" Berpikir layaknya manusia berpikir. Ini adalah sebuah pertanyaan, namun kita juga bisa melihatnya sebagai sebuah tantangan.
Pertanyaan tadi yang hendak dijawab oleh para ahli. Sehingga terciptalah sebuah mesin yang bisa diprogram untuk berbagai tujuan berupa komputer.

Bila kita lihat gambar di bawah, maka terlihat bahwa "machine learning" adalah bagian dari kecerdasan buatan. Kecerdasan buatan yang didefinisikan sebagai teknik untuk memungkinkan komputer menyerupai perilaku manusia. Sebelum machine learning berkembang, AI hanyalah sekumpulan aturan baku yang dibuat dalam bentuk program. Sehingga kalau teknik seperti ini yang digunakan maka jalan untuk menyerupai perilaku manusia sangat-sangat panjang. Untuk bisa mengenali wajah, sulit sekali dengan teknik seperti ini.

Begitu hardware sudah memungkinkan, maka berkembanglah machine learning. Di sini kecerdasan buatan dicapai dengan cara memaparkan program komputer dengan data riil dalam jumlah yang sangat besar atau sering kita dengar sebagai Big Data. Dengan data yang banyak ini, machine learning akan membentuk sendiri aturan yang sebelumnya harus disusun oleh programmer satu demi satu. Paparan terhadap data besar ini seolah-olah proses belajar panjang pada manusia, sampai menjadi benar-benar ahli.

Tentu saja, agar komputer bisa menyusun aturan tersebut di atas, tetap saja ia harus diprogram. Namun sekarang, program tersebut lebih mudah diubah fungsinya dengan memberikan input data yang berbeda. Program tersebut mampu mempejari kemampuan baru dengan melihat jenis data yang baru.

MIT Introduction to Deep Learning | 6.S191
 from: https://www.youtube.com/watch?v=5tvmMX8r_OM

Kalau kita pernah membaca mengenai Alpha Go, yang bisa mempelajari permainan catur Cina, bahkan bisa mengalahkan juara dunia catur Cina, setelah hanya berlatih melawan dirinya sendiri, dan hanya diberi tahu mengenai aturan permainan tersebut. Kemudian program yang sama diberikan aturan catur biasa, dan ia belajar menjadi Master Catur hanya dengan bertanding melawan dirinya sendiri.

Pernahkah anda melihat bahwa smartphone anda sekarang ini sudah bisa mengenali wajah anda? Bagaimana bisa? Jawabannya karena di dalam smartphone anda terdapat sebuah program pintar yang telah "diajari" untuk mengenali wajah manusia. Melihat kata "diajari" menimbulkan kesan seolah-olah program tersebut hidup, dan bisa belajar layaknya makhluk hidup.

Ini diperoleh dari teknik pemrograman komputer yang memungkinkan komputer tersebut membuat sebuah model berdasarkan data yang pernah "diperlihatkan" kepada komputer tersebut. Misalnya kepada sebuah program "machine learning" tertentu, diperlihatkan ribuan foto kucing dan ribuan foto anjing. Masing-masing foto tersebut diberi nama yang sesuai. Misalnya foto kucing, diberi nama kucing dan sebaliknya. Karena cara pemrogramannya yang tertentu, sehingga akhirnya komputer bisa membuat prediksi, apakah suatu gambar yang "diperlihatkan" padanya adalah kucing atau anjing. Semakin banyak data yang digunakan untuk "belajar", prediksi yang diberikan semakin akurat.

Sebenarnya tidak hidup juga. Namun berkat keterampilan manusia dalam membuat program dan semakin mumpuninya perangkat keras komputer, sehingga mesin yang seolah-olah hidup dan belajar seperti ini sudah bisa kita capai. Namun jika dibandingkan dengan kompleksitas otak, terutama otak manusia, mesin yang bisa belajar ini belumlah mencapai apa-apa. 

Saya masih akan menyempurnakan tulisan ini

17 April 2020

Windows Defender di Windows 10 crash hari ini 17 April 2020

Saat buka laptop hari ini saya mendapati icon windows security ada tanda silang merah berwarna merah dan ada notifikasi kalau proteksi ancaman virus mati. Kalau windows security dibuka akan ada tulisan:
  • Threat service has stopped. Restart now.
Kalau tekan tombol restart now, akan muncul:
  • Unexpected error. Sorry, we ran into a problem. Please try again
Setelah mencari-cari ternyata ini karena masalah di windows update. Microsoft mungkin akan segera mengeluarkan patch untuk hal ini, jadi pastikan autoupdate tetap ON.

Sementara menunggu, berikut ini cara mengaktifkan kembali service Windows Defender yang crash tersebut:

1. Buka Event Viewer dan cari: Applications and Services logs > Microsoft > Windows > Windows Defender > Operational.
2. Cari event error dengan code crash exception code 0xc00000005. Nah, di sana ada File dengan nama yang ekstensinya ada dua titik, cari file tersebut di Windows eksplorer atau cmd dan hapus titik yang berlebihan tersebut.
3. Buka services.msc, cari windows defender dan "start", lakukan quick scan.
4. Mestinya masalah teratasi.

Semoga bermanfaat buat teman-teman yang kebingungan hari ini.
Kalau pakai antivirus lain, mungkin tidak ada masalah ini.

Sumber: WindowsLatest

13 April 2020

Apa itu Thread pada Program Komputer

Thread, kita sering membaca kata ini saat sedang belajar bahasa pemrograman komputer. Sebenarnya istilah lengkapnya adalah thread of execution, yang kalau diartikan secara kasar adalah "untaian eksekusi". Tapi apa sebenarnya pengertiannya?

Agar dapat mengerti apa yang dimaksud dengan thread, tentu kita harus familiar dengan diagram alir atau flow chart (lihat gambar 1). Pada ilustrasi di bawah ini, terlihat bahwa baris perintah hanya satu saja dari atas ke bawah. Bila hal ini kita bawa ke arah istilah thread maka ini adalah program single thread atau program untaian tunggal, karena untaian perintahnya hanya satu. Pada zamannya, program untaian tunggal tidak pernah disebut dengan istilah ini, pada saat itu hanya ada single thread.

Setelah muncul prosesor dan sistem operasi komputer yang memungkinkan programer membuat eksekusi paralel beberapa untaian perintah, muncullah istilah thread ini. Prosesor dan sistem operasi generasi baru ini mampu menjalankan beberapa untaian perintah secara bersamaan, atau disebut multi-threading.

Jadi dalam pemrograman, thread tidak lain adalah urutan perintah yang harus dijalankan komputer. Sebuah program paling tidak harus punya satu urutan perintah, atau single thread, sehingga untuk program seperti ini istilah thread ini tidak relevan. Bila suatu program dibuat dengan beberapa eksekusi urutan perintah secara bersamaan, atau untaian perintah yang berjalan sejajar, barulah istilah thread ini menjadi ada maknanya dalam pemrograman.

Gambar 1. Diagram alir untaian tunggal (single thread flow chart)

Mengerjakan banyak untaian perintah dalam waktu bersamaan membuat program bisa menyelesaikan tugas lebih cepat. Sebenarnya dalam program yang beruntai banyak atau multi-threaded, setiap untaian perintah yang berjalan itu masih tetap dipantau atau dikendalikan oleh program utama melalui komunikasi tertentu antar untaian perintah, dengan begitu walaupun ada beberapa untaian perintah yang berjalan bersama, program tetap terkoordinasi oleh untaian utama.

Demikian semoga bermanfaat bagi teman-teman yang baru belajar.

10 April 2020

Windows 10 akan mendukung akses ke file sistem linux

Kalau anda pengguna linux yang kebetulan juga pengguna windows atau sebaliknya, pengguna windows yang juga punya linux, pasti senang dengan kabar ini. Ya, windows 10 berencana akan membuka akses untuk sistem file linux.
Dengan dukungan sistem file linux akan akan bisa melihat distro linux yang anda miliki di windows explorer (Sumber: https://www.engadget.com/windows-10-support-linux-file-systems-inside-file-explorer-120509120.html)

Ini merupakan lanjutan dari pengembangan dukungan windows untuk linux lewat program yang diberi hashtag #WSL2 atau Windows Subsistem for Linux 2. Microsoft telah menjanjikan bahwa WSL akan tersedia bagi pengguna Windows versi 2004 (untuk referensi sekarang April 2020 versi paling anyar adalah 1909.

28 March 2020

27 March 2020

Caranya install file apk menjadi aplikasi sistem (system application) di Android melalui ADB

Hi, sebelumnya, ada beberapa cara untuk menjadikan aplikasi dibawah system. Namun, pada umumnya kita harus punya akses dengan privillage (hak akses) tertinggi, atau root.

Nah bila anda punya hak akses root atau hak akses lain yang bisa memounting partisi /system ke dalam mode read/write, maka jalan untuk menjadikan apk anda sebagai aplikasi sistem sangatlah mudah.

Cukup salin file apk tersebut ke dalam folder /system/app/ atau ke /system/priv-app/, ubah atributenya menjadi milik root dan bisa dieksekusi.

Prakteknya:

Dapatkan koneksi via ADB (Android Debugging Bridge)

adb connect [ip device]
adb push [nama_file] [path_tujuan _di_device]
adb shell chmod  644 [path_file_apk_tadi]


jika perlu, ubah ownership

chwon root:root [file_tadi]

sudah

silahkan reboot

adb reboot