15 Aug 2017

MIUI 9 dibuat dari rangka Android 7.1.1 seharusnya memiliki Camera2 API di dalamnya. Sayangnya, MIUI mengaktifkan pustaka HAL 1 bukannya HAL 3 sehingga fungsionalitas Camera2 API dimatikan oleh sistem.

Untuk mengatasi hal tersebut, /system/build.prop harus diubah dan ditambahkan:

persist.camera.HAL3.enabled=1

Dari pada secara manual dan berisiko merusak sistem, gunakan saja modul Magisk yang dibuat orang.

Memasang Modul Magisk

Karena sebagian dari kalian kemungkinan ada provider malas yang belum membuka akses Reddit, maka saya terpaksa memberikan akses langsung ke berkas.

  1. Unduh magisk-Camera2-API.zip.
  2. Masuk ke Magisk Manager. Klik tombol 3 garis → Modules  → (+) → pilih modul Magisk Camera2 API yang sudah terunduh.
  3. Reboot.

Selesai.

Aplikasi Kamera yang Memanfaatkan

Aplikasi standar MIUI masih berjalan seperti biasa, kecuali modus slow-mo. Namun, sayang rasanya bila Camera2 API tidak dimanfaatkan secara maksimal.

  • Kamera OP5. Saya suka kamera ini simpel. Secara mengejutkan, dia mendukung dual-camera yang ada di MIUI juga! Untuk foto-foto sederhana kamera ini cukup baik. Aplikasi ini ada di XDA Developer.
  • Kamera Google Pixel XL. Format HDR+ yang dihasilkan aplikasi ini luar biasa. Saya anjurkan menggunakan aplikasi ini untuk membuat foto-foto panorama.  Untuk bisa memfoto dengan baik, kamera diubah menjadi mode video terlebih dahulu, baru ubah kembali ke mode kamera. Aplikasi ini ada di XDA Developer.
  • Open Camera. Tampilannya rumit, namun semuanya sangat detail. Saya sejujurnya lebih suka aplikasi ini. Bisa dibuat untuk menyimpan dalam format RAW selain JPEG. Aplikasi ini ada di F-Droid.

Tentu penilaian saya ini masih jauh dari sempurna mengingat saya memasang dan menguji sekilas (first impression).

Bacaan Lebih Lanjut

on 15 Aug 2017 03:09 AM

14 Aug 2017

Super Android, recharge!

Setelah saya membuka kunci Mi6 dan memasang MIUI 9, saya butuh TWRP dan Magisk. Sayangnya, saya selalu bootloop saat memasang TWRP dan Magisk. Sebelum itu, pada ROM MIUI 8 Global Stable, saya bisa dengan melakukan pemasangan berulang-ulang Magisk. Benar-benar magis pemasangan perkakas ini.

Menurut TheStrix, pengelola TWRP resmi untuk Mi6, ada skrip pada MIUI versi 8+ yang bertugas untuk menulis kembali partisi recovery. Untuk itu, perlu dinonaktifkan. Berikut adalah perjalanan saya memasang TWRP dan Magisk SU.

Persiapan

Unduh:

  1. twrp-3.1.1-1-sagit.img
  2. Magisk-v13.5(1350).zip

sebagai persiapan di PC.

Oh, iya, jangan lupa aktifkan USB Debugging di Mode Pengembang.

Memasang TWRP

Masuk ke Fastboot:

adb reboot fastboot

Pasang TWRP:

sudo fastboot flash recovery twrp-3.1.1-1-sagit.img

Masuk ke TWRP:

sudo fastboot boot twrp-3.1.1-1-sagit.img

Masukkan sandi Anda untuk membuka partisi data. Normalnya, partisi data dikunci dengan pola.

Setelah di menu utama, kaitkan (mount) partisi /system:

adb shell mount /system

Non-aktifkan skrip rusuh yang membuat berhari-hari tak bisa tidur memikirkan apa yang salah dengan langkah yang telah dilakukan dahulu.

adb shell mv /system/bin/install-recovery.sh /system/bin/install-recovery.sh.bak

Sampai langkah ini TWRP selesai dipasang. Selanjutnya, mari memasang Magisk SU.

Memasang Magisk

Versi yang saya pasang saat penulisan adalah versi 13.5 Beta. Versi 13.3 yang terpasang pada MIUI 8 dahulu tidak dapat melewati Safety Net. Safety Net adalah mekanisme Google untuk menguji apakah sistem Android yang ada cukup aman untuk dapat mengaktifkan Google Payment dan fasilitas lainnya yang membutuhkan keamanan.

Taruh ZIP Magisk ke Mi6:

adb push Magisk-v13.5\(1350\).zip /sdcard

Dari TWRP, pilih Install  lalu pilih berkas Magisk-v13.5(1350).zip yang baru saja ditaruh di /sdcard.

Setelah melakukan pemasangan, jangan lupa hapus Cache/Dalvik Cache.

Mi6 telah di-root dan melewati Safety Net.

Magisk 13.5 Beta passing Safety Net.

Magisk 13.5 Beta passing Safety Net.

Tambahan

Berikut modul-modul Magisk yang saya pasang:

  1. Enable Camera2 API.  Google Camera memiliki kemampuan HDR+ yang memerlukan API Camera2. Mamun sayangnya, MIUI 9 secara baku menggunakan HAL1, bukan HAL3. Modul ini diperlukan untuk mengaktifkan HAL3.
  2. F-Droid Privileged Extension. Saya pengguna F-Droid.
  3. Terminal Emulator Debloater. Saya tidak suka banyak aplikasi bawaan MIUI 9.
  4. Universal SafetyNet Fix. Modul ini membetulkan Mi6 untuk dapat melewati SafetyNet.

Sekian.

Bacaan Lebih Lanjut

on 14 Aug 2017 06:58 PM

11 Aug 2017

Super Android, recharge!

ISI ARTIKEL INI DAPAT MEMBUAT XIAOMI MI6 ANDA RUSAK!

SAYA TIDAK MENGANJURKAN UNTUK MELAKUKAN INI 

DAN SEBAGAI PENULIS TIDAK BERTANGGUNG JAWAB

ATAS APA YANG ANDA LAKUKAN.

Ini sekedar pengalaman saya saja, tolong jangan jadikan tutorial resmi. Untuk bisa melakukan ini, hal-hal yang telah saya persiapkan:

  • Memiliki GNU/Linux KDE Neon (Ubuntu 16.04) yang sudah terpasang fastboot dan adb dengan benar. Artinya, keduanya sudah bisa membaca Android.
  • Xiaomi Mi6 sudah di-unlock secara resmi.
  • USB Debug sudah diaktifkan di mode pengembang.
  • Sudah memasang TWRP 3.1.1-0. Namun, ini tidak penting, karena pemasangan tidak dari recovery, tapi dari fastboot.
  • ROM versi Fastboot dari forum MIUI untuk Mi6. Besar berkas sekitar 2GB (2020MB), jadi silakan ditunggu saja unduhannya. Sengaja tidak saya kasih hotlink, tidak sopan.

Hal yang mau saya capai adalah memasang MIUI 9 tanpa menghapus aplikasi lama.

MASUK KE FASTBOOT

MIUI menyediakan dua versi, Recovery dan Fastboot. Untuk Mi6 yang dari MIUI 8 Global Stable (V8.2.2.0.NCAMIEC), tidak bisa melakukan dari recovery.

  1. Matikan perangkat Mi6.
  2. Setelah mati, tekan tombol Volume Turun + Power. Tahan sampai muncul tampilan Fastboot.
  3. Terakhir, hubungkan perangkat Mi6 ke PC/Laptop. Saya sarankan dengan laptop, sih. Supaya catu daya stabil dan gangguan listrik padam minim. Takut gagal di tengah jalan dan perangkat jadi bata.

Pasang MIUI 9

Paket MIUI yang kita unduh itu sebenarnya berkas TAR yang membungkus semua berkas IMG dan skrip pasang. Bongkar dan masuk ke direktori:

tar xvfz sagit_global_images_7.8.10_20170810.0000.00_7.1_global_8039c40e70.tgz
cd sagit_global_images_7.8.10_20170810.0000.00_7.1_global

Jalankan skrip flash_all_except_storage.sh. Saya pilih skrip ini karena saya tidak mau konfigurasi dan aplikasi yang telah saya pasang hilang.

$ sudo bash flash_all_except_storage.sh 
[sudo] password for jp: 
product: sagit
erasing 'boot'...
OKAY [  0.007s]
finished. total time: 0.007s
target reported max download size of 536870912 bytes
sending 'crclist' (0 KB)...
OKAY [  0.001s]
writing 'crclist'...
OKAY [  0.002s]
finished. total time: 0.003s
target reported max download size of 536870912 bytes
sending 'sparsecrclist' (0 KB)...
OKAY [  0.000s]
writing 'sparsecrclist'...
OKAY [  0.000s]
finished. total time: 0.001s
target reported max download size of 536870912 bytes
sending 'xbl' (3970 KB)...
OKAY [  0.128s]
writing 'xbl'...
OKAY [  0.104s]
finished. total time: 0.232s
target reported max download size of 536870912 bytes
sending 'xblbak' (3970 KB)...
OKAY [  0.126s]
writing 'xblbak'...
OKAY [  0.135s]
finished. total time: 0.261s
target reported max download size of 536870912 bytes
sending 'abl' (108 KB)...
OKAY [  0.004s]
writing 'abl'...
OKAY [  0.003s]
finished. total time: 0.007s
target reported max download size of 536870912 bytes
sending 'ablbak' (108 KB)...
OKAY [  0.004s]
writing 'ablbak'...
OKAY [  0.005s]
finished. total time: 0.008s
target reported max download size of 536870912 bytes
sending 'tz' (1892 KB)...
OKAY [  0.061s]
writing 'tz'...
OKAY [  0.050s]
finished. total time: 0.111s
target reported max download size of 536870912 bytes
sending 'tzbak' (1892 KB)...
OKAY [  0.060s]
writing 'tzbak'...
OKAY [  0.069s]
finished. total time: 0.129s
target reported max download size of 536870912 bytes
sending 'hyp' (248 KB)...
OKAY [  0.009s]
writing 'hyp'...
OKAY [  0.007s]
finished. total time: 0.016s
target reported max download size of 536870912 bytes
sending 'hypbak' (248 KB)...
OKAY [  0.009s]
writing 'hypbak'...
OKAY [  0.007s]
finished. total time: 0.016s
target reported max download size of 536870912 bytes
sending 'rpm' (228 KB)...
OKAY [  0.008s]
writing 'rpm'...
OKAY [  0.007s]
finished. total time: 0.015s
target reported max download size of 536870912 bytes
sending 'rpmbak' (228 KB)...
OKAY [  0.008s]
writing 'rpmbak'...
OKAY [  0.007s]
finished. total time: 0.015s
target reported max download size of 536870912 bytes
sending 'pmic' (49 KB)...
OKAY [  0.002s]
writing 'pmic'...
OKAY [  0.002s]
finished. total time: 0.004s
target reported max download size of 536870912 bytes
sending 'pmicbak' (49 KB)...
OKAY [  0.002s]
writing 'pmicbak'...
OKAY [  0.002s]
finished. total time: 0.005s
target reported max download size of 536870912 bytes
sending 'devcfg' (56 KB)...
OKAY [  0.002s]
writing 'devcfg'...
OKAY [  0.002s]
finished. total time: 0.004s
target reported max download size of 536870912 bytes
sending 'storsec' (48 KB)...
OKAY [  0.002s]
writing 'storsec'...
OKAY [  0.002s]
finished. total time: 0.004s
target reported max download size of 536870912 bytes
sending 'bluetooth' (380 KB)...
OKAY [  0.013s]
writing 'bluetooth'...
OKAY [  0.011s]
finished. total time: 0.024s
target reported max download size of 536870912 bytes
sending 'cmnlib' (212 KB)...
OKAY [  0.007s]
writing 'cmnlib'...
OKAY [  0.008s]
finished. total time: 0.015s
target reported max download size of 536870912 bytes
sending 'cmnlibbak' (212 KB)...
OKAY [  0.008s]
writing 'cmnlibbak'...
OKAY [  0.008s]
finished. total time: 0.016s
target reported max download size of 536870912 bytes
sending 'cmnlib64' (275 KB)...
OKAY [  0.009s]
writing 'cmnlib64'...
OKAY [  0.010s]
finished. total time: 0.019s
target reported max download size of 536870912 bytes
sending 'cmnlib64bak' (275 KB)...
OKAY [  0.010s]
writing 'cmnlib64bak'...
OKAY [  0.008s]
finished. total time: 0.018s
target reported max download size of 536870912 bytes
sending 'modem' (110524 KB)...
OKAY [  3.545s]
writing 'modem'...
OKAY [  4.501s]
finished. total time: 8.046s
target reported max download size of 536870912 bytes
sending 'dsp' (16384 KB)...
OKAY [  0.518s]
writing 'dsp'...
OKAY [  0.450s]
finished. total time: 0.968s
target reported max download size of 536870912 bytes
sending 'keymaster' (369 KB)...
OKAY [  0.013s]
writing 'keymaster'...
OKAY [  0.011s]
finished. total time: 0.023s
target reported max download size of 536870912 bytes
sending 'keymasterbak' (369 KB)...
OKAY [  0.013s]
writing 'keymasterbak'...
OKAY [  0.013s]
finished. total time: 0.026s
target reported max download size of 536870912 bytes
sending 'logo' (14132 KB)...
OKAY [  0.446s]
writing 'logo'...
OKAY [  0.534s]
finished. total time: 0.980s
target reported max download size of 536870912 bytes
sending 'splash' (167 KB)...
OKAY [  0.006s]
writing 'splash'...
OKAY [  0.024s]
finished. total time: 0.030s
target reported max download size of 536870912 bytes
sending 'misc' (8 KB)...
OKAY [  0.001s]
writing 'misc'...
OKAY [  0.001s]
finished. total time: 0.002s
target reported max download size of 536870912 bytes
erasing 'system'...
OKAY [  0.541s]
sending sparse 'system' 1/7 (515528 KB)...
OKAY [ 23.088s]
writing 'system' 1/7...
OKAY [ 21.534s]
sending sparse 'system' 2/7 (509068 KB)...
OKAY [ 20.232s]
writing 'system' 2/7...
OKAY [ 22.077s]
sending sparse 'system' 3/7 (524282 KB)...
OKAY [ 21.680s]
writing 'system' 3/7...
OKAY [ 21.243s]
sending sparse 'system' 4/7 (518394 KB)...
OKAY [ 21.380s]
writing 'system' 4/7...
OKAY [ 19.992s]
sending sparse 'system' 5/7 (524202 KB)...
OKAY [ 21.734s]
writing 'system' 5/7...
OKAY [ 23.267s]
sending sparse 'system' 6/7 (472247 KB)...
OKAY [ 18.714s]
writing 'system' 6/7...
OKAY [ 20.218s]
sending sparse 'system' 7/7 (81808 KB)...
OKAY [  3.096s]
writing 'system' 7/7...
OKAY [  4.964s]
finished. total time: 263.760s
target reported max download size of 536870912 bytes
erasing 'cache'...
OKAY [  0.008s]
sending 'cache' (6200 KB)...
OKAY [  0.196s]
writing 'cache'...
OKAY [  0.351s]
finished. total time: 0.555s
target reported max download size of 536870912 bytes
sending 'recovery' (22169 KB)...
OKAY [  0.713s]
writing 'recovery'...
OKAY [  0.579s]
finished. total time: 1.292s
erasing 'sec'...
OKAY [  0.000s]
finished. total time: 0.000s
target reported max download size of 536870912 bytes
sending 'cust' (341855 KB)...
OKAY [ 10.859s]
writing 'cust'...
OKAY [ 21.771s]
finished. total time: 32.630s
target reported max download size of 536870912 bytes
sending 'boot' (20085 KB)...
OKAY [  0.631s]
writing 'boot'...
OKAY [  0.682s]
finished. total time: 1.313s
rebooting...

