Untuk Yang Sedang Sekolah .. Manfaatkan Apa Yang Ada

Kondisi pandemi membuat seluruh aspek kehidupan terganggu, bahkan lumpuh. Termasuk juga dunia pendidikan yang melibatkan pertemuan sosial antara guru/dosen dengan murid/mahasiswa. Penyelenggaraan perkuliahan secara daring dapat dilakukan dengan kualitas yang tidak jauh berbeda, namun perkuliahan praktik masih belum efektif. Pertemuan online dengan aplikasi tertentu banyak dikeluhkan oleh siswa yang mengandalkan pulsa di rumah, yang dapat dilihat dari hasil kuesioner sistem informasi akademik. Walaupun ada bantuan pulsa dari pemerintah, namun mengingat banyaknya mata kuliah yang diambil, tetap saja tidak mencukupi. Selain itu, bagi masyarakat, pulsa masih belum menjadi kebutuhan pokok, dan untuk aplikasi multimedia (streaming video, dan sejenisnya) masih mengandalkan Wifi (biasanya di kampus). Apalagi untuk keluarga yang banyak memiliki anak dan semuanya menjalankan pendidikan secara daring.

Bertanya

Bertanya merupakan aktivitas yang murah meriah. Walaupun dilakukan secara online, pertanyaan tidak memerlukan paket data yang besar. Teman, saudara, guru/dosen, dan siapapun dapat dijadikan sumber rujukan. Tentu saja tata krama bertanya perlu diperhatikan, terutama terhadap guru atau orang yang tidak/baru kita kenal. Terkadang mengirim email pertanyaan terhadap author artikel internasional dibalas, walaupun kadang-kadang tidak direspon atau lama jawabannya.

Nah, masalah muncul ketika pertanyaan yang diajukan tidak ada/belum ada solusinya. Biasanya mahasiswa tingkat doktoral. Akan tetapi di tahap-tahap awal biasanya banyak yang bisa, namun karena bidang ilmu doktoral sangat spesifik, pakar di bidang IT tidak akan memahami seluruh ilmu spesifik, bahkan di bidang yang spesifik pun belum tentu mahir, misalnya AI robotik akan berbeda dengan AI pertanian. Jadi mutlak langkah berikut ini dijalankan.

Membaca Cepat

Di sini membaca perlu ditambahkan kata cepat di akhirnya karena jika tidak, waktu yang sangat berharga akan terbuang sia-sia. Selain itu, membaca artikel ilmiah berbeda dengan membaca novel atau komik. Banyak teknik-teknik membaca cepat, tetapi keingintahuan seharusnya bisa memacu kita membaca cepat, yaitu membaca yang didasari oleh pertanyaan-pertanyaan di kepala kita.

Bagaimana jika makalah yang harus dibaca berbahasa Inggris? Nah, ini merupakan problem utama mahasiswa-mahasiswa yang mengambil studi lanjut di Indonesia. Aplikasi penterjemah dapat digunakan. Selain itu, tidak ada salahnya “sharing“, maksudnya minta dibacakan, oleh suami/istri, anak, saudara, dan lain-lain. Tentu saja tidak dianjurkan jika ada waktu, karena membaca artikel ilmiah, apalagi bidang tingkat doktoral yang tidak semua orang paham, walaupun tahu arti/terjemahan naskah tersebut.

Membaca Artikel Studi Literatur (Review)

Naskah artikel ilmiah terdiri dari beberapa jenis, ada yang naskah buku, prosiding dan jurnal. Selain itu terbagi pula menjadi artikel penelitian dan artikel review. Nah, artikel jenis review terkadang bermanfaat untuk orang yang akan memulai penelitian bidang tertentu. Dari pada meneliti satu persatu naskah paper yang tercerai berai, ada baiknya membaca artikel review yang sudah terstruktur berdasarkan domain ilmu tertentu.

Trik lain adalah mencari artikel jenis penelitian yang berkualitas baik (biasanya berimpak/kuartil tinggi) kemudian dari referensinya kita baca juga. Tentu saja kelemahan membaca dari sumber referensi suatu artikel adalah terlalu jauh tertinggal. Suatu naskah artikel yang hari ini terbit, biasanya hasil penelitian beberapa tahun sebelumnya. Tentu saja referensi yang jadi rujukan pun tambah jauh tertinggal waktunya. Namun biasanya walaupun sudah tertinggal tetapi kemungkinan besar banyak yang mensitasi yang artinya landasannya cukup kuat.

Support Dari Bidang/Pakar Lain

Beberapa penelitian memerlukan support/dukungan dari bidang/pakar lain. Misalnya penelitian tracking dan navigasi membutuhkan bantuan rekan-rekan di bidang pemetaan 3D misalnya, atau mobile application jika akan diterapkan di ponsel. Optimasi yang diterapkan untuk lahan membutuhkan bantuan rekan-rekan GIS dan penginderaan jarak jauh (remote sensing). Bahkan ketika menulis paper bisa minta bantuan rekan-rekan yang mengerti bahasa Inggris jika enggan menggunakan jasa proofreader. Manfaatkan grup medsos untuk bertanya dan bertukar fikiran bidang tertentu di internet.

