Berfikir Dalam vs Multitasking

Ketika sosial media bermunculan di tahun 2000-an awal yang dipelopori aplikasi-aplikasi chatting di internet, serta aplikasi-aplikasi di smartphone membuat perubahan pola fikir di masyarakt. Postingan ini terinspirasi dari artikel di the New York Times berikut ini yang membicarakan efek dari sosmed yang mengurangi kemampuan kita dalam berfikir dalam (deep thinking).

Intinya adalah adalah pengganggu kerja (work distraction) saat ini jauh melebihi era-era sebelumnya. Saya teringat ketika kerja kelompok waktu kuliah. Agar mempermudah komunikasi, dibuatlah grup di Facebook. Tidak beberapa lama kemudian, ternyata satu orang tidak update (offline) sehingga mau tidak mau kopi darat. Ketika ditanya kenapa dia tidak online ternyata jawabannya di luar dugaan. “Saya kewalahan, karena seharian tidak bisa kerja akibat mainan facebook”, katanya dengan logat Rusia yg kental.

Intro

Saat ini kita cenderung berfikir dangkal (shallow think), misalnya membaca email, melihat pesan masuk, mengupdate status, atau hal-hal multi-tasking lainnya. Ternyata ketika beralih dari satu aktivitas ke aktivitas lainnya ada ketidakefisiensian yang diberi istilah attantion residue. Every time you switch your attention from one target to another and then back again, there’s a cost.Ketika dari satu aktivitas kembali ke aktivitas utama ternyata membutuhkan usaha yang lebih sehingga ibarat kendaraan, bensin jadi boros. Berikut tip dan trik dari artikel tersebut agar bisa berfikir dalam di era yang banyak sekali gangguan seperti notifikasi email, whatsapp, line, dan sejenisnya.

Bekerja Mendalam (Work Deeply)

Prinsip ini mirip prinsip 90 menit perhari untuk mahir sesuatu yang tidak boleh diinterupsi. Begitu juga dengan bekerja mendalam, kita diharapkan tidak menunggu waktu luang untuk menyelesaikan sebuah tugas. Butuh usaha untuk meluangkan waktu agar hasil selesai sesuai jadwal yang telah ditetapkan.

Merangkul Kebosanan (Embrace Boredom)

Teknik yang unik. Intinya adalah jangan bermusuhan dengan kebosanan karena jika dianggap musuh maka biasanya kita akan melawan dengan aktivitias-aktivitas yang tidak pro berfikir mendalam seperti lihat-lihat Facebook, update status, dan lain-lain. Jika kita sedang mengerjakan sesuatu dan muncul rasa bosan di dalamnya dan kita lawan dengan hal-hal sederhana di atas maka otak kita akan muncul mekanisme yang diberi istilah Pavlovian. Makin sering dituruti maka ketika muncul kebosanan saat mengerjakan pekerjaan penting otak tidak mentolerirnya sehingga konsentrasi terpecah ke aktivitas-aktivitas yang katanya “anti kebosanan” tapi membahayakan itu.

Sunyikan Sosial Media

Riuhnya pilpres di tanah air tidak lepas dari peran sosial media. Aplikasi ini memang memiliki manfaat tetapi juga bisa berbahaya, khususnya terkait dengan kinerja berfikir mendalam kita. Jika dirasa manfaat yang diperoleh tidak signifikan, ada baiknya berhenti total dari bermain sosial media seperti Facebook, Twitter, dan kawan-kawan. Saat ini kemampuan fokus menjadi barang yang langka karena orang cenderung berfikir “enak” tanpa ingin mendalam. Terkadang kita jadi malas mengingat karena ada Google, misalnya.

Mungkin pembaca tidak sepenuhnya setuju. Memang dari pada fokus kepada hal-hal yang mengganggu alangkah baiknya fokus ke manfaat yang didapat ketika fokus ke hal-hal utama dan berfikir dalam tentangnya. Oiya, tulisan di blog pada postingan ini kayaknya masuk kategori shallow think yang membuat jadi lupa bikin buku teks .. hehe. Sekian, semoga bisa membantu mengatasi hambatan rekan-rekan pembaca yang tesis, disertasi, laporan, dan sejenisnya (butuh deep thinking) yang ga jadi-jadi.

Ilustrasi: Woman Fide Master (WFM) Alexandra Botez

Daftar Menjadi Member IEEE

Selain Scopus, IEEE merupakan salah satu pengindek sekaligus menyimpan data riset dalam bentuk digital library. Organisasi yang menaungi listrik, elektronika dan komputasi ini singkatan dari Institute of Electrical and Electronics Engineers. Postingan ini sedikit sharing cara mendaftarnya.

Membuat Akun

Untuk membuat akun di IEEE.org tidak perlu isian yang panjang. Cukup mengisi nama dan biodata singkat, kita langsung memiliki akun di IEEE. Tapi tentu saja belum menjadi member. Apa saja yang diperoleh dengan mendaftakan akun scara free ini dapat dilihat di email konfirmasi setelah create account. Atau langsung kllik JOIN MEMBER saja karena nanti diminta mendaftar akun.

Membuat akun wajib jika ingin menjadi member. Kalau pun tetap mengklik JOIN MEMBER, ketika belum login kita diminta mendafta akun.

Join Member

Setelah cek login akun IEEE, berikutnya jika tertarik menjadi member IEEE silahkan mengklik join member pada tombol di sebelah kanan. Sebagai informasi, biaya member adalah pertahun yang akan habis pada bulan Desember. Jadi daftar di bulan Januari sedikit lebih lama jika daftar di bulan berikutnya. Tapi biasanya ada diskon-diskon di bulan tengah, misalnya Maret ini.

Ada dua pilihan yaitu profesional dan student, dengan harga yang tentu saja student lebih murah. Tetapi karena bulan ini ada diskon dari $78 menjadi $42 karena Indonesia masuk kategori negara berkembang, akhirnya coba daftar.

Mengisi Biodata

Seperti biasa, yang paling melelahkan adalah mengisi profil/biodata.

Bagian yang ber-bintang merah wajib diisi. Setelah itu baru kita memilih apa saja yang akan dibeli.

Item Pembelian

