Dokumentasi dengan MkDocs

Dalam mata kuliah Interaksi Manusia dan Komputer (Human Computer Interraction) ada satu bab tentang dokumentasi help. Salah satu dokumentasi penting adalah dokumentasi online yang menjelaskan suatu aplikasi yang dibuat. Kalau jaman dulu mungkin berupa berkas readme atau file pdf tata cara penggunaan. Namun saat dunia online seperti saat ini, mau tidak mau kemampuan mendokumentasi online mutlak diperlukan. Sayang kan kalau harus bayar ke orang untuk publish onlinenya. Server online pun banyak yang gratis kalo hanya untuk dokumen, misalnya yang terkenal Github.io (lihat post yg lalu).

Banyak aplikasi untuk membuat dokumentasi online misalnya document360, nuclino, Github, MarkdownPad, ProProfs, Read the Docs, Doxygen, dan lain-lain. Nah, postingan ini akan membahas MkDocs, sebuah alat membuat dokumentasi online berbasis Python.

MkDocs memiliki keunggulan, yakni cepat dan gratis. Salah satu problem utama adalah untuk yang belum pernah menggunakan Python, karena harus belajar sedikit. Kalau sudah pernah dengan mudah dapat menjalankannya. Alur untuk pembuatan dokumentasi online dengan MkDocs adalah:

  • Instal MkDocs
  • Mengunduh Template
  • Mengedit mkdocs.yml dengan editor
  • Mengedit index.md dengan editor
  • Menjalankan server lokal MkDocs
  • Mendeploy hasil edit
  • Mempublish online

Lumayan panjang, tapi tidak membutuhkan sumber daya yang besar. Semua dapat dibuka dengan cepat. Sedikit butuh kreativitas ketika mengedit mkdocs.yml dan index.md. Karena ketika kita menjalankan server MkDocs kita langsung melihat perubahannya, jadi mirip mengkustomasi wordpress misalnya.

Ada sedikit rancu bagi pengguna awal, di sini mkdocs server (dengan mengetik mkdocs serve) hanya berfungsi melihat hasil editan saja, kalau ingin publish misal di XAMPP perlu mendeploy lewat fungsi mkdocs gh-deploy yang akan menghasilkan folder yang siap diupload di folder docs.

Untuk jelasnya lihat video berikut ini. Sekian, semoga bermanfaat.

Transfer Learning with Matlab

Transfer learning is a term that is often encountered by deep learning practitioners. For those who do not understand, the following explanation may be useful.

In accordance with the ‘word’, transfer learning means using past learning to use new domains or cases. The benefit is that we don’t learn from scratch again. The easiest way is to freeze the pretrained model termed pretrained, and replaces the last layer of the old number of classes with the new model class.

The following video uses Matlab 2021a to demonstrate how transfer learning works, along with techniques for freezing and augmenting data with rotation and translation. The benefit of augmentation is to increase the amount of training data by changing ‘slightly’ from the initial training data.

Final Submit to AIP Publishing

There are many journals and conferences indexed by Scopus, one of which is AIP Publishing based in the United States. Although Indonesia is currently pushing for researchers to publish in local journals, the Scopus index still has a significant weight in the SINTA ranking (Indonesian Index). So, the Scopus indexed conferences are still being hunted.

Many beginners are a bit confused when following the publishing process, besides the language, the style of the process of each conference is different. Sometimes changes occur, for example, IEEE which requires a signature scan before publishing, now it is no longer necessary. Well, for AIP publishing, the following video provides the procedure for filling out the final form before publishing. So, hopefully, it can be useful.

Calculating the Number of Parameters of the Deep Learning Model

Deep learning (DL) is a development of the Neural Network where the number of layers is much more. In the past, neural networks were not able to handle many layers, now due to the development of methods and hardware, models with a large number of layers (even hundreds) can be done.

To improve DL performance, it is sometimes necessary to analyze the design model. In addition to accuracy, sometimes models with high performance in terms of speed are needed. To find out the performance, it is sometimes necessary to analyze floating point operations, namely the computation of computational complexity in DL. Check out the following video.