Berdoa

Ups, seharusnya ini ada di awal. Walaupun ini sudah otomatis kita jalankan tetapi aspek agama perlu dicantumkan di sini, seperti kasus kemendikbud yang terpaksa memasukan kembali kata “agama” dalam roadmap pendidikan nasional. Berdoa dan berusaha sebaiknya tidak terpisah, ketika berusaha diiringi doa dan berdoa tidak hanya ketika ibadah, melainkan ketika sedang berusaha juga. Sekian postingan singkat ini, semoga bermakna.

Menggunakan Algoritma Genetika dengan Python

Algoritma Genetika (GA) merupakan salah satu nature-inspired optimization yang meniru evolusi makhluk hidup. Gampangnya, generasi terkini merupakan generasi yang terbaik yang adaptif terhadap lingkungan. Prinsip seleksi, kawin silang, dan mutasi diterapkan ketika proses optimasi secara pemilihan acak (random) dilakukan. Karena adanya unsur pemilihan acak, GA masuk dalam kategori metaheuristik bersama particle swarm optimization (PSO), simulated annealing (SA), tabu search (TS), dan lain-lain.

Bagaimana algoritma tersebut bekerja dalam suatu bahasa pemrograman saat ini dengan mudah kita jumpai di internet, dari youtube, blog, hingga e-learning gratis. Saat ini modul-modul atau library dapat dijumpai, misalnya di Matlab. Nah, dalam postingan ini kita akan mencoba dengan bahasa pemrograman Python. Sebelumnya perlu sedikit pengertian antara pembuatan program dari awal dengan pemrograman lewat bantuan sebuah modul atau library.

Beberapa pengajar biasanya melarang mahasiswa untuk langsung menggunakan library karena memang peserta didik harus memahami konsep dasarnya terlebih dahulu. Untungnya beberapa situs menyediakan kode program jenis ini yang dishare misalnya ahmedfgad, datascienceplus, pythonheatlhcare, dan lain-lain. Saya dulu menggunakan Matlab, dan ketika beralih ke Python karena pernah dengan bahasa lain maka dengan mudah mengikuti kode dengan bahasa lainnya. Oiya, saat ini GA, PSO, TS, dan lain-lain lebih sering disebut metode dibanding dengan algoritma karena tingkat kompleks dan ciri khas akibat mengikuti prinsip tertentu (makhluk hidup, fisika, biologi, dan lain-lain).

Selain memahami prinsip dasar, dengan kode python GA yang murni berisi langkah-langkah dari seleksi, kawin silang dan mutasi, jika Anda mengambil riset doktoral terkadang perlu menggabungkan dengan metode-metode lain, misalnya riset saya dulu, mutlak harus memodifikasi seluruh kode yang ada, jadi agak sulit jika menggunakan library yang tinggal diimpor.

Nah, jika Anda sudah memahami, dan sekedar menggunakan atau membandingkan metode satu dengan lainnya, penggunaan library jauh lebih praktis. Misal Anda menemukan metode baru dan harus membandingkan dengan metode lain, maka metode lain pembanding itu dapat digunakan, bahkan karena karakternya yang dishare maka orang lain (terutama reviewer jurnal) yakin keabsahannya (bisa dicek sendiri). Untuk GA bisa menggunakan library dari situs-situs berikut antara lain geneticalgorithms, pygad, pydea, dan lain-lain. Sebagai ilustrasi silahkan melihat video saya berikut yang menggunakan Google Colab.

Belajar Membuat Game dengan Python

Ternyata Python tidak hanya digunakan untuk Machine Learning, melainkan juga untuk membuat game. Banyak sumber-sumber belajar di internet, baik di Github maupun penjelasannya di Youtube. Nah, bagi Anda yang pemula ada baiknya membaca postingan ini bagaimana menggunakan dua metode dalam menjalankan Python yaitu konsol dan Jupyter Notebook.

Konsol

Di sini kita ambil contoh dua game terkenal yang dibuat dengan Python yaitu Flappy Bird dan Space Invaders. Install Python di laptop Anda terlebih dahulu, disarankan menggunakan cara yang paling gampang walau agak berat, yaitu paket Anaconda.

Menggunakan konsol sangat dianjurkan bagi Anda yang mahir dan cepat dalam mengetik. Di sini harus dipahami terlebih dahulu cara menangani virtual environment
di Python. Selain itu library-library pendukung harus diinstall juga, terutama pygame karena di sini kita coba menggunakan library tersebut.

Untuk mengedit bisa menggunakan IDLE, Sublime Text, Notepad, atau text editor lainnya. Langkah pertama dalam belajar adalah mencoba menjalankan (running) program tersebut, dilanjutkan dengan mengedit fungsi-fungsi tertentu, misal mengganti gambar/image tokoh, background, atau memindah fungsi tombol naik/turun/kiri/kanan dengan tombol baru.

Jupyter Notebook

