Efek Rasa Syukur

Bersyukur terkadang mudah diucapkan tetapi sulit diterapkan. Terkadang pula mulut kita mengucapkan syukur (ketika beribadah) tetapi hati belum tentu menerima kondisi yang ada. Mungkin pembaca pernah membaca buku “the secret” atau “quantum ikhlas” yang membahas kekuatan dari hati dan fikiran dalam lancar dan suksesnya kehidupan. Di sana disebutkan juga manfaat hati yang “lega/nyaman” ketika melaksanakan/mengerjakan aktivitas sehari-hari. Hasil akan terasa jika dilakukan dengan hati yang ikhlas.

Pertahanan Terbaik

Tidak semua hal berjalan sesuai dengan yang direncanakan. Terkadang plan A tidak berjalan dan memaksa kita untuk mengeksekusi plan B. Tanpa hati yang ikhlas dan legowo, ketika plan A tidak berjalan akan kesulitan menjalankan plan B, diakibatkan terlalu lama berkeluh-kesah dan kecewa dengan plan A yang gagal.

Sedikit berbagi pengalaman ketika kuliah dulu mengenai manfaat rasa syukur. Syarat untuk menjadi kandidat doktor di tempat kuliah dulu adalah IPK di atas 3,50. Nilai segitu termasuk cukup tinggi, walaupun relatif, terkadang mudah terkadang susah. Sangat jarang mahasiswa yang lancar dalam satu tahun memperoleh skor IPK sebanyak itu. Rata-rata ada yang mengulang karena satu saja mata kuliah jatuh akan menjatuhkan total skor IPK. Bayangkan jika diperoleh IPK semester awal 2,4. Satu kata yang terucap ke pembimbing waktu itu adalah “apakah saya masih bisa lanjut?”, dan jawabannya “bisa”. Satu jawaban itu dengan satu rasa syukur sudah cukup menjadikan pertahanan terbaik saya. Ditambah rincian-rincian syukur lain yang saya kumpulkan untuk menumpuk kekuatan. Lalu apa yg terjadi? Dalam 2 tahun akhirnya IPK tepat berada di posisi 3,50 pas. Angka yang pas menunjukan berapapun nilai yg dosen berikan sangat berharga, kurang lebihnya.

Bekerja dengan Nyaman

Ketika plan A gagal, tidak serta merta plan B dieksekusi. Ternyata butuh syarat penting lain sebelum menjalankannya walaupun sudah ada schedule-nya, yaitu “hati yang nyaman”. Kecuali memang urgen dan mendesak, harus dilaksanakan realtime. Jika ada jeda waktu cukup, ada baiknya membuat hati nyaman terlebih dahulu. Banyak caranya, bisa meditasi, berdoa, maupun cara yang gampang, yaitu bersyukur. Syukuri saja apa yang ada saat ini walaupun sederhana, misalnya kita masih diberi nafas (ups .. sepertinya itu bukan sederhana, melainkan sapu jagad).

Ada satu mekanisme yang dinamakan “daya tarik” dengan prinsip sesuatu akan cenderung berada sesuai dengan yang mirip dengan sesuatu itu. Jika kita marah, biasanya kondisi akan mudah membuat kita marah. Nah, jika kita nyaman dulu, maka kondisi akan cenderung mengikuti kenyamanan. Ada energi-energi lain yang membantu, orang-orang/tim yang kompak, pihak lawan yang tidak terlalu menyerang, dan lain-lain. Sudahkah anda “nyaman” hari ini? Ngopi dulu lah.

Mencari Lokasi Penggunaan Lahan Suatu Wilayah

Berbeda dengan tutupan lahan yang dapat diketahui dengan cepat lewat klasifikasi citra satelit, menentukan penggunaan lahan lebih rumit karena harus melihat langsung fungsi dari suatu bangunan apakah sekolah, rumah sakit, pabrik, pemukiman, dan lain-lain. Informasi dapat diperoleh lewat instansi-instansi terkait. Namun biasanya masih berupa data non-spasial, kalaupun ada terkadang tidak terawat dengan baik, misalnya lokasi tidak tepat, tidak ada lokasi, dan lain-lain.

LOKASI SEKOLAH

Data pokok kemdikbud memiliki informasi data spasial, misalnya untuk sekolah berikut ini. Di salah satu tab terdapat “Map” yang menunjukan lokasi sekolah yang bersangkutan. Sayangnya hanya berisi sebuah profil, untuk mencari sekolah-sekolah di daerah tertentu (kecamatan/kabupaten/kota) harus lewat sumber lain.

Situs penjaminan mutu pendidikan (PMP) juga memiliki data yang lengkap tentang sekolah-sekolah yang berada di daerah tertentu, misalnya data sekolah menengah pertama (SMP) di daerah kota Bogor berikut ini. Jika diklik salah satu sekolah yang ingin diketahui lebih lanjut akan muncul informasi yang lumayan lengkap seperti jumlah dan sebaran siswa, jumlah guru dan profil-nya, dan lain-lain. Sayangnya tidak ada informasi spasial (lokasi sekolah berupa peta).

Situs resmi lain yang menyediakan informasi spasial adalah berikut ini. Tampak lokasi sekolah di propinsi Bali. Cukup lengkap tapi basemap-nya kurang informatif. Alangkah baiknya jika menggunakan jenis streetmap ala waze atau google map.

Ada satu lagi informasi data spasial lewat arcgis online yang di-share oleh penggunanya. Salah satu keuntungannya adalah format shapefile yang sudah standar dapat diunduh dan dibuka online di komputer sendiri. Tentu saja jika di-share oleh pembuatnya, tetapi bisa juga dengan dibuka lewat mapviewer online, berikut link contohnya.

RUMAH SAKIT

Tipe penggunaan lahan lain yang tidak kalah penting adalah lokasi rumah sakit atau fasilitas kesehatan (klinik, apotik, dan sejenisnya). Satu yang cukup baik adalah situs ini, jika diklik salah satu item akan menampilkan informasi lengkap, misalnya RS Hasan Sadikin. Situs ini memanfaatkan info dari google map yang bersifat crowd sourcing.

Situs resmi dari departemen kesehatan merupakan rujukan yang pasti dari informasi mengenai rumah-rumah sakit di suatu wilayah. Tetapi tetap saja harus mencari sendiri lokasi di peta berdasarkan alamat rumah sakit tersebut.

Untuk jenis-jenis penggunaan lahan lainnya silahkan cari berdasarkan ke mana tipe lahan tersebut menginduk. Ada satu situs yang lumayan bagus dalam mendata beragam tipe lahan yaitu www.streetdirectory.com (lihat pos yang lalu) misalnya untuk wilayah kota bogor ini. Demikian, semoga bermanfaat bagi yang sedang mencari data spasial penggunaan lahan di daerah tertentu.

Mengunduh Shapefile di ArcGis.com

ArcGIS tidak hanya desktop melainkan juga online. Buka browser dan ketik www.arcgis.com. Tentu saja harus memiliki akun untuk login. Tetapi jika hanya ingin mengunduh tidak perlu login. Postingan ini mencoba mengunduh batas kecamatan wilayah kota Bogor.

