Category Archive IT

Bywidyawan

Menuju SI yang Terkonsolidasi di Perguruan Tinggi

Seperti pada tulisan integrasi SI ini, UGM memulai pendekatan yang lebih terkonsolidasi atau terpusat dalam pengembangan sistem informasi sejak 2017. Konsolidasi ini khususnya untuk SI yang berhubungan dengan administrasi kampus. Konsolidasi ini sisi teknologi dan juga manajemen pengembangan SI. Programer yang tadinya bertebaran di banyak unit kerja, disatukan pada direktorat yang berkaitan dengan TI. Penganggaran dan keuangan yang berkaitan dengan TI, juga memerlukan pertimbangan dari direktorat TI (DSSDI) sebelum disetujui dan dimanfaatkan.

Konsolidasi teknis dijalankan dengan cara menyatukan database (basis data) secara fisik maupun logik dalam bentuk cluster terpusat di data center UGM. Pengembangan aplikasi menggunakan standard framework yang sama. Menggunakan UGMFW (ugm framework), yang diturunkan dari CI (code igniter). Selain itu, sistem otentikasi, server development dan production juga distandardkan.

SI terintegrasi, yang dinamakan simaster, menyatukan fungsi administrasi untuk tri dharma (pendidikan, pengabdian, penelitian) dan aspek pendukung (SDM, keuangan,dll). Salah satu milestone penting adalah penyatuan SIA (sistem informasi akademik) di UGM. Tadinya, terdapat lebih dari 50 instance SIA di berbagai fakultas dan prodi, yang ingin disatukan. Sejak akhir 2019, semua prodi di semua fakultas join ke SIA-Simaster. Impaknya, memungkinkan pertukaran kuliah lintas disiplin, dalam rangka Merdeka Belajar Kampus Merdeka.

Karena terkonsolidasi, maka kebebasan unit kerja untuk membuat SI sendiri menjadi terkendala atau tidak bisa. Tantangannya, adalah menjaga agar semua dalam koridor pengembangan. Gesekan-gesekan tentu saja ada, tapi bila dikelola dengan baik, biasanya akan terjadi kesepemahaman.

Bywidyawan

Integrasi Sistem Informasi (2)

Menengok ke belakang, seperti pada tulisan pertama pada tahun 2013, melakukan integrasi SI di Universitas tidak mudah. Pendekatan yg ditempuh pada saat itu adalah seperti menyatukan sistem yang terdistribusi. Ada banyak aplikasi dan database, dibuat jembatan dengan teknologi webservice. Solusi yang dirasa ideal, karena aplikasi yg sudah ada masih bisa dipertahankan, sehingga bisa melakukan efisiensi dan mengurangi resistensi.

Walau secara teknis memungkinkan dan teknologinya juga tersedia, pelaksanaanya tidak mudah bahkan bisa dikatakan sulit. Di level mikro, seringnya karena terjadinya perubahan aplikasi (atau database), yang tidak terkoordinasikan, sehingga menyebabkan jembatannya tidak berfungsi. Sebagai contoh aplikasi akademik dan sdm dihubungkan dengan web service untuk pertukaran data. Perubahan aplikasi akademik (contoh: tabel referensi mata kuliah), menyebabkan web service perlu ditulis ulang. Bila tidak terkomunikasikan, web service yang ada menjadi tidak berfungsi.

Kejadian ini tidak terisolasi hanya pada satu aplikasi saja, tapi juga aplikasi yang lain (contoh: aset, keuangan, dll). Diskoordinasi ini ada banyak penyebab, tidak melulu masalah projek sistem informasi, tapi juga karena masalah otoritas di level makro. Unit kerja di UGM (contoh: direktorat, fakultas) mempunyai/merasa mempunyai wewenang dan anggaran TI yang relatif otonom penggunaannya. Selain itu, mereka mempunyai programer sendiri. Unit menjadi ‘kreatif’ dalam mengembangkan aplikasi.

Kurangnya standard interoperabilitas di universitas juga salah satu penyebab. Sistem terdistribusi memerlukan standar yang ketat. Internet, sebagai contoh sistem terdistribusi global, bisa berjalan baik karena banyaknya standard yang mengatur, dari layer fisik sampai aplikasi, oleh IEEE sampai IETF.

Singkat cerita, setelah bertahun-tahun berjalan (mulai awal 2000-an, masa PT BHMN), pendekatan interoperabilitas antar aplikasi tidak berjalan dengan baik di UGM. Pada tahun 2017, kami melakukan u-turn, pendekatannya menjadi sistem tersentral. Simaster menjadi official SI di kampus.

Database dan aplikasi disatukan, yang ada dimigrasikan atau dihilangkan. Unit tidak dibolehkan mengembangkan sistem informasi sendiri. Programmer dan wewenang anggaran juga dipusatkan. Terdengar mudah? Sulit pastinya. Apakah semua setuju? Resistensi ada tentunya.
Tapi itu menjadi cerita lain tersendiri ..

Bywidyawan

Pembelajaran Jarak Jauh tidak hanya melalui Internet

Ditengah kondisi pandemi covid-19, proses pembelajaran di sekolah menjadi terhenti. Dari paud (pendidikan anak usia dini) sampai perguruan tinggi, semua diminta melakukan pembelajaran jarah jauh (PJJ), belajar dari rumah. Pembelajaran disampaikan oleh guru melalui media daring (dalam jaringan, Internet). Siswa umumnya mengakses melalui media smartphone atau laptop. Problemnya adalah tidak semua siswa mempunyai akses Internet, baik karena ketiadaan biaya (untuk membeli kuota), tidak ada sinyal Internet maupun tidak memiliki smartphone. Menurut survei APJII (asosiasi pengusahana jasa Internet Indonesia) masih terdapat 32,2% (~93 juta orang) penduduk Indonesia yang tidak memiliki akses Internet. Separo lebih, 55% pengguna Internet, masih terpusat di pulau Jawa. Lihat gambar di bawah, untuk contoh jangkauan sinyal di beberapa daerah di Indonesia.