Currently, FLOPs are no longer relevant for the current hardware conditions that work in parallel. The calculation of processing time can be an alternative which of course will differ from one machine to another, but for comparison it does not matter (as long as running on the same machine). Another method is to calculate the number of parameters of a model. A large number of parameters certainly affects performance, so a system with a small number of parameters with an accuracy that is not much different is a topic that is now being studied a lot, especially those that can work for small computers or mobile phones. Here’s how to find out the number of parameters in Matlab. For Python the TensorFlow library automatically calculates the number.

Membuat Grafik untuk Jurnal

Grafik merupakan salah satu alat bantu menjelaskan dalam sebuah jurnal. Ada pribahasa “satu gambar lebih baik dari 1000 kata”. Tentu saja jika gambarnya ok dan mudah dimengerti. Oiya, grafik dalam jurnal masuk dalam kategori gambar (Figure). Oleh karena itu perlu membuat grafik sejelas mungkin.

Banyak mahasiswa menggunakan Excel untuk membuat grafik, padahal hasilnya kurang ok untuk jurnal, apalagi jurnal internasional. Salah satu aplikasi yang dapat digunakan untuk membuat grafik yang cukup baik adalah Matlab. Misalnya link berikut menunjukan jurnal Elsevier yang membolehkan submission berupa Matlab viewer.

Selain itu Matlab figure bisa juga terkoneksi ke Visio untuk memberi kustomisasi lebih lanjut, seting warna, ukuran dan jenis garis, dan lain-lain. Untuk lebih jelasnya silahkan lihat video berikut ini. Selamat mencoba.

Memilih Ekosistem yang Baik

Mungkin Anda pernah mendengar istilah ekosistem dalam biologi. Ternyata dalam kehidupan sehari-hari kita mengenal juga ekosistem dalam arti lingkungan tertentu di sekitar kita. Ketika belajar di kampus kita memiliki ekosistem perkuliahan yang terdiri dari teman, dosen, tata usaha dan lain-lain. Namun jika dilihat walaupun kuliah di kampus yang sama, dua orang mahasiswa akan memiliki ekosistem yang berbeda. Ada yang suka belajar kelompok, ada yang suka demo, pacaran, luntang-lantung dan segala ekosistem yang dipilih oleh seorang mahasiswa.

Ada pepatah, jika Anda berteman dengan pedagang parfum, Anda akan terimbas wanginya. Silahkan pilih, dan saat ini tidak ada paksaan untuk masuk ke ekosistem tertentu. Tentu saja di awal, terkadang ketika sudah masuk, sulit untuk keluar. Nah, untuk para calon mahasiswa ada baiknya berhati-hati memilih ekosistem di kampus. Sesuaikan dengan minat dan niat yang baik karena terkadang ekosistem yang baik pun di dalamnya ada oknum-oknum yang menyesatkan.

Dalam dunia kerja ekosistem agak sedikit berbeda dengan ketika kuliah, karena persaingan sangat ketat. Memilih teman yang salah bisa berakibat fatal. Oleh karena itu kemampuan memilih rekan yang baik sangat penting. Beberapa pakar menyarankan menghindari ‘eneg’ alias energi negatif yaitu seseorang yang dapat melemahkan kinerja tim nya di suatu organisasi, misalnya selalu mengeluh, tidak puas, banyak tuntutan, memaksakan kehendak dan hal-hal lain yang seharusnya bisa Anda rasakan.

Bagaimana jika salah masuk? Di sini keberanian untuk hijrah sangat diperlukan. Menolak terkadang pekerjaan yang sulit tapi bisa jadi penyelamat Anda. Ekstrimnya, Anda harus berani keluar dari pekerjaan yang tidak cocok. Pernah beberapa tahun bekerja di bank, berangkat pagi pulang sore, menyelesaikan problem yang tidak ada habisnya. Mungkin cocok di awal, tetapi lama-kelamaan ketika tidak ada yang dilakukan lagi, mau tidak mau banting stir ke karir sebelumnya sebagai pengajar, walaupun tipe introvert seperti saya tidak cocok. Toh, keinginan untuk berbagi pengalaman dapat memperlancar proses transfer iptek dan pengalaman.

