- http://rcpce.engl.polyu.edu.hk/RACorpus/default.htm
- https://www.english-corpora.org/coca/
- http://langtest.jp/awsum/ (the best one, see the bottom page of this link for more resources)
- https://www.onelook.com/thesaurus/
- aiksaurus
- Mendeley >> All documents >> Search
- New added (7/8): AI-based suggestion powered by Transformer on Arxiv-NLP paper
Monday, June 28, 2021
Resources for academic writing: word concordance
Saturday, June 26, 2021
Ubuntu on Mac: Home, End, PgUp, PgDn
Home: Fn + Left ArrowThat's all. Tested on: MBP Mid 2012, Ubuntu 16.04.07.
End: Fn + Right Arrow
Page Up: Fn + Up Arrow
Page Down: Fn + Down Arrow
Tuesday, June 22, 2021
Sympy: Menyelesaikan Persamaan Matrik
Sympy melakukan proses komputasi yang tidak bisa dilakukan oleh Numpy: simbolik. Misal kita punya persamaan berikut
$$2.10^{6}\left[\begin{array}{crr} 1 & -1 & 0 \\ -1 & 2 & -1 \\ 0 & -1 & 1 \end{array}\right]\left\{\begin{array}{l} 0 \\ u_{2} \\ u_{3} \end{array}\right\}=\left[\begin{array}{c} F_{1}+1500 \\ 9000 \\ 7500 \end{array}\right] $$Dalam bentuk gambar, persamaan di atas dapat ditampilkan di bawah ini (rendering kode Latex/mathjax di atas kadang Luama....). Untuk menyelesaikan persamaan di atas (u1=0), maka solusi dengan Sympy adalah seperti kode di bawah ini:
from sympy import *
# buat symbol
u2, u3, F1 = symbols('u2 u3 F1')
# matrik sebelah kiri (left-hand)
K = Matrix([[ 1, -1, 0], [-1, 2, -1], [0, -1, 1]])
Ke1 = 2e6*K
U = Matrix([0, u2, u3]).reshape(3,1)
# matrik sebelah kanan
F = Matrix([F1+1500, 9000, 7500])
# selesaikan: cari u2, u3, dan F1
sol = solve(Ke1*U-F, (u2, u3, F1))
Jika dijalankan, hasilnya adalah sebagai berikut.
print(sol)
{u2: 0.00825000000000000, u3: 0.0120000000000000, F1: -18000.0000000000}
Monday, June 21, 2021
Numpy: Broadcasting
>>> c = np.array([[ 5, 8, 11],
[ 6, 9, 12],
[ 7, 10, 13]])
>>> c + [1, 2, 3] # bisa juga dengan list langsung
array([[1, 5, 9],
[ 2, 6, 10],
[ 3, 7, 11]])
>>> c + np.array([1, 2, 3, 4])
------------------------------------------
ValueError Traceback (most recent call last)
< ipython-input-42-d334d3cf449e> in < module >
----> 1 c + np.array([1, 2, 3, 4])
ValueError: operands could not be broadcast together
with shapes (3,3) (4,)
Contoh lain adalah penjumlahan vektor kolom [1, 2, 3] dengan vektor baris [1, 2, 3]. Contoh ini menunjukkan betapa menariknya operasi broadcasting, kolom dijumlah dengan baris. Pada kolom pertama hasilnya menjadi [2, 3, 4], tiap elemen vektor kolom ditambah 1. Pada kolom 2 tiap elemen vektor kolom ditambah 2, dan pada elemen 3 tiap elemen vektor kolom ditambah dengan 3.
>>> np.array([1, 2, 3])[:, np.newaxis]+np.array([1, 2, 3])
array([[2, 3, 4],
[3, 4, 5],
[4, 5, 6]])
Tulisan ini melengkapi tulisan ini.
Thursday, June 10, 2021
Membatasi Pen Tablet pada Satu Monitor
Skenario
Pilih monitor mana
bagus@m049:tmp$ xrandr Screen 0: minimum 320 x 200, current 3840 x 1080, maximum 16384 x 16384 HDMI-1 connected 1920x1080+0+0 (normal left inverted right x axis y axis) 698mm x 393mm 1920x1080 60.00*+ 50.00 59.94 1920x1080i 60.00 50.00 59.94 1680x1050 59.88 1280x1024 75.02 60.02 1440x900 74.98 59.90 1280x960 60.00 1152x864 75.00 1280x720 60.00 50.00 59.94 1440x576 50.00 1024x768 75.03 70.07 60.00 832x624 74.55 800x600 75.00 60.32 56.25 720x576 50.00 720x480 60.00 59.94 640x480 75.00 66.67 60.00 59.94 720x400 70.08 DP-1 connected primary 1920x1080+1920+0 (normal left inverted right x axis y axis) 598mm x 336mm 1920x1080 60.00*+ 74.97 50.00 59.94 1920x1080i 60.00 50.00 59.94 1600x1200 60.00 1680x1050 59.95 1280x1024 75.02 60.02 1440x900 74.98 59.89 1280x960 60.00 1152x864 75.00 1280x720 60.00 50.00 59.94 1024x768 75.03 60.00 832x624 74.55 800x600 75.00 60.32 720x576 50.00 720x480 60.00 59.94 640x480 75.00 60.00 59.94 720x400 70.08 HDMI-2 disconnected (normal left inverted right x axis y axis)Pada kasus di atas, saya memilih DP-1 sebagai monitor untuk pen stylus. Monitor ini menggunakan koneksi display port sehingga namanya DP-1.
Pilih divais mana
bagus@m049:tmp$ xinput
⎡ Virtual core pointer id=2 [master pointer (3)]
⎜ ↳ Virtual core XTEST pointer id=4 [slave pointer (2)]
⎜ ↳ Lite-On Technology Corp. USB Multimedia Keyboard Consumer Control id=11 [slave pointer (2)]
⎜ ↳ USB Optical Mouse id=13 [slave pointer (2)]
⎜ ↳ Tablet Monitor stylus id=15 [slave pointer (2)]
⎜ ↳ Tablet Monitor Dial pad id=16 [slave pointer (2)]
⎜ ↳ Tablet Monitor Touch Strip pad id=17 [slave pointer (2)]
⎜ ↳ Tablet Monitor Pad pad id=18 [slave pointer (2)]
⎣ Virtual core keyboard id=3 [master keyboard (2)]
↳ Virtual core XTEST keyboard id=5 [slave keyboard (3)]
↳ Power Button id=6 [slave keyboard (3)]
↳ Video Bus id=7 [slave keyboard (3)]
↳ Power Button id=8 [slave keyboard (3)]
↳ Sleep Button id=9 [slave keyboard (3)]
↳ Lite-On Technology Corp. USB Multimedia Keyboard id=10 [slave keyboard (3)]
↳ Lite-On Technology Corp. USB Multimedia Keyboard System Control id=12 [slave keyboard (3)]
↳ Lite-On Technology Corp. USB Multimedia Keyboard Consumer Control id=14 [slave keyboard (3)]
Output yang penting dari output perintah di atas adalah "id". Saya memilih id 15-18 karena itu adalah id pen tablet saya. Map ke satu monitor
bagus@m049:ptxconf$ xinput map-to-output 15 DP-1 bagus@m049:ptxconf$ xinput map-to-output 16 DP-1 bagus@m049:ptxconf$ xinput map-to-output 17 DP-1 bagus@m049:ptxconf$ xinput map-to-output 18 DP-1Selesai! Sekarang saya bisa dengan leluasa menggunakan stylus di satu monitor untuk keperluan kuliah online. Berikut contohnya!
Konfigurasi Tambahan dan Menambahkan pada start up application
MONITOR="DP-1" PAD_NAME='Tablet Monitor' ID_STYLUS=$(xinput | grep "Tablet Monitor stylus" | cut -f 2 | cut -c 4-5) xinput map-to-output $ID_STYLUS $MONITOR # konfigurasi tambahan untuk Krita, Xournalpp xsetwacom set "$PAD_NAME Pad pad" button 1 key Ctrl z # undo xsetwacom set "$PAD_NAME Pad pad" button 2 key Ctrl y # redo xsetwacom set "$PAD_NAME Pad pad" button 3 key Ctrl shift p # pen xsetwacom set "$PAD_NAME Pad pad" button 8 key Ctrl shift e # eraser xsetwacom set "$PAD_NAME Pad pad" button 9 key Ctrl shift h # highlight xsetwacom set "$PAD_NAME Pad pad" button 10 key Ctrl 1 # shape recognizer xsetwacom set "$PAD_NAME Pad pad" button 11 key Ctrl shift r # select rect. xsetwacom set "$PAD_NAME Pad pad" button 12 key Ctrl d # new page after
Bonus
width = 59 cm, dan
height = 26 cm.
Wednesday, June 09, 2021
Eight Steps to Structuring an Academic Paper
- It makes sense to draft the topic (concretely a title) before starting to structuring the paper.
- After drafting a title, it is necessary to draft an abstract along with the keywords to plan what we want to write. These abstract and keywords will guide and give an overview of the overall content of the paper.
- I dropped the writing reference. It should be done automatically via BibTeX. Acknowledgment is not necessary unless your research receive funding or important helps from other researchers/agencies.
Friday, June 04, 2021
Python: List Comprehension
Salah satu fitur di pemrograman Python yang saya suka dan sering pakai adalah list comprehension. Fitur ini menyederhanakan "for" loop dalam satu baris. Berikut contohnya.
Saya punya dua vektor A dan B. Saya ingin mencari dimana kemunculan vektor B dalam vektor A.
a = np.array([1, 2, 3, 4, 5, 6]) b = np.array([2, 3, 4])Dengan contoh di atas, jawaban atas pertanyaan saya adalah [1, 2, 3]; posisi/indeks dimana vektor B muncul di vektor A. Solusi pertama dengan "for" loop sebagai berikut:
import numpy as np
for i in b:
print(np.where(a == i))
Solusi kedua dengan List comprehension seperti berikut (baris kedua merupakan output).
In [26]: [np.where(a==x) for x in b] Out[26]: [(array([1]),), (array([2]),), (array([3]),)]Cukup simpel dan intuitif.
Wednesday, June 02, 2021
Membuat Symbolic Link di Windows 10
C:\Users\bagus>mklink /J onedriveAIST "OneDrive - 国立研究開発法人産業技術総合研究所" Junction created for onedriveAIST <<===>> 'OneDrive - 国立研究開発法人産業技術総合研究所Dengan membuat symbolic seperti ini (
mklink /J destinasi sumber), kita bisa berpindah direktori secara leluasa, khususnya di WSL (Windows Subsystem for Linux).ln -sf "OneDrive - 国立研究開発法人産業技術総合研究所" onedriveAIST
Monday, May 31, 2021
Data Jalan Kaki, Tidur, dan Detak Jantung September 2020 - Maret 2021
September 2020 sampai dengan maret 2021 adalah bulan-bulan terakhir saya menjalani PhD di JAIST, Kota Nomi, Prefektur Ishikawa di Jepang. Kebetulan, di akhir september 2020 saya membeli mi band 4 yang murah meriah. Gelang tersebut memuat sensor langkah (jalan kaki), waktu tidur, dan detak jantung (BPM, beat per minute) selain data lainnya. Berikut saya sajikan data tersebut ketika berjuang menyelesaikan tahapan-tahapan terakhir studi S3 di JAIST.
Setting alat
Tidak ada yang spesial dalam mengkonfigurasi mi band saya. Hanya saja, saya mengeset "sleep assistant" pada "heart rate monitoring" (Profile > Mi Smart Band 4 > Heart rate monitoring). Selain itu saya off-kan semua. Dengan cara ini, sensor deteksi waktu tidur akan lebih akurat dan umur baterai band lebih panjang. Biasanya saya mengisi catu daya (charge) band saya sekitar sebulan sekali. Lebih kurang setiap 28 hari sekali.
Visualisasi data dilakukan dengan bantuan libreoffice Calc. Fitur yang dipakai adalah pivot table dan group and outline. Berikut datanya.
Data langkah kaki
![]() |
| Data rata-rata langkah kaki per bulan; distance dalam meter, calories dalam kcal |
Sebagai informasi tambahan, jarak antara rumah (apato) dan lab di kampus hanya 200 m. Hanya saja, apato saya berlokasi di lantai 5 (tidak ada lift), sedang lab saya ada di lantai 9 (ada lift). Dengan kondisi di tempat terpencil demikian justru saya masih bisa menjaga langkah jalan kaki sekitar delapan ribu langkah per hari.
Data waktu tidur (deep sleep, shallow sleep, total)
![]() |
| Data lama tidur September 2020 - Maret 2021 |
![]() |
| Data rata-rata lama tidur, mulai tidur, dan bangun tidur |
Dari data tidur di atas nampak tidak ada perubahan berarti ketika mengerjakan disertasi. Saya masih bisa tidur normal (6-9 jam per hari), bahkan di malam menjelang ujian pre-defense (1 Desember 2020) dan final defense (2 Februari 2021).
Data detak jantung (heartrate, beat per minutes [bpm])
Mean 65.1039860577353 Standard Error 0.044167266977505 Mode 75 Median 63 First Quartile 57 Third Quartile 74 Variance 87.307653868568 Standard Deviation 9.34385647731 Kurtosis 1.00227156060073 Skewness 0.877115460025224 Range 101 Minimum 40 Maximum 141 Sum 2913794 Count 44756
Data detak Jantung tidak menunjukkan perubahan yang berarti. Saya juga kesulitan untuk menginterpretasikan data di atas. Kedepannya, mungkin hanya data langkah kaki dan waktu tidur yang dijadikan rujukan utama untuk memvisualisasikan pola hidup.
Penutup
Tujuan utama visualisasi data jalan kaki, tidur, dan detak jantung ini adalah untuk mengetahui pola hidup saya di akhir studi S3. Saya ingin membandingkan data saat sekolah tersebut dan data saat mulai bekerja (April 2021). Data selanjutnya akan dipublikasikan juga jika memungkinkan.
Update:
- Data untuk 2023-2025 bisa diakses disini: https://bagustris.github.io/blogs/health_report_2023_2025.html
Wednesday, May 26, 2021
Menyalin teks dari Screenshot
- Install library yang dibutuhkan
- Install normcap via pip
- Panggil normcap dari terminal
normcap
sudo apt-get install tesseract-ocr xclip python3-dev python3-tk python3-pil.imagetk libleptonica-dev libtesseract-dev libnotify-bin build-essential
pip3 install normcap
Catatan untuk Ubuntu 16.04
Langkah di atas hanya bekerja pada Ubuntu 20.04 dengan Python 3.8. Untuk Ubuntu 16.04, anda harus menginstall tesseract-ocr (engine pengenalan teks) terbaru, yakni versi 4.1 via ppa. Program tesseract-ocr yang ada di repo 16.04 adalah versi lama (3.0.4) dan menyebabkan terjadinya error pada instalasi normcap di Ubuntu 16.04.
Ikuti langkah-langkah di sini untuk instalasi tesseract-ocr baru di Ubuntu 16.04. Meski sudah menginstall tesseract-ocr terbaru dan menambah data train (tessdata) di /usr/share/tesseract-ocr/tessdata/, saya masih gagal menginstall normcap di Ubuntu 16.04. Pesan errornya seperti ini.
... AttributeError: type object 'tesserocr.OEM' has no attribute 'LSTM_ONLY'
Solusi:
Berdasarkan komentar pembuatnya, berikut solusi instalasi normcap di Ubuntu 16.04:
pip3.8 uninstall tesserocr pip3.8 install --user normcapDan sekarang kita bisa menyalin teks dari gambar lewat screenshot di Ubuntu 16.04!
Tuesday, April 27, 2021
Perkalian waktu di Python
import datetime
# waktu kerja per hari, 7 jam 45 menit
t1 = datetime.timedelta(hours=7, minutes=45)
# waktu kerja sebulan, 21 hari
t2 = t1 * 21
# fungsi untuk konversi jam dan menit
def sec2hourmin(t2_datetime):
hours seconds = divmod(t2_datetime.total_seconds(), 3600)
minutes, x = divmod(seconds, 60)
return hours, minutes
print(sec2hourmin(t2))
Dengan cara ini, kita bisa mendapatkan jumlah jam yang harus kita kerjakan untuk mengerjakan sesuatu (kerja) dalam sebulan. Agar lebih elegan, teknik di atas dapat kita konversi menjadi skrip python dengan argumen jumah hari untuk menghasilkan output "jam:menit" perbulannya.
# function to calculate hours and minutes per month for work
# input argument: # days (integer)
# example python3 days_to_hours.py 21
import sys
import datetime
def days2hours(days):
tpday = datetime.timedelta(hours=7, minutes=45)
tpmonth = tpday * days
hours, seconds = divmod(tpmonth.total_seconds(), 3600)
minutes, x = divmod(seconds, 60)
return int(hours), int(minutes)
hours, minutes = days2hours(int(sys.argv[1]))
print('{}:{}'.format(str(hours), str(minutes)))
Ketik skrip di atas di editor dan simpan sebagai day_to_hour.py. Cara menggunakan skrip di atas adalah sebagai berikut.
# Jika sebulan ada 21 hari kerja $ python3 day_to_hour.py 21 162:45Artinya, dalam bulan itu ada 21 hari kerja; kita hanya diperbolehkan dan diharuskan bekerja selama 162 jam dan 45 menit.
Monday, April 26, 2021
Running IPython in multiple GPUs
Here is a simple configuration to run IPython on different GPUs on a single PC.
1. Check available GPU in PC via terminal, "$ sudo lshw -C display"
![]() |
| Checking number of GPUs |
2. Launch "$ CUDA_AVAILABLE_DEVICES=0 ipython3" to use IPython using first GPU
![]() |
| Set IPython to use the first GPU (on OS level) |
3. Launch "$ CUDA_AVAILABLE_DEVICES=1 ipython" to use IPython using second GPU
![]() |
| Set IPython to use the second GPU |
4. Check "$ nvidia-smi" to confirm both GPUs are running simultaneously
![]() |
| Output of nvidia-smi when two GPUs are used simultaneously |
5. For comparison, here is the output of 2 GPUs used in IPython without commands above
![]() |
| IPython without configuration resulting two GPUs output |
![]() |
| Ouput of nvidia-smi without configuration |
It can be seen from both IPython outputs and nvidia-smi that the configuration works. Each IPython window outputted a single GPU, while without configuration (without adding "CUDA_VISIBLE_DEVICES=X") the output of IPython is two GPUs. Also, the nvidia-smi output shows two GPUs work simultaneously with the given configs, while without config it shows only one GPU is running (the consumed memory of the second GPU only 416MiB meaning idle condition).
Update 2021/05/13
I checked again today, the above-mentioned steps sometimes still failed to choose GPU on multiple GPUs. The following workaround works for me.
Choose GPU 0
import os os.environ["CUDA_DEVICE_ORDER"]="PCI_BUS_ID" os.environ["CUDA_VISIBLE_DEVICES"]="0" # check with import tensorflow as tf tf.test.is_gpu_available()The same steps apply to GPU 1. These steps also can be applied using the shell command "export".
export CUDA_DEVICE_ORDER="PCI_BUS_ID" export CUDA_VISIBLE_DEVICES="1"Please be sure not to make typo (E.g, VISIBLE -> VISBLE), otherwise, the configuration won't work. There is no error message when we make string typos in a shell.
Wednesday, March 17, 2021
Configure java-11 for Ltex in VScode Ubuntu 16.04
- Download openjdk from this link: https://github.com/AdoptOpenJDK/openjdk11-binaries/releases/download/jdk-11.0.10%2B9/OpenJDK11U-jdk_x64_linux_hotspot_11.0.10_9.tar.gz
- Extract the downloaded file.
- Copy extracted file to /usr/local: sudo cp -r jdk-11.0.10+9/ /usr/local
- Set ltex java path to: /usr/local/jdk-11.0.10+9
- Finish
Friday, March 12, 2021
Pentingnya mengucapkan "Terima Kasih"
Hari ini saya mendapat komplain dari guru bahasa Jepang saya. Seorang teman, ketika membalas email, tidak mengucapkan terima kasih. Padahal guru saya tersebut sudah mau mengajarinya bahasa Jepang, tanpa dibayar. Sensei berkata, impresinya terhadap teman saya ini kurang baik. Beliau bahkan menanyakan apa dia (teman saya tersebut) orang baik. Saya jawab tidak tahu, hanya kenal saja.
Dari sini saya belajar pentingnya mengucapkan terima kasih. Dalam kultur Jepang, ucapan terima kasih ini sangat penting dan sudah membudaya. Bahkan mereka mengatakannya dua kali untuk hal yang sama. Pertama saat ketika selesai ditolong. Kedua saat bertemu lagi, biasanya keesokan harinya atau di lain waktu.
Saya kemudian mengevaluasi diri, apakah saya sudah cukup mengatakan terima kasih. Kadang saya suka terlambat membalas email dari sensei, sampai sensei mengemail lagi apakah telah menerima email sebelumnya. Meski hanya email singkat, seperti "Terima kasih atas emailnya", hal ini sangat berarti. Untuk keharmonisan hubungan guru-murid dan teman kerja, di Jepang ucapan terima kasih merupakan hal yang dijunjung tinggi dan tidak boleh dilupakan.
Pun ketika kita membayar untuk sebuah jasa. Misal ketika naik angkutan umum, saya biasakan (dan memang itu biasa di Jepang) mengucapkan terima kasih (kepada sopir) saat turun dari angkutan tersebut. Terlebih ketika angkutan tersebut gratis. Juga ketika membeli sesuatu di toko, jangan lupa bilang terima kasih pada kasirnya. Kalau saat ditolong seseorang, ucapan terima kasih ini tak boleh lupa, seperti contoh curhatan sensei (guru) saya di atas. Berterima kasih dua kali juga lebih etis ketika kita mendapatkan pertolongan.
Syariatnya, kita berterima kasih kepada manusia. Hakikatnya, kita berterima kasih pada Tuhan, Allah SWT, Tuhan Semesta Alam.
Wednesday, March 10, 2021
Tricks for obtaining Researcher visa while not yet holding PhD certificate
- Application form 1 copy
- Photo (4cm×3cm) 1 copy
- If the applicant wishes to change his/her current status to a status of residence which does not come under that for a mid to long-term resident (a photo is also not required for persons under the age of 16 years).
- A photo that shows the applicant pictured alone.
- The applicant should face squarely to the front and should remove any hats, caps, or head coverings.
- There should be a plain background with no shadows.
- The photo must be sharp and clear.
- The photo must have been taken within three months prior to submission.
- The supporting documents to be submitted on the occasion of application
are shown in Table 3(As the applicant sometimes needs to submit document material(s) other than stipulated in the Immigration Control Act Enforcement Regulations, please refer to your regional immigration office or immigration information center.) - Passport and residence card (or alien registration certificate deemed equivalent to a residence card)
- A document that proves the status (if a legal representative or agent submits the application form on behalf of the applicant)
Friday, February 19, 2021
Japanese for Work!
![]() |
| A screenshot of "Explanatory material" from NHK Japanese for work on my smartphone |
- Text file (pdf) of conversation,
- Text file (page) of explanation of the conversation,
- Audio files of the conversation.
- 手伝って くださって 大変助かりました。
- すみませんが、もう一度言っていただけますか。
- 私のおすすめは、墨田区の水族館です。
- それではまず、行きかたについてご説明します。
- 急ぎの書類はメールで送る、とのことです。
- お先に失礼してもよろしいでしょうか。
- 今日は遅れてしまい、申し訳ありませんでした。
- よろしければ、私が致しましょうか。
- 私の席はどこか、教えていだかけませんか。
- それなら、これを見るといいですよ。
- 失礼ですが、お名前はなんとお読みするんですか。
- すみません、確認させてください。
- 申し訳ありません。和田は他の電話に出ております。
- あの、実は今、別の仕事を頼まれています。
- コストを下げるために、ここの部品を変えました。
- そこを何とか、ご検討いただけませんでしょうか。
- よければ、いつでも相談に乗りますよ。
- お気持ちはありがたいのですが、受け取らない決まりになっております。
- お時間を頂いてしまい、申し訳ありません。
- 場合によっては間に合わないこともあります。よろしいでしょうか。
- 本社からのお願いです。ぜひご協力いただけませんか。
- あの、すみません。私からひとつよろしいでしょうか。
- 行き違いがあったようです。すぐに対応いたします。
- その日はあいにく先約が入っております。
- スキューバダイビングをなさるんですか。始められたきっかけはなんですか。
- うまくいかないこともあるよ。気持ちを切り替えてやってみようよ。
- ご無理を言って申し訳ありませんが、残業をお願いできませんか。
- 大事な内容なので、念のため確認させてください。
- 少し様子を見て戻ると言っていました。病院に行くほどではないそうです。
- 今はちょっと手が離せません。終わり次第お手伝いします。
- ご迷惑をおかけして申し訳ありません。今後、清掃のルールを徹底させます。
- お時間はとらせません。至急判断をお願いします。
- かわいいと言いますと。
- できる範囲。
- その場では判断できかねる。
- 私がやっておきますね。
- 人員の調整。
- お話中すみません。
- きょうの仕事も大変でしたね。
- 図面に不備があり。
- 先ほど、何か失礼がございましたでしょうか。
- ご相談があります。
- すみません、分かりませんでした。
- お客様のお車の場合。
- では、手短に申し上げます。
- 今日明日中には。
Wednesday, February 10, 2021
Menghindari Human Error: Pentingnya Pokayoke
Hari ini saya dirugikan oleh keteledoran saya yang menyebabkan JPY 1500 dan waktu tiga jam terbuang sia-sia. Tidak besar memang, tapi bisa jadi di kemudian hari kerugian yang saya derita akan jauh lebih besar hanya karena human error. Tulisan ini untuk mendokumentasikan peristiwa human error dan langkah-langkah yang bisa ditempuh untuk mencegahnya.
![]() |
| Implementasi pokayoke untuk menghindari kesalahan pemasangan simcard HP |
Dua tipe kesalahan manusia: dua tipe human error
Manusia itu tempatnya salah dan lupa (hadist). Berdasarkan hadist ini, dan sebuah bacaan di buku Minna no Nihongo Chukyuu I, maka ada dua tipe kesalahan, lebih tepatnya human error. Pertama human error karena kesalahan, lebih spesifik karena tidak sadar atau tidak tahu (carelesness), kedua human error karena lupa (absent-mindedness). Untuk mengetahui tipe mana yang lebih dominan, coba jawab pertanyaan di sini, https://brainfall.com/quizzes/how-absent-minded-are-you.
Singkatnya, karena sudah sifat manusia, maka suatu ketika manusia pasti salah. Semua manusia pasti pernah berbuat kesalahan. Human error pasti terjadi. Sisi positifnya, human error bisa dihindari, atau lebih spesifik bisa diminimalisir. Teknik untuk menghindari atau meminimalisir human error ini, dalam bahasa Jepang, disebut pokayoke.
Pokayoke
Pokayoke (dari kata ぽか避ける) adalah bagian dari manajemen lean (ditemukan oleh Toyota) untuk menghindari human error. Pokayoke mencegah manusia berbuat salah. Karena manusia pasti (pernah) berbuat salah maka harus dibuat langkah untuk menghindari kesalahan itu. Contoh sederhana, ketika anda bekerja yang mengharuskan tangan kanan, maka tangan kiri harus dipekerjakan juga dengan pekerjaan lainnya, agar tidak ikut mengerjakan pekerjaan yang seharusnya dikerjakan oleh tangan kanan. Teknik/prosedur ini banyak diterapkan oleh pabrik-pabrik di Jepang.
Contoh lain sebenarnya pernah kita terapkan. Bila anda ikut pramuka maka anda akan diajari periksa kerapian untuk memeriksa kelengkapan atribut yang anda pakai. Cara tersebut merupakan salah satu aplikasi pokayoke, yakni dengan melafalkan (shouting) apa yang di-cek (pokayoke tipe atensi). Cara ini juga banyak dipakai di Jepang. Contohnya adalah para masinis ketika memeriksa prosedur menjalankan kereta api.
Untuk membangun prosedur pokayoke, diperlukan tujuh langkah berikut:
- Identifikasi proses
- Analisa dimana kesalahan bisa terjadi
- Cari pokayoke yang tepat, shutout (menutup/blok kemungkinan terjadinya kesalahan) atau atensi (highlight persiapan/cek)
- Mengambil langkah komprehensif, bisa berupa langkah fisik atau bantuan berupa alat.
- Menggunakan salah satu, beberapa, atau semua dari kontak (bisa bentuk [shape], ukuran [size], atau atribut fisik), angka konstan, atau urutan metode.
- Evaluasi metode yang diusulkan
- Latih pada operator, review performansi, dan ukur kesuksesan metode pokayoke tersebut.
Studi kasus: Keliru membawa paspor anak saat mengganti status residensi di kantor Imigrasi Jepang
Masalah human error yang saya alami tadi sepele, saya keliru membawa paspor anak saya alih-alih paspor saya sendiri. Tujuannya saya ingin mengganti status visa (status residen) saya di Jepang dari pelajar ke peneliti. Dokumen yang dibutuhkan ada di sini: aplikasi, foto, paspor, dan resident card. Sederhana, namun ternyata ada kesalahan yang membawa implikasi kerugian uang dan waktu. Berikut teknik pokayoke yang akan saya terapkan:- Proses: kelengkapan dokumen (foto, pasport, residen card, form aplikasi)
- Kesalahan bisa terjadi: keliru paspor, form tidak lengkap
- Pokayoke: atensi (sebutkan dan cek ulang)
- Langkah komprensif: kumpulkan dokumen dalam satu map
- Alat bantu: urutan dokumen
- Evaluasi: cek dua kali minimal
- Review: apakah ada yang kurang atau belum
Sekian. Manusia itu tempatnya salah dan lupa. Pokayoke adalah teknik untuk meminimalisasi salah dan lupa.
Referensi:
- https://kanbanize.com/lean-management/improvement/what-is-poka-yoke
Friday, February 05, 2021
Book Summary: Grammar Choices for graduate and professional writer
Chapter 1: An approach to academic grammar
- A small number of reporting words CANNOT be followed by a "that" noun clause. They include support, present, present, discuss, describe, oppose. Thus, the following sentences are wrong. The research supports that the previous finding is true. The data described that the higher resistance, the lower current.
- The verb "make" and "let" are complemented by a verb in the base form, without "to". It is better to replace "make" to "force", "require", "cause", "lead to", "let" to "allow", "permit", "enable" "facilitate."
Chapter 2: Clause combination
- Punctuating simple, compound, and complex sentences: "and" for any coordinating conjunction, "because" for any subordinating conjunction, and however for any sentence connector.
- Clauses introduced by "most of", "some of", "two of" are non-restrictive clauses. They need a comma.
- Three meaning created by clauses: elaborating (e.g., "... ; in fact, ..", ".. and indeed...", ".., which.."; extension (e.g., "Moreover", "..whereas.."); enhancing (e.g., ".., so..", "Although..").
- Fragments and run-ons are not acceptable in most academic writing, e.g., "Because it is different from the previous " (fragment), "Culture shock is not usual, it happens to almost everyone who moves to a new place" (run-on).
Chapter 3: Embedded, Noun, and Complement Clauses
- Subordinator using "that", e.g., "The previous research found that bacteria are present.
- Indirect question using "whether", e.g., "Researcher wonder whether the bacteria are present
- Indirect question using "where". e.g., "Researchers ask where bacteria are present."
- wonder can be followed by if, whether, any wh-question, but not that.
- Argue usually followed by that
- Realizes takes that and what clause but not wh-question, if, or whether.
Chapter 4
Chapter 5
Friday, January 29, 2021
Latex: Remove Ugly Boxes
Wednesday, January 20, 2021
Cara Bermain Snowboard: Skill dasar dan Cara Meningkatkannya
Pertama sebelum pertama
Sebelum memulai snow board
Skill dasar:
- Bergerak maju ke depan secara horisontal (Heel-side slide)
- Bergerak maju ke kanan dan ke kiri (Heel-edge side-to-side)
- Bergerak maju dengan menghadap ke belakang (toe-side slide)
- Bergerak ke kanan ke kiri menghadap ke belakang (toe-edge side-to-side)
