finished. total time: 0.050s

Proses ini memakan waktu sekitar 50 detik. Setelah selesai dengan sempurna, skrip akan memulai ulang perangkat Mi6.

Selesai.

MIUI 9 Global Beta

MIUI 9 Global Beta

Aplikasi saya tidak terhapus, namun saya tidak lagi ter-root. Perangkat jauh lebih enteng dan cair. Ya, berhubung setelah memasang saya langsung menulis ini, saya belum menjelajahi lebih lanjut. Namun, sejauh ini, sih, saya senang.

Bacaan Lebih Lanjut

on 11 Aug 2017 07:48 AM

10 Aug 2017

Pasang repositori resmi Zabbix 3.2 untuk Debian Jessie

wget http://repo.zabbix.com/zabbix/3.2/debian/pool/main/z/zabbix-release/zabbix-release_3.2-1+jessie_all.deb
sudo dpkg -i zabbix-release_3.2-1+jessie_all.deb
sudo apt update

Pasang peladen Zabbix dan antarmuka webnya:

sudo apt-get install zabbix-server-pgsql zabbix-frontend-php php5-pgsql

Peladen Zabbix

Buat basisdata PostgreSQL untuk digunakan Zabbix dengan sedikit sentuhan nama yang cukup kreatif (menurut saya, kayaknya).

sudo -u postgres createuser -DAP terjabiks
sudo -u postgres createdb -O terjabiks jabikdb

Buat skema Zabbix di basisdata yang sudah dibuat:

zcat /usr/share/doc/zabbix-server-pgsql/create.sql.gz | psql -U terjabiks -h localhost jabikdb

Setelah itu, jangan lupa sesuaikan konfigurasi peladen Zabbix (/etc/zabbix/zabbix_server.conf) dengan login PostgreSQL yang sudah dibuat. Cari baris-baris yang berisi hal berikut dan ganti. Sandinya tentu saja ubah, ya, sesuai dengan sandi yang sudah dibuat sebelumnya. Saya menggunakan pwgen untuk membuat sandi.

DBHost=localhost
DBName=jabikdb
DBUser=terjabiks
DBPassword=P4S$WoRDYgDiBuatPak3PwG3nAja

Setelah itu, jalankan ulang peladen Zabbix agar menggunakan konfigurasi yang sudah diubah:

sudo systemctl restart zabbix-server

Peladen Antarmuka Web Zabbix

Ubah konfigurasi /etc/zabbix/apache.conf untuk menambahkan Timezone. Kebetulan saya di Asia/Jakarta (GMT+7).

sudo sed -i  -e"s/# php_value date.timezone.*$/php_value date.timezone Asia\/Jakarta/" /etc/zabbix/apache.conf

Jalankan ulang Apache2.

sudo systemctl restart apache2

Buka peladen dan arahkan ke http://<alamat.server.zabbix.anda>/zabbix

Konfigurasi Web Zabbix

Klik Next step terus sampai konfigurasi basisdata dan isi sesuai yang diset tadi.

Zabbix Web configuring database backend.

Lalu klik Next step. Masukkan nama Zabbix Anda kalau mau.

zabbix detail name

Zabbix detail name

Pencet terus Next step sampai Finish.

Selesai.

Admin awal loginnya: Admin dan sandinya zabbix bila ingin masuk.

 

 

Bacaan Lebih Lanjut

on 10 Aug 2017 12:43 AM

09 Aug 2017

Lama saya baru sadar kalau tulisan-tulisan lama di blog ini tidak lagi bisa diakses. Baru sadar setelah iseng-iseng baca tulisan-tulisan lama saya sendiri. Secara naluri otomatis saya menyalahkan plugin-plugin baru yang saya pasang. Termasuk menyalahkan update WordPress terbaru.

Utak-atik sana-sini, lama baru ketemu apa penyebabnya.

Ternyata karena plugin Facebook OpenGraph, Twitter Card, dkk. 😐

on 09 Aug 2017 09:51 AM

26 Jul 2017

#TeamElonMusk

Jan Peter

Super Android, recharge!

Mark Zuckerberg dan Elon Musk berselisih pendapat mengenai keberadaan kecerdasan buatan (Artificial Intelligence/A.I.). Perselisihan dimulai dari Elon Musk yang menginginkan agar pemerintahan seluruh dunia segera bersatu membuat aturan yang mengatur kecerdasan buatan. Kemudian, melalui Facebook Live, Zuckerberg membantah Elon Musk dan mengatakan bahwa kecerdasan buatan sangat membantu dan berharap bahwa 10 tahun mendatang kecerdasan buatan dapat menolong memperbaiki kehidupan manusia. Elon Musk merupakan bagian dari penanda tangan surat terbuka yang dibuat tahun 2015 untuk meminta pengembangan kecerdasan buatan yang bertanggung jawab.

Kata-kata Mereka

Agar elok, mari kita bandingkan perkataan mereka mengenai kecerdasan buatan agar lebih mudah membahas apa sebenarnya yang menjadi masalah.

Perkataan Elon Musk

Berikut apa yang dikatakan oleh Elon Musk:

“Normally the way regulations are set up is a whole bunch of bad things happen, there’s a public outcry and then after many years the regulatory agencies set up to regulate that industry. That in the past has been bad but not something that represented a fundamental risk to the existence of civilisation. AI is a fundamental risk to the existence of civilisation in a way that car accidents, aeroplane crashes, faulty drugs or bad food were not. They were harmful to a set of individuals but they were not harmful to society as a whole.”

Menurut Musk, normalnya regulasi dibuat setelah terjadi pertentangan di publik yang memaksa sesuatu untuk diregulasi. Hal ini karena risiko yang dapat timbul tidak mengancam keberadaan peradaban manusia. [Sedangkan] Kecerdasan Buatan adalah ancaman yang mengancam peradaban yang mana berbeda [tingkat ancamannya] dengan kecelakaan mobil, kecelakaan pesawat, obat-obatan terlarang,  atau makanan yang buruk. Semuanya itu berbahaya kepada beberapa individu, tetapi mereka tidak berbahaya kepada masyarakat secara keseluruhan [seperti kecerdasan buatan].

Elon Musk mencemaskan kecerdasan buatan yang dapat mengancam keberadaan peradaban manusia.

Perkataan Zuckerberg

Berikut yang dikatakan oleh Zuckerberg:

I have pretty strong opinions on this. I am optimistic. I think you can build things and the world gets better. But with AI especially, I am really optimistic. And I think people who are naysayers and try to drum up these doomsday scenarios—I just, I don’t understand it. It’s really negative and in some ways I actually think it is pretty irresponsible In the next five to 10 years, AI is going to deliver so many improvements in the quality of our lives… Whenever I hear people saying AI is going to hurt people in the future, I think, “yeah, you know, technology can generally always be used for good and bad, and you need to be careful about how you build it, and you need to be careful about what you build and how it is going to be used.” But people who are arguing for slowing down the process of building AI, I just find that really questionable. I have a hard time wrapping my head around that.

Zuckerberg berpendapat bahwa kita dapat membangun banyak hal untuk membuat dunia yang lebih baik. Tentang kecerdasan buatan, dia optimis dan tidak mengerti mengapa ada orang-orang yang menentang dengan alasan penyebab kiamat. Padahal, dalam waktu 10 tahun, kecerdasan buatan dapat meningkatkan kualitas hidup kita. Memang, semua teknologi bisa digunakan untuk kebaikan atau kejahatan dan kita harus berhati-hati dalam menggunakan teknologi. Untuk orang-orang yang berargumen untuk memperlama proses pembuatan kecerdasan buatan, Zuckerberg mempertanyakan pendapat tersebut.

Zuckerberg berpendapat bahwa kecerdasan buatan hanyalah sebuah teknologi sama seperti teknologi lainnya. Ia dapat digunakan untuk kebaikan atau keburukan. Sehingga, memperlambat pengembangannya adalah hal yang tidak masuk akal.

Kecerdasan Buatan yang Dimaksud

Apa, sih, yang mereka perdebatkan?

Dari segi tingkat kecerdasan, ada tiga jenis kecerdasan buatan:

  • Kecerdasan Buatan Lemah, Weak A.I./Artificial Narrow Intelligence (ANI). Sistem kecerdasan buatan yang dibuat untuk menyelesaikan satu area permasalahan saja. Misalnya, kecerdasan buatan yang dibuat untuk bermain catur.
  • Kecerdasan Buatan Umum, Artificial General Intelligence (AGI). Sistem kecerdasan buatan yang dibuat untuk mereplikasi pikiran manusia.
  • Kecerdasan Buatan Super, Artificial Superintelligence (ASI). Sistem kecerdasan buatan yang memiliki kemampuan berpikir jauh lebih pintar dari manusia.

Hal yang ditakutkan oleh Elon Musk adalah kecerdasan buatan umum (AGI) yang saat ini sedang dikembangkan. Ada dua sifat yang menjadi ancaman membuat kecerdasan buatan ini menakutkan:

  1. AGI memiliki kemampuan untuk berkomunikasi dengan bahasa yang tidak dimengerti oleh manusia. Hal ini membuat penyeliaan menjadi proses yang rumit bahkan mustahil.
  2. AGI memiliki kemampuan untuk memperbaiki algoritma untuk mencapai tujuan. Perbaikan tanpa penyeliaan manusia dapat menghasilkan keputusan yang tidak dapat dicegah.

Intinya, ketika pengembangan kecerdasan buatan tanpa penyelia tercapai masalah dapat muncul. Arah algoritma yang tak terduga dapat membuat algoritma kecerdasan buatan menjadi jahat (rogue). Itu sebabnya, ada usaha seperti Google yang berusaha mengembangkan kecerdasan buatan yang tidak curang.

Ancaman Nyata Saat Ini

Hal yang paling berpengaruh dalam kecerdasan buatan adalah otomatisasi. Otomatisasi meningkatkan efisiensi yang dapat menurunkan biaya produksi. Lengan-lengan robotika dan mesin yang diatur secara canggih menghasilkan paket produk secara cepat.

Sayangnya, keberadaan otomatisasi menghilangkan kebutuhan industri akan pekerja (manusia). Otomatisasi menghilangkan banyak pekerjaan yang tersedia bagi manusia. Mereka tergantikan oleh mesin yang lebih efisien dan anti mogok kerja.

