Serba-serbi VPN

VPN itu apa sih? Virtual Private Network adalah teknologi untuk membuat serangkaian perangkat terhubung ke jaringan virtual yang sama. Jadi seolah-olah berbagai device tergabung di satu jaringan. Di posting ini saya akan membahas VPN dari sudut pandang user, sampai kalau ingin membuat VPN sendiri.

VPN banyak digunakan di dunia corporate atau enterprise. Penggunaan yang umum adalah untuk menghubungkan berbagai kantor regional dengan kantor lain atau dengan kantor pusat. VPN juga dipakai oleh remote worker untuk mengakses resource kantor (server, printer, dsb) yang tidak bisa diakses dari umum. Dengan koneksi VPN, komputer rumah atau laptop masuk ke jaringan perusahaan. Jika browsing via VPN maka , seolah-olah kita mengakses internet dari perusahaan tersebut.

Sumber: wikipedia

Beberapa bank juga menggunakan koneksi VPN untuk partnernya, jadi berbagai perusahaan yang ingin mengakses sistem bank harus lewat VPN. Ini hanya layer keamanan tambahan, selain itu masih digunakan password dan juga token.

VPN juga bisa digunakan untuk berinternet lewat server orang lain. Sebenarnya prinsipnya sama dengan sebelumnya: kita bergabung di jaringan privat dan dari situ mengakses internet. Tujuannya memakai VPN biasanya:

  • Membypass blokir
  • Mendapatkan konten tertentu, misalnya daftar film Netflix di Thailand dan USA sangat berbeda
  • Menyembunyikan IP, misalnya untuk wartawan yang takut dipersekusi

Di VPN seperti ini kita hanya numpang lewat untuk internet saja. Ini tidak beda (dari sisi security) seperti numpang WIFI di tempat publik atau rumah orang: pemilik access point bisa mengakses traffic tertentu (kata kuncinya di sini adalah: tertentu). Akan saya jelaskan lebih lanjut di artikel ini.

Koneksi Lewat VPN seperti numpang WIFI di sebuah tempat

Siapa penyedia layanan VPN ini? untuk perusahaan ya mereka sendiri. Selain itu ada penyedia VPN, baik yang gratis maupun berbayar. Kita juga bisa menyewa sendiri VPS (Virtual Private Server) atau dedicated server, biayanya tidak jauh beda dengan VPN berbayar.

Keamanan Aplikasi Gratis

Ada berbagai catatan dalam keamanan VPN gratis. Pertama adalah keamanan aplikasi itu sendiri, terlepas dari aplikasi VPN atau bukan, sebuah aplikasi bisa melakukan banyak hal di ponsel kita tanpa kita sadari.

Di OS Android yang lama, sebuah aplikasi bisa dengan mudah mendapatkan isi phone book, imei, dsb. Bahkan di Android ataupun iOS terbaru pun jika pengguna memencet “YES” untuk berbagai permission, maka aplikasi tetap bisa mendapatkan banyak informasi dari ponsel Anda.

Bahkan jika tidak mendapatkan informasi apapun, sebuah aplikasi bisa menjalankan coin miner di ponsel Anda. Artinya ponsel Anda akan dipakai untuk mendapatkan uang dari berbagai cryptocurrency. Efek buruk menjalankan coin miner terus menerus adalah: HP jadi panas dan akan mengurangi masa hidup batere ponsel Anda.

Tentunya aplikasi apapun juga bisa menampilkan iklan. Ini adalah salah satu sumber pendapatan VPN gratis. Cara dengan iklan ini walaupun menyebalkan tapi masih lebih baik daripada mencuri data.

Secara umum: menginstall aplikasi tidak dikenal bisa berbahaya. Jika Anda bukan orang teknis: jangan menginstall aplikasi dari luar Play Store atau App Store. Aplikasi dari app store dan play store sudah diverifikasi dan biasanya aman (walau kadang ada juga yang lolos).

Untuk aplikasi atau game dari luar app store, risikonya cukup besar. Semakin tua versi sistem operasi Anda, semakin berbahaya. Jika aplikasi mendapatkan akses “root”, maka aplikasi tersebut bisa melakukan apa saja. Termasuk juga mengganti semua aplikasi Anda (termasuk banking) dengan aplikasi lain yang ada backdoornya.

Jadi sekali lagi: sebuah aplikasi bisa berbahaya, baik itu aplikasi VPN ataupun bukan jika sumbernya tidak jelas.

Keamanan VPN

Khusus untuk aplikasi VPN, ada tambahan bahwa aplikasi tersebut bisa memonitor data yang keluar dan masuk. Dalam hal ini kemampuan sebuah aplikasi VPN untuk memonitor dan memodifikasi data tidak beda dengan access point WIFI yang Anda pakai di publik.

Sekarang ke bagian yang saya sebutkan di atas mengenai traffic tertentu yang bisa diakses oleh VPN atau penyedia WIFI gratis. Sebagai pemilik access point WIFI di rumah saya, saya bisa:

  • mengetahui koneksi ke server mana saja
  • memonitor traffic tertentu
  • mengarahkan koneksi dari satu server ke server lain
  • mengganti isi koneksi yang tidak terenkripsi

Perlu dicatat bahwa ada koneksi ke server yang terenkripsi dan tidak terenkripsi. K0neksi yang tidak dienkripsi bisa dimodifikasi. Ini seperti menulis pesan dengan kartu pos, semua bisa membacanya dan mencoret/mengubah isinya.

Apakah koneksi terenkripsi aman? Tergantung aplikasinya. Koneksi terenkripsi seperti memakai amplop untuk mengirim pesan. Tentunya bisa saja seseorang di tengah untuk membongkar amplopnya dan menggantinya dengan amplop baru. (Catatan teknis: sebenarnya tidak semudah itu, kita perlu menginstall root certificate di ponsel).