Bidang-bidang lain pun tidak jauh berbeda. Slash, gitaris Gun and Roses pun di akhir grup sebelum bubar merasakan kehampaan karena merasi ‘nothing I can do’. Atau gitaris deep purple yang bosan memainkan lagu jadul yang itu-itu saja. Puncaknya meninggalkan grupnya bahkan ketika sedang manggung.

Di era online saat ini, mencari ekosistem berupa komunitas mudah sekali dengan bantuan media sosial. Tetapi manusia ternyata memerlukan sumber inspirasi. Terkadang tuntutan kapitalis memaksa pendidikan menyediakan manusia instan yang hanya diajari satu aspek pekerjaan tertentu. Bahkan saat ini Google bisa melatih seseorang beberapa bulan setara dengan sarjana yang empat tahun. Mungkin saja, tetapi banyak hal-hal tertentu yang ‘dipotong’. Bisa jadi yang dipotong tersebut sangat dibutuhkan oleh peserta didik secara tidak langsung.

Ada satu cerita di amerika, seseorang wanita berkirim surat ke seorang aktor film star trek terkenal, James Doohan. Dia mengatakan berniat untuk bunuh diri. Si aktor memintanya ke tempat tertentu karena diundang di situ. Setelah pertemuan itu, si wanita tidak lagi berkomunikasi. Delapan tahun kemudian di luar dugaan si wanita itu berkirim kabar. Dia mengucapkan terima kasih karena telah menyelamatkan hidupnya lewat pertemuan dulu, sekaligus mengabarkan kalau dia baru saja memperoleh master di bidang elektronika. Oiya, james doohan di star trek berperan sebagai ‘scooty’ sang kepala insinyur yang mungkin diidolakan oleh si wanita yang mau bunuh diri itu, yang ternyata mahasiswa elektro. Nah, ternyata selain belajar bidang tertentu, mahasiswa terkadang memerlukan sesosok figur yang bisa secara langsung berkomunikasi, bekerja sama, dan melihat langsung sepak terjang orang yang diidolakan, yang tidak dapat diperoleh lewat online atau program instan lainnya. Sekian, untuk para mahasiswa baru, selamat berjumpa dengan ekosistem yang baru.

Install Bluestacks di Windows 11

Bluestacks adalah aplikasi yang menjalankan handphone di laptop/PC. Aplikasi ini sangat membantu mahasiswa yang mengerjakan tugas akhir pemrograman mobile. Selain itu, karena gratis, mahasiswa tidak perlu membayar biaya lisensi. Cara menginstall pun mudah, tinggal klik saja.

Proses Instalasi

Masuk ke situs resminya: https://www.bluestacks.com/id/index.html lalu unduh aplikasi Bluestacks versi 5 atau 10 yang tersedia. Berikut ini versi 10 atau ditulis versi X.

Setelah file exe diunduh, jalankan program tersebut untuk langsung mengunduh file installer sebesar kira-kira ratusan Mb.

Setelah mengecek dan ekstrak file instaler yang telah diunduh, Bluestacks melanjutkan proses instalasi. Tunggu sampai selesai.

Memulai Aplikasi di Handphone

Pastikan Bluestacks X telah selesai diinstal. Silahkan jalankan aplikasi android anda di Laptop. Selamat mencoba. Berikut tampilan aplikasi matlab mobile lewat Bluestacks X atau Bluestacks versi 10. Untuk mulai menggunakan aplikasi tersebut sama dengan memulai HP baru yang tentu saja kita sudah mengerti karena hampir semua orang punya HP. Dimulai dari login gmail dan seterusnya. Berikut ini contoh aplikasi Matlab yang dijalankan di Bluestacks X. Sekian, semoga bermanfaat.

Menghitung Mean Intersection over Union (mIoU)

Pada postingan yang lalu telah dibahas cara menghitung matriks konfusi. Matriks ini dapat digunakan untuk menghitung akurasi. Saat ini perhitungan akurasi dengan Mean Intersection over union (miou) banyak dipakai mengingat metode ini memberikan perhitungan yang ketat. Hal ini sangat memudahkan analisa dimana % akurasi model saat ini yang sudah sangat akurat (90% lebih).

