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 Element – Legend – 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, 100, 200)
  • # 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.

Django, Flask dan Jinja2 Untuk Python di Web

Biasanya programer Python menggunakan fasilitas Graphic User Interface (GUI) dari library Tkinter (lihat post yang lalu). Namun tren aplikasi berbasis web membuat programer Python membuat aplikasi berbasis web. Postingan ini menggambarkan bagaimana program Python bekerja di web. Pertama-tama yang dibutuhkan adalah donwload library. Di sini saya menggunakan cara tergampang, yaitu dari Anaconda Navigator

Untuk pembuatan aplikasi web skala besar, gunakan Django dengan fasilitas framework-nya yang lengkap. Caranya sama untuk mengunduh librarynya lewat Anaconda Navigator. Pastikan library tersebut terinstal di Anaconda agar nanti bisa digunakan di Jupyter Notebook lewat instruksi import.

Django Atau Flask? Jinja2 untuk Apa?

Sesuai dengan fungsinya, jika ingin membuat aplikasi besar gunakan saja Django. Tetapi untuk aplikasi ringan, flask lebih cepat. Bagaimana dengan Jinja2? Fungsi Jinja2 memang berbeda dengan Django dan Flask. Aplikasi ini berfungsi untuk membuat template yang nanti muncul di browser. Jika sudah ok, template tersebut dapat diterapkan baik di Django maupun Flask. Walaupun Django bisa juga untuk merancang template tetapi dengan Jinja2 programmer lebih senang karena cepat karena tidak membutuhkan fasilitas-fasilitas lain Django yang tidak ada hubungannya dengan template.

Mencoba Flask

Untuk membuat Python web dengan Flask kita harus memiliki template HTML. Gunakan template berikut ini.

Beri nama template.html, silahkan gunakan editor, misalnya notepad. Jangan lupa ekstensi harus html bukan txt. Buat folder baru di direktori Python, beri nama template. Posisi file kira-kira seperti ini. Dimana folder templates harus disediakan, berisi file HTML (lihat refernsi ini). Silahkan isi requirement.txt atau dengan nama lain misalnya readme.txt. Atau tidak ada juga tidak apa-apa karena hanya berisi penjelasan program.

Letakan template.html di folder tersebut. Sementara itu program utama tetap di direktori Python. Gunakan kode berikut.

  • from flask import Flask, render_template
  • app = Flask(__name__)
  • @app.route(“/”)
  • def template_test():
  • return render_template(‘template.html’, my_string=”Wheeeee!”, my_list=[0,1,2,3,4,5])
  • if __name__ == ‘__main__’:
  • app.run(debug=True)

Masuk ke Terminal dan jalankan dengan mengetik.

  • python run.py

Anda harus berhasil melihat hasilnya di http://127.0.0.1:5000 seperti instruksi di terminal. Di sini maksudnya kita diminta melihat localhost dengan port 5000, port yang diberikan oleh flask untuk mengakses via browser.

Silahkan lihat referensi di bawah untuk melihat bagaimana Jinja2 bekerja pada template. Di atas digunakan Flask, bisa juga dengan Django. Python saat ini sangat kuat dalam komputasi yang bekerja di back-end misalnya untuk mesin pembelajaran, dengan aplikasinya bisa jalan juga di web, berarti bahasa ini sangat diminati karena bisa bekerja selain di back-end maupun front-end, mengungguli bahasa-bahasa komputasi lainnya (lihat post yang lalu tentang tren bahasa pemrograman).

Referensi: https://realpython.com/primer-on-jinja-templating/

 

Membuat Kelas Online di Google Classroom

Google selain mesin pencari, email, dan tempat penyimpanan, bisa juga untuk pembuatan kode program dengan bahasa Python (lihat pos tentang Google Colab). Namun ternyata mampu juga mendukung pembelajaran online lewat Google Classroom, bahkan pemerintah menganjurkan untuk menggunakan fasilitas ini (lihat post sebelumnya).

Membuat Kelas Online

Pertama-tama Anda wajib menggunakan Gmail, sebaiknya Gmail pendidikan (berekstensi ‘ac.id’) agar bisa terintegrasi dengan Google Meet. Masuk ke Situs Google Classroom terlebih dahulu.

Di sini sebaiknya jangan menggunakan akun gmail.com gratisan seperti contoh saya tersebut. Gunakan saja yang pendidikan (‘ac.id’). Setelah “sign up” dengan cara yang kilat di atas, lanjut membuat satu kelas yang kita miliki pada pilihan Create Class (khusus pengajar, mahasiswa tinggal memasukan kode kelas di pilihan ‘Join Class’).

Setelah menekan Continue di Notice yang muncul sebelum memulai, kita langsung memberi nama kelas, section, subject, dll.

Memulai Google Classroom

Setelah mengisi dan menekan Create maka kelas sudah kita buat, mudah sekali ternyata. Bagaimana cara mahasiswa ikut kelas kita? Ternyata kita tidak perlu memasukan satu persatu. Klik di bagian Class Code, di bagian atasnya maka akan muncul kode kelas. Nah kode kelas inilah yang dishare ke mahasiswa kita.

Jika sudah masuk ke Classwork untuk memulai pembelajaran. Ada beberapa pilihan yaitu Assignment, Quiz Assignment, Question, Materials, dan lain-lain.

Mengeset Ujian/Quiz

Sebagai contoh, misalnya kita akan membuat Assignment atau ujian dalam bahasa Indonesia, bisa UTS, UAS, atau susulan.

Beri judul dan instruksi pengerjaan agar mahasiswa/siswa bisa mengikuti arahan soal yang ingin diikuti.

Di bagian bawah tampak tombol Add yang digunakan untuk meng-upload soal ujiannya.

Terakhir Anda tinggal menunggu siswa yang mengerjakan soal-soal tersebut dan mengupload jawabannya. Berikut tampilan siswa yang selesai mengupload tugas-tugas. Bentuknya sangat mudah dibuka sehingga proses pengoreksian bisa lebih cepat. Jika ingin membuat soal pilihan berganda, bisa coba gunakan Google Form, tetapi kelemahannya tidak ada waktu pengerjaan, silahkan gunakan fasilitas lain, misalnya Kahoot!! (lihat post terdahulu) yang bisa menggunakan waktu yang ketat agar mahasiswa tidak sempat menyontek atau meng-capture soal untuk disebarkan ke rekan-rekannya.

Update 20 April 2020

Jika Anda menggunakan gmail berformat ac.id maka mahasiswa harus ac.id juga. Siswa komplain ke saya kalau dia tidak bisa masuk, ternyata harus ac.id, kecuala teacher menggunakan gmail.com untuk membuat google classroom.