Sebuah aplikasi yang tidak aman akan menerima “amplop” dari siapa saja asalkan pesannya masih dalam amplop. Tapi aplikasi yang memakai SSL Pinning akan memeriksa detail dan cap di amplop tersebut dan tidak akan mau melakukan koneksi jika amplopnya berbeda.

Perlu dicatat juga: defaultnya jika kita mengetik alamat saja: bni.co.id, maka defaultnya akan memakai koneksi tidak terenkripsi, lalu kita diforward ke koneksi yang terenkripsi.

Beberapa situs mengijinkan koneksi HTTP lalu memforward ke koneksi HTTPS. Contohnya ketika kita mengetik bni.co.id, maka

Tapi beberapa tidak, misalnya jika kita mencoba ibank.klikbca.com maka koneksi tidak bisa dilakukan. Tapi koneksi awal ini bisa menimbulkan masalah: koneksi yang tidak terenkripsi ini bisa dimodifikasi, misalnya jadi Location: https://bni.co.id.bank-negara-indonesia-secure-connection.com/ dengan bank-negara-indonesia-secure-connection.com adalah server saya.

Jadi ketika mengetik pertama kali secara manual, ada risiko bisa terarahkan ke server lain. Tapi jika koneksinya dilakukan langsung dengan aplikasi ebanking maka ini lebih aman. Karena:

  • alamat sudah di-hardcode ke URL HTTPS
  • Umumnya aplikasi bank sudah mengimplementasikan SSL Pinning (setidaknya yang saya cek)

Secara umum, mengganti SSL sebuah koneksi langsung akan ditolak oleh kebanyakan aplikasi (ini ditolak di level library SSL). Jika ingin agar koneksinya diterima, kita bisa menginstall root certificate. Dengan menginstall root certificate, kebanyakan aplikasi (yang tidak memakai SSL Pinning) akan bisa dimonitor.

Bagaimana memeriksa jika kita menginstall Root Certificate? dari menu ini di Android. Jika Anda menemukan list ini tidak kosong, dan Anda tidak pernah menginstallnya, tandanya ada sesuatu yang tidak beres (Android akan memberi peringatan network monitoring)

Di dalam gambar berikut saya menginstall beberapa certificate saya sendiri dan dari sebuah aplikasi yang saya pakai.

Atau ini di iOS (di About: Certificate Trus Settings)

Saya sudah mengecek beberapa aplikasi perbankan seperti: BCA, Mandiri, BRI, BNI, semuanya sudah memakai SSL Pinning. Jadi secara umum: memakai VPN gratis yang didownload dari play store aman untuk transaksi banking melalui aplikasi banking.

Aplikasi VPN bisa mencatat beberapa hal mengenai browsing Anda meskipun tidak bisa melihat semua traffic:

  • Bisa tahu Anda mengunjungi situs tertentu (terutama jika situs tersebut hanya punya 1 IP)
  • Bisa tahu besarnya data yang lewat (jadi bisa tahu apakah kira-kira Anda mengupload sesuatu atau sekedar mendownload/browsing)
  • Bisa tahu kapan Anda mengakses situs-situs tersebut

Data-data tersebut (beserta IMEI, dsb) bisa dijual ke pihak lain.

Ada satu lagi bahaya aplikasi VPN, ini pernah ketahuan di aplikasi HolaVPN. Perlu diketahui bahwa informasi mengalir dua arah: dari komputer/ponsel ke provider VPN dan sebaliknya. Sebuah aplikasi VPN bisa saja menjual bandwith Anda. Artinya: pengguna layanan VPN lain bisa saja dilewatkan trafficnya melalui ponsel/komputer Anda. Jika ternyata isi trafficnya illegal (misalnya pornografi anak), Anda bisa kena masalah.

Aplikasi Hola VPN pernah tertangkap menjual bandwidth

VPN untuk mengamankan Wifi Publik

VPN yang tidak bisa dipercaya sama bahayanya dengan WIFI publik. VPN yang bisa dipercaya, bisa menambah keamanan ketika memakai WIFI publik. Dengan VPN, seluruh traffic keluar sampai ke server VPN terenkripsi, dan artinya pemilik WIFI publik tidak bisa menguping.

Memakai VPN akan membuat pemilik WIFI publik tidak bisa melihat/memodifikasi traffic jaringan kita

Sekali lagi: dalam kasus ini yang bisa menguping adalah provider VPN. Jadi pilih provider yang terpercaya, atau setup sendiri server VPN Anda.

Mensetup VPN Sendiri

Sulitkah mensetup VPN sendiri? sebenarnya tidak asalkan punya dasar teknis administrasi Linux/Windows. Ada beberapa skrip di Internet yang bisa dijalankan untuk mengotomasi ini. Contoh yang cukup terkenal adalah openvpn road warrior. Cukup butuh semenit untuk membuat sebuah server dedicated ataupun VPS dengan skrip ini:

https://github.com/Nyr/openvpn-install

Skrip tersebut ditujukan untuk mensetup server OpenVPN dan menghasilkan file ovpn yang siap dipakai dari berbagai OS (Linux, Windows, OS X, iOS dan Android). Cara memakai file ovpn yang dihasilkan skrip: copy file tersebut ke device Anda, install software OpenVPN (bisa dicari di app store/play store), lalu buka filenya dan tekan “connect”.

OpenVPN dengan server sendiri

Tentunya ini bukan satu-satunya cara mensetup VPN. Ada banyak software VPN lain, contohnya di blog ini saya pernah membahas cara setup software tinc. Secara umum setup berbagai software VPN cukup memakan waktu.

Dulu saya pernah juga memberikan layanan VPN + Hack supaya bisa menginstall aplikasi secara tidak resmi di Blackberry 10 via OTA (tapi layanannya sudah saya tutup). Ini memakai Openswan dengan skrip custom. Videonya masih ada:


Bagaimana dengan biayanya? Sebuah server dedicated bisa didapatkan dengan harga mulai 10an USD. VPS bisa didapatkan dengan harga mulai 1 USD. Dengan 5 USD kita bisa mendapatkan VPS DigitalOcean yang berlokasi di Singapore yang cukup cepat diakses dari Indonesia. Tentunya satu server (baik dedicated maupun VPS) bisa dipakai beberapa orang, jadi biayanya bisa lebih rendah lagi

DNS alternatif

Sebenarnya jika hanya ingin mengatasi blokir internet, DNS alternatif bisa digunakan. Contohnya yang mudah adalah 1.1.1.1 dari Cloudflare.

Prinsip pemblokiran sebuah situs adalah seperti ini:

  • Ketika akan melakukan koneksi ke facebook.com, kita perlu IPnya, ini ditanyakan ke DNS
  • DNS akan memeriksa apakah ada di daftar blokir, jika ya, maka redirect ke internet positif
  • Jika aman, makan DNS akan memberikan IP yang benar.

Jadi untuk mengatasinya ada beberapa cara:

  • Menggunakan server DNS alternatif. Tapi kadang port 53 diblok ke server lain, sehingga kita hanya bisa memakai DNS milik ISP
  • Memakai DNS over HTTPS (memakai port 443). Ini mudah memakai DNS Cloudflare: https://1.1.1.1/ (silakan download aplikasi yang tersedia di website tersebut)
  • Mengedit sendiri file hosts dan memasukkan kombinasi host name dan IP address secara manual. File ini ada di /etc/hosts (Linux/BSD), di /etc/private/hosts (OS X), atau %SYSTEMROOT%\System32\Drivers\etc\hosts (Windows)

Membuat Software VPN Sendiri

Mensetup dan memakai software VPN tidak membuat Anda jadi ahli dalam soal VPN. Jika ingin benar-benar paham, cobalah membuat software VPN sendiri dengan API yang disediakan oleh berbagai sistem operasi.

Mengapa membuat VPN ini latihan yang bagus:

  • Anda jadi mengerti pemrosesan paket jaringan
  • Anda jadi mengerti bagaimana mengimplementasikan enkripsi paket jaringan
  • Bisa paham jika ingin mengevaluasi security sebuah aplikasi VPN

Software provider VPN akan membuat jalur terenkripsi dari sebuah komputer ke komputer lain. Untuk membuat software VPN sendiri, kita perlu pemahaman yang cukup baik mengenai networking sampai ke level paket jaringan.

Di tahap awal, kita bisa membuat VPN yang tidak terenkripsi sama sekali . Kemudian kita bisa menambah enkripsi sederhana, lalu yang lebih rumit.

Pertama agar software ini bisa menerima dan meneruskan paket jarigan, maka kita perlu membuat sebuah network interface baru untuk menerima dan mengirim paket data. Biasanya ada dua jenis network interface: level paket di layer 3 (Internet Protocol/IP atau protokol lain) dan layer 2 (ethernet frame)

Setelah interface VPN bisa digunakan, kita perlu memberitahu berbagai program agar memakai interface tersebut untuk mengirim dan menerima data. Ini bisa dilakukan dengan mengubah default route agar melalui interface tersebut. Perlu dicatat: program yang memiliki privilege tinggi bisa membypass VPN dengan langsung memakai network interface tertentu.

Ada banyak ide yang bisa dan sudah banyak yang diimplementasikan yang bisa dilakukan dengan mengintersepsi network:

  • Membuat ad blocker berbasis VPN
  • Membuat network sniffer (Contoh yang sudah ada di play store: Packet capture)
  • Membuat protokol VPN yang jika disniff seolah-olah hanya saling mengirimkan gambar (padahal ada datanya di dalam gambar tersebut dengan steganografi).

Dengan membuat sendiri software VPN kita bisa terbebas dari spyware yang mungkin ada di software seperti kasus Onavo dari Facebook.

Network interface virtual: TUN dan TAP

Untuk sistem operasi Linux, ada dua network jenis network adapter virtual TUN dan TAP yang bisa dibuat. Bedanya dengan network interface fisik adalah: jika ada paket jaringan masuk ke interface ini, maka paket tersebut tidak dikirimkan ke hardware, tapi ke sebuah program yang bisa kita buat sendiri (user space program). Program ini yang perlu kita buat yang akan memproses tiap paket jaringan yang lewat.

TUN (Tunel Network) bekerja di layer 3 sedangkan TAP bekerja di layer 2. Dalam kebanyakan aplikasi kita cuma butuh TUN saja karena hanya butuh melewatkan paket network, tidak perlu memproses level ethernet frame.

Untuk mengakses tunnel device ini kita bisa menggunakan API tertentu atau dengan ioctl. Tutorial contohnya bisa dibaca di sini:

Windows tidak memiliki API sederhanya untuk user mode networking. Network driver di Windows perlu diimplementasikan dengan NDIS dan ini cukup kompleks plus butuh code signing yang cukup repot dan mahal. Untungnya sudah ada yang membuatkan driver TUN dan TAP . Kita bisa memakai kedua driver ini (OpenVPN, Tinc, dan berbagai software lain memakai pendekatan ini).

VPN API di Android

Di Android kita tidak bisa dengan mudah membuat interface network ini. Jika kita ingin membuat service VPN baru, kita perlu menggunakan API VPN Service. API ini sebenarnya hanya membungkus interface TUN dan sekaligus mensetup default route agar lewat VPN. Dengan API ini, program kita perlu membaca raw packet, mengenkrip paket tersebut, lalu meneruskannya.