Zuckerberg tidaklah 100% melawan Musk. Seperti Elon Musk, dia menyetujui juga pentingnya pendapatan dasar universal (universal basic income, UBI). Pendapatan dasar universal adalah bantuan tunai langsung yang diberikan oleh pemerintah kepada masyarakat akibat adanya otomatisasi industri yang menggantikan pekerja. Sebagai contoh, Pemerintah Alaska menerapkan kebijakan Permanent Fund Dividend (PFD) yang memberikan uang rata-rata senilai US$1.000,00 per kepala.

Pemerintahan SBY pernah mencoba melakukan program UBI melalui Bantuan Langsung Tunai (BLT). Penyebabnya bukanlah otomatisasi industri, tetapi inflasi yang berlebihan. Namun, karena data penduduk yang digunakan adalah data lama, maka BLT berlangsung gagal dan mendapat kecaman. Timbul konflik di beberapa daerah akibat adanya BLT. Selain itu, persepsi masyarakat merasa bahwa BLT membebankan APBN. Waktu yang terbatas pun menjadikan BLT menjadi tidak tepat guna karena belum sempat efektif implementasinya.

Padahal, menurut Evans dan Popova dalam penelitian mereka di Kenya, justru tingkat penggunaan uang dari BLT sangat baik. Ketika wanita menjadi pemegang keuangan, alkohol dan rokok justru tidak terbeli. Mereka fokus untuk pemenuhan rumah tangga. Mungkin, itulah sebabnya Jokowi/Ahok menggunakan variasi BLT dalam KJP untuk dapat menaikkan standar hidup mereka sekaligus memberikan kepercayaan kepada masyarakat bahwa uang yang diberikan tidak untuk disia-siakan.

UBI bisa jadi solusi jangka panjang untuk hilangnya lapangan pekerjaan. Ada tantangan yang akan dihadapi ketika ini diterapkan di Indonesia. Pendataan penduduk yang akurat dan waktu untuk menerapkan yang cukup lama. Selain itu, pemerintah memiliki tugas untuk meyakinkan masyarakat yang masih memiliki lapangan pekerjaan bahwa tidak apa untuk memberikan gratis uang kepada mereka yang pekerjaannya terhilang.

Saya belum yakin kalau Indonesia akan bisa menganggap mereka yang menganggur sebagai penyebab hilangnya lapangan pekerjaan. Jangan-jangan, saat otomatisasi tiba, kita akan mengira bahwa mereka hanyalah orang-orang yang malas. Bahkan, kita tidak lagi mengganggap mereka adalah orang-orang yang kesempatannya telah hilang, tetapi lebih rendah dari itu.

Itulah makanya, saya setuju bahwa pencapaian teknologi perlu diimbangi dengan kajian yang mendalam mengenai dampak sosial yang akan muncul. Tidak untuk mencegah kemajuan, namun untuk sebuah kemanusiaan yang masih bebas dan merdeka.

on 26 Jul 2017 03:25 PM

24 Jul 2017

Karena harddisknya di pindah ke server lain, ethernet cardnya tidak ke detek di config /etc/network/interface

silahkan ketik perintah

lspci | grep -i net

pastikan network card sudah terdetek pada OSnya

silahkan ketik perintah

sudo ls /sys/class/net

apakah ada perubahan nama network card yang biasa  eth0 atau eth1 menjadi yang lain seperti eth2 dan eth3 dst..

selanjutnya silahkan rubah pada config /etc/network/interface

Reboot kembali server


on 24 Jul 2017 06:46 AM

20 Jul 2017

Selama beberapa tahun saya terbiasa menggunakan Digital Audio Workstation (DAW) yang bernama Ableton. Ketika masih di Windows, ataupun ketika sudah berganti ke laptop Mac. Kekurangannya, hampir semua instrumen bawaan Ableton tidak pernah saya gunakan. Mentok saya cuma gunakan untuk membuat white-noise.  Jadinya sangat bergantung dengan VST.

Setelah install ulang Mac saya dengan OS terbaru (Sierra), saya memutuskan berganti ke Logic Pro X. Agak berat sebenarnya, karena Logic ini hanya tersedia di Mac. Jika suatu saat nanti saya berganti ke OS lain, otomatis program ini tidak bisa saya gunakan lagi.

Saya nyaman sekali menggunakan Ableton sebenarnya. Tapi selain kekurangan di atas, harga Ableton juga mahal, $799, kalau dikonversi ke Rupiah menjadi sekitar Rp 10 juta.

FL Studio saya tidak begitu familiar, cuma pernah coba sehari atau 2 hari jaman kuliah dulu. Harganya sama dengan Logic sebenarnya, itu sudah termasuk berbagai instrumen VST. Sayangnya FL Studio tidak tersedia untuk Mac. Dulu sih mereka pernah meluncurkan versi Betanya untuk Mac. Tapi entah mengapa gak lanjut.

Anyway, akhirnya saya akhirnya membeli Logic Pro. $199, dirupiahkan kemarin menjadi Rp2,99 jt. Tapi ini sudah dilengkapi berbagai instrumen dan sampler. Selain itu kita bisa download sekitar 80GB sound sample dan loop, gratis, free royalti, resmi dari Apple. Jadi enggak perlu beli sample sound seperti Vengeance dkk, yang harganya justru lebih mahal dari Logic.

Setelah coba-coba selama sebulanan (yes, this is my first time using Logic), akhirnya berhasil jadi 1 lagu, genrenya dance music. Saya juga gak tahu ini genre Electro House, atau apa. Saya cuma pehobi amatiran. Kalau suka silahkan didownload via situs-situs downloader YouTube itu. 😀

Gimana, enak lagunya?

on 20 Jul 2017 04:33 PM

17 Jul 2017

Nggak lama setelah saya meningkatkan versi Fedora pada mesin yang saya gunakan, saya jelas mencoba-coba apa yang ada sebelumnya. Apakah semuanya berjalan dengan lancar. Nyatanya, sebagian besar aplikasi dapat berjalan dengan baik ketika saya meningkatkan versi Fedora menjadi versi 26.

Kemudian, apakah memang tidak ada masalah terkait aplikasi? Ya jelas ada. VirtualBox yang saya gunakan mengeluarkan pesan galat, ketika saya mencoba menjalankannya. Entah apakah ada hubungannya dengan hal yang terjadi sebelumnya, di mana repositori VirtualBox yang saya pasang, ketika melakukan update, malah muncul pesan galat seperti gambar di bawah:


Failed to synchronize. Ya sudah lah.. Daripada gatel sama pesan galat tersebut, diputuskan untuk tidak dilakukan investigasi dalam waktu secepatnya. Bisa jadi memang belum ada repositori yang tersedia bagi VirtualBox untuk Fedora 26. Rename sahaja nama repositori untuk VirtualBox ini. Masalah selesai. 

Tapi sebetulnya masalah yang sebenarnya adalah, VirtualBox yang sudah terpasang tidak mau jalan malah memunculkan pesan seperti ini:


Lantas kemudian diikuti dengan pesan seperti ini:


La dalah! Terkait kernel. Setidaknya pesan galat di atas sudah memberitahu apa yang harus dilakukan. Saya melakukan pemeriksaan apakah paket akmod-VirtualBox sudah terpasang. Sesuai perintah, Terminal mengatakan sudah terpasang.

Lantas? Saya coba menjalankan perintah systemctl dst dst, memang memunculkan pesan galat sich. Katanya systemd-modules-load.service nggak jalan. Lah...kenapa bisa? Nggak tempe jugak kenapa. Asumsinya...ya masalah terkait kernel lagih. Cuman apa?!

Ternyata, saya terlewat satu perintah. Perhatikan sekali lagi pesan galat dari gambar di atas. Ada satu perintah yang seharusnya saya eksekusi. Apa itu?
/usr/bin/akmods
Ya, saya terlewat, bahwasanya saya harus menjalankan perintah itu jugak. Bagaimana hasilnya? Perintah pertama, saya lalui tanpa hasil, dengan meninggalkan pesan untuk menambahkan opsi --force. Jad perintahnya begini:
/usr/bin/akmods --force
Hasil akhirnya, sekaligus dengan perintah yang sebelumnya saya eksekusi, seperti pada gambar di bawah:


Dengan hasil akhir seperti gambar di atas, VirtualBox yang sudah terpasang bisa berjalan lagi dengan baik.

Demikian, pada akhirnya, selamat menikmati :).
on 17 Jul 2017 01:35 PM

14 Jul 2017


Anda pengguna GnU/Linux Fedora dan sudah mendengar kabar bahwasanya Fedora v.26 sudah rilis? Segera tingkatkan versinya donq. Saya sudah ;).

Saya memang sudah menunggu. Sedari masih versi Alpha, ada keinginan untuk meningkatkan versi, tapi resiko ditanggung sendiri karena masih versi pengembangan. Sedangkan saya khawatir versi pengembangan bisa menghambat produktifitas saya. Ceritanya sich begitu.

Namun, setelah ada pengumuman resmi bahwasanya Fedora 26 sudah rilis secara resmi, saya memberanikan diri untuk segera meningkatkan versi Fedora, pada mesin yang saya gunakan. Oia, saat ini, dibandingkan dengan distribusi lain, sebut sahaja GnU/Linux Ubuntu, Fedora merupakan distribusi yang tingkat peningkatan versinya, dengan metode peningkatan daring, paling baik. Sudah beberapa kali saya melakukan peningkatan versi dengan cara peningkatan daring, hasilnya tidak pernah mengecewakan. Berbeda dengan distribusi lain.

Kemudian, bagaimana caraya melakukan peningkatan versi tersebut? Metoda peningkatan versi yang saya lakukan adalah peningkatan secara manual. Saya menggunakan Fedora dengan lingkungan destop MATE. Peningkatan secara manual dimaksud adalah dengan menggunakan Terminal (antarmuka baris perintah).

Pertama, perintah yang dimasukkan adalah:
# dnf upgrade --refresh
Untuk perintah berikutnya, apabila pernah melakukan peningkatan versi, tidak perlu memasukkan perintah ini:
# dnf install dnf-plugin-system-upgrade
Selanjutnya adalah masukkan perintah ini:
# dnf system-upgrade download --releasever=26
Sebagai catatan, berdasarkan informasi pada bahan bacaan dan pengalaman di lapangan, untuk menghindari masalah peningkatan versi karena paket yang tidak bisa ditingkatkan versinya, kerusakan ketergantungan, atau mungkin paket-paket yang sudah ketinggalan jaman, silahkan tambahkan opsi --allowerasing pada perintah di atas. Opsi tersebut memungkinkan dnf untuk secara otomatis menghilangkan hambatan yang terjadi ketika proses peningkatan dilakukan.

Kurang lebihnya, Terminal akan menampilkan daftar paket-paket yang dibutuhkan untuk Fedora 26.


Tunggu beberapa lama sampai proses pemasangan selesai. Ketika proses pemasangan selesai, perintah berikutnya adalah:
# dnf system-upgrade reboot
Pada saat boot ulang, grub masih akan menunjukkan informasi versi terdahulu. Biarkan sahaja. Tidak usah khawatir. Karena setelah masuk, proses peningkatan versi yang sebetulnya akan dimulai dan ini akan memakan waktu yang cukup lama. Cukup untuk Anda membuat kopi, memesan sepiring nasi goreng, sampai menghabiskannya. Mungkin. Tergantung spesifikasi mesin yang Anda gunakan :).





Nah, dengan ditutup menggunakan gambar terakhir di atas, proses peningkatan versi harusnya sudah selesai dan Fedora 26 sudah bisa dinikmati.

Untuk bacaan lebih lanjut, silahkan merujuk pada daftar bacaan di bawah. Semoga membantu.

Daftar bacaan:

  1. https://fedoramagazine.org/upgrading-fedora-25-fedora-26/
Keterangan:
Semua gambar yang disertakan diambil dari laman Fedora Magazine.
on 14 Jul 2017 12:41 AM

03 Jul 2017

Kasusnya adalah, saya menggunakan Fedora 25 (tepatnya peningkatan versi dari 24 ke 25) namun ternyata, untuk apapun, saya mau menggunakan aplikasi ini dalam format destop, tidak dalam format web.

Aplikasinya adalah WhatsApp. Ya betul, kenapa harus repot-repot mencari aplikasi untuk destop, kalau dengan menggunakan peramban, kamu sudah merasakan pengalaman yang sama dengan aplikasi destop? Masalah rasa, saya kira. Saya nggak mau membuka terlalu banyak tab, bikin bingung.

Sampai saat ini, aplikasi destop untuk WhatsApp hanya tersedia untuk sistem operasi Microsoft Windows dan MacOS. Entah kenapa, WhatsApp tidak mempertimbangkan mengembangkan aplikasi destop untuk sistem operasi GnU/Linux [1]. Atau memang ada alasan yang lebih terang? Silahkan.

Sebagai pengguna sistem operasi GnU/Linux, bagi saya, awalnya adalah mustahil untuk bisa menggunakan aplikasi destop untuk WhatsApp. Jangan membicarakan Telegram yang sejak lama menyediakan aplikasi destop bagi Gnu/Linux. Sebetulnya ada aplikasi tidak resmi berbasis destop untuk klien WhatsApp, bernama Whatsie. Namun entah bagaimana, melalui laman pengembangannya via GitHub, pengembang Whatsie memutuskan untuk tidak meneruskannya. CMIIW.

