Menyoroti Rencana Kedatangan Dosen Asing di Indonesia

Rencana mendatangkan dosen asing di Indonesia menuai kontroversi di dunia pendidikan/akademik di Indonesia. Ada beberapa hal yang memicu kontroversi tersebut, yg bila tidak diperhatikan akan mementahkan tujuan awal dari mendatangkan dosen asing.

  • Dari sisi pemilihan diksi (dosen asing) & substansi tidak tepat, Seolah2 mendikotomi asing vs lokal. Dimana asing = bagus (sehingga layak dibayar lebih tinggi) dan dosen lokal = jelek, sehingga layak dibayar lebih rendah.
    Lebih fair kalau rekruitmennya (contoh diberi nama saja ‘dosen top‘) dilakukan terbuka, dengan kualifikasi dan target capaian jelas, tidak memandang asing/non-asing atau WNI/WNA. Shg orang Indonesia (termasuk diaspora) juga punya kesempatan yg sama. Yang tidak kalah penting adalah mekanisme untuk menghentikan dosen tersebut bila tidak memenuhi kinerja sesuai target.

 

  • Menimbulkan masalah sosial karena kesenjangan pendapatan yg luar biasa. Kita tahu honor/gaji dosen di Indonesia (bahkan dgn dgn gelar doktor LN) tidak kompetitif. Kalau di PTN akan ikut sistem penggajian PNS. Sistem insentif dosen di Indonesia perlu diperbaiki dulu. Dosen asing dibayar ~10x lipat seolah2 10x lebih pintar, atau dosen lokal 10x lebih bodoh.

 

  • Problem pendidikan tinggi di Indonesia menurut saya lebih ke sistemik dan regulasi. Dosen terbebani masalah administrasi, kesejahteraan kurang, alat lab yg terbatas, link & match dgn industri kurang, dana penelitian, inefisiensi pengelolaan PT dll.
    Perbaikan tsb lebih prioritas dibandingkan mendatangkan dosen asing. Perbaikan sistemik tersebut dan lebih susah dan tidak bisa  instan.
    Bila tidak, alhasil nantinya dosen asing top yang berkiprah di Indonesia, kinerjanya tidak akan jauh berbeda. Ibarat naek mobil F1 di jalan kampung ya kecepatannya tetap max 30 km/jam

 

  • Iming2 65 juta bagi dosen dari univ. top di Barat sptnya tidak cukup banyak sebagai daya tarik bagi mereka untuk migrasi ke Indonesia. Tidak ada insentif akademik/ilmiah bagi mereka untuk datang ke Indonesia. Ujung2nya dosen asing yg ke Indonesia pun bukan yg top atau yang sudah tidak aktif/pensiun

Wallahu a’lam bishawab

Membedah Teknologi dan Mitos Pokémon Go

Kehebohan yang ditimbulkan oleh permainan Pokémon Go akhir-akhir ini memang cukup fenomenal sekaligus unik. Fenomenal karena melibatkan tidak hanya pemain (gamer), tapi bahkan sampai pejabat pemerintah (dari menteri – wakil presiden) ikut komentar atau mengeluarkan aturan/larangan. Umumnya karena kekhawatiran terhadap aspek keamanan, khususnya penyadapan data oleh pihak asing. Padahal, game ini belum di release secara resmi di Indonesia (Juli, 2016).

Unik, karena Pokémon Go pada dasarnya adalah sebuah permainan/game berbasis mobile apps. Seperti layaknya game lainnya, apps ini lebih ditujukan untuk menghibur dan menyenangkan penggunanya. Pemain game umumnya anak kecil – anak muda, bukan golongan pejabat dan orang tua :).

Tak kenal maka tak sayang, karena teknologi yang digunakan dalam game ini cukup inovatif (sehingga belum banyak dipahami), maka banyak timbul kesalah pahaman dan hoax. Mari kita bahas satu-satu teknologi yang digunakan berikut mitos yang menyertainya.

Lokasi