Untuk parsing paket IP, Android tidak menyediakan API-nya. Dalam kasus tertentu kita bisa parsing sendiri header IP-nya (misalnya sekedar membaca destination IP dan port). Untuk kasus kompleks kita perlu library stack IP. Contoh kasus kompleks misalnya jika kita ingin menangani stream SSL lalu mendekrip stream tersebut.

Kebanyakan aplikasi VPN yang saya periksa menggunakan native library untuk parsing dan processing paket jaringan (tidak diparse di Java). Jika ingin mempelajari bagaimana membuat aplikasi VPN sendiri, ada banyak proyek open source Android yang bisa dilihat, misalnya:

https://github.com/M66B/NetGuard

VPN API di iOS dan macOS

Apple menyediakan beberapa API untuk VPN. Secara high level kita bisa memakai protokol VPN yang sudah ada dan sekedar membuat aplikasi untuk mengendalikan koneksinya (misalnya membuat layar login yang lebih bagus atau terkoneksi ke sistem billing). Secara low level, kita bisa membuat protokol kita sendiri

https://developer.apple.com/documentation/networkextension

Untuk memakai ini di iOS kita perlu memakai Network Extension Entitlement, tadinya memakai ini di iOS butuh ijin khusus dari Apple, tapi sekarang sudah tidak perlu lagi. Contoh penggunaan API sudah disediakan Apple di:

https://github.com/ios-sample-code/SimpleTunnel

Penutup

VPN adalah nama sebuah teknologi yang sebenarnya cakupannya cukup luas, tapi sekarang banyak dipersempit jadi sekedar: mengakses internet lewat komputer orang lain. Lalu mulai ada banyak informasi tidak benar berdasarkan penyederhanaan ini.

Semoga informasi yang di tulisan ini bisa memperluas wawasan Anda mengenai VPN. Mungkin ada juga yang jadi ingin mengimplementasikan protokol VPN sendiri.

Saya tidak menyarankan layanan VPN tertentu, karena takut salah:

  • Kadang ada layanan super populer (dulu Hola) yang ternyata kemudian ketahuan tidak aman
  • Ada layanan VPN yang sekarang aman, tapi nanti bisa saja berubah total, entah karena tekanan bisnis atau dibeli pihak lain

Jika butuh VPN:

  • untuk sekedar keamanan pribadi (misalnya ketika memakai WIFI publik) setuplah VPN sendiri
  • Jika ingin mengamankan diri dari pihak berwajib atau orang jahat pakailah TOR anonymity network
  • Jika ingin mengakses konten dari negara lain: silakan pakai layanan berbayar

Belajar Piano dengan App

Note: tulisan ini merupakan opini pribadi berdasarkan pengalaman belajar piano menggunakan aplikasi Simply Piano dari JoyTunes, saya tidak dibayar untuk menuliskan ini.

Sejak Jonathan belajar piano di kursus, sebenarnya saya sudah ikut-ikutan belajar piano. Tapi saya gak punya kemampuan memainkan musik sama sekali. Dari dulu takut sama not toge (not balok), dan cuma kenal do re mi karena pernah ikut paduan suara di gereja. Saya gak bisa juga mencari tau lagu itu seperti apa kalau belum pernah dengar sebelumnya, jadi bisa dibilang saya menghapalkan nadanya setelah diajarkan.

Tahun lalu, setelah piano-pianoan yang dipakai Jonathan hancur karena dicongkelin Joshua, akhirnya kami membeli piano digital yang jumlah tuts nya sudah sama dengan piano mekanis. Karena udah ada piano beneran, saya pikir sekalian saja saya belajar piano, masa sih gak bisa.

Awalnya sih, saya belajar dari buku-buku latihan piano Jonathan, terus gak sengaja nemu aplikasi Simply Piano ini. Aplikasi ini memberikan beberapa pelajaran pertama gratis, selanjutnya kalau mau meneruskan latihan ya harus bayar berlangganan. Berlangganannya mulai dari 279 baht/bulan atau 3250 baht/tahun. Kami memilih langsung langganan setahun, karena untuk mengirim Jonathan kursus saja biayanya pastinya lebih mahal dari itu.

preview aplikasi simply piano

Beberapa bulan pertama, saya cukup rajin latihan sekitar 30 menit sehari. Saya belajar banyak chord dan juga beberapa lagu populer. Ada pengenalan piano klasik, jazz, dan blues juga. Tapi karena kesibukan saya jadi lupa meneruskan berlatih lagi.

Sejak beberapa waktu lalu Jonathan pindah tempat kursus piano yang lebih dekat rumah. Gurunya ibu-ibu tua baik hati. Waktu dia tahu saya kadang-kadang ikutan belajar dari buku Jonathan, dia bersedia mengajari saya tanpa bayaran tambahan. Wow, ini sih rejeki jangan ditolak. Jadi sekali seminggu, ketika saya antar Jonathan kursus, dia belajar sekitar 40 menit, saya diajari 15 – 20 menit. Sisanya ya saya diharapkan berlatih sendiri di rumah.

Kelemahan saya dalam bermain piano adalah: saya tidak benar-benar membaca not dalam sheet music nya. Jadi saya menghapal cuma kunci C, dan G untuk tangan kanan, dan kunci C dan F untuk tangan kiri. Selanjutnya saya cuma membaca naik turunnya not tanpa benar-benar membaca not tersebut. Kalau notnya tidak berurutan, saya sering jadi gelagapan sendiri ngitung dalam hati ini not apa dan jari mana hahaha.

Setelah sekian lama melupakan aplikasi ini, saya jadi kepikiran lagi untuk mulai berlatih lagi setiap harinya. Di aplikasi ini ada menu untuk latihan 5 menit sehari. Masa sih gak bisa nyediain waktu 5 menit sehari. Awalnya mulai 5 menit, kalau gak ada gangguan siapa tahu bisa diteruskan jadi 30 menit latihan sehari.