Dengan perhitungan yang ketat diharapkan model usulan dapat dengan mudah membandingkan antara satu metode dengan metode lainnya. Prinsip dasarnya adalah mIoU membandingkan intersection prediksi dan ground truth (aktual) dengan union (gabungan) prediksi dan ground truth.

Secara logis, IoU lebih kecil dari % acurasi karena bagian penyebut hanya melihat sisi prediksi saja, yakni Area of Overlap/area of Prediction. Secara matematis persamaan berikut menunjukan IoU dengan tambahan False Negative (FN) yang merupakan sisi ground truth yang salah tebak.

Jika pada postingan yg lalu akurasi dapat langsung dihitung dengan menjumlahkan diagonal matriks konfusi sebelum dibagi total area, mean IoU dihitung dengan cara mererate seluruh IoU tiap-tiap kelas/segmen. Misal kasus berikut:

Matriks konfusi di atas menunjukan baris sebagai prediksi dan kolom sebagai nilai aktual/groundtruth. Misal, kita ingin menghitung IoU kelas ke-3 (yang berwarna kuning di atas). Dari rumus 8 di atas True Positive (TP) sebesar 62.413. Berikutnya menghitung False Positive (FP) dan False Negative (FN).

Nilai yang disorot warna hijau di atas merupakan FP dimana memprediksi kelas ke-3 tetapi hasilnya kelas yang lain. Sementara nilai yang disorot warna merah menunjukan nilai FN dimana ‘memprediksi yang bukan kelas ke-3 tetapi secara aktual (kolom) adalah kelas ke-3. Koding Matlab adalah sebagai berikut untuk kelas ke-3.

  • iou_3=matriks(3,3)/(sum(matriks(3,1:end))+sum(matriks(1:end,3))-matriks(3,3))