Seperti tidak ada jalan terang untuk aplikasi destop bagi WhatsApp. Tapi kemudian, Google Chrome memiliki "kesaktian" di mana aplikasi-aplikasi berbasis web dapat diubah menjadi seperti aplikasi berbasis destop. Bahkan membuka satu situs seperti layaknya membuka aplikasi destop, dapat dilakukan dalam moda ini. Moda ini disebut dengan "App." [2]

Bagaimana menjalankan WhatsApp dengan moda "App" ini? Pastinya, kita akan memanfaatkan layanan berbasis web dari WhatsApp yang biasa diakses di https://web.whatsapp.com.

Saat ini, seperti yang sudah disebutkan sebelumnya, saya menggunakan sistem operasi GnU/Linux Fedora 25 dengan lingkungan destop Mate.

Hal pertama yang saya lakukan adalah membuka tautan "Main Menu" yang tersedia di dalam Control Center lingkungan destop Mate.

Gambar 1. Tampilan Main Menu dalam menu Control Center
Main Menu pada Control Center berfungsi untuk mengatur apa yang ingin ditampilkan pada pilihan menu utama aplikasi yang disediakan oleh Mate. Dengan kata lain, kita akan membuat sebuah peluncur.

Untuk membuat peluncur baru, silahkan pilih pada menu utama aplikasi mana, peluncur, dalam hal ini WhatsApp Web App, kita akan meletakkannya. Pilihan saya adalah meletakkannya pada Applications > Other.

Gambar 2. Pilihan menu aplikasi
Berdasarkan panduan gambar di atas, pilih "New Item" untuk mulai membuat peluncur bagi aplikasi WhatsApp Web destop.

Gambar 3. Membuat peluncur untuk WhatsApp Web destop
Keterangannya begini:
Type: Biarkan seperti apa adanya. Application. Karena kita akan meluncurkan sebuah aplikasi to?
Name: Torehkan nama yang baik. Karena nama adalah doa
Command: Kuncinya adalah Jawa bagian ini. Pada bagian ini, silahkan masukkan perintah:
google-chrome --password-store=basic --app=https://web.whatsapp.com/
Comment: Bebas. Silahkan berikan pujian supaya nanti nggak mudah baper

Pada bagian ikon, kotak di sebelah kiri yang gambar landasan ber-per, silahkan gunakan ikon-ikon yang bisa dicari via mesin pencari. Supaya kita tahu bahwa peluncur yang kita buat merupakan peluncur untuk WhatsApp Web destop.

Kalau sudah dan tidak ada aral melintang, silahkan klik "Ok." Hasil akhirnya kurang lebih seperti ini:

Gambar 4. Bentukan akhir peluncur yang dibuat, tadi
 Nah setelah itu, silahkan nikmati aplikasi WhatsApp Web yang dibuat seperti aplikasi destop.

Gambar 5. WhatsApp Web moda destop
Bagaimana dengan Anda? Menggunakan distribusi GnU/Linux yang berbeda dan punya metode yang berbeda dengan saya? Silahkan dibagi cara-caranya, supaya pengguna lainnya pun bisa menikmati ;).

Bahan Bacaan:
[1] https://blog.whatsapp.com/10000621/Introducing-WhatsApps-desktop-app
[2] https://superuser.com/questions/459534/running-whatsapp-in-fedora

on 03 Jul 2017 03:25 PM

30 Jun 2017

In this tutorial, I assume that you are familiar with linux Terminal and basic command line.

Step 1.Make sure your wireless card in “Monitor mode”.
aireply01

Type “iwconfig your_wireless_card”.
You can turn off the wireless card, switch to ‘Monitor Mode’ and turn it on again.
aireply02

I prefer to use ‘airmong-ng’ to create a virtual wireless network. Airmon-ng is bash script that use to turn wireless card into monitor mode.
aireply03

Step 2. Run airodump-ng to check who are connected to your wifi network.
BSSID is your Access Point MAC address.
ESSID is your Access Point name.
STATION is the list of devices that are connected to BSSID.
For example, I want to kick out device with MAC address 70:72:0D:59:3D:81 from my Access Point. My Access Point MAC address is 98:DE:D0:4C:DF:74.
aireply04

Step 3. Run ‘aireply-ng’ to kick off the target.
Type: $ sudo aireplay-ng -0 0 -a your_Access_point -c your_target mon0
aireply05

 

 

 

 

 

 

 

 

 

 

 

 

 

 


on 30 Jun 2017 02:33 AM

Ping is a simple test to check if the target is exist. When your are connected with free wifi in a cafe library etc, and someone try to hack your system, usually this is one of the method that they do.

You can it using tcpdump.

If it’s not in your system yet, you can install by typing (for Ubuntu): apt-get install tcpdump in your linux terminal.

Type the command below to start the process:

sudo tcpdump -i wlan0 icmp and icmp[icmptype]=icmp-echo
-i option is for your wireless network interface. I use atheros chipset, so my one is wlan0.
When I ping from my other device, tcpdump will tell me that there is a device from an ip address try to ping me.
tcpdump


on 30 Jun 2017 02:31 AM

22 Jun 2017

Akhirnya, itu di sini. Debian 9. Stretch. Apa yang saya rasakan ketika versi ini dirilis untuk publik? Sebagai pengguna rata-rata, artinya, menggunakan sistem operasi untuk kegiatan sehari-hari yang sifatnya administratif, rasanya sama sama ketika saya mencoba menggunakan distribusi lain, seperti versi sebelumnya, Debian 8 Jessie atau OpenSUSE atau Ubuntu dan atau atau lainnya. Bisa jadi berbeda, bagi pengguna GnU/Linux dengan pemahaman lebih baik, misal bagi Administrator Sistem, bagi para pengembang perangkat lunak, bahkan bagi para pengembang sistem operasi.

Tapi bukan itu yang mau saya bahas pada tulisan kali ini. Tepatnya, lebih kepada kelakuan yang berbeda dari versi sebelumnya. Saya belum sempat menelusuri, apakah kelakuan ini sudah masuk ke dalam daftar kutu atau sebetulnya bahkan bukan kutu sama sekali.

Perlengkapan pada mesin yang saya gunakan adalah:

  1. Citra live Debian 9 Stretch yang saya unduh dari sini, https://cdimage.debian.org/debian-cd/current-live/amd64/iso-hybrid/
  2. Perangkat lunak VirtualBox versi 5.1.22
  3. Ubuntu Mate 16.04 sebagai OS host
Proses pemasangan berjalan dengan lancar. Setiap proses dilalui dengan baik termasuk proses ketika pemasang menanyakan password untuk akun root. Sebagai informasi, Debian termasuk salah satu distribusi yang menggunakan dua akun ketika proses pemasangan. Akun root sebagai administrator atau pengguna super, kedua adalah akun biasa yang kita pilih nama akunnya sesuai dengan kesukaan masing-masing. Kembali ke penanyaan password untuk akun root, tidak ada pesan galat apapun ketika proses ini selesai.

Dengan asumsi bahwa tidak adanya pesan galat selama proses pemasangan artinya pemasangan berjalan dengan lancar, maka pertama kali yang saya coba adalah akses akun pada terminal. Untuk memanggil akun root, saya biasa menggunakan perintah "su." Di sinilah pesan galat pertama kali keluar. Authentication failure. Saya merasa sudah memasukkan kata kunci yang benar. Setelah dicoba beberapa kali, tetap saja muncul pesan galat yang sama.

Bagaimana dengan perintah "sudo -s."? Perintah ini biasanya saya gunakan untuk memanggil akun biasa dengan fungsi administrasi. Muncul pesan galat yang berbeda. Alasannya, karena akun yang kita panggil, belom masuk ke dalam daftar sudoers. Tapi ini beda, saya akan ceritakan pada tulisan yang berbeda.

Kembali ke pesan galat Authentication failure, saya bahkan mencoba memasang ulang Debian 9 dan mencatat password akun root yang saya buat. Hasilnya? Tetap muncul pesan galat yang sama. Lantas, bagaimana bisa mengeksekusi perintah-perintah yang memerlukan akses administratif, sementara masuk ke dalam akun dengan akses administratif pun tidak bisa.

Akhirnya, coba cari jawaban via Google. Cukup lama, sampai akhirnya mendapatkan titik terang lewat tulisan pada blog ini, http://debian-bits-and-snips.blogspot.co.id/2011/07/root-password-recovery.html. Tautan tersebut dimuat pada salah satu forum diskusi daring. Saya lupa untuk menyimpan tautan forum diskusinya. Pada tautan tersebut, disebutkan bahwa dimungkinkan untuk merubah password akun root. Caranya?

Caranya begini. Nyalakan terlebih dahulu mesin yang telah terpasang Debian 9 atau mula-ulang sistem operasinya sampai muncul tampilan grub seperti gambar di bawah:



Seperti yang terlihat pada gambar, pilih pada menu yang ter-highlight, yang selanjutnya akan membawa kita pada menu berikutnya, seperti gambar di bawah:


Kemudian pilih menu yang ter-highlight, seperti yang dicontohkan oleh gambar dan diikuti dengan menekan tombol "e" pada papan kunci untuk mulai menyunting perintah sebelum boot ke dalam sistem operasi.

Setelah menekan tombol "e" maka akan muncul tampilan perintah seperti gambar di bawah:


Arahkan kursor pada baris yang dimulai dengan kata "linux" lalu tekan tombol "end" pada papan kunci untuk pergi ke akhir baris. Lantas pada akhir baris tambahkan satu spasi, lalu masukkan perintah "init=/bin/bash rw." Setelah memasukkan perintah tersebut, tekan kombinasi kunci ctrl+x atau F10 untuk boot ke dalam sistem. Berdasarkan tulisan di blog ini [1], baris perintah tadi akan membawa kita ke dalam lingkungan /bin/bash, alih-alih ke dalam lingkungan init yang biasa, seperti pada gambar di bawah:


Setelah masuk, seperti pada gambar di atas, masukkan perintah "passwd." Lalu kita diminta untuk memasukkan password yang baru. Segera masukkan password yang baru, setelah itu boot ulang sistem operasi dengan memasukkan perintah "reboot." Kalau melihat gambar di atas, perintah "reboot" sepertinya malah mengeluarkan pesan galat. Tambahkan opsi "-f" setelah perintah awal, maka dijamin, sistem akan memula-ulang, automagically.

Setelah memula-ulang dan masuk ke dalam sistem operasi, akhirnya, ketika saya memanggil perintah "su" dan memasukkan password yang baru tadi, hasilnya memuaskan. Akun root berhasil diambil alih ;).

Selamat menikmati.


Bahan bacaan:

  1. http://debian-bits-and-snips.blogspot.co.id/2011/07/root-password-recovery.html
Sumber gambar:
on 22 Jun 2017 04:26 PM

18 Jun 2017

Sejak teknologi A2DP muncul saya belum begitu tertarik untuk mencobanya. Baru kemarin-kemarin saja mulai tertarik untuk mencoba. Hasil dari mencoba menggunakan bluetooth speaker besutan Mifa jadi pengen mencoba merk lain dan yang relatif lebih kecil. Belilah... Xiaomi Bluetooth Speaker Portable yang bentuknya agak imut.

Awalnya memang digunakan di ponsel. Tapi iseng-iseng mencoba dikoneksikan dengan MacbookPro8,1 yang terinstall LinuxMint. Teman-teman menyebut Macbook yang saya gunakan adalah Macbook Bajakakan. Berikut langkah-langkah mengkoneksikan dengan Xiaomi Bluetooth Speaker Portable:
1. Klik pada bagian kanan bawah dengan logo Bluetooth kemudian muncul menu seperti gambar di bawah ini.


2. Pilih Bluetooth Settings maka akan muncul gambar dibawah ini.

3. Klik tanda plus (+) sambil mencari bluetooth sekitar menyala, pilih MI Portable Bluetooth Speaker, klik Continue .

4. Klik Quit, artinya komputer dan Xioami Bluetooth Speaker Portable sudah terkoneksi.

5. Setting Xiaomi Bluetooth Speaker Portable pada bagian Sound Settings.

6. Pilih Headset seperti pada gambar di bawah ini.

7. Anda juga dapat melakukan pengujian suara untuk memastikan suara dari komputer keluar di Xiaomi Bluetooth Speaker menggunakan Test Sound.

8. Setelah suara terdengar saatnya Anda menikmati hiburan favorit.




on 18 Jun 2017 09:34 AM

29 May 2017

Etcher by resin.io

Arif Syamsudin

Secara tidak sengaja, saya menemukan aplikasi ini ketika mencari-cari alternatif pembakar berkas image di luar kebiasaan yang saya gunakan. Untuk membakar berkas image sistem operasi (ke dalam flash drive) biasanya saya menggunakan perintah dd atau Unetbootin.


Secara prinsip, ya cara kerjanya sama dengan...Unetbootin atau mungkin pembakar berkas image yang lain, yang Anda kenal. Silahkan dicoba loh. Nah, cara memasangnya, bisa langsung unduh aplikasinya di https://etcher.io. Di laman tersebut, Anda bisa menyesuaikan pemasang aplikasinya dengan sistem operasi yang Anda gunakan.