Jika Anda pengguna Google Colab, ada baiknya menggunakan Jupyter Notebook karena memang IDE-nya yang tidak jauh berbeda. Ekstensi filenya pun sama (*.ipynb) yang berbeda dengan Python konsol (*.py). SIlahkan membuka Jupyter Notebook lewat Anaconda atau konsol. Untuk lebih cepat sepertinya konsol lebih cepat dan ringan. Arahkan folder kerja ke lokasi game dan ketik “jupyter notebook”. Pastikan fasilitas jupyter notebook tersedia di environment kita (di sini contohnya ‘base’) yang jika belum ada gunakan > pip install jupyter.

Mengingat jenis filenya yang berbeda maka terlebih dahulu kita membuat new file dilanjutkan dengan mengkopi isi file *.py ke dalam file Jupyter Notebook yang baru tersebut. Jalankan file sample, pastikan game berjalan dengan baik.

Coba mengganti beberapa fungsi game tersebut, misalnya tombol bergeraknya pesawat, atau mengganti background dan bentuk pesawatnya. Berikut video penjelasannya, semoga bermanfaat.

 

 

Membuat Grafik dengan Excel

Excel yang merupakan spreadsheet selain memiliki kemampuan mengelola data juga mampu membuat grafik yang cukup baik, terutama untuk versi terkini. Banyak pilihan grafik yang disediakan, mulai dari line, bar, hingga pie. Grafik tersedia di menu Insert pada Excel.

Sebagai contoh kita akan membuat grafik berjenis “bar” untuk nilai akhir (NA) tabel di atas. Masuk ke menu Insert dan pilih simbol “bar” chart.

Berikutnya akan muncul bidang kerja grafik yang harus diisi data nilai akhir serta mahasiswa yang bersangkutan. Pilih Select Data untuk memasukan data yang akan ditampilkan pada grafik. Jika tidak ada klik ganda bidang kerja grafik untuk memunculkannya.

Tekan Chart data range di bagian panah untuk memilih data yang akan ditampilkan pada grafik (1). Data ini diistilahkan dengan Series yang akan muncul di kotak kiri gambar di atas. Series ini bisa lebih dari satu (dalam contoh ini bisa saja kehadiran, UTS, UAS, tidak hanya NA). Berikutnya untuk Axis tekan bagian Edit pada kotak kanan lalu sorot seluruh nama mahasiswa (2) karena jika tidak hanya berisi angka urut saja.

Perhatikan di sini akan ditampilkan UTS, UAS, dan NA. Tadinya UTS, UAS, dan NA berturut-turut bernama Series2, Series3, dan Series5. Cara menggantinya adalah tekan Edit di bagian atas kotak Legend Entries dan ketik nama yang diinginkan. Lihat, Series yang tidak digunakan bisa diunchek atau remove. Jika sudah tekan OK untuk memperlihatkan grafik.

Edit bagian judul grafik dan jika ingin menambahkan elemen lain, misalnya legenda, masuk ke menu Add Chart ElementLegend Right. Pastikan di bagian kanan akan muncul penjelasan nilai yang ada pada grafik. Silahkan modifikasi sesuai dengan keinginan, misalnya mengganti design agar memunculkan score di bagian atas bar. Untuk jelasnya lihat video tutorial berikut ini.

Belajar Pengolahan Citra dari Sumber-Sumber di Internet

Mempelajari hal-hal baru, tidak hanya pengolahan citra, dapat dilakukan dengan memanfaatkan internet. Terlebih ketika kondisi pandemik seperti saat ini dimana perkuliahan dilaksanakan secara daring. Praktikum yang biasanya dilaksanakan secara offline di laboratorium, terpaksa memanfaatkan fasilitas pribadi milik mahasiswa, yakni laptop yang dilaksanakan secara online. Untungnya, salah satu bahasa pemrograman, yakni Python, diadposi oleh Google dengan meluncurkan aplikasi onlinenya untuk pemrograman, yakni Google Colab (silahkan lihat infonya di sini).

Semenjak kemunculannya, banyak peneliti, kampus, dan pemerhati artificial intelligent membagi kodingannya via Google Colab. Dengan menggunakan kata kunci: “Google Colab” <topik>, kita dapat menemukan sumber informasi yang diinginkan. Kalau pun tidak berupa link Google Colab, biasanya dalam situsnya disertakan juga link Google Colabnya. Nah, di situlah kita bisa belajar hal-hal yang terkait dengan teknologi yang kita inginkan.

Ada juga kontroversi terkait dengan belajar instan lewat internet, salah satunya adalah masalah ilmu dasar yang kurang diperhatikan mengingat biasanya hanya untuk aplikasi-aplikasi siap pakai saja. Menurut saya wajar, karena memang kaum milenial memiliki karakter “instant” yang harus dipenuhi oleh pengajar. Sebenarnya cukup membalik dari teori dan aplikasi menjadi aplikasi dan teori sudah mampu menarik minat mereka. Kalaupun ingin menerapkan teori dulu baru aplikasi, sebaiknya jangan terlalu panjang jedanya, syukur-syukur di pertemuan yang sama.

