Automatic Position Reporting System

Automatic Position Reporting System atau APRS adalah protokol komunikasi digital antara stasiun radio amatir dengan jumlah besar yang dapat mencakup area yang luas. APRS merupakan sistem radio paket yang dapat digunakan untuk mengirim berbagai informasi taktis, seperti cuaca, lokasi, pesan, dan berbagai event spesial atau emergency dalam waktu real time. Sistem APRS dibuat oleh Bob Bruniga (WB4APR) sejak lebih dari 25 tahun yang lalu, namun sistem ini masih aktif digunakan oleh banyak stasiun radio amatir.

Layaknya berbagai sistem radio amatir yang masih ada sampai sekarang, APRS juga sudah terintegrasi dengan jaringan internet. Anda dapat memantau berbagai macam informasi taktis melalui APRS, contoh website yang menunjukkan data APRS adalah APRS.fi. Pada Gambar 1, Anda dapat melihat banyak stasiun cuaca pada kota Tucson, Arizona, USA. Melihat banyaknya stasiun cuaca, perlu diketahui bahwa salah satu tradisi radio amatir di Amerika Serikat adalah layanan publik. Salah satu layanan publik tersebut adalah pengamatan cuaca. Operator radio amatir yang memiliki stasiun cuaca menggunakan APRS untuk membagikan datanya.

Walaupun bernama Position Reporting system, tujuan APRS ini sendiri bukan sebagai GPS Tracker system. Perkembangan APRS memang dipicu oleh perkembangan GPS pada zamannya, namun sebenarnya APRS adalah sistem komunikasi dua arah yang diperuntukkan untuk komunikasi taktis secara real-time.

Screenshot 2018-08-03 18.24.54
Gambar 1. Screenshot aktivitas radio amatir Tucson, Arizona, USA

APRS Radio Network

Setelah mengetahui sistem APRS dan salah satu aplikasinya, selanjutnya akan dibahas komponen dari sebuah sistem APRS. Pada sistem APRS, Anda akan sering mendengar istilah sebagai berikut:

  1. Terminal Node Controller
  2. Digipeater
  3. APRS-IS iGate

Terminal Node Controller adalah modem radio digital yang dipakai. Modem ini umumnya berbasis dari Bell 202 Modem, atau modem Audio Frequency Shift Keying dengan baudrate sebesar 1200 baud.

Digipeater adalah repeater digital yang mampu mengirimkan kembali paket data agar lebih banyak stasiun yang dapat mendengar informasi tersebut. Digipeater umumnya memiliki daya yang tinggi dan diletakkan pada gedung tinggi sehingga dapat memiliki jangkauan yang luas.

APRS-IS iGate adalah perangkat APRS yang terhubung dengan internet sehingga dapat me-relay pesan yang diterima pada gelombang RF dan memasukkannya ke server APRS-IS. Setelah dari server APRS-IS, Anda dapat melihat paket-paket tersebut melalui berbagai website APRS ataupun software APRS lainnya.

Untuk memulai memasuki dunia APRS, hal pertama yang perlu dipastikan adalah Anda sudah memiliki callsign radio amatir, jika di Indonesia, Anda dapat mendaftar melalui SDPPI Postel Kemkominfo. Anda akan mengikuti Ujian Nasional Amatir Radio, lalu jika lulus Anda akan menerima Sertifikat Kecakapan Amatir Radio, lalu Anda dapat mengurus Izin Amatir Radio. Setelah memiliki Izin Amatir Radio, pastikan untuk mempunyai Izin Penguasaan Perangkat Radio Amatir. Jika Anda tidak ingin melakukan transmisi, mendengarkan transmisi APRS diperkenankan untuk siapapun, dengan modal TNC dan Radio HT Anda dapat memulai bermain dengan APRS.

Sekian informasi singkat tentang APRS yang bisa saya sampaikan, informasi lebih detail tentang masing-masing komponen dari APRS akan saya sampaikan dilain kesempatan.

Sources:

  1. http://www.aprs.org/
  2. http://www.aprs.fi/

Resume Builder with Vue.js (English)

This is a translated version of the article written on March 6th in Bahasa Indonesia.


Hi!