Apabila Anda pengguna sistem operasi GnU/Linux Debian dan atau turunannya seperti Ubuntu, Anda dapat menambahkan repositori Etcher. Untuk menambahkan repositori Etcher:

a. Tambahkan daftar repositori ke dalam berkas /etc/apt/sources.list.d/etcher.list
deb https://dl.bintray.com/resin-io/debian stable etcher
b. Ambil kunci GPG untuk repositori tersebut
sudo apt-key adv --keyserver hkp://pgp.mit.edu:80 --recv-keys 379CE192D401AB61
c. Perbarui daftar repositori pada mesin kita dan pasang Etcher
sudo apt update
sudo apt install etcher-electron
Bam! There you have it, Etcher! Selamat menikmati.

Bacaan lebih lanjut:

  1. https://etcher.io/
  2. https://github.com/resin-io/etcher#debian-and-ubuntu-based-package-repository-gnulinux-x86x64  

 

on 29 May 2017 11:00 PM

16 Apr 2017

OK, langsung saja download flag.zip yang di berikan seperti diatas.
Sebelumnya, mari kita cek dahulu flagnya.
$ file flag.png 
flag.png: PNG image data, 960 x 5, 8-bit/color RGBA, non-interlaced

Bisa kita cek lebih dalam lagi file nya dengan binwalk.
$ binwalk flag.png 

DECIMAL HEXADECIMAL DESCRIPTION
--------------------------------------------------------------------------------
0 0x0 PNG image, 960 x 5, 8-bit/color RGBA, non-interlaced
253 0xFD Zlib compressed data, default compression
330 0x14A PNG image, 960 x 5, 8-bit/color RGBA, non-interlaced
392 0x188 Zlib compressed data, default compression
469 0x1D5 PNG image, 960 x 5, 8-bit/color RGBA, non-interlaced
---snip---
7514 0x1D5A Zlib compressed data, default compression
8404 0x20D4 PNG image, 960 x 5, 8-bit/color RGBA, non-interlaced
8466 0x2112 Zlib compressed data, default compression
9249 0x2421 PNG image, 960 x 5, 8-bit/color RGBA, non-interlaced
9311 0x245F Zlib compressed data, default compression

Setelah itu estrak file gambarnya menggunakan foremost.
$ foremost -v flag.png 
Foremost version 1.5.7 by Jesse Kornblum, Kris Kendall, and Nick Mikus
Audit File

Foremost started at Fri Apr 14 00:57:40 2017
Invocation: foremost -v flag.png
Output directory: /home/darm/CTF/FITHACK/forensic/aw/output
Configuration file: /etc/foremost.conf
Processing: flag.png
|------------------------------------------------------------------
File: flag.png
Start: Fri Apr 14 00:57:40 2017
Length: 82 KB (84177 bytes)

Num Name (bs=512) Size File Offset Comment

0: 00000000.png 330 B 0 (960 x 5)
1: 00000000_1.png 139 B 330 (960 x 5)
2: 00000000_2.png 139 B 469 (960 x 5)
3: 00000001.png 139 B 608 (960 x 5)
4: 00000001_1.png 139 B 747 (960 x 5)
5: 00000001_2.png 139 B 886 (960 x 5)
6: 00000002.png 139 B 1025 (960 x 5)
7: 00000002_1.png 139 B 1164 (960 x 5)
8: 00000002_2.png 139 B 1303 (960 x 5)
9: 00000002_3.png 139 B 1442 (960 x 5)
10: 00000003.png 254 B 1581 (960 x 5)
11: 00000003_1.png 357 B 1835 (960 x 5)
12: 00000004.png 516 B 2192 (960 x 5)
13: 00000005.png 603 B 2708 (960 x 5)
14: 00000006.png 657 B 3311 (960 x 5)
15: 00000007.png 764 B 3968 (960 x 5)
16: 00000009.png 932 B 4732 (960 x 5)
17: 00000011.png 895 B 5664 (960 x 5)
18: 00000012.png 893 B 6559 (960 x 5)
19: 00000014.png 952 B 7452 (960 x 5)
20: 00000016.png 845 B 8404 (960 x 5)
21: 00000018.png 1 KB 9249 (960 x 5)
22: 00000020.png 901 B 10328 (960 x 5)
23: 00000021.png 936 B 11229 (960 x 5)
24: 00000023.png 946 B 12165 (960 x 5)
25: 00000025.png 1 KB 13111 (960 x 5)
26: 00000027.png 795 B 14142 (960 x 5)
27: 00000029.png 927 B 14937 (960 x 5)
28: 00000030.png 976 B 15864 (960 x 5)
29: 00000032.png 726 B 16840 (960 x 5)
30: 00000034.png 895 B 17566 (960 x 5)
31: 00000036.png 983 B 18461 (960 x 5)
32: 00000037.png 1 KB 19444 (960 x 5)
33: 00000039.png 1019 B 20473 (960 x 5)
34: 00000041.png 1 KB 21492 (960 x 5)
35: 00000044.png 1 KB 22760 (960 x 5)
36: 00000047.png 975 B 24130 (960 x 5)
37: 00000049.png 1 KB 25105 (960 x 5)
38: 00000051.png 1 KB 26239 (960 x 5)
39: 00000053.png 954 B 27272 (960 x 5)
40: 00000055.png 1 KB 28226 (960 x 5)
41: 00000057.png 1 KB 29528 (960 x 5)
42: 00000060.png 1 KB 30765 (960 x 5)
43: 00000062.png 1 KB 32207 (960 x 5)
44: 00000065.png 1 KB 33520 (960 x 5)
45: 00000068.png 1 KB 34835 (960 x 5)
46: 00000070.png 1024 B 36058 (960 x 5)
47: 00000072.png 850 B 37082 (960 x 5)
48: 00000074.png 1 KB 37932 (960 x 5)
49: 00000076.png 844 B 39000 (960 x 5)
50: 00000077.png 1 KB 39844 (960 x 5)
51: 00000079.png 1 KB 40899 (960 x 5)
52: 00000081.png 965 B 41927 (960 x 5)
53: 00000083.png 901 B 42892 (960 x 5)
54: 00000085.png 879 B 43793 (960 x 5)
55: 00000087.png 1 KB 44672 (960 x 5)
56: 00000089.png 862 B 45871 (960 x 5)
57: 00000091.png 944 B 46733 (960 x 5)
58: 00000093.png 1 KB 47677 (960 x 5)
59: 00000095.png 1 KB 48788 (960 x 5)
60: 00000097.png 1 KB 50164 (960 x 5)
61: 00000100.png 1 KB 51236 (960 x 5)
62: 00000102.png 1 KB 52302 (960 x 5)
63: 00000104.png 1 KB 53454 (960 x 5)
64: 00000106.png 1 KB 54677 (960 x 5)
65: 00000109.png 1 KB 55882 (960 x 5)
66: 00000111.png 1 KB 57143 (960 x 5)
67: 00000113.png 1 KB 58175 (960 x 5)
68: 00000115.png 1 KB 59223 (960 x 5)
69: 00000117.png 997 B 60313 (960 x 5)
70: 00000119.png 931 B 61310 (960 x 5)
71: 00000121.png 882 B 62241 (960 x 5)
72: 00000123.png 939 B 63123 (960 x 5)
73: 00000125.png 858 B 64062 (960 x 5)
74: 00000126.png 854 B 64920 (960 x 5)
75: 00000128.png 943 B 65774 (960 x 5)
76: 00000130.png 885 B 66717 (960 x 5)
77: 00000132.png 881 B 67602 (960 x 5)
78: 00000133.png 996 B 68483 (960 x 5)
79: 00000135.png 1 KB 69479 (960 x 5)
80: 00000137.png 1 KB 70558 (960 x 5)
81: 00000139.png 1 KB 71664 (960 x 5)
82: 00000142.png 1 KB 72726 (960 x 5)
83: 00000144.png 863 B 73797 (960 x 5)
84: 00000145.png 976 B 74660 (960 x 5)
85: 00000147.png 790 B 75636 (960 x 5)
86: 00000149.png 713 B 76426 (960 x 5)
87: 00000150.png 689 B 77139 (960 x 5)
88: 00000152.png 732 B 77828 (960 x 5)
89: 00000153.png 566 B 78560 (960 x 5)
90: 00000154.png 554 B 79126 (960 x 5)
91: 00000155.png 472 B 79680 (960 x 5)
92: 00000156.png 402 B 80152 (960 x 5)
93: 00000157.png 307 B 80554 (960 x 5)
94: 00000157_1.png 357 B 80861 (960 x 5)
95: 00000158.png 435 B 81218 (960 x 5)
96: 00000159.png 403 B 81653 (960 x 5)
97: 00000160.png 432 B 82056 (960 x 5)
98: 00000161.png 290 B 82488 (960 x 5)
99: 00000161_1.png 287 B 82778 (960 x 5)
100: 00000162.png 139 B 83065 (960 x 5)
101: 00000162_1.png 139 B 83204 (960 x 5)
102: 00000162_2.png 139 B 83343 (960 x 5)
103: 00000163.png 139 B 83482 (960 x 5)
104: 00000163_1.png 139 B 83621 (960 x 5)
105: 00000163_2.png 139 B 83760 (960 x 5)
106: 00000163_3.png 139 B 83899 (960 x 5)
107: 00000164.png 139 B 84038 (960 x 5)
*|
Finish: Fri Apr 14 00:57:40 2017

108 FILES EXTRACTED

png:= 108
------------------------------------------------------------------

Foremost finished at Fri Apr 14 00:57:40 2017

Euw, ternyata banyak juga, ada 108 files yang berhasil di ekstrak.
$ cd output/
$ ls
audit.txt png
$ cd png/
$ l
00000000_1.png 00000002.png 00000012.png 00000029.png 00000047.png 00000068.png 00000085.png 00000104.png 00000123.png 00000139.png 00000154.png 00000161.png
00000000_2.png 00000003_1.png 00000014.png 00000030.png 00000049.png 00000070.png 00000087.png 00000106.png 00000125.png 00000142.png 00000155.png 00000162_1.png
00000000.png 00000003.png 00000016.png 00000032.png 00000051.png 00000072.png 00000089.png 00000109.png 00000126.png 00000144.png 00000156.png 00000162_2.png
00000001_1.png 00000004.png 00000018.png 00000034.png 00000053.png 00000074.png 00000091.png 00000111.png 00000128.png 00000145.png 00000157_1.png 00000162.png
00000001_2.png 00000005.png 00000020.png 00000036.png 00000055.png 00000076.png 00000093.png 00000113.png 00000130.png 00000147.png 00000157.png 00000163_1.png
00000001.png 00000006.png 00000021.png 00000037.png 00000057.png 00000077.png 00000095.png 00000115.png 00000132.png 00000149.png 00000158.png 00000163_2.png
00000002_1.png 00000007.png 00000023.png 00000039.png 00000060.png 00000079.png 00000097.png 00000117.png 00000133.png 00000150.png 00000159.png 00000163_3.png
00000002_2.png 00000009.png 00000025.png 00000041.png 00000062.png 00000081.png 00000100.png 00000119.png 00000135.png 00000152.png 00000160.png 00000163.png
00000002_3.png 00000011.png 00000027.png 00000044.png 00000065.png 00000083.png 00000102.png 00000121.png 00000137.png 00000153.png 00000161_1.png 00000164.png

Setelah melihat gambar hasil dari ekstrakan diatas, kalau dilihat satu persatu isi gambar adalah potongan-potongan gambar yang tidak lain adalah Flag yang kita cari-cari. Terus gimana gabunginnya? Caranya cukup mudah, kita bisa menggunakan tool dari ImageMagick yaitu convert.
$ convert -append *.png out.png

Flag: FIT{6xgwxloxq79ew}
on 16 Apr 2017 07:07 PM
Soal yang diberikan yaitu Trivia, and here you go.

Trivia1 [10]

A bug found in bash causes arbitrary code to be executed remotely
Flag format: FIT{[Capital letters and no spaces]}

Flag: FIT{SHELLSHOCK}


Trivia2 [10]

A dog breed that exists in version 3.0 of SSL.
Flag format: FIT{[Capital letters and no spaces]}

Flag: FIT{POODLE}


Trivia3 [10]

VyOS 1.0.0 - 1.0.5
Flag format: FIT{[Capital letters and no spaces]}

Flag: FIT{HYDROGEN}


Trivia5 [10]

Nickname of SHA-1 collision attack done by Google and CWI.
Flag format: FIT{[Capital letters and no spaces]}

Flag: FIT{SHATTERED}
on 16 Apr 2017 05:56 PM

Seperti yang terlihat pada challenge diatas, langsung saja kita akses pada link url https://look.problem.ctf.nw.fit.ac.jp, dan ternyata tidak ada apa-apa disana. Sesuai dari Hint yang diberikan "Look quickly", saya langsung cek response headers dari website tersebut.


Did you see the flag?
Yes, flag langsung muncul pada response headers yang terletak di set-cookie, tapi disitu terlihat ada URL encoding pada flag, dan gampang saja kita bisa melakukan decode flag melalui situs penyedia layanan URL decode seperti dibawah ini.