Jika sudah masuk ke situs arcgis cari simbol kaca pembesar yang artinya searching. Ketik kata kuncinya, misalnya “kecamatan kota bogor”. Berikut tampilan ketika data tersebut ditemukan.

Jika Anda beruntung peta yang Anda cari tampil di halaman hasil pencarian. Terkadang terdapat lebih dari satu hasil pencarian. Kebetulan data spasial kecamatan di kota bogor ada yang sudah mengeshare, Alhamdulillah. Pilih peta hasil pencarian tersebut.

Klik “Download” untuk mengunduh peta kecamatan di kota Bogor dalam format shapefile yang di-rar. Buka dengan ArcGIS hasil ekstraknya. Tampak seperti gambar di bawah ini hasilnya.

Agak sulit melihat secara real peta tersebut. Jika Anda memiliki Google Earth Pro, silahkan impor peta tersebut agar dapat melihat secara detil akurasinya terhadap citra satelit berikut ini.

Terima kasih untuk rekan-rekan kartografer yang sudah sukarela membagikan peta-nya di arcgis.com. Oiya, terkadang shapefile tidak bisa diunduh melainkan dibuka langsung lewat ArcGIS. Sekian semoga bermanfaat.

Relasi One-To-Many Pada Objek Database

Untuk mengimplementasikan relasi one-to-many pada pemrograman terstruktur dengan sistem basis data relasional diperlukan sebuah tabel detil karena dalam satu field tidak boleh berisi lebih dari satu item. Namun pada pemrograman berorientasi objek dapat dihandel oleh sebuah kelas dengan format atribut array. Misalnya kelas kursus yang berisi lebih dari satu peserta kursus berikut ini.

Salah satu atribut kursus adalah peserta yang merupakan sebuah objek dari kelas siswa. Simbol kurung “[]” menandakan bahwa kelas Kursus bisa memiliki lebih dari satu objek peserta kursus, yang dalam ERD sistem relasional dikenal dengan relasi one-to-many. Bagaimana dalam implementasinya di Netbeans?

Memakai Atribut dari Kelas Lain

Pada kelas kursus terdapat atribut “peserta” yang berasal dari kelas Siswa. Karena menggunakan atribut maka terdapat relasi memiliki dari kelas Kursus terhadap kelas Siswa, diistilahkan dengan relasi “has-a”. Bandingkan dengan relasi antara kelas Main dengan Kursus yang berupa penggunaan saja (mengatur/maintain kursus), diistilahkan dengan relasi “is-a”. Berikut potongan kode dalam bahasa Java untuk kelas yang menggunakan objek dari kelas Siswa (peserta).