I started this blog with a content which is not exclusively for electrical stuff. This post is about building a resume. If you hope this post is about how to write a good resume, this is not the article for you. There are lots of blogs and articles which discussed how to write an accurate, concise, and clear resume. As an engineer, especially one who dabbles in the world of technology, one should have a decent programming knowledge. That’s why this post will discuss using JavaScript as a tool to create a neat resume

Before I begin my explanation on how to make a resume with JavaScript, I’ll show you how to install it using Ubuntu v16.04 Computer. Several things that you need to note in preparation for creating a resume using Ubuntu Computer like in this post are:

  • Git version checker is installed in Ubuntu

Installing Git in Ubuntu can be simply done with the command :

# apt-get install git

  • Installing Node.js using Node.js Version Manager

To install Node.js, you can follow the guide in

https://id.godaddy.com/help/install-nodejs-ubuntu-17395

After installing both programs above, you can then access my GitHub Repository (https://github.com/josefmtd/best-resume-ever) which is a fork from (https://github.com/salomonelli/best-resume-ever). To clone this repository, use this command:

$ git clone https://github.com/josefmtd/best-resume-ever

After cloning repository, open the ‘best-resume-ever’ folder -> resume folder, and you’ll find two files, data.yml and id.jpg in that folder. You can change the id.jpg with your own photo and change data.yml according to the content of your resume

After the contents are changed, you can begin compiling from the PDF file according to the design you want. To begin compiling, first access the ‘best-resume-ever’ folder and do this command:

$ npm install

Wait until the installation process from Node.js finished, then you can begin compiling for the PDF using this command below:

$ npm run export

Wait until the compilation process finished so you can see the result in the folder ‘best-resume-ever/pdf’. There are also several templates that I dabbled according to the standard templates from https://github.com/salomonelli. If you aren’t satisfied with the template I made, you can change the template in the ‘/best-resume-ever/src/resumes/’ folder, where you can find Vue.js file which can be changed depending on what you want. I’ll talk about changing the template in another chance. Have fun experimenting with Vue.js to create a great resume

LoRa Modulation Basics

LoRa adalah teknologi modulasi spread spectrum yang dipatenkan oleh Semtech. LoRa merupakan turunan dari Chirp Spread Spectrum (CSS) yang menurunkan data rate untuk meningkatkan sensitivitas. Jika Anda ingin menaruh LoRa dalam model OSI layer, implementasi modulasi LoRa berada pada Physical layer dan tidak terikat dengan implementasi layer atas tertentu. Hal ini memungkinkan LoRa untuk diadaptasi dengan berbagai jaringan yang sudah matang. Artikel ini dibuat untuk membantu menjelaskan beberapa konsep dasar LoRa sebagai referensi pengembangan sistem berbasis LoRa.

Spread Spectrum Technology

Bagi seseorang yang familiar dengan ilmu Telekomunikasi, pasti tidak asing lagi dengan teorema Shannon-Hartley. Teorema ini menjelaskan kapasitas kanal dari sebuah link komunikasi menggunakan bandwidth tertentu dengan adanya noise dalam kanal tersebut. Saya tidak akan menulis dengan detail penurunan rumus Shannon-Hartley, namun dari penurunan rumusnya, dapat diketahui bahwa dengan menaikkan bandwidth, performa link komunikasi dengan noise-to-signal ratio tertentu akan lebih baik. Pada teknologi Spread Spectrum, umumnya Anda mendengar Noise-to-Signal ratio dibandingkan dengan Signal-to-Noise ratio karena sejatinya daya sinyal umumnya berada di bawah noise floor. 

Sesuai dengan teorema Shannon-Hartley, bandwidth yang lebih besar dapat mengompensasi degradasi dari SNR pada kanal radio. Pada sistem Spread Spectrum, data yang ingin dikirim dikalikan dengan spreading code, atau dikenal juga dengan chip sequence. Chip sequence ini umumnya memiliki frekuensi yang jauh lebih tinggi, sehingga jika kedua sinyal dikalikan, bandwidth dari keluaran sinyal akan lebih lebar dari bandwidth data asli. Pada sisi penerima, sinyal yang diterima akan dikalikan kembali dengan sinyal chip sequence yang sama untuk mendapatkan data awal kembali.

psd
Gambar 1. Ilustrasi Spread Spectrum

LoRa Spread Spectrum

Modulasi LoRa menyediakan alternatif komunikasi Spread Spectrum yang rendah daya, rendah biaya dari teknik spread spectrum konvensional. Modulasi LoRa menggunakan sinyal chirp, yaitu sinyal yang frekuensinya terus berubah. Penggunaan metode ini mengurangi kompleksitas pada desain penerima. Sinyal hasil keluaran dari modulasi ini sesuai dengan bandwidth dari sinyal chirp yang digunakan

Saya sekali lagi tidak akan mendalami detail penurunan rumus, pada modulasi LoRa, data dengan bit rate yang kita inginkan akan ditransmisi akan dikalikan dengan sinyal chirp dengan chip rate tertentu, chip rate ini jauh lebih besar dari sinyal data yang ingin dikirim, besarnya chip rate ini adalah Bandwidth dari hasil sinyal LoRa yang telah dimodulasi.

Selain Bandwidth, terdapat juga Spreading Factor, jika Bandwidth menunjukkan chip rate, Spreading Factor menunjukkan seberapa banyak chip yang digunakan untuk merepresentasikan satu simbol. Selain itu, Spreading Factor juga menunjukkan seberapa banyak bit yang terkandung dalam satu simbol.

Selain itu, LoRa juga memiliki mekanisme Forward Error Correction, pengaturan FEC dapat dilakukan melalui parameter Coding Rate. Layaknya komunikasi radio pada umumnya, pengaruh noise dapat merusak performa sistem, dengan menambahkan redudansi menggunakan FEC, perancang sistem berbasis LoRa dapat mengurangkan bit rate untuk menaikkan kehandalan sistem.

Untuk membuat desain sistem berbasis LoRa, Anda harus perhatikan ketiga parameter ini untuk mendapatkan bit rate yang sesuai, range yang mumpuni dan kehandalan sistem yang cukup baik.

Edit Aug 05/2018: Terminologi pada parameter spread spectrum telah dikoreksi sehingga akurat

Bluetooth HC-05 AT Commands

Bluetooth adalah salah satu modul komunikasi sederhana yang dapat dibeli dengan harga relatif murah. Modul Bluetooth HC-05 dapat dengan mudah ditemukan di berbagai jejaring toko online dengan harga sekitar 50 ribu.  Sebelum membahas lebih lanjut tentang Bluetooth saya akan membahas beberapa konsep dasar Bluetooth.

Introduction

Bluetooth adalah sebuah standar teknologi nirkabel untuk komunikasi data jarak dekat. Bluetooth menggunakan frekuensi 2.4 GHz yang merupakan frekuensi bebas untuk transmit dengan batasan daya yang rendah. Standar Bluetooth mencakup banyak protokol, salah satunya adalah protokol RFCOMM. Modul Bluetooth yang umum kita jumpai ini menggunakan protokol ini. Protokol RFCOMM adalah protokol yang paling populer dalam Bluetooth karena banyaknya API yang tersedia untuk protokol ini, selain itu protokol ini, yang sering disebut serial port emulation, dapat diintegrasikan pada banyak aplikasi yang menggunakan RS-232 sebagai antarmuka komunikasinya.

Generic Bluetooth RFCOMM Modules

Setelah mengetahui beberapa konsep dasar Bluetooth, sudah waktunya untuk melihat cara kerja Bluetooth secara langsung. Untuk demonstrasi kali ini, saya mencoba dengan Bluetooth module: Tokopedia (Disclaimer: Tidak ada maksud untuk promosi).

Bluetooth
Gambar 1. Bluetooth HC 05 Module

Module Bluetooth sesuai Gambar 1 adalah modul berbasis Bluetooth chip BC417. Modul ini memiliki keluaran pin STATE, RX, TX, GND, +5V, dan EN. Untuk menggunakan modul ini, cukup koneksikan pin RX, TX, GND, dan +5V.

Pin 5V atau pin VCC di modul ini sebenarnya terhubung dengan LDO voltage regulator pada board modul Bluetooth ini. Saya coba melihat regulator yang digunakan, namun sulit menemukan datasheet dari komponen SMD ini. Sebelum saya membahas bagaimana pemrograman AT commands menggunakan Raspberry Pi, pertama saya uji coba terlebih dahulu serial port dengan Bluetooth module ini.

Koneksikan pin TX Bluetooth dengan RX Raspberry Pi, RX Bluetooth dengan TX Raspberry Pi, VCC dengan +5V Raspberry Pi dan GND dengan GND Raspberry Pi. Saya nyalakan minicom untuk membuka port serial (/dev/ttyS0) dengan baudrate 9600. Tampilan uji coba dapat dilihat pada Gambar 2.

Capture
Gambar 2. Penerimaan Serial Port via Bluetooth

AT Commands Bluetooth

Setelah berhasil komunikasi Serial, selanjutnya yang perlu dicoba adalah AT Commands, melalui AT Commands, dapat dilakukan berbagai macam konfigurasi seperti nama Bluetooth dan PIN, serta baud rate. Untuk itu saya membuat script singkat di Python untuk melaksanakan fungsi ini, sebelum mencoba script ini, pastikan Raspberry Pi sudah terinstal Python dan package PySerial (python-serial).

# apt-get install python-serial

Sebelum saya memberi source code dari AT command configuration, perlu saya tekankan bahwa untuk memasuki AT commands terdapat tiga cara, pertama memberi pin 34 pada Bluetooth Module tegangan 3.3V, jika dengan cara ini, modul akan masuk ke mode full AT commands, di mana semua AT commands dapat diakses dan baudrate dari modul adalah 38400. Cara kedua adalah menekan tombol sebelum modul menyala dan pastikan tombol tetap tertekan saat konfigurasi berlangsung (secara efektif cara ini sama dengan cara pertama), sehingga modul akan masuk dalam mode full AT command. Cara ketiga adalah setelah modul sudah menyala, tekan tombol pada modul dan tahan saat melakukan konfigurasi, modul akan memasuki mode semi AT command dimana baudrate tetap menggunakan baud rate komunikasi serial normal (9600 baud default). Jika Anda lupa baud rate komunikasi serial normal, sebaiknya program Bluetooth menggunakan full AT command mode.

# attest.py
# Sending AT commands to Bluetooth HC-05

import serial
import time

bluetooth = serial.Serial("/dev/ttyS0", baudrate=9600, timeout=5)

bluetooth.write('AT+NAME=JosefMTD\r\n')
result = bluetooth.read(100)
print result

bluetooth.write('AT+UART=38400,0,0\r\n')
result = bluetooth.read(100)
print result

Untuk memakai program di atas, ubah “/dev/ttyS0” dengan “/dev/ttyACM0” jika Anda menggunakan PL011 Hardware UART dari Raspberry Pi, gunakan /dev/ttyS0 jika Anda menggunakan mini UART. Baudrate sesuaikan dengan baudrate modul atau masukan 38400 jika Anda ingin memasuki mode full AT command.

Untuk mengubah nama dan baudrate, modul Bluetooth dapat dikonfigurasi dalam mode Semi AT command, sehingga proses yang saya lakukan adalah menekan tombol, menjalankan script attest.py lalu melepas tombol saat program selesai berjalan.

Capture1.PNG
Gambar 3. Output dari program attest.py

Sekian dahulu post saya untuk kali ini, tinggalkan komentar jika Anda mengalami masalah setting up Bluetooth

Raspberry Pi Zero Headless Setup

Anda ingin mencoba memulai bermain dengan Raspberry Pi? Mungkin Anda memiliki permasalahan ini dalam melakukan penyetelan Raspberry Pi seperti: tidak ada monitor untuk mengonfigurasi Raspberry Pi, tidak ada keyboard untuk mengetik command, ataupun tidak ada kabel LAN. Mungkin permasalahan Anda sama seperti saya, mempunyai Raspberry Pi Zero W, yang hanya bisa diakses melalui Wireless, koneksi USB hanya dengan micro USB dan mini HDMI. Jika Anda memiliki Raspberry Pi Zero dan ingin mencoba untuk memulai bermain dengan Raspberry, silakan membaca guide ini untuk memulai instalasi Raspberry Pi Anda!

IMG_20180401_222102.jpg
Gambar 1. Raspberry Pi Zero Wireless

Instalasi Operating System Raspbian Stretch Lite

Hal yang Anda butuhkan untuk memulai adalah sebagai berikut:

  1. Raspberry Pi Zero Wireless (pastikan bukan yang Raspberry Pi tanpa WiFi)
  2. Micro SD Card (sebaiknya Class 10 agar operasi Read/Write Disk nya lebih cepat)
  3. Charger HP 2A
  4. Laptop dengan SD Card Reader (gunakan Micro-SD Adapter jika perlu)
  5. Wireless Router atau Mobile WiFi Hotspot

Hal pertama yang Anda perlu lakukan adalah masukkan SD Card ke komputer Anda, lalu format SD Card tersebut, jika Anda sudah pernah menginstalasi Raspbian sebelumnya pada SD Card tersebut dan ingin menghapusnya, Anda dapat menggunakan SD Card Formatter (sdcard.org). Sebagai perbandingan, Gambar 2 menunjukkan formatting menggunakan quick format Windows dan SD Card Formatter, Windows Formatter hanya bisa melakukan format untuk partisi F:\ di SD Card, sedangkan SD Card Formatter mampu melakukan format untuk seluruh SD Card.

Screenshot 2018-04-01 22.40.45
Gambar 2. Perbandingan format dengan Windows Formatter dan SD Card Formatter

Setelah Anda melakukan Quick Format menggunakan SD Card Formatter, Anda dapat menambahkan OS Raspbian pada SD Card. Pertama, hal yang perlu Anda lakukan adalah download ZIP file dari OS Raspbian Stretch Lite. Download dari website resmi Raspberry Pi untuk Raspbian Stretch Lite, dengan kernel Linux 4.9. Terdapat dua varian Raspbian Stretch, dengan Desktop dan Lite, Lite adalah versi tanpa GUI, sedangkan Desktop memiliki GUI sehingga dapat dihubungkan dengan monitor dan keyboard dan dipakai layaknya komputer biasa.

Setelah Anda sudah memiliki Raspbian Stretch Lite dan SD Card yang sudah di format, proses selanjutnya adalah untuk flashing Raspbian Stretch Lite pada SD Card Formatter. Cara yang paling saya suka untuk menginstalasi Raspberry Pi adalah dengan menggunakan program Etcher. Program ini dapat diunduh dari website Etcher.io, program ini mudah dipakai dan ringan.

Screenshot 2018-04-01 23.00.17
Gambar 3. Pemilihan image Raspbian Stretch Lite untuk flash pada SD Card dengan program Etcher

Setup SSH Server dan WiFi

Untuk dapat mengakses Raspberry Pi Anda tanpa membutuhkan monitor ataupun keyboard Anda membutuhkan SSH Server dan koneksi WiFi. Pada komputer yang Anda ingin pakai untuk mengonfigurasi Raspberry Pi, pastikan Anda memiliki client SSH, Anda dapat menggunakan PuTTY.

Untuk menyalakan SSH, Anda perlu membuat file “ssh” pada partition boot pada SD Card yang sudah Anda flash dengan OS Raspbian. Pastikan Anda membuat file ssh tanpa extension apapun (bukan .txt), file ini tidak perlu diisi, hanya pastikan bahwa terdapat file bernama “ssh”.

Screenshot 2018-04-01 23.16.44
Gambar 4. Instalasi SSH Server dengan menambahkan file SSH tanpa ekstensi pada SD Card dengan Raspbian

Setelah menambahkan server SSH, hal kedua yang perlu Anda lakukan adalah membuat sebuah file “wpa_supplicant.conf” pada partisi boot. Isi file tersebut sebagai berikut:

ctrl_interface=DIR=/var/run/wpa_supplicant GROUP=netdev
update_config=1

network={
    ssid="NAMA_WIFI_ANDA"
    psk="PASSWORD_ANDA"
    priority=1
}

Gunakan Notepad untuk menulis file tersebut, pastikan Anda simpan ini sebagai wpa_supplicant.conf dan bukan .txt. Gambar 5 menunjukkan contoh hasil dari pembuatan file wpa_supplicant yang ditaruh pada partisi boot yakni di F:\. Ganti NAMA_WIFI_ANDA dengan nama SSID dari WiFi yang Anda pakai, dan PASSWORD_ANDA sesuai dengan password WiFi-nya.

ConfigureWPASupplicant
Gambar 5. Pengaturan file wpa_supplicant untuk koneksi WiFi

Setelah Anda telah melakukan instalasi OS Raspbian dan menambahkan file-file sesuai dengan petunjuk di atas, eject SD card tersebut dan pasang ke Raspberry Pi Zero.

Akses SSH Raspberry Pi dari PC

Setelah Anda memastikan file yang dibuat sudah sesuai dengan tutorial ini, nyalakan Raspberry Pi Zero untuk pertama kalinya dengan SD Card yang sudah diinstalasi dengan OS Raspbian yang sudah dikonfigurasi untuk dapat diakses dengan SSH melalui WiFi. Cek IP Address dari Raspberry Pi yang Anda miliki untuk dapat mengaksesnya melalui Raspberry Pi, Anda bisa menggunakan Tabel DHCP dari Router WiFi Anda untuk mengetahui IP Address Raspberry Pi. Contoh Tabel DHCP dari Router dapat dilihat pada Gambar 6.

Router
Gambar 6. IP Address dari Raspberry Pi Zero

Setelah itu Anda dapat membuka PuTTY untuk mengakses SSH dari Raspberry Pi dengan IP Address yang sudah Anda ketahui dari Tabel DHCP Router Anda. Setelah itu Anda dapat memasukkan login dengan menggunakan

login as: pi
pi@192.168.0.7's password: raspberry

Pastikan Anda mengikuti petunjuk di atas yakni memasukkan “pi” sebagai nama login dan password “raspberry”. Setelah itu Anda dapat mengakses Raspberry Pi Zero Anda menggunakan SSH, untuk mengubah password Anda agar tidak mudah dijebol orang maka Anda perlu memasukkan command:

$ passwd

Anda akan diminta mengisi password lama (raspberry) dan memasukkan password yang baru. Setelah Anda telah memasukkan password baru, pastikan SSH Server di Raspberry Pi sudah dalam posisi menyala secara permanen, hal ini dapat dilakukan dengan menggunakan command sebagai root (sudo):

# raspi-config

Dengan mengakses raspi-config, Anda akan melihat tampilan sesuai pada Gambar 7 pada window PuTTY Anda. Arahkan pointer ke “Interfacing Options” dan klik Enter.

RaspiConfig
Gambar 7. Tampilan Raspberry Configuration Tool (Raspi-Config)

Setelah Anda mengakses Interfacing Options, pilihlah P2 SSH untuk mengakses pengaturan SSH Server. Anda akan menemukan pilihan “Would you like the SSH server to be enabled?” pilih Yes dan tekan Enter. Anda akan melihat tulisan “The SSH server is enabled”. Setelah itu Anda akan dikembalikan ke tampilan utama, tekan Finish untuk keluar. Selanjutnya Anda akan dapat mengakses Raspberry Pi Anda via SSH tanpa perlu memikirkan adanya monitor/keyboard, pastikan ada WiFi dengan SSID dengan Password sesuai dengan penyetelan yang Anda lakukan.

Masih memiliki pertanyaan? Silakan bertanya pada blog post ini, selamat mencoba Raspberry Pi Anda.

Install Python 3.6 on Raspbian

Ingin memakai Python 3.6 pada Raspberry Pi? Namun saat Anda menjalankan program menggunakan Python di Raspberry Pi, versi Python yang dipanggil adalah versi Python 2.7. Post blog ini akan membahas bagaimana mengubah default Python 2.7 menjadi Python 3.6.

Sebelum saya memulai tutorial ini, saya ingin menjelaskan satu hal yang mungkin sering terlihat pada tutorial-tutorial Linux, yaitu anotasi $ dan #. Saat menulis command Linux Terminal di dokumen umumnya anotasi $ dan # sering dipakai sebagai prefix. Asal usul $ dan # adalah dari Terminal Linux, jika user yang dibuka bukan root, maka Terminal Linux akan menunjukkan tanda $, jika Terminal Linux menunjukkan tanda # artinya Anda sedang mengakses root. Pada dokumen yang menunjukkan command Linux, # menandakan command tersebut harus diakses sebagai root (atau dengan sudo jika bukan root).

Hal pertama yang dapat dilakukan adalah mengecek apakah Python default Anda ada pada Python 3.x atau pada Python 2.x, untuk memastikan hal ini gunakan command sebagai berikut:

$ python --version
PythonVersionStart
Gambar 1. Versi Python sebelum update ke 3.6.4

Beberapa hal perlu dilakukan untuk mengubah Python 2.7 menjadi Python 3.6. Hal pertama yang perlu diperhatikan adalah memastikan bahwa beberapa package dependencies sudah di-install pada Raspberry Pi. Pastikan dengan menggunakan command sebagai berikut:

# apt-get update
# apt-get install build-essential tk-dev libncurses5-dev libncursesw5-dev libreadline6-dev libdb5.3-dev libgdbm-dev libsqlite3-dev libssl-dev libbz2-dev libexpat1-dev liblzma-dev zlib1g-dev

Setelah melaksanakan beberapa program tersebut, Anda dapat langsung mengunduh source code Python 3.6 dari website resmi Python. Source code Python 3.6 yang tersedia berupa tar.xz sehingga anda perlu melakukan proses unpack. Sebelum mengunduh dengan wget, pastikan Anda sudah di direktori /tmp/ agar source code yang Anda unduh akan terhapus secara otomatis setelah reboot.

$ cd /tmp/
$ wget https://www.python.org/ftp/python/3.6.4/Python-3.6.4.tar.xz
$ tar xf Python-3.6.4.tar.xz
DownloadPythonSource
Gambar 2. Hasil unduhan dan ekstraksi dari source code Python 3.6.4

Setelah Anda berhasil mengekstrak seperti pada Gambar 2, Anda dapat melihat bahwa source code Python 3.6.4 sudah berada pada /tmp/Python-3.6.4. Untuk melanjutkan proses instalasi Python 3.6.4, akses direktori Python-3.6.4

$ cd Python-3.6.4

Setelah membuka direktori, ikuti proses ini untuk instalasi Python 3.6.4:

$ ./configure
$ make
# make altinstall

Setelah instalasi Python 3.6, Anda akan melihat bahwa Python default masih seperti Python sebelumnya, untuk saya Python masih 2.7.13. Untuk mengubah default Python yang digunakan perlu digunakan update-alternatives. Pertama, pastikan Anda tahu posisi instalasi Python 3.6 dan bahwa Python 3.6 yang sudah diinstal dapat diakses. Lakukan kedua command ini untuk mengetahui posisi Python 3.6

$ ls /usr/bin/python*
$ ls /usr/local/bin/python*

Setelah mengetahui posisi executable Python 3.6, lakukan update-alternatives untuk menambahkan Python 2.7.13 dan Python 3.6.4 sebagai alternatif Python. Gambar 3 menunjukkan hasil keluaran dari command untuk mengetahui posisi executable dari Python2.7, Python3.5 dan Python3.6. Tambahkan semua executable Python ini sebagai alternatif dari Python.

FindingPythonExecutable
Gambar 3. Lokasi Python executables pada direktori root OS Raspbian

Setelah mengetahui posisi yakni pada /usr/bin/ untuk Python2.7 dan Python3.5 dan pada /usr/local/bin/ pada Python3.6 yang baru diinstal. Lakukan proses  penambahan alternatif /usr/bin/python dengan menggunakan command sebagai berikut:

# update-alternatives --install /usr/bin/python python /usr/bin/python2.7 1
# update-alternatives --install /usr/bin/python python /usr/bin/python3.5 2
# update-alternatives --install /usr/bin/python python /usr/local/bin/python3.6 3

Setelah menambahkan sesuai urutan di atas, Python3.6 menjadi mode automatis dari python. Jika Anda memanggil python –version akan menunjukkan keluaran seperti pada Gambar 4.

UpdateAlternativesPython
Gambar 4. Pengubahan versi otomatis Python menjadi Python 3.6.4

Jika Anda ingin mengubah kembali default Python menjadi Python 2.7.13, Anda dapat melaksanakan command sebagai berikut:

# update-alternatives --list python
# update-alternatives --config python

Setelah mengeksekusi command di atas Anda akan diminta untuk memasukkan nomor yang ingin Anda pakai sebagai mode default Python, ketik 1 jika Anda ingin kembali menggunakan Python 2.7.13 karena satu atau dua hal (misalnya akibat library yang Anda pakai masih memerlukan Python 2.7). Setelah Anda memilih Python yang Anda inginkan, Anda dapat mengecek versi Python default dengan python –version dan hasilnya akan terlihat seperti pada Gambar 5.

RevertPythonTo27From36.PNG
Gambar 5. Pengembalian versi default Python menjadi Python 2.7.13

Anda dapat menggunakan command konfigurasi di atas untuk memilih versi Python yang Anda inginkan, Anda dapat melakukan ini jika versi Python terbaru sudah tersedia dan ingin menambahkannya ke Raspberry Pi. Jika Anda memiliki pertanyaan jangan segan untuk menambahkan pertanyaan Anda di Blog ini. Selamat mencoba!

Resume Builder with Vue.js

Hai!

Saya memulai blog ini dengan konten yang sebenarnya bukan khusus untuk Elektro. Materi ini adalah pembuatan resume, jika Anda berharap post ini merupakan cara membuat resume yang benar, mungkin Anda salah alamat. Saya rasa sudah banyak blog dan artikel yang membahas penulisan resume yang tepat sasaran, padat, dan jelas. Sebagai seorang Insinyur, terutama insinyur yang berkecimpung di dunia teknologi, pasti memiliki kemampuan pemrograman yang baik. Post saya ini akan membahas penggunaan JavaScript sebagai tools untuk membuat resume yang apik.

Sebelum saya memulai pembahasan cara pembuatan resume dengan menggunakan JavaScript, saya akan menunjukkan cara instalasi pada komputer Ubuntu dengan versi Ubuntu 16.04. Hal yang perlu diperhatikan untuk mempersiapkan sistem komputer Ubuntu agar mampu dipakai untuk membuat resume sesuai dengan post ini adalah:

  • Adanya Git version checker di Ubuntu
    Instalasi Git pada Ubuntu dapat dilakukan dengan sederhana yaitu dengan command:

    # apt-get install git

  • Instalasi Node.js menggunakan Node.js Version Manager
    Untuk instalasi Node.js dapat mengikuti panduan dari https://id.godaddy.com/help/install-nodejs-ubuntu-17395

Setelah melakukan instalasi kedua program di atas, Anda dapat mengakses repository GitHub saya (https://github.com/josefmtd/best-resume-ever) yang merupakan fork dari (https://github.com/salomonelli/best-resume-ever). Clone repository saya dengan menggunakan command:

$ git clone https://github.com/josefmtd/best-resume-ever

Setelah melakukan clone, buka folder best-resume-ever, buka folder resume, di folder tersebut terdapat dua file, yaitu data.yml dan id.jpg. Anda dapat mengubah foto id.jpg sesuai dengan foto Anda, dan mengubah data.yml sesuai dengan konten dari resume Anda.

Setelah konten resume telah diubah, Anda dapat memulai kompilasi dari file PDF sesuai dengan rancangan resume yang Anda inginkan. Untuk melaksanakan kompilasi, pertama akses folder best-resume-ever dan lakukan command berikut:

$ npm install

Tunggu sampai proses instalasi dari Node.js telah selesai, setelah itu Anda dapat memulai kompilasi untuk PDF, dengan menggunakan command sebagai berikut:

$ npm run export

Tunggu sampai proses kompilasi selesai, sehingga Anda dapat melihat hasilnya pada folder best-resume-ever/pdf, terdapat beberapa template yang sudah saya otak-atik berdasarkan template dasar dari https://github.com/salomonelli. Jika Anda belum puas dengan template yang sudah saya buat, Anda juga bisa mengubah template tersebut di folder /best-resume-ever/src/resumes/ di mana terdapat file Vue.js yang bisa Anda ubah-ubah sesuai dengan keinginan Anda. Saya akan membahas cara mengubah template di lain kesempatan. Selamat bereksperimen dengan Vue.js untuk membuat resume yang ciamik!

A Diary of My Electronics Engineering Hobby Begins

Hai semuanya!

Ini adalah percobaan pertama saya untuk membuat sebuah blog khusus untuk tema Teknik Elektronika. Saya seorang Sarjana Teknik Elektro. Saya akan mencoba untuk menuliskan segala percobaan yang saya lakukan untuk belajar lebih tentang Teknik Elektro.

Hey everyone!

This is my first attempt to making a blog specialized for Electronics Engineering. I am an undergraduate in Electronics Engineering. I will be posting all my endeavors to learn more about Electronics Engineering.

Keep It Simple, Stupid — Kelly Johnson