Bagi pihak sekolah dan guru juga tidak mudah, karena menyiapkan materi digital ternyata memerlukan usaha dan waktu ekstra. Tidak semua memiliki ketrampilan dan alat bantu yang diperlukan untuk membuat materi pembelajaran digital. Terlebih menurut data Kemendikbud terdapat 8.522 sekolah tidak berlistrik dan 42.159 tidak mempunyai akses Internet.

Terdapat ancaman lost generation karena banyak siswa dan sekolah yang tidak mampu menyelenggarakan pembelajaran jarak jauh berbasis daring atau Internet. Ancaman ini nyata karena sudah banyak cerita tentang siswa didik yang putus sekolah karena berbagai kendala yang dialami selama pembelajaran jarak jauh.

Salah satu usaha yang dilakukan pemerintah (baca: kemendikbud) adalah memberikan subsidi pulsa kepada guru, siswa dan dosen selama 4 bulan sampai Desember 2020, dengan nilai hampir 9 triliun rupiah. Selain jumlah yang sangat besar, subsidi tersebut hanya mengatasi sebagian dari masalah. Ketersediaan listrik, kesulitan membuat materi pembelajaran digital, pemerataan infrastruktur Internet, sampai kepemilikan gadget untuk akses, masih belum akan tertangani dalam waktu dekat.

Untuk mencari solusi alternatif, kita perlu bertanya ulang, apakah Internet merupakan satu-satunya media pembelajaran jarak jauh yang tersedia? Jawaban singkatnya: tidak. Bila kita menyederhanakan value chain (rantai nilai) dari pembelajaran terdiri dari:

  1. guru
  2. materi ajar
  3. medium penyampaian
  4. siswa

Dalam pembelajaran luring, poin 1 – 4 semua berada dalam locus dan tempus yang sama, sehingga proses pembelajaran relatif sederhana. Komunikasi yang terjadi menjadi kaya, karena bisa full duplex (dua arah secara bersamaan), real time (waktu nyata), dan gaya belajar visual, auditori dan kinestetik bisa terfasilitasi karena tersedianya media penyampaian dengan bandwidth tidak terbatas (ruang kelas).

Dalam pembelajaran jarak jauh, guru dan siswa berada dalam lokasi dan waktu yang berbeda. Yang diperlukan adalah infrastruktur tele komunikasi (komunikasi jarak jauh). Internet berperan sebagai media full duplex, dengan prasyarat siswa berada dalam daerah yang mempunyai listrik, terjangkau infrastruktur Internet, siap dengan gadget untuk belajar, mempunyai kuota.

Bila prasyarat infrastruktur dan teknologi tersebut tidak bisa terpenuhi, maka perlu dikembangkan skenario lain. Bila rumah siswa dan sekolah cukup dekat dan terjangkau, cara paling sederhana adalah materi ajar dibagikan/diambil secara fisik. Bisa diantar ke rumah atau diambil di sekolah, karena siswa PAUD, SD dan SMP umumnya berada dalam satu desa atau kecamatan dengan sekolahnya. Pengiriman melalui post pun dimungkinkan bila jaraknya cukup jauh atau untuk alasan kepraktisan. Mekanisme ini sering disebut sebagai sistem Pitsman, dimulai pada 1840 di Inggris. Cara ini tetap memungkinkan komunikasi dua arah (full duplex), walau dengan waktu yang tidak bersamaan (asynchronous). Materi ajar yang dibagikan bisa berupa bahan cetak maupun digital, mempertimbangkan fasilitas yang dimiliki oleh siswa.

Mekanisme alternatif lain adalah menggunakan radio maupun televisi. Bisa diasumsikan bahwa setiap rumah tangga memilikinya, sehingga semua siswa memiliki akses ke radio/televisi sebagai alat pembelajaran. Karakteristik perambatan gelombang radio memungkinkan untuk komunikasi jarak jauh. Gelombang radio juga bisa melewati halangan topografi (contoh: hutan/bukit/gunung), sehingga cocok untuk kondisi geografis di Indonesia. Semua daerah juga memiliki pemancar radio lokal, sehingga dinas pendidikan atau sekolah bisa bekerjasama untuk memancarkan secara broadcast materi ajar. Penyesuaian guru juga relatif mudah, karena model pembelajaran verbal/auditori sudah sering dilakukan dalam kelas.

Melihat keragaman kondisi infrastruktur dan rantai nilai dari pembelajaran di Indonesia, pembelajaran jarak jauh sebaiknya tidak menggunakan moda tunggal Internet. Pemilihan moda bisa mempertimbangkan kondisi infrastruktur, geografis, serta kesiapan guru dan siswa didik. Sekolah di daerah perkotaan, dengan infrastruktur listrik dan Internet memadai, siswa yang mampu memiliki gawai cerdas dan menjangkau biaya kuota, maka pembelajaran daring bisa menjadi pilihan. Bila prasyarat tersebut tidak tersedia, mekanisme pembelajaran jarak jauh yang lain bisa menjadi pilihan.

Jangkauan sinyal 2G/3G/4G operator di Kalimantan dan Sulawesi, https://www.opensignal.com/
Jangkauan sinyal 2G/3G/4G operator di DIY, https://www.opensignal.com/
Bywidyawan

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/

 

Bywidyawan

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!