Bisa saja Anda menggunakan teknik yang lain misalnya menjumlahkan satu persatu tiap elemen, tapi lebih panjang sebagai berikut. Tapi yang penting logikanya mengerti.

  • iou_3=matriks(3,3)/( matriks(3,3)+ matriks(3,1)+ matriks(3,2)+ matriks(3,3)+ matriks(3,4)+ matriks(3,5)+ matriks(3,6)+ matriks(1,3)+ matriks(2,3)+ matriks(4,3)+ matriks(5,3)+ matriks(6,3)

Untuk menghitung rata-rata IoU, atau disingkat mIoU, caranya adalah menghitung IoU seluruh kelas, lalu merata-ratakannya seperti rumus 9. Diperoleh miou = 0.6391. Selamat mencoba.

Matriks Konfusi (Confusion Matrix)

Mengetahui performa model yang dirancang merupakan kewajiban bagi perancang model. Fungsinya adalah menjamin kualitas model usulan sebelum diimplementasikan. Apalagi jika model yang dirancang merupakan mesin pemelajaran (machine learning) yang memang mengandalkan data latih dan data uji dalam proses pemodelannya.

Salah satu metode yang biasanya digunakan dalam menghitung performa sebuah model adalah matriks konfusi. Prinsipnya sangat sederhana yaitu membandingkan hasil prediksi dengan data aktual. Data aktual untuk beberapa bidang, misalnya segmentasi semantik, sering disebut ground truth.

Menghitung Matriks Konfusi

Prinsip kerja menghitung matriks konfusi adalah dengan membandingkan ‘head-to-head’ hasil prediksi dengan ground truth. Pertama-tama adalah mengkonversi matriks menjadi vektor. Biasanya untuk data citra yang berupa piksel 2D, sehingga harus dikonversi menjadi vektor baris/kolom.

  • prd=reshape(prediksi,1,[]);
  • gt=reshape(groundtruth,1,[]);
  • matriks=confusionmat(prd,gt)

Perhatikan fungsi confusionmat adalah fungsi membuat matriks konfusi dimana parameter pertama, prd akan menjadi baris pada matriks konfusi, sementara parameter kedua, gt, akan menjadi kolom.

Angka-angka di atas merupakan jumlah elemen, misalnya baris kedua kolom kedua (192965) artinya ada sebanyak 192.965 elemen dimana prediksi kelas ke-2 yang sama dengan aktualnya (kelas ke-2 juga). Secara gampangnya, diagonal pada matriks konfusi merepresentasikan dengan jumlah yang tepat.

Menghitung Akurasi

Karena diagonal merepresentasikan jumlah prediksi yang tepat, maka prosentase akurasi merupakan jumlah yang tepat (elemen diagonal) dibagi dengan seluruh data. Secara sederhana program menghitung matriks konfusi di atas dilanjutkan dengan:

  • [baris,kolom]=size(matriks);
  • total=0;
  • for i=1:baris
  • total=matriks(i,i)+total;
  • end
  • akurasi=total/(sum(matriks,’all’))

Jika dijalankan akan menghasilkan akurasi dari matriks konfusi tersebut. Untuk Matlab, menghitung akurasi dapat dilankukan langsung dengan fungsi classperf dari matriks yang akan dibandingkan.

Perhatikan ‘CorrectRate’ gambar di atas yang menunjukan akurasi sebesar 0,8966 atau 89,66%. Untuk melihat hasil akurasi dengan cara mengetik akurasi.CorrectRate pada command window. Bagaimana dengan perhitungan jenis lainnya? Akan kita bahas pada postingan berikutnya, yaitu Mean Intersection over Union (mIoU) yang saat ini menjadi standar perhitungan akurasi, khususnya segmentasi semantik.

Publish MS Word 365 ke WordPress

Publish dari word ke wordpress biasanya sudah ada fasilitasnya. Namun untuk MS Word 365 tidak ada menu publishnya. Untungnya Office 365 menyediakan template untuk publish ke wordpress.com lewat template yang diunduh di link resminya: https://templates.office.com/en-us/blog-post-tm02843595

Tekan tombol Download di kanan bawah untuk mengunduh file dotx, standar template microsoft word. Simpan di lokasi yang sering digunakan, misalnya documents.

Kalau sudah seperti tampilan di atas, tata caranya mirip dengan publish word pada non versi 365. Silahkan tekan Manage Accounts untuk mendaftarkan akun wordpress agar bisa secara otomatis publish ke www.wordpress.com. Contohnya adalah postingan ini menggunakan template dotx office 365.

Oiya, sebelumnya save as file template karena akan digunakan untuk postingan yang lain. Atau jangan disimpan ketika sudah selesai mengetik di template. Ok, selamat mencoba.

Running JApplet Pada Browser

JApplet merupakan fasilitas java yang dapat berjalan pada web lewat browser (chrome, mozilla, safari, dll). Berbeda dengan PHP yang terletak di sisi server (server side), applet berjalan di sisi klien (client side). Versi terbaru dari Applet adalah JApplet yang mempermudah programmer merakit GUI pada Netbeans.

Karena sifatnya yang berjalan di sisi klien, beberapa browser menganggap Applet berbahaya dan tidak lagi disarankan, seperti flash yang lebih dulu dihentikan operasinya. Apalagi dengan bahasa Java yang powerful, jika Applet itu dibuat oleh pihak yang tidak bertanggung jawab, akan merugikan pengguna karena sifatnya yang ‘mengunduh’ dan ‘eksekusi’ di komputer klien. Namun, Chrome masih melihat manfaat Applet sehingga memasukan ekstensinya agar bisa menjalankan browser: https://chrome.google.com/webstore/detail/cheerpj-applet-runner/bbmolahhldcbngedljfadjlognfaaein/related.

Namun Applet tidak bisa dijalankan tanpa menggunakan server, oleh karena itu terlebih dahulu harus menginstall server, misalnya Apache pada XAMPP.

Build Applet pada Netbeans setelah selesai dirakit dan dites. Sisipkan dengan kode berikut di bagian body.

<applet code=TicTacToe.class

archive=”TicTacToe.jar”

width=120 height=120>

</applet>

Misalnya kelas yang akan diakses ‘TicTacToe.class’ dengan JAR hasil build ‘TicTacToe.jar’. Ekstensi ‘class’ merupakan hasil build (atau clean and build). Jalankan aplikasi via browser dengan mengakses alamat web, dan jalankan extension chrome utk applet. Tunggu beberapa saat dan pastikan aplikasi berjalan dengan baik.

Silahkan lihat video youtube ini untuk lebih jelasnya, selamat mencoba.

Menginstal Matlab Mobile yang Gratis

Matlab merupakan aplikasi yang banyak dimanfaatkan oleh peneliti. Salah satu bidang yang dapat memanfaatkan aplikasi tersebut adalah matematika. Matlab yang kepanjangannya MATrix LABoratory merupakan software berbayar. Namun untuk aplikasi mobile, ternyata untuk matematika tidak berbayar, tinggal menginstall lewat Playstore android di HP kita.

Jalankan aplikasi yang sudah diinstal. Persiapkan email, karena nanti jika tidak punya akun Anda harus register/create account.

Kalau di web, situs resmi Matlab adalah www.mathworks.com yang berisi informasi mengenai produk Matlab.

 

Silahkan tekan Create one! Jika belum punya account. Selanjutnya jika sudah membuat account baru, Anda bisa login dan memanfaatkan fasilitas Matlab mobile.

 

Jangan khawatir jika Anda diminta Upgrade, tekan saja Continue untuk menggunakan versi mobile. Biasanya untuk fungsi-fungsi dasar matematika tidak memerlukan upgrade. Berikut contoh perhitungan integral.

Simbol @ merupakan simbol fungsi. Contoh di atas jika ingin melihat hasil eksekusi integral dari nol hingga satu. Nah, jika Anda diminta mengintegralkan sebuah persamaan bagaimana?

Contoh di atas kita ingin mengintegralkan sebuah fungsi y = exp(5*x). Oiya, untuk perkalian jangan lupa bintang (*) ya. Pertama-tama Anda harus mendefinisikan x sebagai variabel dengan fungsi syms. Dengan fungsi int diperoleh integral exp(5*x)/5 sementara dengan fungsi diff diperoleh turunannya yakni 5*exp(*5*x). Selamat mencoba.

The Simple Feynman

Seperti anak-anak yang lain, saya sempat khawatir dengan ujian akhir SMA (dulu namanya EBTANAS) dan saringan masuk PTN (dulu namanya UMPTN). Wajar, pengetahuan dari SD – SMA harus dikuasai sebanyak mungkin agar bisa menjawab soal-soal yang ditanyakan. Nah, momok terberat adalah fisika yang memang lingkup pertanyaan sangat liar. Dengan sedikit modifikasi narasi, terkadang siswa yg jago menghafal rumus pun kewalahan. Lalu bagaimana dong?

Di akhir orde lama, ada seorang fisikawan yang menerima hadiah nobel, bernama Richard Feynman. Dengan memperkenalkan sebuah fenomena fisik yang tadinya rumit menjadi serderhana lewat diagram Feynman. Ternyata selain konten dari temuannya, malah metode belajarnya yang banyak diikuti oleh para ilmuwan hingga saat ini.

Ternyata prinsip dasarnya adalah sederhana, yaitu menjelaskan dengan tepat. Ini merupakan skill dasar bagi seorang pengajar, entah itu guru maupun dosen. Contohnya, kita pernah membaca ayat suci, biasanya sulit dimengerti walaupun sudah baca artinya. Kalau pun mengerti, tidak lama lupa lagi. Bandingkan dengan kalau mendengar dari KH Zainuddin MZ, dengan penjelasan dan ilustrasi-ilustrasi yang kadang ‘mengocok perut’, sampai sekarang masih terngiang-ngiang. Yang paling ekstrem adalah Gus Dur dengan istilah-istilah simple-nya.

Saya pernah heran mengapa ketika kuliah tidak faham-faham satu bagian tertentu pelajaran, tetapi ketika lulus dan mengajar barulah mengerti. Hal ini karena ketika belajar saya harus bisa mengajarkan kembali. Di situlah peran ilmunya Feynman, bagaimana menjelaskan ke orang lain. Ketika kuliah dulu, memang sering saya jumpai dosen yang senang lihat siswanya pusing. Nah, karena pernah merasakan pusingnya masa kuliah, saya merasakan pentingnya memberikan penjelasan ke siswa dengan mudah.

Walau di era multimedia penjelasan dengan animasi, video dan suara dapat mempermudah pemahaman, tetapi tetap saja bahasa merupakan hal utama dalam menjelaskan satu konsep. Cara paling mudah belajar menjelaskan adalah menggunakan kalimat sendiri terhadap satu konsep tanpa menghapal buta. Mirip ketika menulis artikel ilmiah yang harus mem-parafase kalimat agar tidak terkena plagiarisme karena mirip dengan sumber lain.

Silahkan buat sesederhana mungkin, tetapi seperti kata Einstein, jangan menjadi terpotong yang hasilnya jadi tidak lengkap. So, fokus ke penjelasan se jelas-jelasnya yang bahkan ketika Anda jelaskan satu konsep, anak SD pun faham.

Kecerdasan Emosional Sang Penyelamat

Memang enak memiliki IQ yang tinggi seperti Prof. Habibie atau A. Einstein. Ada problem, dalam waktu sekejap dapat diselesaikan. Apalagi bagi pelajar dan mahasiswa. Tugas yang berat tidak terasa, hanya dalam sekejap selesai sudah, dan bisa lanjut nonton, jalan-jalan, atau mainan HP.

Itu yang saya rasakan ketika SMA dulu, terkadang iri dengan mereka yang ‘di atas rata-rata’, tanpa susah payah dalam memahami sesuatu. Nah, bagaimana menyikapi kecerdasaan yang rata-rata seperti saya contohnya?

Di atas langit ada langit. Itulah pepatah kuno yang kadang bisa membuat kita ‘pede’ ketika menghadapi orang ‘super’ di sekolah. Kalau saya kalah oleh yang lain, pasti ada saja saya yang menang dari yang lain. Tiap manusia ada kelemahan dan juga kelebihan. Beruntunglah jika diberi kesabaran, ketabahan, dan aspek kecerdasan emosi lainnya.

Mengapa tipe kecerdasan emosional tersebut penting? Sebagai contoh, jika mereka mampu memecahkan problem 1 jam, dan anda 3 jam atau bahkan seharian, tidak apa-apa, toh selesai juga. Nah, jika ada problem yang oleh orang-orang ‘super’ itu bisa dikerjakan dalam 3 jam tapi ketika jam ke-dua mereka menyerah, toh tidak ada gunanya kecerdasan yang padahal 1 jam lagi beres. Bahkan kalah oleh orang yang rata-rata yang beres dikerjakan dalam satu atau dua hari misalnya.

Bahkan ketika kelas 1 SMA karena pusingnya dengan mata pelajaran kimia, saya sempat utak-atik sampai pagi, padahal harus ke sekolah esoknya. Benar saja, si ibu guru menegur saya “ikut ronda ya?”. Toh, ujung-ujungnya hasilnya di atas mereka yang kecerdasannya di atas rata-rata.

Masa SMA yg singkat tapi paling berkesan

Bagaimana dengan studi doktoral? Nah, di sini kecerdasan emosional menentukan mengingat hampir semua problem mahasiswa doktoral itu tidak ada/belum ada yang menyelesaikan. Pembimbing pun kebanyakan tidak/belum menyelesaikan. Mereka hanya bisa memberi saran saja. Sangat penting untuk menjaga ‘ritme’ agar tetap fokus, menjalin komunikasi yang baik dengan promotor, termasuk juga hubungan dengan keluarga. Banyak mahasiswa yang bermasalah keluarganya ketika kuliah karena kurang menjaga hubungan dengan suami/istri, anak, dan kerabat lainnya.

Jangan bermimpi ketika mengambil doktoral anda melihat jawaban jelas di ujung. Ganti judul, tema, ganti metode, sudah hal yang lumrah ketika penelitian berjalan. Jika tidak tahan dan kurang sabar, pasti akan stress. Banyak rekan saya yang meninggal ketika pandemi karena kemungkinan besar sistem imun di tubuhnya menurun karena tuntutan riset doktoral. Sabar, mampu menunda kesenangan, dan tidak takut keluar dari zona nyaman mutlak diperlukan. Jika tidak mau berubah mana mungkin bisa berubah dari master menjadi doktor.

Kondisi ekstrem lain adalah walau otak kita tidak mampu terkadang, pihak-pihak, rekan sejawat, dan teman ngobrol/ngopi terkadang bisa membantu. Banyak mahasiswa doktoral yang lulus dengan bantuan orang lain, tentu saja sebagian, entah itu membantu mengolah data, penarikan sample, pembuatan program, model dan lain-lain. Hal itu lumrah dilakukan, yang penting konsep utama si mahasiswa mengerti. Nah, di sini saya sering melihat rekan-rekan yang awalnya biasa-biasa saja ternyata lulus dengan cepat, sementara yang ‘melejit’ di awal ternyata terbengkalai di akhir karena kurang ‘tahan’ atau tidak sabar.

Kadang ide berasal dari rekan di tempat ngobrol

Tentu saja tiap orang banyak kelemahan yang harus di atasi, seperti saya misalnya. Ada dua rekan saya dari negara lain yang mengatakan saya malas, lambat, dan sejenisnya. Tapi memang rata-rata orang Indonesia santai, mungkin sudah bawaan budaya kita, apalagi saya yang orang Jogja. Ketika sadar hal itu, maka saya mengambil sikap untuk lambat tapi terus menerus, hingga kagetnya ternyata lulus duluan (bersamaan dengan satu rekan saya yang lain). So, jangan berkecil hati.

Ucapan selamat dari pak atase kebudayaan Indonesia saat wisuda

JavaScript Untuk Matematika

JavaScript merupakan Bahasa pemrograman yang sangat terkenal karena banyak digunakan dalam aplikasi web. Nah, ternyata bahasa ini dapat digunakans sebagai sarana belajar matematika, khusunya anak-anak ilmu komputer.

Tahun 1962, Kenneth Iverson mempublikasi tulisan ‘A Programming language’ dengan bahasa APL waktu itu. Menurut beliau, belajar pemrograman tidak hanya bisa memrogram, melainkan memahami juga analisa matematika di dalamnya.

It is the central thesis of this book that the descriptive and analytic power of an adequate programming language amply repays the considerable effort required for its mastery

Tahun 1977, Ian Stewart dan David Tall dalam bukunya ‘The Foundation of Mathematics’ mewarning agar pembelajaran tidak terlampau formal karena siswa pemula akan kesulitan memahami realitas yang ada.

A purely formal approach, even with a smattering of informality, is psychologically inappropriate for the beginner, because it fails to take account of the realities of the learning process.

Buka Mozilla dan masuk ke mode developer dengan menekan Ctrl-Shift-K. Setelah muncul jendela baru di bagian bawah Mozilla, coba copy-paste contoh kode JavaScript. Ketika pertama kali dilakukan, akan ada warning untuk mengingatkan pengguna bahwa karena berupa kode, ada kemungkinan dapat mengganggu sistem karena virus, spyware, dan sejenisnya.

Kalau di baca warning di atas, kita diminta mengetik ‘allow pasting’ di bawah agar bisa copy-paste. Setelah ini coba masukan kode berikut (lihat ebook hal 55):

function BankAccount(n, b)
{
this.number = n;
this.balance = b;
}
// end of BankAccount definition
// make a bank account
var b1 = new BankAccount(38, 20.12);
// display its number
console.log(b1.number); // 38
// make another
var b2 = new BankAccount(39, 132.51);
console.log(b2.balance); // 132.51

Ini contoh sebuah fungsi bernama ‘BankAccount’ dengan parameter masukan ‘n’ nomor rekening dan ‘b’ saldo.

Maka akan dihasilkan berturut-turut 38 dan 132.5. Selamat mencoba.