Gambar di bawah adalah item-item yang bisa dipilih untuk masuk ke keranjang belanja (apa saja yang didaftar). Mudahnya, pilih saja yang sesuai dengan bidang kita, syukur-syukur gratis.

Tekan salah satu, misalnya Women in Engineering, dan ketika diklik pastika di “chart” muncul. Sebelumnya jendela harga muncul terlebih dahulu untuk konfirmasi.

Berikutnya adalah format langganan, cetak, elektronik, atau digital. Biasanya diskon pada eletronik dan digital.

Jika sudah, cek kembali keranjang belanja sebelum melakukan pembayaran.

Pembayaran

Pembayaran seperti biasa ketika membeli online. Pilihannya Credit Card, Pay Pal, dan sejensinya. Yang perlu diperhatikan adalah apakah kita akan terus berlangganan atau tidak. Jika iya, centang persetujuan automatic renewal process. Jika tidak cukup klik “No Thanks”, karena jika kelupaan, bayaran akan jalan terus tiap tahun.

 

Membuat Email Resmi IEEE

Manfaat pertama jadi member IEEE adalah memiliki email resmi (official) dengan at: ieee.org. Kapasitas drive nya juga lumayan besar, sekitar 30 Gb. Masuk ke bagian kiri IEEE.org pada menu: Personalize your IEEE experience. Pilih GoogleApps@IEEE account. Isi email format IEEE yang Anda inginka, mudah-mudahan belum ada yang punya.

Setelah memasukan password, maka akun email @ieee.org akan siap satu jam kemudian.

Kapasitas yang tersedia pun lumayan besar. NOTE: IEEE akan menawarkan login dengan email yang baru, jika tidak maka tolak saja permintaan system tersebut. Jika menerima email ieee.org sebagai akun login, maka akun email yang lama tidak bisa digunakan lagi.

Media Penyimpanan Data

IEEE menyediakan fasilitas penyimpanan data penelitian sebesar maksimal 2 TB, hmm lumayan besar. Silahkan masuk ke fasilitas IEEE DataPortTM tersebut, tentu saja harus menjadi member IEEE dahulu. Sekian, semoga bermanfaat.

Yuk Mereview Artikel …

Salah satu kerjaan sosial para peneliti adalah mereview artikel suatu jurnal. Disebut kerjaan sosial karena hampir semuanya tanpa dibayar. Tetapi namanya peneliti yang juga penulis artikel, pasti senang membaca artikel ilmiah. Seperti seorang penulis novel yang pasti gemar membaca novel, kecuali anekdot Cak Lontong yang ketika temannya mengkritik dia yang berniat menulis buku padahal tidak bisa baca, berkata “kan saya menulis, orang lain yang baca”, hehe. Kebetulan postingan ini sedikit membagi pengalaman mereview, kebetulan akhir-akhir pekan cenderung dihabiskan untuk membaca-baca artikel atau buku ilmiah.

Menjadi Reviewer