Flag: FIT{17_i5_n07_4_c00ki3_t0_3a7}
on 16 Apr 2017 05:50 PM

09 Apr 2017

Secara resmi ponsel yang dapat dipasang Kali NetHunter dapat dilihat pada pranala https://github.com/offensive-security/kali-nethunter/wiki#10-supported-devices-and-roms. Sampai tulisan ini dibuat Xioami Mi4 belum tercatat sebagai ponsel yang dapat dipasang Kali NetHunter. Namun pada pranala https://github.com/offensive-security/nethunter-devices/tree/master/marshmallow ada mesin cancro yang digunakan Xiaomi Mi4 dan Mi3. Kebetulan sampai saat ini Mi4 menggunakan MIUI 8.2.x yang berbasis Android M.

+fazlur rahman sudah memulai terlebih dahulu melakukan pemasangan di perangkat Xiaomi. Cara saya agak sedikit berbeda yang dilakukan oleh +fazlur rahman dan semua saya lakukan menggunakan LinuxMint. Saya memulai dari direktori Download:
1.   Ponsel sudah dalam kondisi rooted
2.   Hak akses pengembangan disesuaikan
3.   Untuk jaga-jaga, sudo python -m pip install pyopenssl pyasn1 ndg-httpsclient
4.   git clone https://github.com/offensive-security/kali-nethunter.git
5.   cd kali-nethunter/update/data/app/
6.   adb install Term-nh.apk
7.   adb install nethunter.apk
8.   cd ~/Download
9.   Unduh, wget -c https://images.offensive-security.com/https://images.offensive-security.com/kalifs-armhf-full.tar.xz
11. Pastikan hak akses pada MIUI sudah diperkenankan semuanya
12. mv kalifs-armhf-full.tar.xz kalifs-full.tar.xz
13. adb push kalifs-full.tar.xz /sdcard/
14. Jalankan aplikasi NetHunter pada ponsel
15. Ikuti petunjuk pada pilihan Kali Chroot Manager

Pada prinsipnya Kali NetHunter bisa berfungsi di Xiaomi dengan MIUI-nya namun saya belum bisa memanfaatkan maksimal karena terkendala cukup banyak seperti kapasitas internal memory dan terbentur dengan sistem keamanan MIUI yang menurut saya cukup ketat. Suatu saat kalau memang benar-benar longgar dan memiliki perangkat yang sesuai rekomendasi saya akan ngulik lagi.





on 09 Apr 2017 11:38 PM

29 Mar 2017

10 tahun lalu, kalau denger ada henpon seharga sepeda motor, orang-orang pasti komentar “Gila..!”. Orang-orang kelebihan duit aja tuh yang bakal beli segitu.

Sekarang, harga ponsel bahkan ada yang lebih mahal daripada harga sepeda motor baru. Tapi orang-orang biasa aja.

Iya, dulu sih memang ada juga ponsel harga selangit. Tapi itu karena casing-nya berlapis emas. Atau ada juga karena yang diberi hiasan berlian. Lah kalau jaman sekarang, emang ponselnya yang segitu. Harganya hampir 20 juta.

Coba aja cek harga resmi iPhone 7 dan iPhone 7 plus di Indonesia, rentang harganya di belasan juta. Tapi walaupun semahal itu, nyatanya pre-ordernya laris loh. Siapa bilang di “rezim” sekarang ekonomi Indonesia menurun? Tuh, buktinya. Mantaplah pokoknya Indonesia. Haha.

on 29 Mar 2017 07:13 PM

Dokter 5-Menitan

Okto Silaban

[Ilustrasi: pixabay.com]
Saya jarang-jarang ke rumah sakit. Rata-rata setahun cuma 2 atau 3 kali. Tapi selama beberapa tahun ini, saya menyadari pola yang sama setiap datang ke rumah sakit. Ini rumah sakit-rumah sakit top di Jakarta.

  1. Sampe rumah sakit, registrasi di bagian pendaftaran. Biasanya ada antrian. Sampai selesai sekitar 10 menit.
  2. Dateng ke ruang poliklinik si dokter. Baik itu dokter umum, maupun dokter spesialis. Biasanya lapor dulu ke suster di poli tersebut lalu diukur berat badan dan tekanan darah. Nah di sini bisa nunggu sampa 30 menit lebih. Saya pernah sampai 1 jam lebih.
  3. Ketemu dokter, ditanya apa keluhannya. Tapi ketika saya jawab, dia sibuk nulis-nulis, atau kalau rumah sakitnya udah modern, dokternya sibuk ngetik-ngetik sendiri di komputer, sambil jawab pendek “Ooh.. Hmm.. Gitu ya..” Terus lanjut disuruh baring, atau “coba duduk, matanya lihat atas”, atau “coba buka mulutnya”. Dipegang bentar, atau disenter bentar, terus sudah. Kurang lebih cuma 5 menitan.
  4. Dokter balik ke mejanya. Sibuk lagi nulis, atau ketik-ketik di komputer. Bisa 5 menitan. Ujungnya bilang “Jadi, saya resepin ini ya.. bla..bla..bla. Diminum aja seminggu dulu, terus nanti kontrol lagi ke sini.” Sudah.
  5. Keluar ruangan, laporan ke suster. Disuruh ke kasir. Sampai kasir kadang nunggu lagi, kadang enggak. Tergantung rumah sakitnya, pengaturan kasirnya bagus atau enggak. Ada lho rumah sakit yang untuk bayar di kasirnya saya harus nunggu 30 menit lebih. Sebabnya? Karena hanya ada 1 orang kasir untuk SEMUA pasien di rumah sakit itu.
  6. Selesai bayar di kasir, ke bagian farmasi/apotek. Ada yang sudah pake sistem komputer, nomor antrian ada di layar, ada juga yang dipanggil manual satu-satu. Nah kalau obatnya racikan, siap-siaplah bawa power bank buat mainan henpon. Biasanya lama banget baru jadi obatnya. Bisa 1 jam, bahkan saya gak jarang sampe 2 jam.

Jadi kalau ditotal, saya bisa menghabiskan waktu 4 jam di rumah sakit. Kalau sakitnya berat sih ya sudahlah ya, demi sehat. Tapi kalau cuma flu, diare, rasanya kok lebih tersiksa kalau ke rumah sakit. 4 jam itu waktu di rumah sakitnya aja loh, belum termasuk waktu perjalanan.

Kalau saya sih yang paling bikin kesel, dari 4 jam itu, konsultasi dengan dokternya cuma 5 menit. Seringkali mereka gak menjelaskan apa-apa. Padahal tujuannya saya pengen tahu ini sakitnya apa, cuma sakit biasa atau lain, penyebabnya apa, gimana biar gak tambah parah, gimana jaganya biar gak terulang lagi, dll. Menurut saya itu basic yang sangat perlu.

Gak jarang juga diagnosanya ngaco. Saya pernah didiagnosa “punya tenaga dalam” oleh dokter di sebuah rumah sakit terkenal (dan mahal) di daerah Jakarta Selatan. Tenaga di dalam hati buat nonjok maksud lo? 😐

Dokter 5-menitan ini sih yang menurut saya layak digantikan bot Artificial Intelligence. Pengacara kan sudah mulai tuh diganti sama bot, dokter 5-menitan gini sekalian juga lah.

Catatan: Inget ya, gak semua dokter kaya gitu. Saya juga ketemu kok dokter yang baek. Yang mau menjelaskan dengan baik apa dan kenapa sakitnya. Terus menelaah satu-satu keluhan saya, sampai bisa kasih kesimpulan diagnosa yang meyakinkan.

on 29 Mar 2017 07:36 AM

22 Feb 2017

Cygwin? Compile sendiri? PuTTY?

Nope.

Install Git for Windows saja bro. That’s it. Di dalamnya (C:\Program Files\Git\bin) sudah ada ssh.exe.

Yes, you are welcome.

on 22 Feb 2017 03:34 AM

12 Feb 2017

Menarik untuk disimak… Meme #1: We have shared software since we have written software. Meme #2: Writing good software is hard work. Meme #3: There is no scale without discipline. Meme #4: Software is inherently dynamic. Meme #5: You always get more than you give. Meme #6: Freeloaders are essential to success. Meme #7: Don’t […]
on 12 Feb 2017 01:01 PM

04 Feb 2017

Mohon maaf jika tulisan dan judul tidak nyambung saya hanya teringat gaya menulis jaman masih SMP. Belajar menulis hasil praktikum di Lab. IPA menurut saya masih bermanfaat sampai saat ini. Hal ini didasari pemilihan Instant Messenger yang cocok untuk sebuah "forum diskusi singkat". Untuk forum diskusi saya lebih menyukai milis atau web forum. Selain itu juga ada pemberitaan yang diduga ada rekayasa dalam sebuah percakapan Instant Messenger. 

A. Alat dan Bahan
Dalam ngoprek kali ini alat dan bahan yang saya perlukan sebenarnya standar dan mudah didapat (apalagi kalau menggunakan Linux). Ada pun alat dan bahan yang saya gunakan sebagai berikut:
  1. Ponsel dengan sistem operasi Android yang telah ter-root.
  2. Kabel data (sebaiknya yang original)
  3. Komputer bersistem operasi Linux
  4. ADB yang terpasang di komputer
  5. Aplikasi Sqliteman yang terpasang di komputer

B. Tujuan
Instant Messenger saat ini banyak sekali tersedia di Playstore. Bisa dikatakan terkadang bingung memilihnya. Namun yang saat ini cukup populer di Indonesia menurut JakPat yang saya kutip dari DailySocial diantaranya Blackberry Messenger, Whatsapp, Line, FB Messenger dan Telegram. Dalam ngoprek  saya tidak menggunakan tidak menggunakan Line. Intinya saya hanya ingin "melihat" pesan yang tertinggal didalam ponsel sesuai kaidah analisis forensik.

C. Langkah Kerja
Dalam tulisan ini saya tidak menjelaskan secara detil tentang mendapatkan barang bukti digital dari  Blackberry Messenger, Telegram, FB Messenger, dan Whatsapp maupun barang bukti elektronik berupa ponsel. Asumsinya bahwa proses pengambilan barang bukti digital sudah memenuhi kaidah akuisisi barang bukti digital secara logikal.
1. Pastikan ponsel dalam kondisi ter-root.
2. Pastikan ponsel dalam mode developer.
3. Pastikan USB debugging telah aktif.
4. Saya tancapkan kabel data antara ponsel dan komputer ber-Linux kondisinya aman tidak perlu install driver ponsel.
5. Jalankan perintah adb shell.
6. Masuk ke mode administrator ketik su.
7. Membuat direktori dengan perintah, mkdir /sdcarcd/forensik-201702
8. Menyalin barang bukti digital ke direktori /sdcard/forensik-201702

D.  Analisis Barang Bukti Digital
Dengan kondisi ponsel yang ter-root memudahkan dalam mendapatkan barang bukti digital. Semua barang bukti digital disalin ke direktori /sdcard/dorensik-201702. Selanjut barang bukti digital satu per satu disalin ke komputer untuk analisis menggunakan perintah adb pull /sdcard/forensik-201702/nama.db ~/forensik/2017/02/ . Ingat harus satu per satu tidak bisa menyalin secara semua dengan tanda * . Analisis lebih lanjut silakan bisa dipelajari, berikut hanya tangkapan layar dari masing-masing barang bukti digital.
1. Blackberry Messenger
Barang Bukti Digital: master.enc
2. Telegram
Barang Bukti Digital: cache4.db


Memiliki 39 Tabel
3. Whatsapp
Barang Bukti Digital: msgstore.db

Memiliki 18 Tabel
4. FB Messenger
Barang Bukti Digital: threads_db2

Memiliki 15 Tabel
E. Kesimpulan
Ada 2 Instant Messenger yang tidak bisa saya baca isi pesannya yaitu Blackberry Messenger dan Telegram. Whatsapp dan FB Messenger tidak ada enkripsi apapun sehingga sangat mudah dibaca. Sebelum 1 November 2014 Blackbeery Messenger masih bisa dibaca menggunakan BBMPork. Serupa seperti Whatsapp versi terbaru yang tidak terenkripsi. Tidak seperti jaman dulu, Whatsapp relatif sulit dibaca walaupun ada aplikasi tambahan yang dapat membongkarnya seperti Wforensic dan Whatsapp Xtract. Sekedar bonus jika Whatsapp boros media penyimpanan. Whatsapp di ponsel saya hampir "memakan" 1 GB dapat dilihat di gambar berikut.


Harapannya adanya analisis ini Anda bisa bijak memilih dan menggunakan Instant Mesenger. Insya Allah dalam waktu dekat hasil analisis ini akan saya presentasi di Padepokan ASA, waktu dan tempat mohon bisa memantau blog ini.

on 04 Feb 2017 08:00 AM

03 Feb 2017