Permainan Pokémon Go merupakan game yang berbasis lokasi, artinya lokasi fisik dari pemain menentukan pola interaksi dengan aplikasi. Terdapat avatar (karakter dalam game yang merupakan representasi pemain) yang berjalan/berpindah sesuai posisi pemain. Interaksi berupa kemunculan karakter Pokemon, Pokestop, Gym dan lain-lain bisa disesuaikan dengan lokasi pemain tersebut. Dalam bahasa akademis, aplikasi ini termasuk kategori context-aware application.

Secara teknis, lokasi pemain didapatkan dari informasi GPS,  triangulasi sinyal WiFi, atau triangulasi sinyal menara seluler. Teknologi ini sebenarnya sudah banyak digunakan dalam aplikasi lainnya. Google Map, Waze, GO-JEK, Facebook, Path, Foursquare adalah beberapa contoh aplikasi berbasis lokasi.

Posisi kita tentunya akan dikirim ke server, untuk kemudian memberikan layanan yang sesuai. Contoh: GO-JEK akan mencatat lokasi pemesan, untuk memilihkan pengemudi ojek yang terdekat.

Seharusnya, kekhawatiran terhadap penggunaan informasi lokasi di Pokémon Go tidak lebih besar dibandingkan ketika menggunakan GO-JEK, Google Map, Garmin GPS dan lainnya. After all, teknologi lokasi yang digunakan sama. Perusahaan-perusahaan tersebut, untuk menjaga kepercayaan pelanggannya, tentunya memiliki kebijkan kerahasiaan data yang ketat.

Dari sudut privasi, saya lebih khawatir membagikan nomor handphone ketika mengisi formulir kartu kredit di Indonesia. Karena ujung-ujungnya dibagikan dan berakibat datangnya banyak telepon tidak jelas menawarkan produk asuransi dan kartu kredit lainnya.

Peta dan Pemetaan

Banyak berita hoax yang beredar bahwa Pokémon Go akan digunakan untuk melakukan pemetaan lokasi strategis perkantoran, pemerintahan dan militer. Well, Niantic (perusahaan pembuat Pokémon Go) tidak perlu melakukan pemetaan, karena mereka sudah memiliki petanya!

Pokémon Go menggunakan peta yang disediakan oleh Google Map. Peta tersebut terbuka di Internet. Pengembang aplikasi pihak ke-3 bisa memanfaatkannya melalui Google Map API.

Too little, too late – kalau kita mengkhawatirkannya sekarang :p

Google Map merupakan peta outdoor, diambil berbasis gambar satelit maupun kamera yang dipasang di pesawat. Tidak ada informasi indoor yang terdapat di dalamnya.

