Membuat Blog Statis dengan Hugo Pada Windows 10 Untuk Pemula

Tutorial ini mengajarkan tentang cara membuat blog statis menggunakan Hugo pada Windows 10. 

Ada banyak pilihan tema open-source untuk membuat blog dengan Hugo. Dalam tutorial ini, kita akan menggunakan tema Hulga.

Ini adalah langkah-langkah menginstall hugo dan menerapkan tema pada blog:

  1. Download installer Hugo extended untuk Windows di: https://github.com/gohugoio/hugo/releases . Pastikan untuk mendownload versi extended karena tema Hulga membutuhkan versi ini.
    download hugo extended di github
  2. Extract file .zip tadi ke C:\Hugo\bin , atau folder apapun yang Anda pilih.

  3. Tambahkan direktori hugo (misalnya C:\Hugo\bin) ke Path (ada di bagian System Environment pada setting Windows).
    menu system environment
  4. Buka command line, dan ketik command hugo version . Jika tidak ada pesan error, maka Anda sudah berhasil menginstall Hugo.
    cek versi hugo pada command line
    Hugo sudah sukses diinstall.
  5. Dalam direktori pilihan Anda, ketik command hugo new site mysite . Command ini akan membuat folder bernama mysite yang akan menjadi source blog Anda.

  6. Download .zip tema: https://github.com/wlh320/hugo-theme-hulga
    download zip
  7. Extract ke folder mysite/themes, dan ganti nama folder hugo-theme-hulga menjadi hulga
  8. Tambahkan theme = "hulga" ke file config.toml yang ada pada direktori mysite. Ini adalah contoh file config.toml sederhana: 
    baseURL = "https://example.com"
    languageCode = "id"
    title = "Site Hugo Baru"
    paginate = 10
    theme = "hulga"

    [params]
    subtitle = "Keterangan website."
    copyright = "Copyright © 2021"

    [menu]
    [[menu.main]]
    identifier = "index"
    name = "index"
    url = "/"
    weight = 1

    [taxonomies]
    category = "categories"
    tag = "tags"
  9. Buat folder bernama post di dalam folder mysite\content
  10. Buat file mypost.md di dalam  mysite\content\post
    Ini adalah contoh konten mypost.md sederhana:
    ---
    title: "Postingan Pertama"
    date: 2021-11-17T14:15:55+07:00
    draft: false
    categories: [development, publishing]
    tags: [hugo, static site generator]
    ---

    Postingan pertama.
  11. Kembali ke command line, masuk ke direktori mysite dengan mengetik cd mysite
  12. Aktifkan server dengan command hugo server.

  13. Buka blog anda di http://localhost:1313/
    site hugo
    Tampilan website.

Referensi:
https://www.freecodecamp.org/news/your-first-hugo-blog-a-practical-guide/
https://gohugo.io/getting-started/quick-start/
https://gohugo.io/getting-started/installing/
https://themes.gohugo.io/themes/hugo-theme-hulga/

Cara Upload File CSV ke Database MySQL Dengan Python

MySQL dilengkapi fitur load CSV, tapi  fitur ini susah untuk digunakan karena seringkali format data CSV tidak sesuai dengan yang diminta, ada tanda kutip, spasi, koma yang berantakan, dll. Untuk mengatasi hal ini, Python dapat membantu dengan cara memasukkan data dengan cara membaca file CSV baris per baris ke MySQL.

Penjelasan yang lebih jelas untuk menyambung Python ke MySQL dapat dilihat di sini

Ini adalah script untuk memasukkan data CSV ke MySQL dengan menggunakan teknik looping:

import mysql.connector
import csv

mydb = mysql.connector.connect(
  host="host",
  user="root",
  password="pass",
  database="data"
)

mycursor = mydb.cursor()
with open('daftar.csv', newline='') as csvfile:
    reader = csv.reader(csvfile, delimiter=',')
    for val in reader : 
       sql = "INSERT INTO `data`.`info` (`nama`, `data`, `nilai`) VALUES (%s,%s,%s)"  
        mycursor.execute(sql,val)

mydb.commit()
mydb.close()

Data CSV yang bernama daftar.csv pada contoh memiliki format seperti ini (tanpa header):

nama1 data1 nilai1
nama2 data2 nilai2
nama3 data3 nilai3

Cara Menyambung Python ke MySQL

Kita akan menggunakan package MySQL Connector untuk menyambung Python ke MySQL sehingga kita dapat menjalankan command SQL dalam MySQL melalui Python. Jika package mysql.connector belum diinstall maka install terlebih dahulu dengan menuliskan command ini pada command line:

pip install mysql-connector-python

Buat file Python baru, lalu import mysql.connector

import mysql.connector