Ini perbaikan dari tulisan sebelumnya. Masih sama dengan kata kunci terdahulu yaitu Recover MySQL Root Password, Reset MySQL Root Password, Reset Forgotten MySQL Root Password, dan lain-lain. Berikut langkah-langkah mengubah password Mysql yang lupa di Ubuntu 16.04:
1. sudo /etc/init.d/mysql stop
2. sudo mkdir /var/run/mysqld; sudo chown mysql /var/run/mysqld ; sudo /usr/bin/mysqld_safe --skip-grant-tables --skip-networking &. Jika sudah muncul tulisan seperti dibawah ini berarti "angin segar".
2017-02-03T07:47:01.759823Z mysqld_safe Logging to syslog.
2017-02-03T07:47:01.763524Z mysqld_safe Logging to '/var/log/mysql/error.log'.
2017-02-03T07:47:01.767094Z mysqld_safe Logging to '/var/log/mysql/error.log'.
2017-02-03T07:47:01.789149Z mysqld_safe Starting mysqld daemon with databases from /var/lib/mysql

3. Login mysql dengan perintah, mysql -uroot -p dan tekan enter untuk memasukan password-nya.
4. Saat pada konsol mysql jalankan perintah
USE mysql;
FLUSH PRIVILEGES;
SET PASSWORD FOR root@'localhost' = PASSWORD('password_baru_anda');
FLUSH PRIVILEGES;
\q
5. Hentikan proses mysql dengan perintah, ps ax| grep mysql | awk '{print $1}' | xargs kill -9
6. Jalankan mysql dengan perintah, /etc/init.d/mysql start

 Silakan dicoba ulang menggunakan password baru anda.
on 03 Feb 2017 08:09 AM

01 Feb 2017

Sekedar refreshing mainan Wireshark, saat menyimpan hasil "capture" muncul pesan The capture file appears to be damaged or corrupt. Dibuka ulang pesan tersebut masih muncul. Solusinya supaya tidak muncul pesan tersebut maka install pcapfix. Dari Linux Mint cukup unduh dan install menggunakan perintah sudo apt-get install pcapfix.

Menggunakan pcapfix tidaklah sulit cukup mengetikan pcapfix -n namafile.pcapng



on 01 Feb 2017 03:22 AM

19 Jan 2017

HJKL

Fajran Iman Rusadi

As a vim user, I know since a long time ago that it has another key combination to do movement, in addition to the obvious arrow keys: HJKL. They are used as left, down, up, and right keys. They supposed to be convenient to use due to their location at the home row of the keyboard. The place where the hands naturally lay on.

I had been trying to use them but never feel quite comfortable using it. Maybe it's just me who don't "get" it right yet. But this changed since a couple of weeks ago when I decided to change my strategy a little bit.

on 19 Jan 2017 09:36 AM

08 Dec 2016

Some days ago, I wanted to program an ESP8266 module but somehow it sort-of always failed. Small program worked, but soon I added more into it, it started to fail. The upload process will get stuck and sometimes it eventually finished. But still, I could not get the program to run. If I checked through the serial console, I got the following message, or something similar.

ets Jan 8 2013,rst cause:4, boot mode:(3,7)

I also tried to do the connection more properly, by adding pull-up/down resistors and capacitor, but it did not help. Googling did not give the help that I needed until I someone mentioned to check the serial adapter. Could that be the problem?

on 08 Dec 2016 10:20 AM

07 Dec 2016

Beberapa waktu yang lalu saya butuh memprogram modul ESP8266 namun entah mengapa selalu gagal. Setelah coba macem2, sepertinya USB-to-Serial adapter yang saya gunakan itu bermasalah. Saya sudah pesan adapter baru namun butuh waktu lama untuk sampai; dan saya gak sabaran xD Untungnya saya menemukan artikel berisi petunjuk menggunakan Arduino Uno atau Nano untuk memprogram modul ESP8266 dan kebetulan saya punya Arduino Uno dan Nano yang bisa dipakai. Inilah cara yang saya pakai.

Perhatian! Panduan berikut ini BUKAN berisi panduan menggunakan ESP8266 dari Arduino, melainkan panduan untuk memprogram.

Arduino Uno dan Nano itu memiliki USB port yang bisa dipakai untuk memprogram dan keduanya memiliki jalur serial TX dan RX. Ternyata andai Arduino dibuat dalam mode Reset dengan cara menghubungkan RESET ke GND, maka si Arduino akan bertingkah sebagai USB-to-Serial adapter!

Sebelum lanjut, menurut yang saya baca, port Arduino itu bekerja dengan 5V sedangkan ESP8266 itu bekerja dengan 3.3V dan tidak memiliki toleransi sampai 5V. Sehingga sinyal dari Arduino yang dikirim ke ESP8266 berpotensi untuk merusak modul ESP8266 tersebut. Kebetulan saya lupa menyadari hal ini namun untungnya modul ESP8266 saya masih bisa berfungsi dengan baik. Supaya aman kita perlu mengubah sinyal 5V dari Arduino menjadi 3.3V sehingga aman dikonsumsi oleh ESP8266. Salah satu caranya adalah dengan membuat voltage divider.

Voltage Divider

Dengan memakai kombinasi R1 = 1KΩ dan R2 = 2KΩ, kita bisa mendapatkan sinyal 3.3V yang berasal dari 5V.

Hal lain yang perlu diperhatikan adalah bagimana memberi pasokan listrik ke modul ESP8266. Menurut sebuah dokumen, ESP8266 dapat memakai arus listrik sampai 215mA sedangkan Arduino hanya dapat memasok sampai 200mA. Walau besar kemungkinan ESP8266 tidak akan memakai arus sebesar itu ketika diprogram, akan lebih baik jika kita menggunakan sumber listrik yang lain. Menurut eksperimen saya, bread board power supply biasa sudah cukup untuk memenuhi kebutuhan pasokan listrik untuk ESP8266.

Mari lanjut dengan menghubungkan Arduino dengan ESP8266. Buat hubungan sebagai berikut.

  • Arduino TX ke ESP8266 TX
  • Arduino RX ke voltage divider input
  • Voltage divider output ke ESP8266 RX
  • Arduino RESET ke GND
  • Hubungkan semua GND
    • Arduino GND
    • ESP8266 GND
    • Voltage divider GND
    • Breadboard power supply GND
  • Breadboard power supply 3.3V ke ESP8266 VCC
  • ESP8266 CH_PD ke 3.3V via resistor 10KΩ
  • Untuk mengaktifkan mode pemrograman, hubungkan ESP8266 GPIO0 ke GND via resistor 10KΩ

Kalau digambarkan, kira2 akan terbentuk hubungan seperti berikut.

Koneksi ESP8266 dengan Arduino

Setelah semua siap, sambungkan Arduino via USB dan nyalakan breadboard power supply dan modul ESP8266 sudah bisa diprogram. Jika menggunakan Arduino IDE, cukup pilih board ESP8266 dan port USB yg dipakai.

Berdasar pengalaman saya, walau konfigurasi di atas ini sudah bisa berfungsi, kadang2 saya masih menemui kegagalan ketika proses pemrograman berlangsung. Saya belum tahu apa sebabnya namun biasanya setelah saya matikan dan nyalakan lagi si breadboard power supply, proses pemrograman berikutnya bisa berjalan lancar.

Have you tried turning it off and on again?

Selamat mencoba!

on 07 Dec 2016 08:39 AM

Hello world!

Fajran Iman Rusadi

Hi, hello there!
on 07 Dec 2016 08:09 AM

23 Nov 2016

The other day, I had problem accessing an HTTPS site from a Python script. Since I had no time to spend figuring out why (it was for a personal project anyway), I decided to make a reverse proxy using Apache. However, unlike the commonly setup reverse proxy, this one is to make an HTTPS site available as HTTP site.

This is what I needed to put in my Apache config.

<VirtualHost 127.0.0.1:12345>
    ...
    SSLProxyEngine On
    ProxyPass / https://that.secure.site/
    ProxyPassReverse / https://that.secure.site/
    ....
</VirtualHost>

I also had to enable mod_proxy and mod_ssl which can be done easily (on Debian based system) by running the following command

# a2enmod proxy ssl

Then reload or restart Apache

# service apache2 reload

The most important bit in the config above is SSLProxyEngine On. Without this the proxy would not work!

on 23 Nov 2016 09:50 AM

07 Nov 2016

Lastweek when spinning up an AWS Instance, I was greeted with an Official Ubuntu 16.04 image.. naturally I would use this image for the new service we were planning..

As all new services we deploy, we run them on Docker. One practice we do in our AWS Docker setup is to store all images in EBS as /mnt/docker.. I’m not going into details of the advantage of this setup.. but usually it is simply modifying the /etc/defaults/docker file setting DOCKER_OPTS=”-g /mnt/docker” ..

Unfortunately Docker installation did not obey this setting

$ docker info | grep "Root dir"
Root Dir: /var/lib/docker/aufs
Docker Root Dir: /var/lib/docker

even though I have correctly updated /etc/default/docker

$ cat /etc/default/docker | grep DOCKER_OPTS
# Use DOCKER_OPTS to modify the daemon startup options.
#DOCKER_OPTS="--dns 8.8.8.8 --dns 8.8.4.4"
DOCKER_OPTS="-g /mnt/docker"

For that I modified the docker.service file

$ sudo vim /lib/systemd/system/docker.service

adding the following

EnvironmentFile=-/etc/default/docker
ExecStart=/usr/bin/dockerd $DOCKER_OPTS -H fd://

reloaded systemctl and restarted docker service

$ sudo systemctl daemon-reload
$ sudo service docker restart

and now Docker installation of Ubuntu 16.04 is storing images in /mnt/docker

$ docker info | grep "Root Dir"
Root Dir: /mnt/docker/aufs
Docker Root Dir: /mnt/docker

on 07 Nov 2016 05:31 AM

27 Oct 2016



To upgrade from Ubuntu 14.10 server to Ubuntu 15.04 server, do the following steps.
Install the update-manager-core package if it is not already installed:
sudo apt-get install update-manager-core
Edit the file /etc/update-manager/release-upgrades,
sudo nano /etc/update-manager/release-upgrades
and set Prompt=normal or Prompt=lts as shown below.
# Default behavior for the release upgrader.

[DEFAULT]
# Default prompting behavior, valid options:
#
#  never  - Never check for a new release.
#  normal - Check to see if a new release is available.  If more than one new
#           release is found, the release upgrader will attempt to upgrade to
#           the release that immediately succeeds the currently-running
#           release.
#  lts    - Check to see if a new LTS release is available.  The upgrader
#           will attempt to upgrade to the first LTS release available after
#           the currently-running one.  Note that this option should not be
#           used if the currently-running release is not itself an LTS
#           release, since in that case the upgrader won't be able to
#           determine if a newer release is available.
Prompt=normal

Normal – Check to see if a new release is available. If more than one new release is found, the release upgrader will attempt to upgrade to the release that immediately succeeds the currently-running release.
LTS – Check to see if a new LTS release is available. The upgrader will attempt to upgrade to the first LTS release available after the currently-running one. Note that this option should not be used if the currently-running release is not itself an LTS release, since in that case the upgrader won’t be able to determine if a newer release is available.
As you may know, Ubuntu 15.04 is not a LTS version. So, I entered normal.
Now, it is time to upgrade your server system to latest version using the following command:
sudo do-release-upgrade -d

Follow the on-screen instructions. Reboot the server. 
on 27 Oct 2016 06:01 AM

20 Oct 2016

Sebagai salah satu seller di forum terbesar Indonesia, Kaskus mungkin anda pernah menggunakan fasilitas rekening bersamanya yang diberi nama Brankas.
on 20 Oct 2016 04:41 AM

03 Oct 2016

on the boot, after installing broadcom wireless driver in linux Mint CInnamon Sarah we are stuck on boot. So bugs its on kernel, you just run your live usb or cd again. Change hostname to your hostname on local drive, open your terminal chroot to your local drive

hostname awangga
lsblk
mount /dev/sda2 /mnt
chroot /mnt

and run command :

sudo systemctl mask systemd-backlight@leds\:dell\:\:kbd_backlight.service


on 03 Oct 2016 11:45 PM

28 Sep 2016

Setiap kali Anda menggunakan perintah sudo pada Ubuntu, terminal akan secara default meminta Anda untuk memasukkan password root anda. Hal
on 28 Sep 2016 05:33 AM

01 Sep 2016

Instalasi ZFS di openSUSE Leap 42.1 Selamat!
on 01 Sep 2016 04:42 AM

29 Aug 2016

Hari ini nemuin salah satu vm guest yang menggunakan os solaris 10 di vmware mengalami “intermittent” koneksinya, hal ini menyebabkan user yang akses mengalami akses yang sangat lambat dan putus-putus. Setelah dicermati, ternyata vm guest ini masih menggunakan tipe ethernet “e1000” pada settingannya. Solusinya adalah dengan mengganti tipe ethernet ini menggunakan “vmxnet3”. Cara menggantinya adalah: […]
on 29 Aug 2016 11:57 AM

18 Aug 2016

Bagaimana cara menginstall docker swarm?

Docker swarm default sudah dimasukkan kedalam versi 1.12, kebar baiknya adalah untuk konfigurasinya sangat mudah. Anda tidak perlu bersusah payah melakukan konfigurasi seperti di versi sebelum versi 1.12.