Bagaimana untuk pemetaan dalam ruang (indoor)? Secara teknis, pemetaan dalam ruangan lebih susah untuk dilakukan. Teknologi yang digunakan umumnya berdasarkan pengukuran jarak menggunakan laser, ultrasound maupun depth-camera. SLAM (simultaneous localization and mapping[1] merupakan salah satu algoritma, yang canggih sekaligus rumit, yang bisa digunakan untuk memetakan secara otomatis.

Penulis tidak melihat hardware yang digunakan Pokémon Go (mobile phone) dan aplikasinya mempunyai kemampuan untuk melakukan pemetaan indoor.

Kamera dan Augmented Reality

Salah satu teknologi terkini yang digunakan dalam permainan Pokémon Go adalah augmented reality (AR). Dengan teknik ini gambar digital akan ditambahkan (augmented) dalam pemandangan nyata yang ditampilkan oleh kamera.

Animal 4D+ merupakan salah satu apps produksi Octagon Studio Bandung [2] yang menggunakan teknik AR untuk aplikasi mereka.

Di media sosial beredar kabar bahwa gambar kamera yang digunakan dalam permainan, akan dikirimkan ke server Niantic, tanpa ijin. Untuk menguji hal tersebut, sebuah perusahaan bernama Applidium melakukan reverse engineering untuk mendapatkan kode sumbernya [3] (source code). Pada source code tersebut ternyata tidak ditemukan perintah untuk mengirimkan data gambar/video ke server Pokémon Go.

Bagaimana Menyikapinya?

Dari ulasan diatas bisa dilihat Pokémon Go merupakan permainan yang memanfaatkan teknologi yang cukup inovatif. Karena kebaruannya, maka timbul mitos dan kekhawatiran yang sebenarnya agak berlebihan maupun tidak berdasar. Teknologi tidak bisa dan tidak perlu dibendung. Sebaiknya kita ambil sisi positifnya, sambil membatasi efek negatif yang mungkin timbul.

Salah satu efek positifnya adalah pemain game ini akan didorong untuk lebih aktif secara fisik (bergerak dan berjalan) untuk berburu Pokemon. Interaksi dan komunikasi sosial dengan sesama pemain pun difasilitasi oleh permainan ini. Sudah bermunculan juga komunitas pemain Pokémon Go di Indonesia.  Potensi yang lain adalah permainan ini bisa digunakan untuk sarana promosi, bisa untuk promosi pariwisata maupun usaha/bisnis komersial.

[1] H. Durrant-Whyte, Simultaneous localization and mapping, IEEE Robotics & Automation Magazine, Volume 13

[2] https://www.octagonstudio.com/4d/

[3] https://applidium.com/en/news/unbundling_pokemon_go/

 

Single Cluster Hadoop pada Virtual Box

Tutorial ini menjelaskan instalasi single cluster Hadoop 2.0 di Ubuntu 14.04 diatas VirtualBox pada laptop Mac OS 10.10. Tutorial ini salah satunya diilhami dari artikel ini. Instalasi Hadoop di atas VBox memudahkan pembelajaran, baik single maupun multi node cluster.

VirtualBox dan Java

Konfigurasi Ubuntu dan install Java. Instalasi (lihat disini untuk detail) diperlukan karena pemrograman Map Reduce pada Hadoop terutama menggunakan Java.

  • Login di Ubuntu server dan update paket index
sudo apt-get update
  • Periksa bila java sudah terpasang
java -version
  • Bila belum terpasang, install Java
sudo apt-get install default-jre
  • install java-jdk (untuk kompilasi java application)
sudo apt-get install default-jdk
  • update ‘JAVA_HOME’ environment variable (dibutuhkan oleh beberapa program)
sudo update-alternatives --config java
sudo nano /etc/environment
JAVA_HOME=“/usr/lib/jvm/java-7-openjdk-i386/"
source /etc/environment 
echo $JAVA_HOME

Instalasi Hadoop

  • Unduh Hadoop, salah satunya dari mirror site spt dibawah. Contoh dibawah hadoop diunduh langsung ke Ubuntu.
wget -o http://mirrors.advancedhosters.com/
apache/hadoop/common/stable/hadoop-2.2.0.tar.gz
tar -xvzf archive.tar.gz --owner root --group root --no-same-owner 2>&1 > tar2.log
  • Buat hadoop group dan user (avoid security issue)
sudo addgroup hadoop sudo adduser --ingroup hadoop hduser
sudo su hduser
  • Menghilangkan warning start-dfs.sh
export HADOOP_OPTS="$HADOOP_OPTS -XX:-PrintWarnings -Djava.net.preferIPv4Stack=true"
  • Membuat SSH-certificate
ssh-keygen -t rsa -P

(terms setting default) Identifikasi kita sudah disimpan  /home/hduser/.ssh/id_rsa. Public key tersimpan di /home/hduser/.ssh/id_rsa.pub

cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys 
ssh localhost
  • ubah owner dari file hadoop
cd /usr/local
sudo chown -R hduser:hadoop hadoop
  • Setup environment variable
 
cd ~
nano .bashrc

Copikan di akhir file

###Hadoop variables
export JAVA_HOME=/usr/lib/jvm/java-7-openjdk-i386
export HADOOP_INSTALL=/usr/local/hadoop
export PATH=$PATH:$HADOOP_INSTALL/bin
export PATH=$PATH:$HADOOP_INSTALL/sbin
export HADOOP_MAPRED_HOME=$HADOOP_INSTALL
export HADOOP_COMMON_HOME=$HADOOP_INSTALL
export HADOOP_HDFS_HOME=$HADOOP_INSTALL
export YARN_HOME=$HADOOP_INSTALL
export HADOOP_COMMON_LIB_NATIVE_DIR=$HADOOP_INSTALL/lib/native
export HADOOP_OPTS="-Djava.library.path=$HADOOP_INSTALL/lib"
###end of paste
  • buat directory untuk data
cd~
mkdir -p mydata/hdfs/namenode
mkdir -p mydata/hdfs/datanode

Konfigurasi Hadoop

  • Update JAVA_HOME
cd /usr/local/hadoop/etc/hadoop
nano hadoop-env.sh
export JAVA_HOME=${JAVA_HOME}
ubah ke
export JAVA_HOME=/usr/lib/jvm/java-7-openjdk-i386
  • verifikasi versi Hadoop
hadoop version

Bila tidak ada pesan error, berarti hadoop sudah sukses terinstalasi. Sebelum bisa dijalankan, Hadoop terlebih dulu perlu dikonfigurasi.

 nano core-site.xml

paste setting berikut diantara configure tag

  <property>
    fs.default.name
    hdfs://localhost:9000
  </property>
 nano yarn-site.xml

paste setting berikut diantara configure tag

<property>
  yarn.nodemanager.aux-services
  mapreduce_shuffle
</property>
<property>
   yarn.nodemanager.aux-services.mapreduce.shuffle.class
   org.apache.hadoop.mapred.ShuffleHandler  
</property>

save dan close file.

mv mapred-site.xml.template mapred-site.xml
nano mapred-site.xml

Paste setting berikut diantara configure tags:

<property>
   <name>mapreduce.framework.name</name>
   <value>yarn</value>
</property>

nano hdfs-site.xml

Paste setting berikut diantara configure tags:

<property>
   <name>dfs.replication</name>
   <value>1</value>
 </property>
 <property>
   <name>dfs.namenode.name.dir</name>
   <value>file:/home/hduser/mydata/hdfs/namenode</value>
 </property>
 <property>
   <name>dfs.datanode.data.dir</name>
   <value>file:/home/hduser/mydata/hdfs/datanode</value>
 </property>

Simpan dan tutup file.

Format Namenode

hdfs namenode -format

Memulai Hadoop Services

start-dfs.sh
....
start-yarn.sh
....
jps

Jika semuanya lancer, services dibawah akan berjalan

DataNode
ResourceManager
Jps
NodeManager
NameNode
SecondaryNameNode

Menguji Hadoop (menghitung nilai dari pi)

$cd /usr/local/hadoop
$hadoop jar ./share/hadoop/mapreduce/hadoop-mapreduce-examples-2.6.0.jar pi 2 5

Number of Maps  = 2
Samples per Map = 5
13/10/21 18:41:03 WARN util.NativeCodeLoader: Unable to load native-hadoop library for your platform...
using builtin-java classes where applicable
Wrote input for Map #0
Wrote input for Map #1
Starting Job
13/10/21 18:41:04 INFO client.RMProxy: Connecting to ResourceManager at /0.0.0.0:8032
13/10/21 18:41:04 INFO input.FileInputFormat: Total input paths to process : 2
13/10/21 18:41:04 INFO mapreduce.JobSubmitter: number of splits:2
13/10/21 18:41:04 INFO Configuration.deprecation: user.name is deprecated. Instead, use mapreduce.job.user.name
...

Hasil test seharusnya mirip seperti dibawah:

Job Finished in 24.815 seconds (number rounded to 1000th decimal)
Estimated value of Pi is 3.60000000000 (or similar number)

Selamat mencoba!

Integrasi Sistem Informasi

Mengembangkan dan menerapkan sebuah sistem informasi (SI) tidak mudah. Selain tantangan teknis, permasalahan non-teknis akan banyak dijumpai dalam proses tersebut.

Pengembangan SI di lingkup universitas (baca: UGM) juga menjumpai banyak tantangan. Kesulitan utama adalah, dalam sejarahnya, banyak unit (fakultas/direktorat) yang sudah mempunyai aplikasi sendiri-sendiri (berikut database nya).

Hal ini menyebabkan terbentuk banyak pulau data yang tidak saling terhubung. Disintegrasi informasi menyebabkan sumbangan SI terhadap proses bisnis di UGM menjadi tidak maksimal. Evidence-based policy making (pengambilan keputusan dengan berdasar data) juga sulit dilakukan.

Dalam mengintegrasikan SI ada dua pilihan: menggunakan satu aplikasi & database, atau mengintegrasikan yang sudah ada menjadi bentuk service (layanan). Arsitektur SI di UGM bisa dilihat pada gambar di bawah. Webservice merupakan platform yang digunakan untuk mengintegrasikan aplikasi. Data warehouse digunakan untuk agregasi data lintas aplikasi.

 

Untuk SI yang sudah terlanjur ada maka pilihan kedua (dalam bentuk webservice) ditempuh. Tapi untuk aplikasi baru maka pendekatan pertama yang ditempuh.

Saat ini UGM sedang mengerjakan 24 inisiatif pengembangan dan integrasi SI. Penerapan SI berhasil bila sudah selaras dengan proses bisnisnya. SI akan membuat proses bisnis menjadi lebih efektif dan efisien.

 

Spam: Sampah Informasi

Spam merupakan masalah utama di dunia per-email-an. Di tahun 2013 diperkirakan dari sekitar 500 milyar email yg dikirim perhari, 80% nya adalah spam atau 400M/hari! Jumlah sampah informasi yang masif.

Sudah ada teknologi anti-spam untuk membantu menyaringnya. Walau begitu, secara rata2 masih ada sekitar 20% yang masuk ke email pengguna. Anti spam memang tidak sempurna, tapi user bisa membantu untuk memperbaiki kinerjanya. Hal ini dikarenakan anti spam bisa dilatih.

Bila ada spam masuk ke mailbox, maka bisa ditandai (mark) sebagai ‘spam’. Atau ada email beneran yang dimasukkan sebagai spam, bisa ditandai sebagai ‘not spam‘ atau dipindahkan ke inbox. Spam filter umumnya menggunakan Bayesian probability. Semakin banyak dilatih, maka akan semakin baik performanya. Practice make perfect.

Selama mengamati kinerja anti-spam milik UGM beberapa bulan terakhir, banyak email berasal dari domain milik universitas yang akan dikategorikan sebagai spam. Termasuk domain dari bbrapa PT ternama di Jakarta, Bandung dan Surabaya. Dari beberapa universitas di eropa pun begitu. Artinya, beberapa akun dari domain universitas tersebut pernah/sering digunakan untuk mengirimkan spam.

Email dari UGM juga bukannya imun. Beberapa user sering mengeluhkan email yang dikirim bounching/ditolak. Hal ini dikarenakan ada user UGM yg akunnya terbajak, dan digunakan untuk mengirimkan spam. Akibatnya reputasi domain ugm.ac.id menjadi terpengaruh dan oleh server penerima ditolak. Ibarat akibat nila setitik rusak susu sebelanga.

Bagaimana mencegah akun supaya tidak terbajak? Pertama, gunakan password yang aman (kombinasi huruf besar/kecil & angka, semakin banyak karakter juga semakin aman). Kedua, waspada terhadap website phising, yang berniat membajak login kita.

Tapi secanggih apapun anti spam yang digunakan, mereka tetap mesin yang kemampuannya terbatas. Otak, pikiran dan pengalaman manusia tetap merupakan filter terbaik. Jadi, tetap percayakan pada common sense anda dalam menghadapi spam yang ada.

Lihat video ini juga tentang tutorial anti spam.