Beberapa dosen tidak menganjurkan menggunakan bahasa pemrograman dalam bentuk paket atau library-library seperti misalnya OpenCV untuk pengolahan citra. Alasannya tidak mendidik mahasiswa memahami dasar-dasar ilmu pengolahan citra. Mereka cenderung menggunakan Bahasa C++ dalam perkuliahan. Menurut saya baik, tetapi untuk mengejar ketertinggalan teknologi dengan negara-negara lain ada baiknya mengikuti trend teknologi terkini, apalagi jika mahasiswa ingin bekerja pada vendor/perusahaan yang memang cenderung menerapkan teknologi terkini baik dari bahasa, library, dan tools lainnya. Pembuat library pun menyediakan dasar-dasar ilmunya yang dapat diakses di situs resminya, misalnya OpenCV di link https://opencv.org/ atau pada dokumentasinya di sini, seperti contoh filter 2d dibahas pula dasar-dasar teorinya.

Tentu saja kita harus membaca buku teks standar pengolahan citra atau dasar-dasar matematika seperti kernel, matriks, dan lain-lain. Jika di era 90-an kita belajar ilmu dasar tanpa melihat langsung penerapannya, saat ini siswa lebih mudah melihat langsung penerapan ilmu dasar yang diajarkannya. Silahkan lihat video berikut untuk mengakses topik tertentu di Google Colab.

Menentukan Kompenen RGB Citra dengan OpenCV

Citra berwarna dapat diketahui komponen Red-Green-Blue penyusunnya. Dalam OpenCV sedikit berbeda, yaitu Blue-Green-Red (BGR). Sistem yang menentukan kematangan buah misalnya, membutuhkan nilai RGB suatu buah yang matang atau belum. Nah, di sini kita coba menggunakan OpenCV yang berjalan di Google Colab untuk menentukan kadar RGB-nya yang kemudian dihitung rata-rata untuk menentukan warna dominan-nya. Dalam prakteknya tidak hanya menggunakan rata-rata melainkan dengan sistem berbasis Jaringan Syaraf Tiruan atau Deep Learning.

Mengimpor Library

Beberapa Library diperlukan antara lain CV2, NumPy, dan Google Colab File (untuk input output interface). Gunakan kode berikut di awal untuk sel baru.

  • import cv2
  • import numpy as np
  • import pandas as pd
  • from google.colab.patches import cv2_imshow
  • from google.colab import files
  • import io

Jalankan sel tersebut pastikan tidak ada kesalahan karena akan menentukan instruksi berikutnya.

Mengambil File Citra

Berikutnya adalah mengupload citra. Sebenarnya upload bisa lewat mekanisme upload di Google Colab. Tapi bisa juga dengan memanfaatkan I/O Google Colab, kita tinggal memilih file citra yang akan diuplad.

  • upload_files=files.upload()
  • for filename in upload_files.keys():
  • upload_files.keys
  • print(‘nama file: ‘,filename)
  • citra=cv2.imread(filename)

Di sini variabel upload_files berisi filename yang akan digunakan untuk imread pada OpenCV untuk mengambil matriks RGB citra tersebut. Gunakan citra RGB untuk latihan ini.

Mengolah Matriks Citra

Citra berwarna memiliki tiga komponen matriks yaitu biru, hijau, dan merah yang masing-masing berturut-turut diberi indeks 0, 1, dan 2.

  • blue=citra[:,:,0]
  • green=citra[:,:,1]
  • red=citra[:,:,2]
  • b=np.average(blue)
  • g=np.average(green)
  • r=np.average(red)
  • print(b)
  • print(g)
  • print(r)

Variabel b, g, dan r berturut-turut rata-rata dari total matriks blue, green, dan red. Fungsi print hanya digunakan untuk mengetahui skor rata-rata untuk mengecek akurasi if-else tahap berikutnya.

Deteksi Warna Dominan

Langkah terakhir adalah instruksi if-else untuk mendeteksi mana nilai yang terbesar apakah blue, green, ataukah red.

  • if b>g:
  • if b>=r:
  • result=print(‘warna dominan: blue’)
  • print(b)
  • else:
  • if g>=r:
  • result=print(‘warna dominan: green’)
  • print(g)
  • else:
  • result=print(‘warna dominan: red’)
  • print(r)

Jalankan dan pastikan warna dominan sesuai dengan kenyataannya.

Mengetik dengan Suara lewat Google Docs