Buat connection dengan database di MySQL: (ganti variabel sesuai dengan setting data yang ingin diakses)

mydb = mysql.connector.connect(
 host="localhost",
 user="root",
 password="password",
 database="data"
)

Buat sebuah cursor:

mycursor = mydb.cursor()

Jalankan command SQL, misalnya melihat data:

mycursor.execute("select * from data;") 
myresult = mycursor.fetchall()

Hasil data dari perintah command tadi diambil dengan mycursor.fetchall() dan disimpan di variabel myresult. Hasil dapat dilihat dengan print(myresult).

Selain melihat data, kita juga dapat memasukkan data, misalnya:

mycursor.execute("INSERT INTO `data`.`population` (`name`) VALUES (%s)",”John Doe”)
mydb.commit()

Selama mydb.commit() belum dijalankan, data pada SQL tidak akan berubah.

Ketika sudah selesai, jangan lupa untuk menutup connection:

mydb.close()

Mengaktifkan Nomor XL Hangus Secara Daring/Online

Sekarang dalam masa pandemi ini, XL menyediakan layanan mengaktifkan nomor yang hangus secara daring tanpa harus datang ke kantor XL.

Langkah-langkah resmi dari XL dapat dilihat disini.

Petunjuk mengaktifkan nomor XL pada website resmi.
Petunjuk mengaktifkan nomor XL pada website resmi.

Ini adalah pengalaman saya mengaktifkan nomor XL yang hangus.

Setelah membuka e-form dan memilih layanan reaktivasi kartu, pihak XL meminta data nomor yang ingin diaktifkan:

Tampilan website untuk mengaktifkan nomor.

Setelah itu, seperti yang sudah disebutkan pada petunjuk pada halaman resmi, e-form tadi meminta data diri, KTP dan Kartu Keluarga, sesuai dengan yang didaftarkan ketika nomor XL pertama kali diaktifkan. Dan jangan lupa nomor HP untuk video call. Pastikan nomor ini dapat melakukan video call karena pihak XL akan mengkonfirmasi pelanggan melalui video call, misalnya melalui whatsapp.

E-form tadi juga meminta 19 digit angka yang terletak dibelakang kartu XL yang ingin diaktifkan. 

Selain itu, walaupun tidak tertera pada laman resmi, e-form juga akan meminta foto kartu XL tersebut, foto KTP dan juga foto diri beserta KTP.

Setelah semua data diunggah, dalam jangka waktu kalau tidak salah 48 jam, pihak XL akan menghubungi nomor yang dimasukkan untuk video call, dan akan segera melakukan video call jika pelanggan siap. Pihak XL akan meminta pelanggan menunjukkan KTP. Setelah itu, pihak XL akan mengaktifkan nomor dalam jangka waktu beberapa jam. 

Setelah nomor aktif, pelanggan akan diminta mengisi pulsa, dan nomor XL akan siap digunakan kembali. Jika nomor masih tidak dapat digunakan, cobalah men-restart HP.

Menginstall Android SDK dan OpenJDK untuk Unity dengan Unity Hub

Sekarang OpenJDK dan Android SDK dapat diinstall secara langsung melalui Unity Hub, tanpa ribet. Ini adalah tahap-tahapnya:

Buka Unity Hub dan klik pilihan “installs“, kemudian klik tombol “add

Menu Unity Hub pada bagian “installs

Pilih versi Unity, lalu klik “next

Pilihan versi Unity

Pilih “Android Build Support”, lalu klik tombol “next

Menu menginstall module Android Build Support

Pastikan untuk mengklik “I have read and agree with the above terms and conditions” lalu klik “done

Layar “End User License Agreement”

Tunggu hingga selesai.

Masalah

Android SDK dan OpenJDK membutuhkan banyak tempat pada hard disk, jadi pastikan hard disk cukup, atau akan muncul error:

Error ketika menginstall Android Build Support

Terkadang Unity tidak langsung mengatur direktori SDK dan SDK yang sudah diinstall sehingga muncul error seperti ini:

Solusinya adalah mengatur direktori secara manual sehingga terlihat seperti ini:

Biasanya file Android Build Support yang baru diinstall akan disimpan pada direktori berikut:

  • C:\Program Files\Unity\Hub\Editor\2019.4.23f1\Editor\Data\PlaybackEngines\AndroidPlayer\NDK
  • C:\Program Files\Unity\Hub\Editor\2019.4.23f1\Editor\Data\PlaybackEngines\AndroidPlayer\OpenJDK
  • C:\Program Files\Unity\Hub\Editor\2019.4.23f1\Editor\Data\PlaybackEngines\AndroidPlayer\SDK

Catatan: layar Unity Hub Anda tidak mesti sama persis dengan yang tertera disini.