Menjadi seorang reviewer biasanya lewat undangan dari pengelola jurnal berdasarkan kepakaran peneliti. Bisa juga lewat rekomendasi reviewer lain. Kepakaran di sini terkadang sangat spesifik, misalnya seorang doktor informatika akan memiliki kepakaran yang berbeda-beda antara satu dengan lainnya. Ada yang fokus ke machine learning, big data, perolehan informasi dan lain-lain. Biasanya editor memilih reviewer yang memiliki makalah yang banyak disitasi sebagai indikator kepakaran dan ketersebaran ilmu si calon reviewer. Tentu saja calon reviewer itu boleh menolak, karena yang tahu kemampuan adalah reviewer yang bersangkutan (bila revewer yg ditunjuk merasa kurang ‘pede’. Disamping masalah beban kerja calon reviewer tersebut yang mungkin sangat sibuk.

Tipe-tipe Artikel Ilmiah

Artikel kebanyakan hasil penelitian. Hanya beberapa yang merupakan studi literatur penullis tentang tema yang sedang “in” saat ini. Biasanya ditulis oleh tokoh yang diakui keilmuannya di bidang tersebut, dan tentu saja tulisannya baik dan mengikuti kaidah ilmiah. Dari sisi penerbitan, ada jurnal, seminar, maupun book chapter. Walaupun ada istilah jurnal nasional dan internasional, di postingan ini yang dimaksud adalah internasional karena kebanyakan jurnal nasional tidak melewati tahap review, atau setidaknya hanya formalitas saja, kecuali untuk jurnal-jurnal nasional yang terakreditasi yang proses review nya bisa beberapa ronde.

Hal-hal Yang Direview

Kebanyakan aspek yang dinilai adalah kebaruan (novelty) karena inti dari riset adalah menemukan hal-hal baru. Jika mengulang sesuatu yang sudah dilakukan/direset orang lain maka tidak dapat dikatakan sebagai riset. Masalah di kampus adalah kebanyakan riset mahasiswa S1 hanya menerapkan teori yang didapat, atau membuat alat/aplikasi tanpa ada sentuhan hal-hal yang baru. Jika dikirim ke jurnal internasional pasti ditolak. Tugas berat dari si pembimbing menambahkan hal baru agar bisa dipublikasikan bersama mahasiswanya.

Tiap jurnal/prosiding memiliki point-point tertentu yang sedikit berbeda. Berikut ini contoh ilustrasi kriteria yang muncul saat mereview.

Beberapa seminar biasanya menggunakan sistem review free yang banyak beredar seperti easychair. Format evaluasinya seperti soal pilihan berganda dengan bobot angka yang nantinya dikalkulasi score-nya.

Ada juga EDAS yang berbayar tetapi cukup baik dalam mengelola naskah, apalagi kabarnya saat ini disertai dengan cek plagiarisme. Jurnal-jurnal ternama biasanya menggunakan sistem buatan sendiri seperti Elsevier di atas.

Beberapa manfaat yang didapat ketika mereview sebuah artikel antara lain:

  • Meningkatkan kualitas penulisan
  • Meningkatkan kecepatan membaca
  • Meningkatkan kemampuan bahasa Inggris ilmiah
  • Mengetahui perkembangan IPTEK lebih cepat karena naskah otentik langsung dari peneliti
  • Bisa menemukan ide-ide baru dari naskah yang direview
  • Mendapat pengakuan kepakaran (sertifikat, dan sejenisnya)
  • Memperlebar jaringan antar peneliti, dll

Yah, jika tidak dibayar jangan khawatir, pahala mengalir terus, apalagi jika naskah yang kita review banyak dilihat orang di seluruh dunia. Selamat mencoba.

Update: 27 Maret 2019

Selesai mereview, sebagai ucapan terima kasih, pihak pengelola jurnal biasanya mengirimkan sertifikat bahwa kita telah mereview, contohnya Elsevier yang mengirimkan sertifikat tidak sampai seminggu setelah submit hasil review.

sertifikat review_001

Instal Netbeans di Ubuntu

Netbeans merupakan salah satu Integrated Development Environment (IDE) terkenal untuk pemrograman. Bahasa yang digunakan adalah Java, walaupun di dalamnya bisa juga PHP dan C++. Netbeans merupakan opensource dan dengan gratis dapat diinstal baik lewat platform Windows maupun Linux. Jika ingin murni opensource, instalasi pada Linux merupakan pilihan utama. Postingan ini sedikit men-share instalasi Netbeans pada Linux, khususnya Ubuntu.

Download Netbeans

Jika Netbeans diunduh dengan browser Mozilla pada Ubuntu di link ini, maka otomatis situs tersebut memberikan pilihan platform Linux. Simpan file unduhan tersebut di Ubuntu. Untuk mudahnya pilih All yang artinya seluruh fasilitas yang ada dipilih. Jangan khawatir, ukuran file hanya sekitar 200-an Mb.

Instal JDK

JDK yang sebaiknya versi 8 harus telah terinstal sebelum Netbeans hasil unduhan dipasang. Salah satu situs yang cukup jelas menginstal JDK adalah di sini. Di situs tersebut juga diajari cara menginstal Netbeans lewat terminal, tetapi di Ubuntu saya entah mengapa tidak berhasil meng-create new project. Tapi untuk menginstal JDK bisa berjalan. Dan pastikan JDK terpasang dengan menulis instruksi berikut pada terminal:

javc -version

Instal Netbeans

Akhirnya kita sampai tahap terakhir yaitu instalasi Netbeans yang kode sumbernya telah diunduh. Perhatikan nama file-nya, misalnya yang saya unduh bernama: netbeans-8.0-linux.sh. Juga lokasinya, biasanya pada folder Downloads. Pindahkan saja ke Documents atau folder lain. Ketik dua script berikut ini yang berturut-turut memberikan akses ke file hasil unduhan dan menjalankannya:

chmod +x netbeans-8.0-linux.sh
sudo ./netbeans-8.0-linux.sh

Ketika tulisan ini dibuat, Netbeans masuk versi 10 yang namanya berganti Apache Netbeans. Ada juga versi 8.2, tetapi di sini saya unduh yang di bawahnya sedikit (versi 8.0). Berikutnya tidak perlu dijelaskan di sini karena ketika jendela instalasi Netbeans muncul maka tinggal tekan Next saja hingga selesai. Uji dengan membuat project baru, jika berhasil muncul maka Netbeans telah diinstal dengan benar. Selamt ber-opensource.

Web of Science di Sinta

Sinta terus bergerak memperbaiki sistem penilaiannya. Setelah metode verifikasi dan sinkronisasi di tiap-tiap institusi, satu pengindeks tua dan terkenal, web of science (WoS) masuk dalam daftar perhitungannya. Situs tersebut dikembangkan oleh Institute of Scientific Information (ISI) yang sebelumnya lebih dikenal dengan nama Thomson Reuters (dulu dikenal dengan indeks ISI-Thomson. WoS adalah pengindeks yang pertama kali menerapkan Journal Impact Factor (JIF), sementara saingannya, Scopus, menggunakan SNIP, mirip JIF tapi dengan normalisasi pada tiap journal berdasarkan sebaran sitasi tiap author.

WoS memang sangat ketat dalam menjaga kualitas artikel-artikel yang diindeksnya dibanding scopus. Agak sulit mencari jurnal-jurnal yang diindeks oleh pengindeks tersebut. Sepertinya dengan masuknya WoS ke SINTA diharapkan dapat memacu penulis-penulis artikel ilmiah untuk mempublikasikan di jurnal-jurnal terindeks WoS. Sepertinya SINTA berusaha menjawab tantangan pihak-pihak yang mempertanyakan sistem kerja SINTA yang memang masih terus membenahi diri. Mirip Scopus, untuk mencari artikel harus login terlebih dahulu (tidak free).

Kalimat Ampuh “What Do You Want?”

Kalimat sederhana di atas merupakan kalimat penting yang diucapkan oleh wakil rektor urusan kemahasiswaan di tempat saya kuliah dulu. Waktu itu karena berbagai sebab saya menghadap ke rektor yang kebanyakan tugasnya menghadapi mahasiswa-mahasiswa bermasalah seperti saya, baik dari sisi akademik, keuangan, dan masalah-masalah lainnya. Tentu saja masalah-masalah saya tersebut tidak dapat saya ungkap di sini, tetapi intinya adalah ketika diskusi tidak berjalan dengan mulus sementara waktu terus berjalan, kata pamungkas dari si profesor wakil rektor itu adalah “what do you want?”. Satu kata yang membuat saya “mematung” karena tersadar tujuan saya mendiskusikan hal tersebut dengan beliau yang jadi merembet ke lain-lain. Cukup sederhana, waktu itu saya menginginkan segera diijinkan melaksanakan riset, mengingat sudah 1.5 tahun kuliah doktoral berjalan, dan juga “argo” terus berjalan.

Mungkin sudah budaya di Indonesia yang gemar “menutupi” segala hal yang kita inginkan. Berbeda dengan budaya luar, khususnya dunia barat yang cenderung to the point. Ada kalanya memang baik karakter menutupi tersebut untuk menjaga perasaan orang. Tapi repot juga kan menahan lapar gara-gara ketika ditanya apakah mau makan kita bilang “terima kasih tadi sudah (padahal belum)”.

Banyak berita yang dishare di media sosial yang jika saya baca intinya sederhana jika diekstrak dengan pertanyaan “what do you want” tersebut. Tidak ada yang salah dengan info-info tersebut (kecuali yang hoax tentu saja). Rata-rata berita itu cukup panjang dengan berbagai macam alasan ampuh yang diberikan oleh penulis yang intinya sebenarnya bisa diekstrak menjadi satu atau dua kalimat saja apa sebenarnya yang diinginkan. Bisa saja intinya: “saya ingin lektor kepala (atau bahkan profesor) tapi tidak perlu menulis artikel apalagi buku”, “saya ingin menulis artikel ilmiah tapi tidak perlu indeks-indeksan, apalagi Scopus dan Web of Science, “saya ingin beasiswa S3 walau usia di atas 50 tahun”, dan lain-lain. Tapi tentu tidak ada salahnya kan? Namanya juga keinginan, mudah-mudahan bisa mencerahkan dan tidak tersinggung.


Membuat Database Objek (file *.yap) dengan DB4O

[PBO|TK&TI|PERT3]

Database objek memiliki keunikan tersendiri jika dibandingkan dengan database relasional. Database ini memasukan sebuah operasi ke dalam data objek, sementara database relasional hanya memasukan atribut saja. DBMS yang kebanyakan beredar saat ini menggunakan jenis relasional walaupun beberapa sudah mulai mengombinasikan dengan database objek dalam bentuk Object Relational Database Management System (ORDBMS). Namun beberapa pengembang objek merasa tidak puas dengan kinerjanya karena ketika menggunakan harus merakit menjadi sebuah objek sementara ketika selesai digunakan dibongkar lagi untuk dimasukan ke dalam sistem basis data relasional.

Salah satu alternatif DBMS jika akan menggunakan murni sistem berorientasi objek adalah DB4O. Postingan ini sedikit membahas apa saja yang dibutuhkan untuk mempraktekan program berorientasi objek.

Bahasa Pemrograman

Ada dua kubu yang mempraktekan bahasa pemrograman berbasis objek, antara lain: dotnet dan java. Dotnet di sini biasanya menggunakan bahasa C# dalam suatu IDE terkenal visual studio. Sementara untuk yang opensource dipelopori oleh Java dengan IDE yang terkenal netbeans dan eclipse.

Sistem Basis Data

Silahkan unduh DB4O, yang merupakan singkatan dari Database For Object. Bentuk DB4O adalah Jar file yang ketika tulisan ini dibuat sudah masuk versi 8. Searching saja di Google maka kita dapat dengan mudah mengunduh db4o tersebut.

File Database

Berbeda dengan basis data relasional yang ketika membuat basis data harus menggunakan Data Definition Language (DDL), pada db4o mudah saja, siapkan saja satu file dengan nama ekstensi standar *.yap. Walaupun bisa dengan nama lain, alangkah baiknya menggunakan nama standar *.yap karena agar terhindar dari konflik dengan nama database lain seperti MySQL, SQL Server,Oracle, dll.

Praktek dengan Netbeans

Salah satu IDE Java yang mudah digunakan adalah Netbeans walaupun sepertinya berat ketika dibuka. IDE ini bisa berjalan dengan baik di sistem operasi Windows maupun linux, misalnya Ubuntu. Untuk praktek, siapkan terlebih dahulu Netbeans dan DB4O. Berikut hasil uji coba untuk meng-insert sebuah objek baru dari sebuah kelas yang ada pada db4o. Langkah-langkahnya antara lain:

  • Import jar basis data db4o
  • Masukan nama basis data [1]
  • Buat objek baru [2]
  • Jalankan (RUN) [3]
  • Lihat hasilnya [4]

Sekian, semoga postingan ini bisa menarik minat untuk mempelajari basis data objek lebih lanjut.

Konsep Inheritance pada Objek – bag 2

[pbo|t.inf&t.komputer|pert.2]

Postingan ini kelanjutan dari postingan yang lalu tentang pewarisan. Sedikit diulang, inheritance artinya sebuah kelas mewarisi kelas lain yang merupakan induknya. Karakter ini merupakan kekhasan pemrograman berorientasi objek. Langsung saja praktek, sebagai ilustrasi adalah kelas Person yang akan mewarisi kelas Teacher. Ada ungkapan “dosen juga manusia”, nah untuk inheritance juga sama, Teacher juga Person yang mewarisi ciri-ciri seorang manusia tetapi memiliki ciri-ciri lain yang tidak dimiliki oleh manusia lainnya.

class with visio

Di sini diambil contoh kelas Person memiliki atribut: nama, umur, dan hobi dengan operasi: bio() dan greeting() yang masing-masing jika dipanggil berturut-turut memunculkan alert biografi dan kata sambutan dari objek yang bersangkutan. Buka mozilla dan masuk developer dengan menekan ctrl-shift-k agar muncul jendela developer. Buat sebuah kelas person:

function Person(first, last, age, gender, interests) {
this.name = {
‘first’: first,
‘last’ : last
};
this.age = age;
this.gender = gender;
this.interests = interests;
this.bio = function() {
alert(this.name.first + ‘ ‘ + this.name.last + ‘ is ‘ + this.age + ‘ years old. He likes ‘ + this.interests[0] + ‘ and ‘ + this.interests[1] + ‘.’);
};
this.greeting = function() {
alert(‘Hi! I\’m ‘ + this.name.first + ‘.’);
};
}

Tambahkan sebuah objek baru dengan nama variable person1.

var person1 = new Person(‘Bob’, ‘Smith’, 32, ‘male’, [‘music’, ‘skiing’]);

Berikutnya buat kelas Teacher dengan karakteristik yang sama dengan Person hanya memiliki satu tambahan atribut yaitu subject dan satu operasi yaitu farewell().

function Teacher(first, last, age, gender, interests, subject) {
Person.call(this, first, last, age, gender, interests);
this.subject = subject;
}

Perhatikan kata kunci call yang memanggil atribut yang dimiliki kelas Person dan menandakan kelas Teacher tersebut mewarisinya. Hanya saja ada tambahan baru yaitu subject.

Teacher.prototype.farewell = function() {
alert(this.name.first + ‘ has left the building. Bye for now!’);
};

Perhatikan teknik menambah operasi di sebuah kelas, dengan kata kunci prototype. Biasanya bermanfaat ketika akan menambah operasi tidak sekalian membuat kelas (tambahan). Ok, berikutnya menguji kelas Teacher apakah mewarisi Person? Buat satu objek.

var teacher1 = new Teacher(‘Dave’, ‘Griffiths’, 31, ‘male’, [‘football’, ‘cookery’], ‘mathematics’);
Jalankan operasi:
teacher1.bio()
teacher1.farewell()

Uji dengan person1, apakah bisa menjalankan operasi person1.farewell? Seharusnya tidak karena hanya milik kelas Teacher, sementara Teacher bisa menjalankan operasi bio() milik induknya.

Pastikan alert muncul. Selamat mencoba, semoga bermanfaat.

Problem – Windows Can’t Find Target Pada Netbeans

Lama juga tidak menggunakan Netbeans, ternyata sudah versi 10, padahal dulu pakai yang versi 6. Kini menggunakan versi 8, itu pun sebagai pendukung perkuliahan “pemrograman berbasis objek”, terutama untuk bagian prakteknya. Saat mengimpor file Jar sistem basis data objek db4o ada pesan yang sedikit mengganggu berikut:

Terus terang agak membingungkan mengingat versi-versi sebelumnya tidak ada masalah. Tetapi ketika ditekan OK kira-kira beberapa kali, netbeans tetap berjalan sesuai dengan yang diinginkan. Mungkin ada sedikit “block” dari Windows, terutama windows 10 dengan platform 64 bit. Terbukti db4o berhasil ditarik ke paket yang akan digunakan (pada folder library).

Tampak db4o versi 7 yang baru saja diunduh dari sini berhasil ditarik ke Libraries walaupun beberapa kali muncul pesan mengganggu di atas. Yah, selama masih berjalan tidak apa-apa yang penting praktek tetap berjalan. Untuk membuktikannya ketika diketik instruksi import di bawah paket, bantuan muncul, menandakan library berjalan dengan baik.

Selain dengan Java (Netbeans, Eclipse, dll), db4o dapat berjalan juga di lingkungan .NET buatan Windows. Sepertinya ada sedikit persaingan dua platform itu. Semoga postingan ini bisa mengurai masalah ini minimal ada kasus seperti tersebut di atas yang mungkin saja terjadi kepada pembaca sekalian. Komentar berisi penyelesaian hal mengganggu ini tentu saja saya butuhkan, walaupun untuk sementara masih bisa berjalan.

Skripsi – Apa & Untuk Apa

[riset.ti|r.408|pert.1]

Skripsi dikenal juga dengan nama Final Project untuk jenjang Strata 1 (S1). Untuk jenjang diploma diberi nama tugas akhir. Skripsi terkadang menjadi momok yang menakutkan bagi para mahasiswa yang terkadang pula menyebabkan tidak selesainya perkuliahan seorang mahasiswa. Hal ini terjadi karena memang skripsi seperti layaknya sebuah proyek membutuhkan perencanaan yang matang, dengan tujuan tertentu dengan waktu yang jelas dan realistis dengan sumber daya yang terbatas (keuangan dan peralatan).

Manfaat Skripsi/Final Project

Terlepas dari penting atau tidaknya skripsi, ada manfaat yang bisa dipetik dari pelaksanaan skripsi:

  • Belajar lebih dalam. Ada peluang dengan skripsi seorang mahasiswa terpaksa belajar lebih dalam dibanding materi perkuliahan.
  • Langkah awal sebelum bekerja. Skripsi mempersiapkan mahasiswa untuk terjun dalam kehidupan/problem nyata dengan mempraktekan keahlian/skill yang diterima selama perkuliahan.
  • Mempersiapkan kelanjutan studi. Skripsi juga sebagai persiapan seorang mahasiswa jika ingin lanjut ke jenjang yang lebih tinggi dengan lebih mengeksplor permasalahan serta belajar melakukan proses-proses penelitian.

Atau dengan bahasa yang sederhana, skripsi memiliki dua tujuan utama yaitu dari sisi edukasi (critical thinking, kemampuan bekerja independen, kemampuan menerapkan metode ilmiah, dan kemampuan mengungkapkan ide baik lisan maupun tulisan) dan aspek penelitian dimana mahasiswa turut berkontribusi mengembangkan IPTEK dengan mengisi gap penelitian (research gap) yang ada. Poin penting adalah pada critical thinking yang mengharuskan mahasiswa tetap berfikir logis dan sistematis.

Aktor yg Terlibat

Pemain utama skripsi adalah mahasiswa yang bersangkutan. Berikutnya adalah dosen pembimbing (supervisor) dan dewan penguji (examiner). Interaksi yang positif diantara ketiganya dapat meningkatkan kualitas dari skripsi yang dilaksanakan. Tentu saja ada aktor-aktor tambahan lain yang mendukung seperti laboran, research collaborator, research participants, dll.

Proses Penelitian

Ada banyak variasi proses pengerjaan skripsi. Biasanya langkah awal adalah masalah administratif yang merupakan otonomi kampus masing-masing. Namun secara garis besar tahapan-tahapan yang selalu dilalui antara lain:

  • Menyusun proposal
  • Mendeskripsikan permasalahan
  • Mengikuti tujuan/objektif skripsi
  • Mengumpulkan dan menganalisa data
  • Membuat kesimpulan dan merancang/mengidentifikasikan riset ke depan
  • Mempresentasikan hasil penelitian dan mempertahankan ide di sidang secara lisan
  • Menyusun dan merevisi laporan akhir/final

Kriteria Keberhasilan

Keberhasilan sebuah final project sangat tergantung dari standar kampus masing-masing. Namun ada kriteria-kriteria standar yang biasanya selalu ada pada tiap-tiap institusi. Yang pertama adalah secara umum, hasil penelitian suatu mahasiswa:

  • Memiliki topik riset yang relevan
  • Topik yang orisinil
  • Temuan yang signifikan
  • Hasil pekerjaan si mahasiswa adalah yang utama

Hasil laporan juga merupakan kriteria penting baik atau buruknya sebuah skripsi:

  • Presentasi hasil yang jelas dan dapat diklarifikasi
  • Tiap bagian report konsisten
  • Argumentasi yang dipilih tepat
  • Mampu secara jelas memisahkan ide sendiri dengan ide orang lain (sitasi)
  • Mampu meramu pustaka dan sitasi
  • Gaya penulisan yang menarik

Selain itu mempertahankan sebuah ide/gagasan merupakan salah satu kriteria keberhasilan pula.

  • Ketepatan berargumentasi
  • Mampu mendiskusikan hasil sebagai respon terhadap permasalahan yang diangkat

Juga hal-hal lain yang tak kalah pentingnya bisa menjadi kriteria sukses atau tidaknya final project¸ seperti:

  • Bagaimana bersikap terhadap pihak yang tidak sependapat
  • Memenuhi tenggak waktu (deadline) dan persyaratan-persyaratan lain yang harus dipenuhi

Demikian pengantar bagi adik-adik yang sedang berjuang dalam kegalauan, siapa tahu bisa membantu untuk segera mempersiapkan diri.

Konsep Inheritance pada Objek – JavaScript

Salah satu kharakter khas dari pemrograman berorientasi objek selain konsep objek adalah konsep inheritance. Konsep ini seperti arti katanya, pewarisan, mirip dengan seorang anak yang mewarisi kharakter orang tuanya, tetapi juga memiliki karakter khas yang tidak dimiliki oleh orang tuanya itu.

Untuk mempraktekannya silahkan buka mozilla firefox lalu tekan ctr-shift-k untuk mengaktifkan jendela developer. Untuk membuat kelas objek, silahkan lihat postingan yang lalu.

function Person(first, last, age, gender, interests) {
// property and method definitions
this.first = first;
this.last = last;
this.age=age;
}

Perlu diketahui, fungsi dalam JavaScript merupakan salah satu tipe objek (silahkan lihat penjelasannya di link resminya). Berikutnya bangkitkan sebuah objek instan dengan nama person1.

var person1 = new Person(‘Bob’, ‘Smith’, 32, ‘male’, [‘music’, ‘skiing’]);

Ketika sebuah objek instan dipanggil maka JavaScript akan menyimpannya. Coba saja ketik person1 maka ketika ditekan titik (“.”) maka akan muncul bantuan seperti tampak pada gambar di bawah ini.

Tampak di atas “age”, “first”, dan “last” yang merupakan atribut yang pada definisi kelas Person diawali kata kunci this. Pilih valueOf() maka akan muncul:

person1.valueOf()
Object { first: “Bob”, last: “Smith”, age: 32 }

Object Constructor

JavaScript menggunakan kata kunci constructor untuk menjabarkan inheritance. Misalnya kita telah memiliki objek person1 dan akan membuat person3 yang mewarisi karakteristik dari person1 yang sudah dibuat sebelumnya.

var person3 = new person1.constructor(‘Karen’, ‘Stephenson’, 26, ‘female’, [‘playing drums’, ‘mountain climbing’]);

Di sini person3 memiliki atribut seperti di atas dengan mewarisi kelas Person. Silahkan ketik: person3.age, maka akan menampilkan 26 yang merupakan umur dari objek person3. Gambaran inheritance dapat dilihat di bawah ini.

Metaheuristic Optimization – Advanced

Metaheuristic pengertiannya telah sedikit diulas pada postingan yang lalu. Di sini sedikit diulas metode-metode yang dapat dikatakan advanced. Namun di sini advanced tidak serta-merta untuk tingkat lanjut melainkan sekedar memberitahukan metode-metode terbaru berdasarkan artikel-artikel jurnal yang sudah diterbitkan.

Metode heuristik terkini dapat diklasifikasikan berdasarkan aliran algoritma pencariannya, antara lain:

  • Mengambil inspirasi dari sifat-sifat alami (nature)
  • Mengambil inspirasi dari sifat-sifat fisika

Sifat-sifat yang diambil dari hukum alam telah banyak diteliti di metaheuristik, tetapi yang terkini dapat dirinci sebagai berikut:

  • PSO, bersasarkan sekolompok binatang dalam mencari makan
  • Dolphin     Echolocation (DE), berdasarkan teknik sonar yang dimiliki oleh lumba-lumba
  • Big Bang-Big Crunch (BB-BC), berdasarkan teori evolusi alam
  • Cuckoo Search (CS), berdasarkan sifat burung
  • Imperialist Competitive Algorithm (ICA)

Sementara itu ada algoritma-algoritma yang diambil dari sifat fisika, antara lain:

  • Charged System Search (CSS) dan Magnetic Charged System Search (MCSS), berdasarkan hukum Coulomb dan Newton
  • Colliding Bodies Optimization (CBO), berdasarkan tumbukan satu dimensi partikel
  • Ray Optimization (RO), berdasarkan hukum refraksi cahaya (snell)

Demikian kira-kira metode advanced metaheuristic yang bisa dibaca dari literatur-literatur baik jurnal maupun buku. Sekian informasinya, mudah-mudahan bisa dijelaskan lebih detil pada postingan berikutnya.

Membuat Kelas & Objek dengan JavaScript

JavaScript merupakan Script yang berjalan di browser yang memanfaatkan teknologi dari Java. Salah satunya adalah pemrograman berbasis objek (PBO). Objek berisi atribut seperti layaknya data atau record tabel, tetapi memiliki proses yang menyertai atribut-atributnya. Untuk memudahkan praktek membuat objek pada JavaScript sebaiknya menggunakan browser Mozilla karena memiliki fasilitas “developer”.

Jendela Developer

Untuk mengakses jendela developer pada mozilla dapat dilakukan dengan menekan Ctr-shif-K dan perhatikan akan muncul jendela di bagian bawah mozilla. JavaScript akan langsung dieksekusi Mozilla ketika sebuah script ditulis di jendela developer tersebut tanpa membutuhkan bantuan file HTML.

Membuat Kelas Objek

Objek-objek dengan karakteristik sejenis dapat dikumpulkan dalam satu kelas yang sama misalnya kelas dosen, kelas mahasiswa, kelas mata kuliah, dan lain-lain. Berikut ini kita coba membuat satu kelas dengan nama Person yang berisi atribut-atribut: first, last, age, gender, dan intersets dengan satu operasi menampilkan salam/greetings. Masukan script berikut di jendela developer pada mozilla. Lihat tutorial resminya.

function Person(first, last, age, gender, interests) {
this.name = {
‘first’: first,
‘last’ : last
};
this.age = age;
this.gender = gender;
this.interests = interests;
this.bio = function() {
alert(this.name.first + ‘ ‘ + this.name.last + ‘ is ‘ + this.age + ‘ years old. He likes ‘ + this.interests[0] + ‘ and ‘ + this.interests[1] + ‘.’);
};
this.greeting = function() {
alert(‘Hi! I\’m ‘ + this.name.first + ‘.’);
};
}

Note: Sepertinya kalau copas kode di atas, tanda petik single harus diketik ulang. Parameter “this” mengartikan suatu variabel milik pemilik objek yang bersangkutan, misalnya this.age berarti variabel “age” yang dimaksud berasal dari objek Person yang bersangkutan. Misal kita memasukan satu objek baru dari kelas Person tersebut.

var person1 = new Person(‘Bob’, ‘Smith’, 32, ‘male’, [‘music’, ‘skiing’]);

Kode di atas memasukan satu objek person1 dari kelas Person. Tampak nama depan, belakang, usia, jenis kelamin, dan hobinya. Bagaimana untuk melihat isi data beserta operasi yang mengiringi kelas Person? Ketik kode berikut ini di jendela developer mozilla.

person1[‘age’]
person1.interests[1]
person1.bio()

Instruksi di atas memunculkan “age”, “intersets” dan “bio”. Hasilnya akan memunculkan jendela berikut ini di mozilla.

Satu hal yang unik dari data objek di atas adalah operation yang muncul, dalam hal ini menambilkan jendela greeting di atas. Satu hal lain yang tidak dimiliki oleh data jenis relational adalah multivalue dalam hal ini contoh di atas memberikan hobi yang terdiri dari “music” dan “skiing” yang tentu saja dilarang dalam jenis data relational (jika ingin ditampilkan lebih dari dua hobi maka kode ada sedikit modifikasi di fungsi bio()). Sekian semoga bermanfaat.

Mereview Artikel Ilmiah

Mereview artikel baik yang akan diterbitkan di jurnal maupun seminar merupakan suatu keharusan bagi tiap peneliti. Dari sisi finansial sepertinya kalah jauh dengan mengajar, menjadi asesor kompetensi, dan kegiatan-kegiatan lain yang sering dilakukan oleh dosen. Tetapi dari sisi ilmu, manfaat yang diperoleh dari proses mereview artikel ilmiah sangatlah besar. Kita bisa mengetahui trend perkembangan ilmu terkini melebihi jurnal yang telah dipublikasi. Mengapa? Karena jurnal yang telah dipublikasi memakan waktu dari beberapa bulan hingga tahunan. Jadi jika membaca artikel yang sudah dipublikasi kita terlambat beberapa waktu, bahkan bisa beberapa tahun. Berbeda ketika mereview artikel dimana tulisan tersebut baru saja dibuat selepas peneliti melaksanakan penelitiannya. Postingan ini bisa juga dijadikan rujukan bagaimana naskah kita diterima (accepted) dengan cara melihat dari sudut pandang reviewer. Juga pos ini lanjutan dari postingan yang lalu.

Format Standar

Beberapa penyelenggara seminar menggunakan aplikasi review yang gratis, misalnya easychair. Kandidat lainnya adalah EDAS yang berbayar dengan paket tertentu yang amat menarik, seperti cek plagiarisme sekaligus mereview. Untuk jurnal menggunakan Open Journal System (OJS) yang saat ini sudah versi 3. Tetapi jurnal-jurnal ternama (ber-impak tinggi) biasanya memiliki sistem informasi review sendiri.

Biasanya isian yang harus diisi oleh reviewer adalah novelty, research method, research question, Finding & discussion, English Writing, Overall Evaluation, serta Reviewer’s Confidence. Yang terakhir menggambarkan seberapa ahli reviewer terhadap isi dari artikel yang direview. Terkadang memang editor menduga seorang reviewer pakar di bidang tersebut, tetapi ternyata setelah membaca, terkadang reviewer merasa tidak “PD” dengan materi yang dibacanya. Biasanya hal tersebut menjadi bahan pertimbangan reviewer untuk memutuskan diterima atau tidaknya suatu artikel ketika kondisi fivety-fivety. Untuk jurnal internasional bereputasi (impak dan nilai scimago yang tinggi) novelty merupakan penentu utama diterima atau tidaknya sebuah naskah yang diajukan. Tapi terkadang untuk jurnal-jurnal nasional apalagi lokal, ada sedikit kemudahan mengingat jika disyaratkan mengikuti standar internasional, banyak yang ditolak/reject yang mengakibatkan para dosen di tanah air lebih enggan menulis.

Alur Review

Ketika pelatihan menulis artikel ilmiah di kopertis 4 beberapa tahun yang lalu, seorang profesor dari ITB mengajari untuk menulis tidak runtut dari judul, abstract, pendahuluan, dan seterusnya hingga kesimpulan, melainkan hasil terlebih dahulu. Masuk akal, karena hal ini bisa membuat produksi tulisan menjadi lebih cepat. Tidak perlu berpusing-pusing mengerjakan hal yang bukan utama karya kita. Pendahuluan kebanyakan memang dari literatur review naskah lain, sementara judul dan abstrak menyesuaikan dengan hasil penelitian kita.

Nah, untuk mereview tentu saja tidak bisa langsung ke hasil, karena memang pe-review tidak tahu menahu hal apa yang akan disajikan tulisan tersebut. Reviewer hanya mengandalkan judul dan abstrak ketika ingin mengetahui/menebak isi naskah (brainstorming). Selain reviewer, editor juga bisa menebak suatu jurnal banyak disitasi ketika melihat judul dan abstrak. Jadi ketika judul dan abstrak, ok, maka jika naskah ditolak itu kemungkinan besar karena reviewer. Tentu saja jika editornya rajin, bisa ditolak terlebih dahulu apalagi yang memahami bidang ilmu naskah usulan tersebut. Oiya, novelty bisa langsung ditebak dari abstrak, karena abstrak yang baik merangkum secara padat isi artikel seluruhnya dari masalah, metode, hasil dan pembahasan, dan diakhiri dengan kesimpulan.

Untuk mengetahui seberapa kuat penelitian tersebut, bagian pendahuluan akan menjadi fokus utama reviewer. Flow/aliran suatu tulisan menjadi sangat penting. Kita memang telah menyediakan referensi-referensi yang banyak dan tepat, tetapi kebingungan dalam meramunya menjadi satu tulisan yang runtun. Terkadang penulis hanya menampilkan referensi-referensi seperti ‘daftar belanja’ yang membosankan. Bahkan ada yang membuat bullet/numbering yang terlarang dalam suatu artikel pada jurnal/conference. Referensi-referensi tersebut harus bisa diramu secara runtut dari yang dasar hingga mengarah ke pertanyaan penelitian (research question) sekaligaus menjawab mengapa riset ini penting dilakukan. Kegagalan dalam pendahuluan berakibat reviewer tidak menangkap kebaruan dan pertanyaan riset yang dibuat. Repotnya kalau reviewer, yang biasanya “late night rider”, jengkel karena literatur review yang melompat-lompat tanpa arah, terkesan sekedar menambah referensi saja.

Padahal suatu artikel jika dilihat polanya sangat sederhana, dan begitu-begitu saja. Dimulai dari pendahuluan yang membahas masalah yang ada saat ini di dunia di bidang tertentu, hingga perlu dilakukan penelitian dengan metode-metode baru/perbaikan metode yang lama yang diuji di wilayah/kasus tertentu. Setelah diuji memiliki hasil yang lebih baik dari metode lain sebelumnya sehingga disimpulkan sangat dianjurkan untuk diterapkan/dikembangkan oleh peneliti lain, dan jika judul dan abstrak sesuai dengan isi dan data dan alat ujinya “ok”, maka naskah diterima dan jika ada sedikit kesalahan, perlu direvisi beberapa ronde.

Jurnal Lokal/bukan Internasional

Jika jurnal internasional sudah baku, jurnal lokal agak sedikit kendor syaratnya. Biasanya cek plagiasi menjadi fokus utama, mengingat plagiarisme masih menjadi musuh utama artikel ilmiah di Indonesia. Mungkin karena jurnal lokal merupakan hasil karya mahasiswa yang hampir kebanyakan menggunakan jurus yang menurut mereka ampuh: “copas”.

Masalah lain adalah tidak adanya kebaruan. Memang kebanyakan karena merupakan hasil skripsi/tesis, biasanya tidak ada metode baru/ modifikasi yang ditawarkan. Hanya menggunakan metode yang ada saja atau sekedar membandingkan dengan yang lain. Jadi mau tidak mau fokus jurnal lokal adalah penyebaran hasil karya saja dengan harapan pembaca, yang biasanya mahasiswa menjadikan artikel tersebut rujukan untuk membuat aplikasi/menggunakan metode skripsi/tesisnya, yang jika diajukan ke jurnal internasional bereputasi terkadang langsung “mental” di tangan editor (belum sampai ke reviewer) selain tentu saja karena masalah bahasa Inggrisnya. Sekian, lain kali kita lanjut membicarakan salah satu darma perguruan tinggi ini, semoga bermanfaat.

Membangkitkan Bilangan Random Berinterval Pada Matlab

Terkadang kita diminta membangkitkan bilangan random, misalnya pecahan dari nol sampai 10 dengan interval 0.5. Fungsi bawaan matlab yang tersedia adalah rand(), sehingga jika maksimal angka 10 maka cukup dengan mengalikan rand()*10 akan diperoleh angka sembarang dari nol hingga 10.

  • rand()*10
  • ans =
  • 2.6297

Jika ingin berinterval tiap 0.5 maka secara logika harusnya 2.5 karena lebih dekat ke 2.5 dibanding 2.0 atau 3.0. Langkah termudah adalah dengan menggunakan bantuan if-else. Jalankan instruksi berikut di command window maka akan diperoleh 2.5.

  • angka=2.6297;
  • steps=0.5;
  • baseangka=floor(angka);
  • pecahan=angka-floor(angka);
  • upper=abs(steps-pecahan);
  • buttom=abs(0-pecahan);
  • if upper<buttom
  • newangka=baseangka+steps
  • else
  • newangka=baseangka
  • end

Kebetulan basis angkanya integer dimana untuk contoh di atas angka 2. Bagaimana jika intervalnya tiap 0.05? Jika angka 2.6297 maka tentu saja basisnya menjadi 2.6 (bukan angka 2 lagi). Logika sederhananya adalah dengan metode di atas, hanya saja basis angka dikalikan 10 (agar koma bergeser ke satu digit di kanan koma), tetapi jangan lupa untuk membagi lagi dengan 10 di akhir prosesnya.

  • angka=2.6297;
  • angka=angka*10;
  • steps=0.5;
  • baseangka=floor(angka);
  • pecahan=angka-floor(angka);
  • upper=abs(steps-pecahan);
  • buttom=abs(0-pecahan);
  • if upper<buttom
  • newangka=(baseangka+steps)/10
  • else
  • newangka=baseangka/10
  • end

Hasilnya:

  • newangka =
  • 2.6500

Kombinasikan dengan fungsi rand(), misalnya membangkitkan 5 bilangan random berinterval 0.05:

  • initial=[];
  • for i=1:5
  • angka=rand()*10;
  • angka=angka*10;
  • steps=0.5;
  • baseangka=floor(angka);
  • pecahan=angka-floor(angka);
  • upper=abs(steps-pecahan);
  • buttom=abs(0-pecahan);
  • if upper<buttom
  • newangka=(baseangka+steps)/10;
  • else
  • newangka=baseangka/10;
  • end
  • angka=[initial;newangka];
  • initial=angka;
  • end

Hasilnya adalah rentetan bilangan random sebanyak lima buah dengan interval 0.05 di bawah ini (hasil berubah-ubah karena random). Semoga bermanfaat.

  • angka =
  • 5.2500
  • 4.1500
  • 6.5500
  • 6.2500
  • 2.9000