Pertemuan yang lalu kita telah berlatih mengetik. Tidak perlu berkecil hati untuk rekan-rekan yang kecepatannya mengetiknya lambat karena saat ini Google Docs (http://docs.google.com) menyediakan fasilitas mengetik dengan suara. Alat yang dibutuhkan hanya microphone dan internet karena Google Docs bekerja lewat cloud (internet).

Akun Gmail

Syarat terpenting memanfaatkan fasilitas Google Docs (juga fasilitas lainnya) adalah akun Gmail. Sepertinya saat ini hampir semua orang memiliki akun Gmail. Ketika login Gmail, di bagian kanan atas kita bisa beralih ke Google Docs dengan menekan simbol documen. Lanjutkan dengan membuat dokumen baru.

Memulai Mengetik via Suara

Untuk memulai mengetik, masuk ke menu Tools (atau alat jika sudah dalam bahasa Indonesia) lalu pilih Voice Typing (atau Dikte). Pastikan simbol microfon muncul di sebelah kiri google docs.

Set Bahasa

Jika kita ingin mengetik dalam bahasa Indonesia, maka terlebih dahulu kita harus mengeset bahasa Indonesia agar suara dapat dengan baik dikonversi ke tulisan oleh Google. Caranya adalah dengan menekan tombol segitiga di atas simbol microfon. Pilih bahasa yang Anda inginkan, misalnya Bahasa Indonesia.

Memulai Mengetik dengan Suara

Berikutnya kita tinggal berbicara saja lewat mikrofon. Usahakan perlahan dengan pengucapan yang jelas. Tangan kita tinggal menekan titik dan koma saja. Atau tanda petik jika ingin mengetik cerita/novel. Untuk menyimpan ke laptop, tinggal masuk ke menu File Download dan pilih format yang kita inginkan, misalnya docx. Sekian selamat mencoba.

Lebih jelasnya lihat tutorial video di bawah ini.

Mengelola Environment Anaconda

Anaconda merupakan pakat Integrated Development Environment (IDE) berbasis Python (https://www.anaconda.com/). Paket lengkap ini sangat membantu siswa yang baru pertama kali belajar bahasa pemrograman Python. Sebelumnya pengguna Python menggunakan konsol untuk memrogram, termasuk mengelola environment-nya (lihat post yang lalu). Namun, Anaconda memperkenalkan teknik yang lebih sederhana dan mudah dicerna lewat Anaconda Navigator.

Mengunduh Anaconda

Untuk menginstal Anaconda, silahkan unduh di sini. Sesuaikan dengan sistem operasi yang kita gunakan, dan pilih versi yang terkini. Jika sudah, jalankan hingga muncul tampilan sebagai berikut:

Mengatur Environment

Pada Anaconda Navigator terdapat menu Environments untuk mengelola environment yang ada. Environment merupakan folder kerja yang berisi fasilitas-fasilitas tertentu, misalnya untuk deep learning, machine learning, dan lain-lain. Maksudnya adalah agar satu aplikasi tidak bercampur dengan aplikasi lainnya sehingga lebih rapi dan terstruktur.

Secara default, environment yang ada adalah base (root), yang di dalamnya sudah terdapat beberapa fasilitas dasar, salah satunya Jupyter Notebook. Untuk membuat satu environment baru, gunakan tombol +Create di bagian bawah. Untuk beralih ke environment lainnya tinggal menekan nama environment tersebut. Tuggu sesaat hingga library yang ada muncul di sebelah kanan. Untuk membuka terminal ataupun Jupyter Notebook, silahkan tekan simbol segitiga di sebelah kanan environment yang dipilih.

Ada baiknya kita menggunakan Open Terminal untuk membuka Jupyter Notebook agar folder sesuai dengan yang kita inginkan.

Perhatikan saya menggunakan environment “Nusaputra” dengan folder kerja di d:\pengajaran\Pengolahan Citra. Instruksi jupyter notebook bermaksud membuka jupyter notebook di browser kita.

Mencoba Jupyter Notebook

Berbeda dengan Google Colab yang selalu terpasang Library, pada Jupyter Notebook library tertentu, misal OpenCV, harus dipasang terlebih dahulu. Gunakan PIP atau dengan Anaconda Navigator, lihat caranya di materi kuliah saya berikut ini. Perhatikan bagaimana mengelola sel, tracing error, dan lain-lain.

Deteksi Tepi dengan Open CV

Beberapa aplikasi baik di laptop maupun di handphone menerapkan deteksi tepi untuk memisahkan antara citra dengan latar/background-nya. Salah satu metode deteksi tepi yang terkenal adalan metode Canny yang menerapkan filter Gauss:

Beberapa aplikasi telah menerapkan metode Canny ini, misalnya Matlab dan OpenCV. Postingan ini mencoba menggunakan OpenCV yang bekerja di Google Colab dengan bahasa Python. Seperti biasa, buka Google Colab.

  • import cv2
  • import numpy as np
  • from matplotlib import pyplot as plt
  • # read image
  • img = cv2.imread(“dimas.jpg”0)
  • # Find edge with Canny edge detection
  • edges = cv2.Canny(img, 100200)
  • # display results
  • plt.subplot(121), plt.imshow(img, cmap=‘gray’)
  • plt.title(‘Original Image’), plt.xticks([]), plt.yticks([])
  • plt.subplot(122), plt.imshow(edges, cmap=‘gray’)
  • plt.title(‘Edge Image’), plt.xticks([]), plt.yticks([])
  • plt.show()

Open CV diimpor terlebih dahulu, termasuk numpy dan pyplot untuk pengolahan matriks dan pembuatan grafik. Variabel “img” mengambil nama file citra yang terlebih dahulu diupload ke Google Colab. Ketika sel di-run pastikan tampil hasilnya.

Atau bisa menggunakan cv2_imshow agar lebih besar gambar yang ditambilkan.

  • from google.colab.patches import cv2_imshow
  • cv2_imshow(edges)

Silahkan lihat video tutorial di akhir postingan ini. Sekian, semoga bermanfaat.

Typing Test Online

Saat ini mengetik merupakan aktivitas yang kurang diminati oleh anak-anak muda. Mereka lebih menyukai aktivitas lain yang tidak kalah menarik yaitu pembuatan video. Blog sepertinya kalah menarik dibanding Vlog lewat aplikasi andalannya Youtube. Hal ini didukung oleh “monetisasi” dari Youtube yang sangat menggiurkan. Penghasilan dari konten bahkan melebihi pegawai yang bekerja di kantor atau industri.

Di sisi pendidikan, mengetik tetap dibutuhkan mengingat skripsi atau tugas akhir membutuhkan laporan yang diketik rapi. Jumlah halamannya pun bisa mencapai 40 hingga 100 halaman. Jika lambat mengetik tentu saja membuat siswa lama lulusnya. Copy-paste yang kerap jadi andalan mahasiswa era 90 – 200-an sudah sulit karena banyaknya plagiarism check, ditambah lagi nanti naskah yang di-upload id RAMA (http://rama.ristekbrin.go.id/) harus memiliki nilai similarity (kemiripan dengan naskah orang lain) yang kecil. Jadi mau tidak mau mahasiswa harus mengetik sendiri. Nah, repotnya untuk belajar mengetik, butuh waktu, usaha, dan kesabaran.

Pada postingan yang lalu telah dibahas jenis-jenis keyboard yang ada saat ini. Kebanyakan yang beredar adalah QWERTY. Keyboard standar ini sebenarnya agak merepotkan karena misalnya, huruf “a” yang sering digunakan ternyata terletak di kelingking pada rumah jari. Namun karena sudah terlanjur digunakan orang banyak, terpaksa menjadi standar karena sulitnya orang kalau harus merubah posisi huruf/angka di keyboard.

Beberapa situs menyediakan cara meningkatkan keterampilan mengetik, disertai dengan game-game yang menarik. Untuk standar mengetik bisa menggunakan situs tes pengetikan (Typing Test) ini. Gunakan saja waktu 1 menit untuk tes biar tidak lelah.

Statistiknya juga bagus, beberapa tombol yang kurang kita kuasai diberi tahu, sehingga bisa lebih fokus terhadap huruf-huruf tersebut. Selain itu, situs tertentu berisi game-game online yang beradu kecepatan mengetik dengan orang lain di seluruh dunia, misalnya di 10fastfinger.com. Untuk mudahnya kita cari saja lawan dari Indonesia. Repot juga kalau mengetik tulisan ber-Bahasa Inggris. Untuk memulainya kita harus Sign-in dulu, bisa lewat facebook.

Sepertinya masih banyak anak-anak muda yang mengetiknya cepat (saya ranking 16 dari 41 peserta). Sepertinya Blogger masih tetap eksis dan hobby menulis masih jadi primadona. Dibanding dengan vlog yang boros kuota, blogger jauh lebih efisien. Berikut link video bincang-bincang masalah ini. Sekian, semoga bisa menginspirasi.

Mencoba OpenCV di Google Colab

Python memiliki beragam library. Salah satu library terkenal untuk pengolahan citra (image processing) adalah OpenCV (https://opencv.org/). Untuk mencoba library ini silahkan buka Google Colab (http://colab.research.google.com) di browser kita.

Instalasi OpenCV

Untuk menginstal OpenCV, gunakan PIP dengan disertai simbol “!” di depan cell Google Colab sebagai berikut. Setelah itu tekan simbol run di sebelah kiri sel tersebut.

! pip install opencv-python

Tunggu beberapa saat menunggu Google Colab selesai menginstall OpenCV.

Import Library OpenCV

Tidak serta merta ketika diinstal OpenCV dapat langsung digunakan. Import terlebih dahulu. Gunakan satu sel baru agar lebih mudah men-debug nya.

  • import os
  • import numpy as np
  • import matplotlib.pyplot as plt
  • import cv2

Tekan run dan pastikan tidak ada kesalahan. Di sini numpy dan matplotlib merupakan library untuk pengolahan matriks dan plotting. Nah, cv2 di sini merupakan OpenCV.

Membaca, Menampilkan, dan Konversi Citra

Berikutnya kita berlatih menggunakan fungsi OpenCV antara lain, membaca, menampilkan, dan mengkonversi ke hitam putih sebuah citra. Pada google colab upload image sembarang (berformat jpg/png). Tekan terlebih dulu simbol folder di sebelah kiri Google Colab kita.

  • from google.colab.patches import cv2_imshow  
  • img = cv2.imread(‘Rahmadya.jpg’, cv2.IMREAD_UNCHANGED)
  • cv2_imshow(img)
  • grayImg = cv2.cvtColor(np.array(img),cv2.COLOR_BGR2GRAY);
  • cv2_imshow(grayImg)

Kode di baris atas menambahkan satu patches karena cv.imshow tidak berjalan di Google Colab maupun Jupyter Notebook. Variabel img merupakan citra asli, sementara grayImg yang sudah dikonversi ke hitam putih (gray). Perhatikan di OpenCV formatnya Blue-Green-Red (BGR), bukan RGB.

Plotting

Selain dengan OpenCV, ada baiknya kita belajar menampilkan dalam bentuk Plot karena lebih rapih. Gunakan kode berikut di sel yang baru.

  • plt.subplot(121), plt.imshow(img), plt.title(“Original”)
  • plt.xticks([]), plt.yticks([])
  • plt.subplot(122), plt.imshow(grayImg), plt.title(“Edited”)
  • plt.xticks([]), plt.yticks([])
  • plt.show()

Pastikan program berjalan dengan baik.

Silahkan kunjungi video tutorial ini untuk lebih jelasnya.

Membuat Resume/CV dengan Microsoft Word

Resume atau Curriculum Vitae (CV) merupakan sarana penting untuk memperkenalkan kita kepada pihak-pihak yang membutuhkan kemampuan kerja kita. Resume yang baik selain dapat memberikan gambaran yang tepat juga harus memiliki aspek estetika. Postingan ini membahas proses pembuatan CV baik dari bawaan Microsoft Word maupun template-template yang tersedia di internet.

1. Template dari Microsoft Word

Microsoft Word menyediakan template standar yang dapat dibuka ketika kita membuat naskah baru selain beberapa template lain seperti brosur, undangan, dan lain-lain.

Misalnya kita memilih “Blue Spheres Resume” untuk kita jadikan template. Ketika ditekan maka sebuah template siap dibuat.

Education bisa Anda ganti dengan “Pendidikan” dan copas saja menjadi beberapa bagian menyesuaikan tingkat pendidikan yang telah kita lalui. Foto dapat Anda ganti dengan mengklik kanan, pilih Fill lalu cari foto Anda.

2. Template Dari Internet

Silahkan searching “Free Resume Template Microsoft Word” di Google, maka Anda akan menjumpai beragam situs, misalnya: https://www.freesumes.com/modern-resume-templates/. Pilih saja satu resume yang menurut Anda menarik, unduh dan edit seperti langkah pada template bawaan Microsoft Word.

Beberapa software dapat juga digunakan misalnya Photoshop dengan kualitas yang tidak kalah baik. Namun karena Word paling banyak digunakan saat ini, ada baiknya kita dapat membuat resume dengan Microsoft Word. Selamat mencoba.

Memulai Meeting Online dengan Google Meet

Dulu Google Meet bernama hangout, namun perkembangan kuliah daring di masa pandemi membuat aplikasi-aplikasi meeting berbenah. Salah satunya adalah google meet. Google merupakan perusahaan besar yang kerap melakukan riset dari hal-hal sederhana pekerjaan kantor sehari-hari hingga skala besar.

Bisa dengan Akun Gmail Biasa

Buke email anda dan perhatikan simbol di atas bagian atas kanan (1). Tekan dan di sana ada banyak pilihan, salah satunya adalah “meet” yang berarti Google Meet (2). Silahkan tekan.

Setelah itu kita tinggal membuat satu meet baru dengan menekan “Start a meeting”. Perhatikan kalimat di atasnya: “premium meeting is free for everyone”, yang artinya dulu hanya bisa gmail versi tertentu ac.id atau yang berbayar, sekarang oleh siapapun bisa, asal gmail.

Kolom enter meeting code jika kita ingin bergabung, bukan sebagai admin. Tekan “Join Now” untuk membuat satu “meeting” baru.

Begitu saja, sangat sederhana untuk memulainya. Kita tinggal meng-copas link dan men-share ke rekan lain yang ingin ikut bergabung. Tentu saja yang ingin bergabung harus punya gmail.

Ketika seseorang memiliki link yang di-copy-kan tersebut, maka dia bisa langsung “join”. Keluar masuk cukup mudah hanya dengan menekan simbol “telepon” di bagian tengah.

Lama Durasi Meeting Google Meet

Sebagai informasi tambahan yang penting, Google Meet gratis seharusnya maksimal satu jam, tetapi sampai 30 September 2020 bisa sampai 24 jam, silahkan kalau kuat.

Terbukti saya gunakan mengajar dari jam 08.00 WIB sampai Jam 17.00 WIB tidak ada masalah, juga untuk acara lain seperti seminar yang beranggotakan puluhan hingga ratusan. Kabarnya bisa sampai 250 peserta, silahkan coba. Sekian semoga berfaedah.

 

Menulis Pseudocode

[mk|pert|jur:logika-alg|X|akuntansi]

Banyak kita jumpai bahasa pemrograman dengan aturan tata-tulis (sintaks) yang beragam. Terkadang pengguna bahasa pemrograman tertentu kesulitan membaca kode yang dibuat oleh bahasa pemrograman lain, walaupun terkadang tidak terlalu berbeda jauh. Oleh karena itu dibutuhkan suatu aturan agar sebuah kode program dapat dimengerti oleh programer bahasa pemrograman lain. Walaupun disainer memiliki alat bantu berupa diagram, misalnya flowchart, activity diagram, dan model-model lainnya baik yang bersifat berorientasi objek maupun terstruktur, tetap bagi programer agak sulit, khususnya ketika berinteraksi lewat milis-milis, misalnya stackoverflow, github, dan grup-grup lainnya. Oleh karena itu beberapa peneliti menggunakan pseudocode untuk bertukar informasi sebuah kode program. Tentu saja bukan kode program seluruhnya, hanya beberapa bagian, biasanya sebuah fungsi atau kelas yang penting untuk dikomunikasikan, baik dalam artike ilmiah, maupun diskusi-diskusi di internet. Postingan kali ini mencoba memberikan gambaran bagaimana cara pembuatan pseudocode yang lazim digunakan.

1. Tipe input, output, proses

Tipe pertama merupakan pseudocode dengan fokus utama proses yang dilakukan terhadap sebuah masukan untuk menghasilkan keluaran tertentu. Di sini tidak dirinci apa format kode tersebut, apakah sebuah fungsi ataukah komputasi numerik tertentu yang merupakan bagian dari fungsi yang lebih besar. Gambarannya kira-kira seperti ini, misalnya diminta menghitung jarak antara satu data dengan data lainnya dengan Euclidean distance.

  • ——————————————————-
  • Algoritma 1: Menghitung Jarak Euclidean
  • ——————————————————-
  • input: x1,y1,x2,y2
  • output: d
  • d = sqrt((x1-x2)^2+(y1-y2)^2)
  • ——————————————————–

Jenis ini terkadang tidak tidak menyertakan output di atas, tetapi meletakan Return di bagian bawah yang menggambarkan jarak.

  • ——————————————————-
  • Algoritma 1: Menghitung Jarak Euclidean
  • ——————————————————-
  • input: x1,y1,x2,y2
  • d = sqrt((x1-x2)^2+(y1-y2)^2)
  • return d
  • ——————————————————–

Kebetulan di sini merupakan fungsi sederhana yang tidak melibatkan kalang (loop). Ada dua jenis kalang yang biasa digunakan dalam pseudocode yaitu for – next dan repeat – until. Selain itu ada juga while – end yang masuk kategori repeat-until. Diletakan di antara input dan output. Terkadang di sisi proses tidak dijelaskan secara detil, hanya garis besar saja jika dirasa pembaca sudah mengetahui alur komputasi atau fungsi yang biasa digunakan secara umum.

2. Tipe Fungsi

Fungsi merupakan komponen kecil dari total kode program, baik yang berada dalam satu file dengan fungsi induk maupun yang terpisah. Pseudocode tipe ini biasa digunakan oleh pengguna Matlab dan Python. Jika Matlab menggunakan kata kunci “Function”, Python dengan “def” (lihat pos yang lalu tentang fungsi eksternal). Fungsi melibatkan nama fungsi serta variabel masukan. Misal untuk contoh kasus perhitungan jarak Euclidean seperti kasus sebelumnya.

  • ——————————————————-
  • Function jarak(x1,x2,y1,y2)
  • ——————————————————-
  • input: x1,y1,x2,y2
  • d ← sqrt((x1-x2)^2+(y1-y2)^2)
  • return d
  • ——————————————————–

Biasanya notasi pseudocode tidak menggunakan sama dengan “=” melainkan panah kiri “← “. Mengenai apakah pseudocode itu jenis tulisan atau gambar, ada beragam versi. Ada yang membuat kotak pada pseudocode dan menjelaskannya sebagai gambar, ada juga yang menganggap sebagai tulisan biasa bagian dari artikel. Mungkin pembaca menemukan bentuk lainnya.

 

Menggunakan Graphics Processing Unit (GPU) Google Colab

Google Colab selain menyediakan Integrated Development Environment (IDE) yang diserta kompiler Python juga menyediakan CPU dan GPU-nya. Untuk membuktikannya Google Colab memberikan link tersendiri di sini.

Jika langsung dijalankan sel pertama akan muncul pesan kesalahan sebagai berikut.

Hal ini terjadi karena kita belum mengeset accelerator GPU. Pilih accelerator dengan masuk ke menu Edit Notebook Setting.

Berikutnya Anda diminta memilih acceleratornya. Ada dua pilihan: 1) Graphics Processing Unit (GPU) dan 2) Tensor Processing Unit (TPU). Pilih saja sesuai pokok bahasan kita yaitu GPU.

JIka dijalankan sel pertama program contoh pengaksesan GPU akan muncul keluaran sebagai berikut yang memastikan bahwa GPU ditemukan.

Jalankan sel berikutnya yang menguji kecepatan tensorflow menggunakan CPU dan GPU. Pastikan tidak ada error.

Perhatikan kecepatan eksekusi menggunakan GPU yang lebih cepat kira-kira 20 kali lebih dari CPU. Sekian semoga membuat tertarik memanfaatkan hardware GPU Google.