Kali ini saya akan mendemontrasikan betapa mudahnya melakukan setup docker swarm di versi 1.12, pada saat menulis ini saya menggunakan Ubuntu Xenial (16.04 LTS) dan menggunakan repository dari docker. dalam lab ini saya menggunakan lima server dengan dua sebagai manager dan tiga sebagai worker. Dalam penamaan node, sayamenggunakan nama manager-X dan worker-Y untuk menunjukkan fungsi dari node itu sendiri.

Untuk pengaturan IP, pada manager akan dibari IP 192.168.0.11 sampai dengan 192.168.0.99, dan worker akan mempunyai ip mulai dari 192.168.0.101 sampai dengan 192.168.0.254.

Sebelum melakukan konfigurasi docker swarm, silakan install docker dulu pada tulisan saya sebelumnya

Memastikan versi docker

Silakan pastikan bahwa docker anda mempunyai versi 1.12 atau lebih tinggi.

$ docker version
Docker version 1.12.1, build 23cf638

Dari hasil diatas menunjukkan bahwa docker saya adalah versi 1.12.1 sehingga pemasangan akan mudah.

atau jika anda belum memasang docker baik itu di manager maupun di worker, anda dapat menggunakan docker-machine untuk melakukan pemasangan docker-engine. Sebelumnya pastikan bahwa anda dapat login dengan seh key sehingga anda dapat melakukan login dengan passwordless

Untuk melakukan setup sshkey silakan ketik:

$ ssh-keygen -t ecdsa
Generating public/private ecdsa key pair.
Enter file in which to save the key (/home/ubuntu/.ssh/id_ecdsa):
Enter passphrase (empty for no passphrase): 
Enter same passphrase again: 
Your identification has been saved in /home/ubuntu/.ssh/id_ecdsa.
Your public key has been saved in /home/ubuntu/.ssh/id_ecdsa.pub.
The key fingerprint is:
20:96:c8:f6:5a:5c:cc:cd:8c:33:45:97:de:a3:55:61 ubuntu@localhost
The key's randomart image is:
+--[ECDSA  256]---+
|       .o ..  E. |
| . . + * ..  ..  |
|  + + O +. . .   |
| . + o +  . +    |
|    +   S  o .   |
|   o      .      |
|  .              |
|                 |
|                 |
+-----------------+

Selanjutnya silakan copy ssh key ke mesin manager dan worker dengan perintah berikut:

$ ssh-key-id 192.168.0.11

Anda akan dimintai password untuk login. silakan masukkan password dari user anda

Selanjutnya adalah melakukan pemasangan dengan docker-machine:

$ docker-machine create --driver generic --generic-ip-address=$IP-ADDPRESS \
 --generic-ssh-key ~/.ssh/$KEY --generic-ssh-user $USER manager-1

Contoh bila ingin menginstall manager-1 dengan user ubuntu dan ssh ecdsa contohnya adalah sebagai berikut:

$ docker-machine create --driver generic --generic-ip-address=192.168.0.11 \
 --generic-ssh-key ~/.ssh/id_ecdsa --generic-ssh-user ubuntu manager-1

Silakan ulangi pada manager-2 dan worker1 sampai worker-3, kemudian verifikasi dengan perintah berikut:

$ docker-machine ls
NAME		ACTIVE	DRIVER    	STATE     URL						SWARM	DOCKER    ERRORS
worker-1	-		generic		Running   tcp://192.168.0.101:2376			v1.12.1   
worker-2	-		generic		Running   tcp://192.168.0.102:2376			v1.12.1   
worker-3	-		generic		Running   tcp://192.168.0.103:2376			v1.12.1   
manager-2	-		generic		Running   tcp://192.168.0.12:2376			v1.12.1   
manager-1   *		generic		Running   tcp://192.168.0.11:2376			v1.12.1   

Memulai setup docker swarm

Untuk memulainya, silakan login di node yang bertugas sebiagai manager, dan ketikkan perintah dibawah ini:

$ docker swarm init --advertise-addr 192.168.0.11

Hasilnya:

Swarm initialized: current node (erk63hyz95hy7s1giwd0mjjmp) is now a manager.

To add a worker to this swarm, run the following command:

    docker swarm join \
    --token SWMTKN-1-6b7ymr9y759fbtfggbh3dp2wst0vrezo2sw3dv6iz79otkdsc6-d9a8l921hjyql4mub3oh1117g \
    192.168.0.11:2377

To add a manager to this swarm, run 'docker swarm join-token manager' and follow the instructions.

hanya itu? ya hanya itu, perintah diatas untuk membuat inisial dari docker swarm di manager.

Verifikasi dengan perintah docker info

$ docker info
Containers: 73
 Running: 0
 Paused: 0
 Stopped: 73
Images: 103
Server Version: 1.12.1
Storage Driver: aufs
 Root Dir: /var/lib/docker/aufs
 Backing Filesystem: extfs
 Dirs: 592
 Dirperm1 Supported: true
Logging Driver: json-file
Cgroup Driver: cgroupfs
Plugins:
 Volume: local
 Network: null bridge overlay host
Swarm: active
 NodeID: erk63hyz95hy7s1giwd0mjjmp
 Is Manager: true
 ClusterID: 30ty62s2py73okcei9kmr95o5
 Managers: 1
 Nodes: 1

$ docker node ls
ID                           HOSTNAME            STATUS  AVAILABILITY  MANAGER STATUS
erk63hyz95hy7s1giwd0mjjmp *  manager-1			 Ready   Active        Leader

terlihat bahwa docker swarm sudah aktif meskipun hanya satu node yang aktif

Konfigurasi client

Silakan login ke manager-1 untuk mendapatkan toket manager:

$ docker swarm join-token manager
To add a manager to this swarm, run the following command:

    docker swarm join \
    --token SWMTKN-1-6b7ymr9y759fbtfggbh3dp2wst0vrezo2sw3dv6iz79otkdsc6-0ou18lotoo36mjq0e4s0apuo5 \
    192.168.0.11:2377

Silakan login ke manager-2 dan ketikkan perintah diatas:

$ docker swarm join \
    --token SWMTKN-1-6b7ymr9y759fbtfggbh3dp2wst0vrezo2sw3dv6iz79otkdsc6-0ou18lotoo36mjq0e4s0apuo5 \
    192.168.0.11:2377
This node joined a swarm as a manager.

Langkah selanjutnya adalah login ke worker-1 sampai dengan worker-3 dan ketikkan perintah yang didapat saat melakukan inisialisasi docker swarm

$ docker swarm join \
    --token SWMTKN-1-6b7ymr9y759fbtfggbh3dp2wst0vrezo2sw3dv6iz79otkdsc6-d9a8l921hjyql4mub3oh1117g \
    192.168.0.11:2377

Verifikasi swarm

Setelah melakukan testing dari semua manager dan node, silakan verifikasi dari manager dengan perintah berikut:

$ eval $(docker-machine env --swarm manager-1)
$ docker info
Containers: 6
 Running: 2
 Paused: 0
 Stopped: 4
Images: 31
Server Version: swarm/1.2.4
Role: primary
Strategy: spread
Filters: health, port, containerslots, dependency, affinity, constraint
Nodes: 5
 manager-2: 192.168.10.12:2376
  └ ID: 3KQB:C4DQ:AV46:NX7O:XN6Y:EP24:3XLH:UO4D:5N2R:SDAX:AJR6:CI3T
  └ Status: Healthy
  └ Containers: 1 (0 Running, 0 Paused, 1 Stopped)
  └ Reserved CPUs: 0 / 4
  └ Reserved Memory: 0 B / 8.185 GiB
  └ Labels: kernelversion=4.4.0-31-generic, operatingsystem=Ubuntu 16.04.1 LTS, provider=generic, storagedriver=aufs
  └ UpdatedAt: 2016-08-18T21:26:24Z
  └ ServerVersion: 1.12.1
 worker-1: 192.168.10.111:2376
  └ ID: VO22:NU4C:ODDV:R2TL:HVV2:2E4I:MKAW:SBRO:WWFD:T265:HPNY:JKZI
  └ Status: Healthy
  └ Containers: 1 (0 Running, 0 Paused, 1 Stopped)
  └ Reserved CPUs: 0 / 4
  └ Reserved Memory: 0 B / 8.185 GiB
  └ Labels: kernelversion=4.4.0-31-generic, operatingsystem=Ubuntu 16.04.1 LTS, provider=generic, storagedriver=aufs
  └ UpdatedAt: 2016-08-18T21:26:37Z
  └ ServerVersion: 1.12.1
 worker-2: 192.168.10.112:2376
  └ ID: AFYB:C2IM:Z276:RWMN:CODJ:SHKM:IFX6:POWT:VZKO:BHVS:UBAQ:QVJC
  └ Status: Healthy
  └ Containers: 1 (0 Running, 0 Paused, 1 Stopped)
  └ Reserved CPUs: 0 / 4
  └ Reserved Memory: 0 B / 8.185 GiB
  └ Labels: kernelversion=4.4.0-31-generic, operatingsystem=Ubuntu 16.04.1 LTS, provider=generic, storagedriver=aufs
  └ UpdatedAt: 2016-08-18T21:26:25Z
  └ ServerVersion: 1.12.1
 worker-3: 192.168.10.113:2376
  └ ID: PGC3:TJJR:GCRG:5RKA:Q4N3:LWHF:3TAO:FDD2:TY6F:DOUK:27WS:76MQ
  └ Status: Healthy
  └ Containers: 1 (0 Running, 0 Paused, 1 Stopped)
  └ Reserved CPUs: 0 / 4
  └ Reserved Memory: 0 B / 8.185 GiB
  └ Labels: kernelversion=4.4.0-31-generic, operatingsystem=Ubuntu 16.04.1 LTS, provider=generic, storagedriver=aufs
  └ UpdatedAt: 2016-08-18T20:18:37Z
  └ ServerVersion: 1.12.1
 manager-1: 192.168.10.11:2376
  └ ID: HEN3:HWX4:2XTZ:EL5B:YUK3:JUH2:YZ2N:XD77:OTPW:ZONP:UYVP:MYDG
  └ Status: Healthy
  └ Containers: 2 (2 Running, 0 Paused, 0 Stopped)
  └ Reserved CPUs: 0 / 8
  └ Reserved Memory: 0 B / 8.087 GiB
  └ Labels: kernelversion=4.4.0-21-generic, operatingsystem=Ubuntu 16.04.1 LTS, provider=generic, storagedriver=aufs
  └ UpdatedAt: 2016-08-18T21:26:45Z
  └ ServerVersion: 1.12.1
Plugins:
 Volume: 
 Network: 
Swarm: 
 NodeID: 
 Is Manager: false
 Node Address: 
Security Options:
Kernel Version: 4.4.0-21-generic
Operating System: linux
Architecture: amd64
CPUs: 24
Total Memory: 40.83 GiB
Name: 6f894401a6f4
Docker Root Dir: 
Debug Mode (client): false
Debug Mode (server): false
WARNING: No kernel memory limit support

Selamat docker-swarm telah terpasang!

Deploy service di swarm

Setelah membuat cluster swarm, kita akan mencoba membuat service di swarm. kita akan membuat nginx di cluster. Silakan login di manager-1

$ docker service create --replicas 3 --name nginx nginx

Berikut adalah hasil dari docker services diatas:

$ docker service ls
ID            NAME   REPLICAS  IMAGE  COMMAND
cp2er0hu010r  nginx  3/3       nginx  

$ docker service inspect nginx 
[
    {
        "ID": "cp2er0hu010rl0qbv0714t8pw",
        "Version": {
            "Index": 21053
        },
        "CreatedAt": "2016-08-18T22:28:01.748449495Z",
        "UpdatedAt": "2016-08-18T22:28:01.748449495Z",
        "Spec": {
            "Name": "nginx",
            "TaskTemplate": {
                "ContainerSpec": {
                    "Image": "nginx"
                },
                "Resources": {
                    "Limits": {},
                    "Reservations": {}
                },
                "RestartPolicy": {
                    "Condition": "any",
                    "MaxAttempts": 0
                },
                "Placement": {}
            },
            "Mode": {
                "Replicated": {
                    "Replicas": 3
                }
            },
            "UpdateConfig": {
                "Parallelism": 1,
                "FailureAction": "pause"
            },
            "EndpointSpec": {
                "Mode": "vip"
            }
        },
        "Endpoint": {
            "Spec": {}
        },
        "UpdateStatus": {
            "StartedAt": "0001-01-01T00:00:00Z",
            "CompletedAt": "0001-01-01T00:00:00Z"
        }
    }
]

$ docker service ps nginx
ID                         NAME     IMAGE  NODE			DESIRED STATE  CURRENT STATE          ERROR
8ihthj14i9qitl792vatmrqjj  nginx.1  nginx  worker-1		Running        Running 2 minutes ago  
48eq2nah2txv7yxthk5y3158m  nginx.2  nginx  worker-2		Running        Running 2 minutes ago  
8yv7z3bk25h7jf06yf6y9hivm  nginx.3  nginx  manager-1	Running        Running 3 minutes ago  

Nah mudah bukan? silakan dicoba

Bagaimana cara menginstall Docker-swarm was originally published by at mahyuddin on August 19, 2016.

on 18 Aug 2016 10:39 PM