menu latihan 5 menit sehari dari aplikasi simply piano

Harusnya dengan latihan setiap hari, saya bisa sekalian menghapalkan not dari lembaran musik piano. Harapannya sih digabungkan dengan belajar dari guru piano Jonathan, saya jadi beneran bisa main piano, bukan cuma tahu do-re-mi saja hehehe.

Ada banyak aplikasi belajar piano sejenis simply piano ini, tapi saya gak bisa komentar untuk yang lain, karena kami berlangganannya cuma yang ini. Oh ya, langganan simply piano bisa diinstal di beberapa device Android maupun iOs, jadi selain saya, Jonathan juga bisa memakai aplikasi ini. Joshua juga sudah mulai niru-niru tapi belum benar-benar mau mencoba mengikuti instruksi meletakkan jarinya hehehe.

Namanya belajar, tidak ada yang instan, harus terus menerus melatih diri. Mungkin akan ada yang heran, ngapain belajar piano sekarang? belajar piano itu buat saya sih untuk relaksasi. Rasanya ketika bisa memainkan sebuah lagu, enak aja gitu dengarnya berulang-ulang. Kalau lihat di YouTube, banyak orang belajar setelah dewasa, dengan komitmen belajar setiap hari, dalam waktu setahun mainnya udah jagoan. Saya sih gak muluk-muluk, gak harus jagoan, asal bisa mainin piano untuk mengiringi Joshua nyanyi atau untuk nyanyi bersama keluarga saja udah cukuplah hehehehe.

Nyobain Apple Music di Thailand

Sejak gak kerja lagi, saya jarang sekali mendengarkan musik. Udah gak pernah tau lagu apa yang baru atau enak di dengar. Joe juga ga terlalu dengerin musik, tapi ya kayaknya dia di kantor karena semua orang pake earphone jadinya juga masihlah nemu 1 atau 2 lagu yang enak didengar.

Oh ya, dari nonton film juga kadang-kadang jadi nemu lagu-lagu enak seperti soundtrack Frozen, Plane, Sing, beberapa lagu anak-anak semuanya pernah dibeli dari itunes. Nah karena kemaren nonton kdrama Phantom jadi inget lagi dulu pernah beli CD Audio Phantom of the Opera abis nonton filmnya (masa itu belum musim beli musik dari iTunes), tapi sekarang ga nemu lagi cd nya di mana. Nah Joe jadi kepikiran untuk mencarinya di Apple Music.

Di Thailand kebetulan promosi mencoba Apple Music itu gratis selama 3 bulan. Nah ya, walaupun waktu daftar harus masukin kartu kredit, tapi bener-bener free of charge selama 3 bulan pertama. Kalau mau dibatalkan setelah 3 bulan juga bisa hehehe. Biasanya sih kalau memang menarik, layanan begini akan kami pakai terus seperti halnya Netflix, ini salah satu usaha untuk hidup legal.

Kembali ke soal dengerin musik, sekarang ini satu-satunya kesempatan saya buat mendengarkan musik itu kalau lagi di mobil. Salah satu bukti kami tidak terlalu mencari musik terbaru adalah: di mobil kami cd musiknya cuma ada 2, musik lagu anak-anak dan musik lagu natal. CD musik itu udah ada sejak Jonathan masih kecil hahahah. Sekarang ini cd nya sudah mulai susah dibaca dan kalau dipasang mulai melompat-lompat nyanyiannya. Oh ya, mobil kami belum ada slot usb buat music playernya, jadi ya makanya dulu burn CD sendiri. Nah, karena CD nya mulai gak bagus, akhirnya sekarang beralih pasang music dari HP aja pake kabel AUX.

Bulan lalu, saya streaming dari YouTube tiap kali pasang musik, akibatnya paket data kritis di akhir bulan hahaha. Nah terus masalah berikutnya, kalau di HP itu, tiap pindah dari aplikasi youtube, lagunya berhenti. Setelah saya komplain masalah ini, Joe bilang: loh kenapa gak pake Apple Music aja? Nah loh, saya kan gak pernah tau soal Apple Music ini kalau gak dikasih tau hahaha. Dengan agak ragu-ragu saya tanya: tapi kan aku gak pake iPhone, emang Apple Music bisa di Android? Hahaha aduh, bener-bener deh mulai gaptek ya jadinya kalau ga banyak mau. Apple Music ini sifatnya ya kayak aplikasi music bawaannya Android juga, bisa tetap jalan di background, bahkan ketika buka aplikasi Google Map atau Pokemon Go, ya tetep denger lagunya, malah jadi denger suara double.

Udah kepanjangan intronya. Singkat cerita, Apple Music itu ada aplikasinya untuk Android juga. Nah, untuk loginnya saya pake aja loginnya Joe biar librarynya juga bareng, tinggal bikin playlist terpisah aja. Berdasarkan pemakaian 2 hari ini saya kesenangan membrowse musik-musik yang ada. Musiknya bisa di dengar streaming ataupun didownload. Bisa menambahkan beberapa playlist tentunya dan kalau gak tau mau nyari lagu apa, ada juga channel sejenis Radio yang playlistnya udah mereka siapin. Ada daftar lagu yang populer sepanjang minggu ini, ada juga top 100 music global dan lokal. Banyak pilihan deh kalau gak tau mau milih apa.

Berikutnya tentunya yang saya lakukan adalah:

  • cari musik Indonesia yang baru maupun yang dulu sering di dengar.
  • dengerin lagu-lagu Thailand juga (nah ini kurang familiar sebenarnya)
  • cari lagu yang sama dengan yang ada dengan playlist di CD mobil yang mulai rusak.
  • gak kalah penting, cari musik ost drama Korea dong!