public class Kelas {
private String kode,jadwal;
private Siswa[] peserta;
private int i;
//konstruktor
public Kelas(){
this.peserta=new Siswa[5];
}
public Kelas(String kode, String jadwal, Siswa[] peserta){
this.kode=kode;
this.jadwal=jadwal;
this.peserta=peserta;
}

Perhatikan variabel peserta diambil dari kelas Siswa (private Siswa[] peserta). Selanjutnya ditambah dengan setter & getter serta operasi-operasi lainnya. Pada konstruktor kelas misalnya dibatasi lima peserta kurus saja (this.peserta=new Siswa[5];). Operasi penting untuk menangkap data objek Kelas adalah sebagai berikut.

public void add(Siswa s){
if(i<peserta.length){
peserta[i]=s;
System.out.println(“Siswa add at index “+i);
i++;
}
System.out.println(“Peserta: “+peserta);
}
public void add3(String jadwal){
this.jadwal=jadwal;
}
public void add2(String kode){
this.kode=kode;
}

Peserta kursus memanfaatkan variabel I untuk menambah beberapa kali (dalam hal ini max 5). Operasi lainnya juga disertakan untuk menambahkan kode kelas dan jadwalnya. Jika dilihat di navigation pada Netbeans tampak seperti berikut ini.

Dua operasi CRUD (insertData dan readData) misalnya dimasukan. Sebaiknya seluruh CRUD dimasukan juga (update dan delete). Variabel I: int digunakan untuk memasukan peserta kursus yang lebih dari satu.

Kelas Siswa seperti biasa dibuat dengan atribut dan operasi tertentu. Buat CRUD yang lengkap seperti contoh berikut. Untuk akses ke basis data objek dengan operasi CRUD silahkan lihat pos yang lalu.

Kelas Main

Kelas ini hanya contoh interface untuk mendaftarkan kelas beserta pesertanya. Dalam implementasi biasanya menggunakan form/frame.

ObjectContainer db = Db4oEmbedded.openFile(“C:/Users/Herlawati/Documents/NetBeansProjects/com.kursus/kursus.yap”);
Kelas kel = new Kelas();
//siswa pertama
Siswa sis = new Siswa();
sis.setKodesiswa(“03”);
ObjectSet<Object> result = db.queryByExample(sis);
Siswa m1 = (Siswa) result.next();
System.out.println(“ketemu siswa nama: “+m1.getNama()+” kode “+m1.getKodesiswa());
System.out.println(m1);
kel.add(m1);
//siswa kedua
Siswa sis2 = new Siswa();
sis2.setKodesiswa(“04”);
ObjectSet<Object> result2 = db.queryByExample(sis2);
Siswa m2 = (Siswa) result2.next();
System.out.println(“ketemu siswa nama: “+m2.getNama()+” kode “+m2.getKodesiswa());
System.out.println(m2);
kel.add(m2);
//input atribut Kelas
kel.add3(“senin dan selasa”);
kel.add2(“kode3”);
db.close();
kel.insertData();
kel.readData();

Ada satu Kelas dengan dua peserta ditambahkan dengan kode di atas, pastikan ketika dieksekusi akan menghasilkan jawaban yang mengindikasikan data tersimpan.

Siswa dengan kode 03 dan 04 dicari terlebih dahulu dari kelas Siswa. Tentu saja sudah dimasukan terlebih dahulu beberapa objek Siswa. Fungsi Add akan memasukan siswa secara multivalue ke objek Kelas. Setelah atribut kelas (jadwal dan kode kelas) ditambahkan (operasi add2 dan add3) maka operasi insertData akan memasukan objek Kelas yang baru saja didaftarkan secara permanen ke sistem basis data objek. Butuh penjelasan yang detil, tetapi secara garis besar langkah-langkah di atas bermaksud menjelaskan prinsip kerja objek, baik instan (temporer) maupun persistence (permanen). Semoga bermanfaat.

Menerapkan Revolusi Industri 4.0 dalam Keseharian

Seperti biasa ketika masuk kerja jam 8 –an, sepi, hanya staf tata usaha dan beberapa dosen yang ada jadwal mengajar. Postingan ini terinspirasi dari siaran radio dalam perjalanan ke kampus yang membahas bagaimana bisnis di era revolusi industri 4.0.

Kembali ke kisah sunyi-sepi-sendiri tadi. Memang ada mesin absen, tetapi fungsinya sebatas setor biometrik (wajah atau sidik jari). Nyaman juga sih, bisa luntang-lantung selepas absen, begitu juga ketika jam pulang. Jika patokannya Tri Darma, sepertinya rata-rata tidak bagus-bagus juga, jika sebagai pembandingnya adalah kampus seusia. Berarti ada sesuatu yang tidak beres kampus dalam mengelola. Mungkin salah satunya adalah ketertinggalan teknologi kampus dengan teknologi yang digunakan karyawannya.

Revolusi Industri 4.0

Komponen penting versi industri 4.0 adalah cyber phisical system, internet of things (IoT), dan bio-technology. Karena kampus juga termasuk institusi bisnis, khususnya jasa, maka mau tidak mau harus mengikuti era-nya jika tidak ingin tertinggal. Salah satu aspek khas “internet of things” perlu diterapkan dengan beberapa metode artificial intelegent-nya (AI). Jika dirasa fingerprint sekali masuk dan sekali keluar tidak memenuhi rasa keadilan, ganti saja dengan berbasis AI, entah bagaimana caranya. Saya teringat kakak saya yang banyak bisnisnya, salah satunya cuci mobil. Dia menggunakan prinsip bagi hasil terhadap tim pencuci. Saya mempertanyakan, apakah tidak khawatir dibohongi? Dia menjawab, “kan ada CCTV, kita bisa melihat berapa mobil yang dicuci, lihat live atau rekamannya”. Jadi kehadiran fisik seperti inspeksi mendadak dan sejenisnya sudah bukan era-nya lagi, biar sistem yang berbicara. Rapat-rapat yang menuntuk kehadiran fisik pun sepertinya tidak masuk kategori industri 4.0.

Kapten Stark

Penggemar film marvel pasti tahu Mr. Stark, sang Iron Man. Lihat bagaimana dia menerapkan IoT dengan cyber physical systemnya dimana mesin dan mesin berkomunikasi, bukan hanya orang dengan mesin. Bahkan Dr. Banner (Hulk) yang berprofesi dokter pun tampak lihai menggunakan IT di markas avengers, teknologi yang memang makin menjadi pegangan sehari-hari kita saat ini bukan hanya orang IT. Bahkan dalam satu episodenya, kapten Stark belajar astrofisika hanya dalam semalam. Maaf, jadi ngomongin film. Tapi gambaran di film tersebut cukup baik menggambarkan revolusi industri 4.0, terlepas dari keanehan-keanehan yang memang wajar dalam sebuah film.

Jiwa Kewirausahaan (Enterpreneurship)

Sehabis lulus studi terakhir, saya diundang ke kampus internasional berkat undangan dari teman yang mengenal orang-orang di kampus itu, dan karena memang banyak waktu luang jadi sering kesana-kemari, datanglah iseng-iseng ke kampus tersebut. Saya tercengang ketika salah satu ketua prodi menanyakan bisnis atau usaha apa yang saat ini dilakukan selain mengajar, di sesi wawancara. Sebuah pertanyaan “out of the box” yang jarang ditanya dalam sebuah wawancara menjadi seorang dosen. Dan kebetulan pula kampus existing diambil alih dan dapat pesangon, akhirnya kembali lagi di cerita bisnis kakak saya, uang tersebut dibuat usaha dengan penghasilan perbulannya yang hampir menyamai gaji pokok golongan III/a. Dengan memanfaatkan IoT, aspek geografis dapat teratasi dan masih bisa mengajar walau sambil berwirausaha.

Kembali ke dunia nyata dan terbangun dari lamunan, terlihat banyak tumpukan kardus yang sepertinya paket di ruang dosen. Ternyata banyak juga yang bisnis online. Tadinya saya fikir dosen bakal terdisrupsi, ternyata dosen malah mendisrupsi bidang-bidang lain, tentu saja jangan ke politik seperti dosen di sebuah univ di Bandung yang jadi tersangka karena ujaran kebencian di medsos.

Membuat Kelas Transaksi dengan Basis Data Objek

Mirip dengan tabel master dan tabel transaksi pada basis data relasional, pada pemrograman berorientasi objek membutuhkan juga tabel transaksi yang melibatkan lebih dari dua tabel. Sebagai contoh adalah mahasiswa yang mendaftarkan kelas yang diikutinya lewat kelas registrasi. Di sini kelas registrasi memerlukan kelas Mahasiswa dan kelas Kelas yang diikuti. Berikut kode untuk membuat kelas Kelas.

public class Kelas {
String kodemk;
String namamk;
int sks;
public Kelas(String kodemk, String namamk, int sks){
this.kodemk=kodemk;
this.namamk=namamk;
this.sks=sks;
}
public void display(){
System.out.println(“Kode MK: “+kodemk+”| Nama MK: “+namamk+” | Jlh SKS: “+sks+”SKS”);
}
}

Seperti biasa tiap kelas memiliki nama, atribut dan operasi. Karena hanya sebagai latihan, pada kelas ini tidak dimasukan kelas untuk operasi create, read, update and delete (CRUD). Hanya operasi display yang disertakan untuk memunculkan atribut-atribut kelas Kelas antara lain: kodemk, namamk, dan sks yang berturut-turut bertipe string, string, dan integer.

Dengan cara yang sama kita bisa membuat kelas Mahasiswa dengan atribut: nama, usia, dan jurusan. Tentu saja hanya sekedar contoh, karena biasany membutuhkan juga nomor pokok mahasiswa (NPM), alamat, ipk, dan lain-lain. Lanjut saja ke bagian penting, yaitu kelas Registrasi yang berfungsi mengakomodir Mahasiswa yang medaftarkan kelas mata kuliah tertentu. Berikut kode pada kelas Registrasi yang dibuat cepat dengan IDE Netbeans 8.

public class Registrasi {
private String noreg;
Mahasiswa m;
Kelas kls;
public Registrasi(String noreg, Mahasiswa m, Kelas kls){
this.noreg=noreg;
this.m=m;
this.kls=kls;
}
public void display(){
System.out.println(“No Reg: “+noreg);
kls.display();
m.display();
}
public void insertData() {
System.out.println(“* Insert data…”);
ObjectContainer db;
db = Db4oEmbedded.openFile(“<folder>/mahasiswadb.yap”);
try {
Registrasi reg = new Registrasi(noreg,m,kls);
db.store(reg);
System.out.println(“Stored “+reg);
}
finally {
db.close();
}
}
}

Kelas Registrasi ini memiliki atribut: noreg, m, dan kls yang merepresentasikan berturut-turut nomor registrasi, mahasiswa dan kelas. Ada operasi display() yang berisi display dari kelas yang terlibat (Mahasiswa dan Kelas). Satu kelas penting lainnya adalah insertData() yang menyimpan data objek registrasi ke basis data agar tersimpan secara permanen (persistence). Terakhir di kelas Main masukan kode contoh berikut.

public class Main {
/**
* @param args the command line arguments
*/
public static void main(String[] args) {
Mahasiswa m = new Mahasiswa(“Rahmadya”,43,”Teknik Komputer”);
Kelas kls = new Kelas(“FIS-1″,”Fisika”,3);
Registrasi reg = new Registrasi(“01/mei/2019”,m,kls);
reg.display();
reg.insertData();
}
}

Pertama-tama objek mahasiswa dibentuk dengan atributnya lengkap. Demikian pula objek Kelas yang berisi kode kelas, nama kelas dan jumlah SKS. Terakhir objek registrasi yang berisi nomor registrasi beserta objek yang terlibat (diberi nama variabel m dan kls) dibentuk. Objek registrasi selain ditampilkan lewat operasi display() juga disimpan ke basis data lewat operasi insertData(). Jika dijalankan dengan menekan tombol segitiga hijau akan menghasilkan output di bawah ini.

Coba buka file basis data objek “mahasiswadb.yap” dengan notepad dan pastikan terisi objek yang baru saja disimpan lewat instruksi db.store(reg) di atas.

Postingan ini menggunakan Netbeans dengan Object Database Management System (ODBMS) DB4O yang masih jarang digunakan. Biasanya pengembang menggunakan kelas dan objek yang disimpan dalam Relational Database Management System (RDBMS). Silahkan searching ebook tentang DB4O yang banyak beredar di internet. Untuk buku sejenis yang berbahasa Indonesia saya masih mencoba menulis, semoga segera selesai

Problem CRUD pada Pemrograman Berorientasi Objek

Problem Create, Read, Update, dan Delete (CRUD) pada PBO dikenal dengan istilah impedance mismatch. Hal ini terjadi karena pemrograman terstruktur dengan karakternya yang menggunakan database relasional menggunakan prinsip pemisahan antara data dengan program. Sementara itu PBO dalam satu kelas memadukan data dan program. Dalam hal ini data berupa atribut, sementara programnya berupa method/operasi. Kontroversi kerap terjadi, biasanya untuk programmer-programmer yang biasanya menangani program-program nonobjek, yang menganjurkan CRUD terpisah dari kelas-nya (lihat di sini). Terutama yang sering menggunakan framework maupun bertipe service oriented architecture (SOA), cenderung memasukan CRUD ke layer service. Atau programmer yang menerapkan Object Relational Database Management System (ORDBMS).

Gambar berikut dikutip dari sumber materi PBO link ini. Tampak pada kelas Customer, kelas ini memiliki operasi bernama +add(name,phone) yang bertugas memasukan pelanggan baru. Operasi yang berada dalam sebuah kelas sebenarnya memperkuat konsep PBO yaitu encapsulation dimana kelas lain tidak bisa mengutak-atik kelas tertentu. Untuk menambah pelanggan, dalam kelas Customer harus lewat operasi +add pada kelas tersebut, tidak seperti database relasional yang menggunakan akses dari luar lewat injeksi SQL (insert into Customer).

Jadi sejatinya CRUD pada objek terletak di bagian operasi kelas yang bersangkutan, jika ingin prinsip encapsulation tetap dipegang. Hal ini bisa dijalankan untuk Object Database Management System (ODBMS) murni dengan basis data objek seperti DB4O (lihat pos yang lalu) atau tipe no-sql seperti MongoDB. Interface yang mengirimkan data yang harus diubah pada PBO hanya berupa pesan (message), misalnya pada diagram kelas di atas ingin menambah satu pelanggan baru maka interface yang biasanya form/frame memberikan pesan ke kelas Customer agar menjalankan operasi +add(name,phone) untuk menambah satu data pelanggan baru dengan name dan phone tertentu (dari isian form/frame). Mungkin pembaca tidak setuju, boleh saja, toh antara konsep PBO dengan terstruktur termasuk antara database relasional dan objek pun bisa dikombinasikan. Terkadang antara teori dengan aplikasi/penerapan perlu kompromi.

Quiz Dasar-Dasar Pemrograman Berorientasi Objek

Perhatikan gambar di bawah ini sebagai latihan mengetahui istilah-istilah dasar pemrograman berorientasi objek.

Diagram di atas dikenal dengan nama ….(1)…. diagram. Hubungan Person dengan Mahasiswa dikenal dengan istilah ….(2)…. . Sementara itu relasi Mahasiswa dengan Utama dikenal dengan istilah ….(3)…. Atribut dari kelas Person adalah ….(4)…. dan ….(5)…. Simbol “-” dikenal dengan istilah ….(6)…. Sementara “+” dikenal dengan istilah ….(7)…. Sebutkan atribut-atribut lengkap kelas Mahasiswa: ….(8)…. Sebutkan operasi-operasi yang bisa dijalankan oleh kelas Mahasiswa: ….(9)…. Utama tidak bisa digunakan untuk membentuk obyek dari kelasnya, dikenal dengan tipe kelas ….(10)…. Kelas Utama tidak bisa merubah nama, usia, dan jurusan dari sebuah obyek Mahasiswa tanpa melewati operasi setJurusan(), setNama(), dan setUsia(), dikenal dengan konsep ….(11)… n. Sebuah obyek Mahasiswa dapat dibentuk dengan bantuan operasi otomatis yang dikenal dengan nama ….(12)…r. Obyek tersebut hanya sementara di random access memory (RAM), dikenal dengan istilah i…(13)…. Maka perlu disimpan dalam sistem basis data, misalnya DB4O atau database relational lainnya, istilah penyimpanan permanen ini dalam PBO dikenal dengan nama p…(14)…n.

Jawaban: (1) class, (2) inheritance/pewarisan atau bisa juga generalisasi, (3) association/asosiasi, (4) nama, (5) usia, (6) private (7) public, (8) nama, usia, dan jurusan, (9) getNama(), setNama(), getUsia(), setUsia(), getJurusan(), setJurusan(), greetings(), bio(), insertData(), (10) abstract/abstrak, (11) encapsulation, (12) constructor, (13) instance/instan, (14) persistence.

Untuk lebih lengkapnya silahkan kunjungi situs-situs yang berisi tes-tes dasar pemrograman berorientasi objek berikut ini. Banyak kontroversi-kontroversi yang muncul di sisi praktisi, misalnya insertData() yang terpisah dari kelas Mahasiswa pada conoh di atas. Ada yang berpendapat terpisah (karena business logic) tetapi teori dasarnya object-oriented tidak memisahkan program dan data (prinsip impedansi/impedance).

Menganalisa Akun Twitter – Mendapatkan Keys & Token Twitter API

Twitter menyediakan API untuk mengunduh tweets seseorang. Walaupun yang tepat istilahnya “wrapper” bukan Application Programming Interface (API). Langkah pertama, tentu saja harus punya akun Twitter dulu. Berikut langkah-langkah yang perlu dilakukan.

Mendaftar Sebagai Developer

Pertama-tama masuk ke situs https://developer.twitter.com/ setelah login Twitter di browser, misalnya Mozilla. Atau langsung saja ke sini untuk membuat application baru: https://developer.twitter.com/en/apps. Tekan Create Account untuk membuat app baru.

Tiap saat sepertinya peraturan berubah-ubah. Ketika tulisan ini dibuat harus meng-apply akun sebagai developer.

Kemudian muncul pesan untuk verifikasi via nomor handphone. Tekan Add a valid phone number.

Setelah memasukan nomor ponsel yang sesuai, tunggu sms dari twitter untuk memasukan nomor verifikasi. Setelah meinginput nomor tersebut, maka phone number kita sudah terverifikasi. Tekan Continue. Berikutnya pilih perorangan atau organisasi app yang akan digunakan. Ada pertanyaan yang agak sulit mengenai mengapa membutuhkan API? Serta untuk apa dan metode apa yang digunakan nanti. Nah di sini kita diminta menjawab dengan gaya “mengarang bebas” karena diminta menulis jawaban lebih dari 300 kata. Akhiri dengan menekan Accept setelah membaca (kalau sempat) Term of Service.

Jangan lupa menceklis kotak di bagian bawan TOS. Selanjutnya diminta membuka email dari akun kita. Jika sudah ada pesan masuk dari Twitter, tekan konfirmasi.

Selesai sudah mendaftar sebagai developer yang menggunakan fasilitas Twitter. Pastikan akan masuk ke jendela developer https://developer.twitter.com/en/account/get-started.

Mendapatkan Twitter API Key

Setelah terdaftar sebagai developer berikutnya adalah membuat app. Di bagian dashboard tekan Apps dan jika tidak ada akan muncul tombol Create an App. Cukup banyak yang harus diisi, tetapi ikuti saja sampai selesai, terutama yang required harus diisi. Jika sudah maka terakhir konfirmasi kembali. Di sini beberapa kali ditolak karena nama aplikasi sudah ada yang punya, akhirnya setelah diganti, misalnya “kepo_movie”, baru lah bisa, hehe.

Keys and tokens inilah yang akan digunakan untuk aplikasi meneliti tweets dari sebuah akun twitter. Langkah selanjutnya adalah memilih aplikasi untuk analisa tweeter, misalnya Tweepy yang terkenal bagi programmer Python. Selamat mencoba, semoga peraturan Twitter masih seperti ketika tulisan ini dibuat.

Stopword Berbahasa Indonesia – via Sastrawi

Jika Natural Language Toolkit (NLTK) sudah diinstal, di dalamnya terdapat pula corpus yang berisi sampel data maupun kamus khusus, salah satunya adalah stopwords. Jalankan kode berikut ini dengan Python. Buka IDLE dan masukan instuksi berikut, simpan dan RUN.

import nltk
from nltk.corpus import stopwords
from nltk.tokenize import word_tokenize
stop_words=set(stopwords.words(“english”))
print(stop_words)

Seperti biasa kode program mengimpor NLTK. Selain itu pada corpus diimpor juga stopwords. Berikutnya mengimpor word_tokenize dari tokenize pada NLTK. Kode terakhir adalah menampilkan stop words dalam bahasa Inggris. Sayangnya ketika mengganti “english” dengan “indonesia”, tidak ditemukan stop words dalam bahasa Indonesia. Kalau begitu kita coba dengan bahasa Inggris. Berikut hasil runningnya:

Kata-kata tersebut adalah stopword, yaitu kata yang tidak menjadi fokus search engine karena terlalu sering muncul seperti saya, kamu, dia, tatkala, dan lain-lain. Hanya saja dari corpus (berkas) NLTK untuk bahasa Inggris saja hasil donlot via nltk.download() (lihat post terdahulu).

Sastrawi Sebagai Corpus Berbahasa Indonesia

Corpus sastrawi dapat dilihat pada link resminya berikut ini. Jalankan pip install Sastrawi pada command prompt. Tunggu beberapa saat karena mengunduh file-file pendukung yang cukup besar.

Untuk mengujinya, jalankan kode berikut ini via IDLE python.

from Sastrawi.StopWordRemover.StopWordRemoverFactory import StopWordRemoverFactory
stop_factory = StopWordRemoverFactory()
more_stopword = [‘dengan’, ‘ia’,’bahwa’,’oleh’]
data = stop_factory.get_stop_words()+more_stopword
stopword = stop_factory.create_stop_word_remover()
print(data)

Perhatikan “more_stopword” bisa digunakan untuk menambah stopword baru jika dirasa Sastrawi kurang stopword-nya dan perlu ditambah misalnya “dengan”, “ia”, “bahwa”, “oleh”, atau lainnya.

Perhatikan dalam bahasa Indonesia, stopword selain kata ganti adalah penunjuk, sapaan, dan sebagainya. Sekian, semoga bermanfaat.

Install Natural Language Toolkit (NLTK) Python

Salah satu keunggulan Python adalah menyediakan toolkit gratis. Salah satunya adalah Natural Language Toolkit yang disingkat NLTK. Selain di versi Linux, NLTK juga disertakan di versi Windows yang ketika tulisan ini dibuat ada pesan untuk menggunakan Python versi 32 bit, terpaksa install ulang karena pada postingan yang lalu menggunakan versi 64 bit. Salah satu yang tidak saya suka dari Python adalah simbolnya ular, menyeramkan, he he.

Instal Python 32 Bit

Jika menggunakan sistem operasi Windows silahkan kunjungi situs resmi ini, pilih “Download Windows x86 executable installer” yang berupa installer agar lebih enak. Setelah diunduh (sekitar 20-an Mb) jalankan hingga proses instalasi selesai, cukup mudah.

Instal NLTK

Jika Python sudah terinstal masuk ke command prompt. Searching saja di Windows 10 ketik cmd dan pilih jendela hitam command prompt. Ketik pip install nltk pada command prompt. Oiya, sebelumnya untuk menguji apakah Python sudah terinstal atau belum ketik: python –version. Pastikan muncul versi Python anda di bawahnya.

Tunggu beberapa saat hingga muncul pesan “Successfully installed nltk-3.4.1 six-1.12.0. Tetapi ada pesan lain pip versi 18.1 sebaiknya diupgrade menjadi versi 19.0.3.

Upagrade PIP NLTK

Untuk mengupgrade PIP ternyata mudah, ketik instruksi: python –m pip install – upgrade pip.

Tunggu beberapa saat hingga muncul pesan “Successfully installed pip-19.0.3. Apakah sudah selesai? Ternyata belum.

Download Paket Lengkap

Tentu saja harus mendownload paket lengkapnya. Untungnya bisa dengan lewat command prompt di atas. Ketik: python untuk masuk ke lembar kerja Python yang dicirikan simbool >>>. Selanjutnya ketik: import nltk. Fungsinya adalah mengimport NLTK yang sudah diinstal, untuk digunakan. Dengan memanggil jika akan digunakan saja bisa menghemat RAM dan tidak memberatkan komputer dibanding ketika Python dijalankan, semua fasilitas hidup. Lanjutkan dengan mengetik: nltk.download(). Perhatikan, jendela NLTK Downloader langsung muncul.

Jika ingin mengunduh lengkap silahkan tekan all packages yang besarnya hampir 2 Gb, jadi kalau miskin pulsa, sebaiknya cari Wifi cepat dan gratis, hehe. Progres mengunduh dapat dilihat di pojok kanan bawah jendela NLTK Downloader.

Hmm .. lama juga. Sabar ya, tunggu hingga selesai, jangan menduga-duga kalau komputernya “ngerjain” apalagi curang. Silahkan baca tatacara-nya di link resmi NLTK ini. Terkadang saat menginstall satu komponen hang atau gagal. Lebih baik instal ulang manual saja dengan mengklik ganda item tersebut, misalnya “twitter samples”. Selamat menginstal.

Menguji Hasil Instalasi NLTK

Saatnya menguji dengan salah satu fasilitas yaitu word_tokenize. Fungsi ini berguna untuk memecah satu kalimat menjadi beberapa token. Token di sini mirip dengan kata. Ketik: from nltk.tokenize import word_tokenize yang bermaksud memanggil fungsi tersebut dari NLTK. Buat satu contoh kalimat yang akan ditoken, cek apakah berhasil atau tidak. Jika berhasil berarti NLTK siap digunakan. Selamat menginstal.

 

 

Natural Science vs Artificial/Design Science

Berbeda dengan jurnal yang memang sudah teratur terbitnya, seminar membutuhkan usaha ekstra terutama menyangkut deadline yang harus ditepati karena berkaitan dengan pembicara, lokasi seminar, dan hal-hal lainnya. Salah satu deadline utama adalah jadwal review yang biasanya agar lebih cepat beberapa pe-review berkumpul menyelesaikan sisa-sisa artikel yang harus direview. Masalah muncul dalam review karena seminar agak sedikit longgar dalam tema risetnya, berbeda dengan jurnal yang sudah spesifik. Postingan ini sedikit berbicara masalah perbedaan bidang ilmu yang kerap bersitegang antara satu bidang dengan bidang lainnya.

Komunitas Ilmu

Terlepas dari jenis bidang ilmu, ada komunitas ilmu yang terbentuk baik secara sengaja maupun terbentuk sendiri. Komunitas ini memiliki kode etik, konsep, dan hal-hal spesifik mengenai ilmu yang dikajinya. Komunitas ilmu lain mungkin memiliki pandangan yang berbeda, tetapi tidak bisa memaksakan suatu pandangan ke komunitas lainnya. Hanya sedikit masalah muncul karena antara satu bidang ilmu memiliki singgungan-singgungan dengan bidang lainnya. Gambar di bawah adalah kuadran ilmu yang ada saat ini. Tidak ada bidang ilmu yang 100% murni analitis, sintetis, simbolis atau real.

knowledge domain

Natural Science

Ini merupakan bidang yang sudah dikenalkan sejak kita SD dengan “metode ilmiah”-nya. Diawali dengan problem dilanjutkan dengan hipotesa yang kemudian diuji dengan eksperimen untuk menghasilkan kesimpulan yang berupa ilmu baru. Aktivitas tersebut dikenal dengan istilah riset yang kadang diartikan sebagai aktivitas dalam mengamati sebuah fenomena yang menjadi pusat perhatian. Ketika studi lanjut, pengelolaan jurnal diambil alih rekan saya yang alumni ilmu komputer IPB dan ternyata ketika saya amati format gaya selingkung (istilah karakter tulisan sebuah jurnal) mirip IPB yang natural science, misalnya ada bab tentang “material dan bahan” yang membingungkan para peneliti ilmu komputer apa yang harus diisi di bab tersebut. Jika dilihat dari kuadran di atas, bidang ini agak ke kiri ke arah analitis.

Artificial Science/Design Science

Semua orang mengenal Facebook, Twitter, dan sejenisnya untuk bidang komputer. Apakah ini termasuk ilmu? Jika dibilang natural science tentu saja bukan. Begitu pula untuk disain produk, metode produksi, dan kawan-kawan. Sebenarnya jika dirunut sama dengan natural science yang memang sudah ada di alam dan tinggal diamati untuk kebaikan manusia hasil pengamatannya, pada artificial science yang di amati tidak muncul sendiri di alam melainkan buatan manusia. Keberadaannya sama untuk kebaikan manusia, baik untuk kesehatan, keuntungan, dan lain-lain, walaupun terkadang bisa membahayakan umat manusia itu sendiri. Pada kuadran ilmu di atas letaknya sintetis dan real.

Ketika me-review terkadang dihadapkan dengan kondisi seperti itu. Ketika mendapati sebuah artikel yang membahas perancangan alat atau sebuah sistem terkadang karena tidak bisa menunjukan kebaruan/novelty akan di-reject oleh penganut natural science murni. Alkisah dalam suatu ruangan review intensif yang diistilahkan “sapu jagat” hehe, profesor dari rombongan yang direject terlihat kecewa melihat anak buahnya yang merancang alat tersebut direject dan mencari tahu siapa yang mereject dan ketika tahu namanya, dia sadar kalau dia juga banyak me-reject riset dari rombongan yg mereject tersebut karena dianggap riset sistem informasi yang berulang tanpa ada temuan baru. Ya begitulah, riset satu komunitas ilmu jika direview oleh komunitas ilmu lainnya pasti ada konflik yang berakhir saling me-reject. Ada karakter khas dari design science misalnya tidak adanya hipotesa di awal. Hipotesa sendiri terjawab sepanjang perjalanan tahapan perancangan dan tidak dimunculkan secara eksplisit. Novelty pun akan diketahui oleh reviewer yang banyak mereview artikel perancangan/disain tanpa si penulis menyodorkan bukti ke-novelty-annya. Untuk jurnal tidak ada masalah karena yang mereview adalah komunitasnya, berbeda dengan seminar yang kadang “gado-gado” bidang ilmunya. Beberapa jurnal internasional bereputasi, misalnya “mechatronics” reviewer harus disodorkan video alat tersebut ketika beroperasi, tidak hanya dengan tulisan saja, atau harus mengirim data beserta alat pengujinya. Begitulah dunia riset. Silahkan baca link ini untuk Design Science bidang sistem informasi.

Oleh-oleh dari Seminar Internasional di Jogja

Kebetulan saya ikut menghadiri seminar internasional Asian Intelligent Information and Database Systems (ACIIDS) 2019. Seminar yang disponsori oleh salah satu penerbit terkenal ini (Springer) sudah yang kesebelas. Sebagus-bagusnya seminar internasional ternyata tetap kalah dengan jurnal internasional dari sisi isi. Tapi dari sisi ide sepertinya tidak kalah, mungkin karena aslinya prosiding itu adalah pengantar riset seorang peneliti yang biasanya bermuara ke jurnal internasional. Dan yang terpenting sebenarnya dari seminar internasional adalah pertemuan dan bertukar fikiran dengan para profesor dari seluruh dunia disamping tentu saja acara jalan-jalannya (tour).

Tema Riset Teknologi Informasi

Kebetulan saya saat ini mengampu mata kuliah Riset Teknologi Informasi, jadi bisa menambah referensi riset-riset yang berkaitan dengan teknologi informasi di dunia saat ini. Computer vision, machine learning, dan sejenisnya masih merupakan riset yang banyak dilakukan saat ini. Ada juga yang melakukan tes dan uji coba menangani data warehouse dengan konsep cubic-nya berupa tabel fakta (fact table) dan dimension.

Begitu masuk ke riset tentang mesin turing (turing machine), di situlah mulai “pusing pala barbie”. Maklum, itu materi yang paling saya benci, walaupun ketika masuk ke teknik kompilasi sebenarnya bidang ini sangat menarik karena kita diajarkan membuat bahasa pemrograman custom sendiri.

Doctoral Proposal

Ada juga sesi yang dihadiri oleh mahasiswa doktoral yang menyajikan proposal risetnya. Di sini mereka akan ditanya oleh profesor-profesor yang mengikuti seminar. Banyak masukan yang diperoleh yang membuat risetnya berskala internasional. Berbeda dengan mahasiswa doktoral yang proposal risetnya hanya dihadiri oleh dosen-dosen lokal, walaupun dosen-dosen tersebut alumni kampus luar negeri. Mungkin ini sedikit komentar yang diberikan oleh profesor-profesor luar yang mengikuti acara khusus mahasiswa doktoral ini yang jika diikuti sarannya bisa meningkatkan kualitas penelitiannya.

Kurang Berskala Internasional

Biasanya jika tema yang diangkat terlalu lokal, misalnya ada yang bertema deteksi rekaman otak yang dikonversikan ke bahasa. Di sini dikritik karena bahasa yang digunakan bahasa Indonesia. Walaupun respondenya orang Indonesia ada baiknya mencoba orang Indonesia yang bisa berbahasa internasional, misalnya bahasa Inggris.

Obyektivitas dalam Tes Performa

Beberapa riset membutuhkan pengujian. Kebanyakan riset yang diusulkan agak sulit mengujinya secara obyektif, biasanya yang bertema-tema “agak sosial” seperti bidang e-learning. Memang bidang ini agak sulit mengecek benar salah dari sistem yang diusulkan, misalnya sistem rekomendasi tertentu di e-learning, apa dasar benar atau salahnya suatu rekomendasi.

Tentang Metode

Metode merupakan topik utama teknologi informasi. Topik ini selalu bermunculan di jurnal-jurnal internasional, jadi saran seorang profesor, mutlak harus membaca studi literatur terkini sebanyak mungkin. Juga hati-hati dengan pengujian performa metode yang diusulkan. Oiya, ada satu proposal yang dikritik karena hanya membandingkan metode-metode yang ada dan repotnya metode yang dikuasai oleh si profesor yang mereview tidak dicantumkan, misalnya Support Vector Machine (SVM).

Format Presentasi Kurang Dipahami

Memang beda presentasi di hadapan dosen-dosen pembimbing dan promotor dengan di hadapan khalayak ramai. Misalnya seorang peserta menyampaikan tema “long term memory ..” tetapi di slide yang dipresentasikan tidak mencantumkan penjelasan mengenai “long term memory” sehingga pendengar agak kesulitan mengikuti alur penjelasan slide kemudian.

Research Question, Hipotesa, dan sejenisnya, wajib kah?

Ini yang saat ini agak berbeda dengan riset-riset dahulu. Sepertinya saat ini pertanyaan penelitian tidak vulgar seperti riset-riset di era 90-an yang mengharuskan hal tersebut dinyatakan secara eksplisit. Begitu juga kesimpulan yang harus menjawab pertanyaan penelitian sepertinya agak berubah saat ini. Kesimpulan sendiri dari buku-buku tentang artikel ilmiah mengatakan bahwa kesimpulan merupakan “pemberi kesan” dari suatu artikel. Jika suatu artikel bisa memberi kesan yang membekas bagi pembacanya, bahkan menyampaikan ke orang lain tentang yang ia baca, maka artikel tersebut dapat dikatakan berhasil. Dan bukan hanya formalitas menjawab pertanyaan riset belaka. Begitu pula dengan hipotesa yang biasanya diajarkan dalam riset-riset yang berbau statistik. Oiya, ada bedanya lho riset yang berupa natural science dengan design science. Inilah yang bikin “ribut” antara satu dosen bidang tertentu (misalnya dosen-dosen pertanian, biologi, dan sejenisnya) dengan dosen bidang lainnya (arsitek, sastra, perancang, dan lain-lain). Sepertinya perlu postingan khusus tentang hal ini, sekian semoga bermanfaat.

Milestone Dosen

Dalam melaksanakan suatu pekerjaan ada satu target yang harus dicapai. Terkadang target tersebut tidak memiliki tahapan yang jelas. Tidak ada salahnya mencari tahapan-tahapan sendiri yang dalam versi Inggrisnya dikenal dengan “milestone“. Jika kita pergi naik mobil ke Bandung via toll maka akan tampak suatu rambu yang menjelaskan berapa kilometer kita sudah melangkah, nah istilah milestone diambil dari situ.

Pangkat

Misal seorang dosen dalam karirnya ada jenjang yang menunjukan peningkatan kinerjanya, diistilahkan dengan kepangkatan. Dari tenaga pengajar, seorang dosen terus meningkatkan kinerjanya, lanjut ke asisten ahli, hingga berakhir ke profesor/guru besar. Beberapa kampus kurang memperhatikan kepangkatan dosen-dosennya, tetapi ada kampus yang sudah mulai melayani peningkatan kualitas dosennya dengan mengurusi proses kenaikan pangkat, bahkan dari pemberkasan. Dosen tinggal menjalankan fungsinya saja dan ketika saatnya naik pangkat, bagian yang mengurus kepangkatan langsung bekerja mencatat, mendokumentasi, hingga mengajukan ke LLDIKTI.

Bagaimana dengan yang sedang studi lanjut? Untuk yang satu ini tiap kampus memiliki karakter masing-masing. Beasiswa DIKTI sendiri membedakan program doktoral dengan kuliah dulu dan program yang langsung riset. Biasanya ada selisih satu tahun (dengan kuliah dulu lebih lama setahun). Repotnya, kenyataannya tidak selisih setahun tetapi dua tahun, tiga tahun, atau abadi .. hehe. Tahapan-tahapan tersebut terkadang tidak sama jangka waktunya. Misalnya untuk tahapan-tahapan di tempat saya kuliah, atau yang menganut perkuliahan awal sebelum riset: course work, candidacy, progress meeting, journal acceptance, dissertation writing, external examination, final defence. Course work terkadang bisa lebih dari setahun, maklum karena tuntutan IPK 3.5 ke atas maka jarang doktoral yang ambil satu semester lebih dari 3 mata kuliah, bahkan ada yang tiap semester 1 mata kuliah. Sempat saya kagum dengan mahasiswa dari Nepal yang menurut saya cerdas banget dalam program (ruby and rail), tetapi ternyata satu semester dia hanya ambil mata kuliah itu. Pantas saja jago, siang malam cuma utak-atik itu, sementara saya ambil empat mata kuliah dan kewalahan. Di antara tahapan-tahapn itu fokuslah ke yang “tidak jelas” waktu penyelesaiannya. Misalnya, journal acceptance yang tiap jurnal tidak jelas kapan selesainya, apalagi jika sering ditolak, repot juga. Menunggu naskah yang diterima hingga dua tahun terkadang jadi hal yang biasa bagi seorang mahasiswa doktoral. Itu pun terkadang tidak pasti karena supervisor/advisor bisa memiliki “hak veto” untuk menahan siswa-nya. Kalau begitu tidak ada jalan lain selain berdoa dan nikmati saja perjalanan itu.

Ketika ke Bandung, terkadang kita butuh mampir ke rest area untuk enjoy sejenak. Tapi tentu saja tidak berlama-lama di situ dan harus melanjutkan lagi perjalanan ke Bandung. Begitu pula, terkadang seorang dosen butuh hal-hal lain yang bermanfaat untuk enjoy sejenak. Tapi jangan lupa dengan tangga yang harus dilewati. Ristek-Dikti sepertinya melihat gejalan ini sehingga memaksa para lektor kepala dan guru besar untuk mempublikasikan karya ilmiahnya di tingkat internasional serta terindeks (Scopus, WoS, DOAJ, dll). Kadang tangga yang seharusnya kita lalui tidak memiliki keuntungan material dibanding kegiatan-kegiatan lain seperti menguji kopentensi siswa, uji sertifikasi, pembicara sana sini, dan lain-lain. Padahal tangga yang jika tidak dilalui sekarang, besok belum tentu lebih mudah dilalui, ditambah lagi usia yang memang tidak segesit sebelumnya. Ketika usia sudah melewati masa beasiswa barulah kelimpungan melanjutkan studi ke jenjang wajib bagi dosen, yaitu S3. Tapi untungnya tidak ada kata terlambat, banyak rekan-rekan saya yang memiliki semangat untuk studi lanjut di usia kepala lima, yang jujur saja level ilmunya sebenarnya sudah di level doktor, andai saja dia mengikuti tangga yang seharusnya dilalui ketika usia muda dahulu.

Jabatan

Mirip dengan militer, ada istilah pangkat dan jabatan. Repotnya tidak ada hormat-menghormat di per-dosen-an. Tidak hanya penghormatan oleh dosen lain, bahkan oleh stat tata usaha pun saat ini penghormatan sudah jarang. Bahkan karena berkuasa dalam hal tertentu, seperti yang memegang kunci dan mengatur ruang, seorang dosen terkadang “dikerjai” oleh mereka, tentu saja dengan cara yang halus. Akhirnya banyak yang lebih suka mengincar jabatan karena memiliki kekuasaan yang sepertinya menggoda dan kadang bisa membuat mabuk. Sudah bisa ditebak, ketika menjabat biasanya melupakan tangga yang harus dilalui dan sibuk dengan mainan kekuasaan yang ada di hadapannya.

Pemimpin Akademis

Ada hal-hal yang unik dari dunia akademis, yang berhubungan dengan kepemimpinan. Ada yang beranggapan pemimpin institusi akademik haruslah seseorang yang baik dari sisi tri-darma, terutama sisi riset. Tapi ada pula yang beranggapan bahwa karena pemimpin akademik bermain dari sisi administratif maka tidak perlu seorang calon pemimpin akademis memiliki performa di sisi riset.

Beberapa kampus besar di Indonesia, mungkin di luar negeri, memiliki pemimpin-pemimpin akademis dengan performa akademis yang baik. Pemimpin memang harus memahami apa yang dia pimpin dan akan mengalami kesulitan jika orang yang non-akademis dipaksa menjadi pemimpin akademis. Banyak hal-hal rumit yang khas yang dimiliki oleh institusi akademis.

Seperti dikutip dari artikel ini, ketika memimpin akademis, waktu seorang dosen akan terpecah dan riset-nya pun berkurang mengingat harus melaksanakan kegiatan administratif yang kadang membosankan. Pengalaman saya ketika menjabat, memang terjadi hal-hal yang demikian. Akan merepotkan mengerjakan riset ketika diminta melaksanakan hal-hal administratif. Biasanya kampus yang baik akan menyediakan staf non akademik yang akan membantu pejabat akademik menjalankan kegiatan administratif, tidak seperti yang saya alami, yaitu pejabat sekaligus juga menjalankan fungsi administratif yang membosankan, tidak ada staf, ditambah lagi tim dari tenaga pendukung yang malah tidak mendukung, malah disuruh “memohon” ketika membutuhkan suatu fasilitas.

Sister Ristekdikti – Sister Yang Siap Menjadi “Mother”

Salah satu terobosan Ristek-Dikti yang saat ini sedang mulai berjalan adalah Sistem Informasi Sumber Daya Terintegrasi yang disingkat SISTER. Rencananya sistem ini merangkum seluruh informasi dosen yang ada di Indonesia, dari informasi Tri Darma hingga layanan-layanan lainnya seperti: Pengajuan Angka Kredit (PAK), Layanan Beban Kinerja Dosen (BKD), dan yang saat ini sedang heboh-hebohnya adalah Sertifikasi Dosen. Bagi dosen yang baru tahun ini mengajukan diri untuk mendapatkan sertifikasi dosen harus melewati SISTER. Misalnya penilaian rekan sejawat maka rekan tersebut harus telah memiliki akun SISTER.

Mendaftar Sister

Sistem SISTER agak sedikit unik karena server tidak terpusat, kecuali kampus-kampus kecil yang nebeng ke LLDIKTI di wilayahnya. Tiap kampus harus menyediakan server dengan spesifikasi minimal tertentu kemudian menginstal aplikasi SISTER. Server ini akan menampung data tiap-tiap dosen yang kemudian disinkronisasi dan selanjutnya terkirim ke pusat. Manfaatnya adalah beban server pusat jadi terdistribusi ke tiap-tiap kampus.

Untuk sign up tiap dosen harus menyiapkan email masing-masing dosen (bisa yang gratisan). Klik Daftar Di sini untuk mendaftar. Kemudian setelah menemukan NIDN dan Nama maka dengan email itu kita bisa meng-claim NIDN dan nama tersebut milik kita. Nah, di situlah terkadang masalah muncul ketika seorang dosen yang salah meng-claim NIDN dan Nama yang mungkin karena sama namanya padahal NIDN-nya berbeda. Jika sudah maka email verifikasi akan dikirim ke email yang digunakan untuk sign up barusan. Nah, di sini lagi masalahnya ketika salah memasukan email yang pada akhirnya verifikasi nyasar ke email yang salah tersebut.

Sinkronisasi

Data default dari SISTER merupakan data yang diambil dari forlap, seperti NIDN, homebase, penelitian, pengajaran dan sejenisnya. Beberapa kata mesti dibenahi oleh tim SISTER, seperti fakultas Teknik yang ditulis “TEHNIK” seperti jaman Belanda dulu. Sementara data lainnya seperti riset dan lain-lain harus diisi sendiri. Tetapi untuk publikasi, ada fasilitas sinkronisasi yang disediakan SISTER agar pengisian lebih cepat dengan cara menarik data dari SINTA. Buka SISTER dan arahkan ke menu kiri pada Pelaks Penelitian Publikasi karya.

 

Tekan Import Publikasi dari SINTA untuk menarik data penelitian dari SINTA.

 

Setelah itu seluruh data penelitian yang aedea di SINTA akan muncul di sbawah no, judul dan lain-lain. Langkah terakhir adalah Aksi yang terdiri dari Import, Timpa portofolio, dan Abaikan.

Setelah menekan tombol Konfirmasi di bagian bawah kanan, maka seluruh data penelitian akan muncul di data publikasi kita. Hmm .. sepertinya SISTER akan menjadi “Mother”, ibu dari seluruh sistem informasi bagi dosen. Dan karena sudah terintegrasi, untuk kampus-kampus nakal yang suka fiktif-fiktifan agak kesulitan. Selamat mendaftar SISTER.