Terus melengkapi kesenangan hati adalah, banyak lagu yang dilengkapi dengan liriknya, jadi bisa sing along kalau mau, atau kalau mau rajin bisa untuk belajar baca Korea ataupun Thai. Sekarang sih masih ngumpulin playlist aja dulu hehehe. Supaya lebih berguna, bangun pagi sekarang bikin playlist lagu yang semangat tinggi biar lebih semangat nyiapin sarapan dan siap-siap kegiatan harian.

Oh ya, kalau saya lihat harga berlangganan Apple Music ini berbeda di Thailand, Indonesia dan Amerika. Di Asia harganya lebih murah, paling murah itu harga mahasiswa/pelajar. Kalau kata Joe sih, misalnya memang berguna menghibur ya nanti bisa dipertimbangkan bayar. Kalau gak bayar lagi soalnya nantinya file-file yang di download tidak akan bisa diakses juga.

Mungkin akan ada yang nanya, kenapa gak makai Spotify atau Google Music? Saya sih alasannya sederhana: karena Joe udah daftar Apple Music aja sih dan lagu-lagu yang pernah kami beli dulu semuanya ada di library Apple Music juga. Lagipula Goggle Music belum masuk ke Thailand. Kelemahan Apple Music ini tentunya ada juga, beberapa lagu tidak bisa diakses dari region Thailand. Sejauh ini sih cukuplah, kita lihat saja berapa lama saya bertahan mendengarkan musik setiap hari.

Update 23 April 2019

Ternyata kalau saya dan Joe berbarengan menyalakan Apple Musicnya akan ada peringatan lebih dari 1 device mengakses musik dan menyarankan untuk upgrade ke family plan. Sekarang ini karena lagi masa trial bisa dicoba dengan buka account trial 1 lagi, atau ya udah gantian aja makeya, toh Joe pas jam kerja juga gak terus menerus dengerin musik dan saya di rumah juga ga pasang musik sepanjang hari.

Memrise: Aplikasi Buat Belajar Bahasa

Catatan: review ini saya tulis berdasarkan opini pribadi, dan saya tidak dibayar untuk menuliskan ini.

Saya menginstal Memrise sudah lama. Jonathan malah duluan makai Memrise baru saya ikutan. Awalnya, Jonathan iseng-iseng pengen belajar bahasa Spanish katanya. Terus belakangan saya ikutan mencoba instal juga untuk melihat ada bahasa apa saja yang ditawarkan dan seperti apa sih Memrise itu.

Bisa belajar banyak bahasa sekaligus

Sekilas, memrise ini seperti flash card saja. Bedanya kalau flash card biasa itu, kita harus menyiapkan sendiri kata-katanya dan tidak ada suaranya. Dengan Memrise, selain menawarkan untuk mengulang-ulang kosa kata, ada bagian latihan mendengarkan, latihan mengucapkan, latihan mendengar orang lokal berbicara, latihan mengeja, dan juga mulai dari level kata sampai menyusun kalimat. Oh ya, kursus yang kita pilih bisa di download secara offline, jadi tidak ada alasan tidak bisa belajar karena kehabisan paket data.

Saya mulai iseng belajar Korea pakai Memrise beberapa bulan lalu. Memrise ini bisa digunakan secara gratis, tapi ada beberapa fitur yang dibatasi untuk versi gratisnya. Karena melihat saya dan Jonathan waktu itu cukup rajin, akhirnya kami memutuskan untuk membayar subscription Memrise ini. Pertimbangannya, dengan 60 USD per tahun, bisa belajar beberapa bahasa sekaligus, jauh lebih murah daripada pergi ke kursus bahasa. Sekarang ini ada penawaran lifetime subcription dengan biaya 100 USD, tapi kami belum membeli yang lifetime subscription.

informasi subscription

Setelah selesai materi Korean 1, saya sempat berhenti lama, dan baru melanjutkan lagi akhir-akhir ini. Salah satu hal yang sekarang saya jadikan tantangan buat saya adalah, menjaga supaya jangan sampai ada hari bolos belajar. Sejauh ini sudah 27 hari terakhir saya selalu ingat untuk berlatih Korean 2.

Setiap hari kita bisa tentukan berapa banyak target kata baru yang ingin dipelajari. Beberapa hari pertama, saya tidak mau bikin target yang terlalu sulit. Cukup 5 kata baru per hari, dan biasanya cukup 5 menit juga selesai. Belakangan ini saya ganti targetnya menjadi 15 kata baru per hari.

Untuk 15 kata baru ini, karena levelnya juga semakin sulit, saya butuh sekitar 15 – 20 menit setiap harinya. Kalaupun saya gak punya waktu 20 menit yang berkesinambungan, saya bisa belajar 5 menit pagi hari, 5 menit setelah makan siang dan 10 menit sore hari. Pokoknya sih dibikin fun aja seperti main game, karena kadang-kadang saya bisa ngantuk juga belajarnya hahaha.

Oh ya, waktu dulu belajar Korean 1, saya pikir belajar Korea pakai Memrise ini cuma sampai level 2 saja. Tapi belakangan saya lihat, ada 7 kursus yang ditawarkan untuk belajar Korea ini. Jadi tambah semangat buat bikin target sesegera mungkin menyelesaikan Korean 2.

Supaya ada gambaran, berikut ini contoh cara belajar bahasa menggunakan Memrise Korean1. Waktu saya mulai belajar, saya belum membaca sama sekali mengenai alphabet hangeul. Dengan pengulangan yang berkali-kali, lama-lama saya jadi ingat bentuk dan asosiasi dengan bunyinya.

Selain kata, kita juga belajar mengingat frasa dan kalimat. Semua kata-kata ini akan dipelajari dengan berbagai metode. Metode belajarnya tentu saja mengingat kata baru dan mereview kata-kata yang lama. Aplikasi memrise akan secara otomatis memilihkan metode mana yang akan dilakukan, tapi kita juga bisa memilih mau latihan dengan metode yang mana.

berbagai metode belajar dan review

Kadang-kadang saya masih menebak dalam menjawab pertanyaanya. Tapi seringkali jawabannya juga sudah sangat jelas yang mana. Kalau kita salah menjawab, kita akan diberi kata tersebut sebagai kata baru, lalu kita akan banyak dipandu sebelum kemudian diulang lagi setelah 2 atau 3 pertanyaan berikut. Karena adanya pengulangan berkali-kali, lama-lama kita jadi ingat.

Untuk setiap metode belajar dan review, kita diberi beberapa jenis pertanyaan yang berganti-ganti, misalnya:

  • Setelah menampilkan informasi kata dan penulisan dan pengucapan,
  • berikutnya kita diminta untuk menuliskan ejaannya.
  • Untuk kata yang baru, sudah ada hintnya, tapi setelah beberapa kali, kita akan diminta mengisi sendiri.
  • Ada juga diberikan 3 suara, kita pilih mana yang paling tepat dengan kata yang diminta.
  • Kita diminta mengetikkan kata/kalimat yang kita dengar
  • mendengar orang lokal bicara, lalu memilih mana kalimat yang disebutkan
  • menyusun kata-kata dari kalimat yang kita dengar

Untuk belajar bahasa lain, saya belum coba lagi, tapi kira-kira metodenya akan sama variasinya. Sekilas saya lihat untuk bahasa Mandarin, dimulai dengan romanisasi, lalu lama kelamaan kita juga diminta mengingat alphabetnya. Ada keinginan belajar bahasa lainnya, tapi kita lihat saja nanti ya hehehehe.

Selain Memrise, ada banyak aplikasi lain yang bisa dipakai untuk belajar bahasa. Dulu saya pernah melihat aplikasi Rosetta Stone untuk belajar bahasa Thai. Dari hasil googling, ada juga aplikasi DuoLingo. Tapi akhirnya yang membedakan adalah, tidak semua aplikasi memiliki bahasa yang ingin kita pelajari. Saat ini, saya cukup senang menambah kosa kata bahasa Korea dengan menggunakan aplikasi Memrise ini.

Belajar Bahasa itu Proses

Sejak beberapa minggu lalu, saya pernah nulis kalau saya mulai rutin belajar bahasa Korea. Kali ini mencoba disiplin melakukannya sedikit setiap hari. Tanpa terasa, sudah 26 hari saya tidak pernah bolos mereview kosa kata bahasa Korea di Memrise.

Kemarin, akhirnya saya menyelesaikan kursus bahasa Korea pertama yang saya ikuti di Coursera. Walau udah selesai banyak modul, tapi saya merasa belum terlalu bisa nonton kdrama tanpa subtitle. Saya masih kurang latihan hehehe.

Coursera yang saya ambil kursusnya harusnya 5 minggu, tapi saya selesaikan dalam waktu kurang dari 5 minggu. Menurut saya quiz nya terlalu gampang dan bisa ditebak jawabannya. Jadi lulus 100 persen bukan berarti saya udah menguasai materi 100 persen.

Quiznya juga bisa diulang mengerjakannya walaupun dibatasi 3 kali mengulang sebelum menunggu beberapa jam untuk mencoba lagi. Kalau ada jawaban yang salah, bisa ambil quiz ulang, saya bisa mengganti jawaban dengan pilihan yang lain dan jadilah quiznya bisa lulus 100 persen. Kuisnya tidak di random ulang. Jumlah pertanyaannya juga antara 5 – 7, sangat mudah untuk mengingat apa saja jawaban kita sebelumnya.

Tapi apalah arti lulus 100 persen, kalau kenyataanya tetap gak mengerti materi ataupun gak bisa membaca hangeulnya. Tidak mengerti partikel atau akhiran apa yang harus dipakai untuk mengubah kata dasar menjadi kata kerja ataupun kata lainnya. Pada akhirnya walaupun perlu untuk lulus, tapi lebih perlu pengertian kita sebagai hasil belajar.

Belajar dari coursera ini menambah wawasan beberapa bentuk grammar bahasa Korea, tapi kadang-kadang ada bagian yang seperti melompat dan kurang banyak contoh. Tapi ya itu tugas saya untuk lebih banyak berlatih kalau memang mau bisa fasih bahasa Korea.

Target belajar bahasa Korea supaya bisa nonton kdrama tanpa subtitle masih jauh banget, kosa-kata saya masih sangat sedikit. Kemampuan membaca hangeul juga masih ga berbeda dengan kemampuan membaca bahasa Thai. Ada kalanya saya merasa malas membacanya karena merasa aduh ini apaan sih! Terus akhirnya nebak hahaha.

Mumpung masih semangat belajar bahasa Korea, saya memilih untuk melanjutkan kursus lain dari Coursera dan rencananya mau coba belajar dengan kursus gratisan yang ada di YouTube juga.

kursus berikutnya

Kalau baca dari deskripsinya, kursus berikutnya ini harus sudah terbiasa dengan alphabet Korea. Kursus sebelumnya cukup jelas memberi dasar mengenali dan membaca hangeul.

Saya belum berniat membeli buku atau belajar grammarnya secara serius, karena saya tahu kelemahan saya dalam belajar bahasa itu di grammar. Kalau dikasih terlalu banyak terminologi grammar saya merasa eneg duluan. Lagipula saya merasa belajar iseng begini lebih fun daripada pake target tinggi-tinggi hehehe.

Metode belajarnya sejauh ini ya, memakai aplikasi Memrise dengan target mengingat 15 kata per hari. Mengerjakan coursera kalau lagi rajin asal gak sampai lewat batas waktu pengerjaannya. Biasanya saya mengerjakan coursera kalau lagi menunggu Jonathan di tempat kursus.

Gak terlalu ambisius kan targetnya. Oh ya, karena buat saya belajar bahasa itu proses dan latihan, jadi kadang-kadang memang butuh repetisi berkali-kali sampai bisa mengingat makna kata ataupun grammar sebuah kalimat.

Untuk belajar menggunakan coursera, ada aplikasinya di android maupun iphone. Pelajarannya juga bisa di download, jadi bisa belajar secara offline. Jadi bisa dibuka di mana saja. Materi yang diberikan juga video-video singkat sekitar 10 – 15 menit. Selain video, ada file pdf yang merupakan ringkasan dan soal latihan dari materi yang diberikan. Lalu setiap 1 materi biasanya diberikan quiz kecil.

Dipikir-pikir, saya sebenernya telat buat belajar bahasa Korea. Saya ingat, dari jaman saya kuliah, teman-teman saya udah pada rajin nonton kdrama dan tertarik buat belajar bahasanya. Tapi ya, baru sekarang sih punya waktu nonton kdrama, jadi aja baru sekarang tertarik belajar bahasanya hehehe.

Ada yang mau belajar bahasa Korea bareng dengan saya? biasanya kalau ada temannya, yang iseng-iseng begini jadi lebih seru. Biasanya yang tertarik belajar bahasa korea ini karena nonton kdrama atau pengen dengerin lagu-lagu kpop.

Tips Android: Print To PDF

Biasanya untuk mengabadikan posting facebook atau chat, semua orang menggunakan fitur screen capture. Untuk keperluan semacam itu, screen capture memang praktis, tapi untuk dokumen dan artikel web yang panjang menyimpan jadi PDF lebih praktis.

Kenapa print/save ke PDF, kenapa tidak mengirim link web saja? Beberapa artikel tidak bisa diakses orang lain (misalnya: blokir kominfo, atau sumbernya dari situs internal). Dalam beberapa kasus, format PDF yang diminta (tidak boleh PNG/JPG).

Format PDF memungkinkan kita mencari teks di dalamnya dan juga copy paste, sedangkan jika memakai format gambar ini tidak bisa dilakukan. Dalam keadaan terpaksa gambar bisa di berikan ke software OCR (optical character recognition) agar bisa diekstrak teksnya, tapi seringkali proses ini tidak berhasil 100%.

Android bisa dihubungkan ke berbagai jenis printer. Defaultnya printernya hanya bisa “save to pdf” tapi kita bisa mendownload berbagai driver printer untuk HP, Canon dsb jika ingin memakai printer fisik. Selain itu ada juga printer virtual (Cloud Printer) dari Google yang akan menyimpan hasil PDF langsung ke Google Drive.

Di Google Chrome, kita bisa menekan menu lalu share maka akan muncul “Print”.

Print preview akan muncul dengan daftar printer dan juga pilihan “Save as PDF”

Setelah mencoba-coba berbagai browser. Firefox memiliki menu khusus Save as PDF. Hasil Save as PDF Firefox lebih bagus dibandingkan Chrome untuk dibaca di desktop.

Demikian tips singkat dari saya. Ini saya tuliskan supaya gampang memberi tahu ke orang bagaimana proses menjadikan PDF.

Termux Widget

Di posting ini saya hanya ingin sharing salah satu tips memakai aplikasi Termux di Android. Aplikasi Termux memungkinkan kita menjalankan sebagian aplikasi Linux di Android tanpa root. Saya sendiri punya server yang bisa diakses kapan saja, jadi jarang sekali butuh memakai ini untuk sehari-hari (cukup melakukan koneksi ke server untuk menjalankan sesuatu).

Meskipun tidak banyak saya pakai, saya punya beberapa trik yang ingin saya bagikan terutama terkait dengan Termux Widget. Dengan Widget ini kita bisa melakukan beberapa aksi dengan sekali sentuh dari launcher.

Saat ini beberapa aksi yang saya set shortcutnya:

  • restart magisk. Bagian “magisk hide” sejak Android 9 sering error dan Magisk jadi terdeteksi oleh program lain. Solusinya adalah dengan merestart HP, atau cukup merestart magisk hide
  • SSH from home dan SSH to home. Shortcut pertama untuk masuk ke server internal rumah (dari rumah) dan yang kedua untuk SSH dari luar rumah ke router
  • Start SSHD. Kadang saya ingin mengedit sesuatu di ponsel (contohnya mengedit daftar shortcut), saya bisa menjalankan ssh daemon dengan sekali sentuh
  • update notes: ini untuk mengupdate catatan yang saya simpan di repositori git
  • update wallpaper: ini menambahkan IP address di wallpaper dengan bantuan ImageMagick

Untuk membuat shortcut, kita cuma perlu membuat file skrip di dalam direktori “.shortcuts” (dot shortcuts). Skripnya terserah kita isinya apa, berikut ini contoh salah satu isi skrip saya.

Terlihat bahwa saya memakai beberapa perintah dengan awalan termux, perintah-perintah tersebut bisa diaktifkan dengan menginstall Termux API. Ada banyak hal-hal menarik yang bisa dilakukan dengan Termux API, misalnya:

  • membaca call log
  • membaca SMS log (kita bisa membuat skrip untuk memforward ke Telegram)
  • mengeset keyboard

Untuk masalah scheduling, memakai cron di termux tidak reliable, jadi saya memakai Tasker yang memanggil skrip shell. Sekarang ini saya memakai tasker yang akan mengarsipkan SMS dan mempush arsipnya ke git setiap beberapa jam.

Jika Anda adalah orang yang sering memakai Termux, maka coba pelajari Termux API dan Termux Widgets. Untuk Anda yang jarang memakai Termux tapi punya beberapa hal yang ingin diotomasi, cobalah memakai Termux dan lihat apakah bisa menyelesaikan masalah Anda.