Fokus Mengasah Kuku dan Taring, Bukan Hanya Mengisi Perut

Tidak dapat dipungkiri, pekerjaan mengajar di Indonesia masih berfokus pada jumlah jam mengajar. Teringat ketika di awal-awal saya menjadi tenaga pengajar honorer. Prinsipnya adalah mengajar sebanyak-banyaknya. Alhasil, berangkat pagi pulang malam hari. Rekan saya berkelakar, “dari terbit fajar hingga terbenam mata satpam”.

Namun di sela-sela melakukan aktivitas “kejar paket SKS” itu saya melihat beberapa rekan pergi ke luar kampus. “Ke mana mas?”, tanya saya dengan dugaan dia menjawab mengajar di kampus lain. Ternyata tidak, “kuliah”, jawabnya. Ternyata mengambil magister. Saya tertegun dan mulai berfikir ulang mengenai konsep mengajar sebanyak mungkin.

Ternyata benar, tidak beberapa lama kemudian aturan baru muncul, dosen harus S2. Ibarat macan, para dosen yang S1 seperti kurang tajam kuku dan taringnya, bahkan dipaksa S2. Sementara perut yang sudah kebanyakan diisi perlu beradaptasi untuk mengasah kuku dan taring di perkuliahan pascasarjana.

Bagaimana dengan bidang lain selain dosen? Ada sedikit pengalaman dari rekan saya yang suaminya bekerja di Industri, bagian SDM. Waktu itu saya lihat rumahnya masih sederhana dengan kendaraan mobil tua yang murah dan boros BBM. Istrinya bercerita suaminya sangat gemar “mengumpulkan” sertifikat-sertifikat keahlian. Selang beberapa tahun (tidak lebih dari 4 tahun), suaminya selalu pindah kerja ke kantor lain dengan salary yang lebih besar. Namun tetap dia masih gemar “mengumpulkan” sertifikat-sertifikat. Tentu saja mengumpulkan di sini artinya mengikuti ujian-ujian dan kursus-kursus keahlian, sesuai bidangnya yaitu SDM. Kini kehidupannya sangat baik dibandingkan dahulu.

Keahlian beragam, tidak harus sertifikat ataupun gelar/ijasah. Saya teringat ketika bekerja di bank. Saya sering memperhatikan para manajer-manajer dengan grade/level tinggi, karena memang kerjaan saya waktu itu memastikan infrastruktur IT divisi-nya berjalan normal. Kebanyakan mereka memiliki keahlian khusus yang tidak didapat dari perkuliahan, melainkan dari pengalaman dan pelatihan-pelatihan yang diikuti. Misalnya di bagian, kolektor, entah teknik apa yang digunakan, ketika dia memasuki bagian tersebut, kinerja penagihan berjalan dengan baik dibanding sebelumnya.

Ibarat sang macan. Memang mengisi perut itu penting, tetapi dengan cakar dan taring yang kuat dan tajam, dengan mudah makanan diperoleh. Kecuali memang ingin bekerja rutin tanpa tantangan dengan gaji yang mengalir rutin seadanya, pensiun dan menerima tunjangan yang cukup, itu pilihan. Tapi kalau dilihat dari sisi bangsa dan negara, tentu saja khawatirnya akan jadi mangsa macan-macan dari negara-negara lain. Macan-macan bertaring yang dulu gagah pun, satu persatu rontok seperti blackberry, nokia, fuji film, dan lain-lain. Apalagi munculnya fenomena disrupsi, bukan tidak mungkin fenomena ini merambah ke bidang-bidang nyaman lainnya seperti sekolah, kampus, dan sejenisnya. Sudah kan Anda mengasah kuku dan taring Anda hari ini?

Mengenal Istilah “SOLID” dalam Disain Berbasis Objek

Selain Unified Modeling Language (UML) dikenal istilah lain yang agak baru lagi, yaitu SOLID (dalam disain berbasis objek). Istilah ini muncul dari saran Uncle Bob (Robert C. Martin), yang berisi empat prinsip dalam disain berbasis objek. Lima prinsip tersebut antara lain:

1. S – Single-responsibility principle

Prinsip ini mewajibkan suatu kelas (class) sebaiknya hanya memiliki satu tugas. Jangan sampai satu kelas memiliki lebih dari satu tugas. Sebagai contoh suatu program bermaksud menghitung luas seluruh bentuk, misal lingkaran, bujur sangkar, dan lain-lain. Suatu kelas yang berisi perhitungan total area beserta outputnya sebaiknya dihindari. Sesuai prinsip “single-responsibility principle (SRP)” sebaiknya kelas totalArea(shape) dipisahkan dengan outputArea(area). Jadi kelas totalArea hanya berisi perhitungan area sementara outputArea memiliki tugas menampilkan keluaran apakah JASON, HTML, atau format lainnya.

2. O – Open-closed principle

Terbuka di sini menyatakan suatu kelas bisa di extend tetapi “closed” dalam artian tidak perlu memodifikasi kelas sebelumnya. Misal kasus sebelumnya, menghitung total luas area beberapa bangun. Dengan memisahkan kelas totalArea dan outputArea, SRP terpenuhi. Tetapi jika ingin menambah satu bentuk baru, misalnya segitiga maka kelas totalArea terkadang harus di-modif, terutama di loopingnya. Hal ini melanggar prinsip “tak memodif”. Untuk mengatasi hal tersebut, tiap kelas bentuk/bangun, Shape, menyertakan suatu interface berupa implement, yaitu metode/fungsi berisi penentuak jari2/sisi/parameter lain disertai luasnya, misalnya diberi nama shapeInterface. Kemudian kelas totalArea memiliki fungsi sum yang memanggil interface dengan for each terhadap seluruh bangun/bentuk. Jika ada satu bentuk/bangun baru, maka asalkan disertai interface dengan nama shapeInterface maka akan otomatis ikut terhitung. Dan karena tidak ada modif di kelas totalArea, maka prinsip “open-closed” terpenuhi.

3. L – Liskov substitution principle

Jika tipe S adalah sub-tipe dari tipe T, maka fungsi q(x) yang bisa menjalankan objek x dari tipe T bisa juga menjalankan q(y) dimana y adalah objek S.

“Let q(x) be a property provable about objects of x of type T. Then q(y) should be provable for objects y of type S where S is a subtype of T.”

Contoh sederhananya kembali ke kelas perhitungan luas. Karena volume adalah sub-tipe dari luas, maka perhitungan volume bisa mengambil fungsi dari perhitungan area/luas. Misal persegi panjang, maka volume balok bisa mengambil luas persegi panjang dikalikan tinggi, dengan memanfaatkan extend.

4. I – Interface segregation principle

Prinsip ini menganjurkan agar tidak memaksa pemesan/client mempunyai metode (method) yang tidak mereka butuhkan. Misalnya kita diminta menghitung bentuk 3D seperti kotak, bola, dll maka pada metode shapeInterface akan diisi luas dan volume yang harus dimiliki oleh kelas-kelas lain yang tidak memiliki volume (lingkaran, bujur sangkar, dll). Oleh karena itu agar tidak melanggar prinsip “interface segregation” yang memaksa perhitungan volume, maka perlu membedakan kelas solid dengan yang tidak memiliki volmue. Dengan kata lain perlu interface solidShapeInterface dengan fungsi perhitungan volume.

5. D – Dependency Inversion Principle

Prinsip ini mengharuskan tiap entitas tergantung dari hasil abstraksi (pemodelan fungsi dari kondisi real). Suatu kelas pengingat pasword, passwordReminder tidak boleh tergantung dari koneksi ke MySQL atau Oracle atau database lain. Jika ada pergantian jenis database, misal dari MySQL ke SQL Server, maka tidak melanggar juga prinsip ini “Open-closed principle” yang tidak boleh lagi memodifikasi fungsi sebelumnya (koneksi ke MySQL). Solusinya adalah menambah interface koneksi database, misal DBConnectionInterface. Jika sebelumnya class MySQLConnection implements DBConnectionInterface, jika diganti SQLSERVER maka tinggal menggati dengan SQLSERVERConnection implemetns DBConnectionInterface.

Prinsip SOLID ini sangat penting, itulah mengapa dalam videonya di youtube bu Inge menyinggung masalah SOLID ini. Bahkan merupakan hal yang wajib diketahui oleh para developer.

Referensi

https://scotch.io/bar-talk/s-o-l-i-d-the-first-five-principles-of-object-oriented-design

Merubah Warna Latar Pas Foto dengan MS Word

Beberapa hari yang lalu anak saya diminta menyerahkan pas foto 3×4 dengan latar belakang warna merah untuk daftar ekstra kurikuler PMR. Padahal dua bulan yang lalu saat pendaftaran diminta pas foto dengan latar belakang biru. Memang beberapa institusi memiliki aturan tertentu tentang latar belakang foto ini, misalnya untuk perpanjangan visa ketika saya di Thailand mengharuskan warna latar putih. Nah, postingan singkat ini bisa dijadikan rujukan cepat bagi yang ingin mencetak foto sendiri dengan warna latar sesuai permintaan. Cara paling mudah adalah dengan Microsoft Word karena aplikasi ini paling banyak digunakan.

Langkah-langkah Pembuatan

Setelah MS Word dan gambar foto siap, buka file baru di MS Word. Langkah-langkah yang diperlukan untuk merubah background singkatnya adalah:

  • Import gambar ke MS Word
  • Hapus background dengan klik ganda pada gambar lalu pilih remove background
  • Tambahkan background baru

Sederhana ternyata proses perubahan warna latar karena MS Word menyediakan fasilitas menghapus background. Hal-hal yang perlu diperhatikan adalah saat me-remove background hati-hati karena terkadang pakaian bagian bawah ikut terhapus juga.

Untuk menambahkan background baru bisa dengan dua cara. Cara pertama adalah menyisipkan kotak baru dengan warna sesuai keinginan. Cara ini lebih fleksibel karena bisa menambah gambar-gambar latar sekehandak hati. Tapi jangan lupa setting background di belakang gambar foto.

Cara Kedua adalah dengan mengisi (fill) kotak gambar dengan mengklik kanan dilanjutkan dengan mengisi/fill dengan warna sesuai keinginan. Perhatikan langkah untuk cara kedua berikut ini. Klik kanan pilih format picture dan pilih simbol cat dituang.

Walaupun terlihat sederhana, butuh juga latihan dalam menghapus background. Sebelum dilanjutkan dengan mengganti background yang baru, pastikan tidak ada komponen gambar yang ikut terhapus (baju, lengan, dan lain-lain). Selamat mencoba, semoga informasi sederhana ini bermanfaat.

Matrix Confusion pada Matlab

Matriks Confusion digunakan untuk mengukur akurasi dan memvalidasi model yang dibuat. Untuk menghitungnya dapat dilihat pada rumus yang disertakan pada pos terdahulu. Untuk mempermudah perhitungan, Matlab menyediakan fasilitas untuk menghitung matriks confusion ini.

Data Aktual Versus Data Prediksi

Untuk membuat matriks confusion diperlukan dua data yaitu data real/aktual dan data prediksi yang dihitung dari model. Berikut ini contoh data yang akan dibuat matriks confusion-nya. Buka command window dan masukan kode berikut (

  • yaktual=transpose([0 1 1 0 1 1 1 0]);
  • yprediksi=transpose([1 1 1 0 1 0 1 0]);

Untuk membuat matriks confusion, dibutuhkan fungsi confusionmat yang memerlukan dua data masukan tersebut di atas. Jalankan kode berikut:

  • [matriks,label]=confusionmat(yaktual,yprediksi)
  • matriks =
  • 2 1
  • 1 4
  • label =
  • 0
  • 1

Perhatikan matriks berwarna merah di atas, tampak matriks confusion sebagai berikut:

Jadi dapat diketahui a, b, c, dan d berturut-turut 2, 1, 1, dan 4. Jadi dapat dihitung recall, precision, false positive, false negative.

Recall atau dengan nama lain True Positif:

TP=4/(1+4)=4/5=0.8. Nilai lain dengan mudah dapat dihitung.

Kasus Lebih dari Dua Label

Matriks Confusion bisa juga untuk kasus lebih dari dua label. Misal ada dua data dengan tiga label, matriks confusion-nya adalah:

  • yaktual=transpose([0 1 1 2 1 2 1 0]);
  • yprediksi=transpose([0 1 2 2 1 2 1 0]);
  • [matriks,label]=confusionmat(yaktual,yprediksi)
  • matriks =
  • 2 0 0
  • 0 3 1
  • 0 0 2
  • label =
  • 0
  • 1
  • 2

Tampak pada matriks confusion label 2 ada satu error. Precision-nya = 2/(1+2) = 2/3 (lihat rumus di pos yang lalu). Semoga bermanfaat.

Mengukur Akurasi – Confusion Matrix

Untuk proyeksi yang prediksinya berupa data kontinyu, kebanyakan menggunakan Mean Absolute Percent Error (MAPE). Untuk mengukur hasil uji yang berisi True dan False Positive atau Negative diperlukan matriks Receiver Operating Characteristic (ROC). Tetapi jika datanya diskrit atau berupa kelas, misalnya baik, cukup, kurang, maka biasanya peneliti menggunakan matriks confusion.

Dasar-Dasar Matriks Confusion

Paling mudah adalah dengan menggunakan data dua kategori: Positif dan Negatif. Seperti tampak pada gambar di bawah ini, Lihat rujukannya.

Secara logika, akurat bila aktualnya a dan diprediksi a atau aktualnya d dan diprediksi tepat d. Namun sebelumnya perlu mengetahui istilah recall dan precision.

Recall. Dikenal dengan istilah true positive rate (TP) proporsi kasus positif (d) yang secara akutal teridentifikasi (c dan d). Jadi rumusnya:

Precision. Adalah proporsi prediksi positif yang tepat dengan seluruh prediksi positif (b dan d). Rumusnya:

False Positif (FP). Istilah ini banyak digunakan untuk pengecekan biometriks, seperti sidik jari. Nilai ini besar jika banyak sidik jari yang harusnya dimiliki orang lain tetepi diakui oleh yang diuji. Rumusnya adalah perbandingan atas kesalahan yang harusnya negatif (milik orang lain) tetapi diaku miliknya (b):

False Negatif (FN). Adalah kebalikan dari false positif.

True Negatif (TN). Mirip recall tetapi yang dibandingkan adalah negatifnya.

Sekian postingan tentang matiks confusion, mudah-mudahan bisa menjadi sitasi cepat jika lupa istilah-istilah di atas. Postingan berikutnya akan dibahas penggunaannya dalam Matlab.

Generasi Y dan Z yang Manja

Manusia tidak lepas dari aspek spatial (lokasi) dan temporal (waktu). Selain beda lokasi, maka tidak heran jika beda generasi beda pula karakternya. Sebagai informasi, dikenal lima generasi yaitu: i) baby boomer (lahir sekitar 60-an), ii) generasi X (lahir 1961-1980), iii) generasi Y/milenial (lahir 1981-2000), dan iv) Generasi Z (lahir 2000-2010), dan Alpha (lahir 2010 – sekarang).

Kelima generasi tersebut berbeda dikarenakan situasi dan kondisi yang dihadapi selama hidupnya, salah satunya adalah aspek teknologi, terutama informasi dan komputer (infokom) yang dimotori oleh dunia maya (internet). Postingan ini sedikit memberi gambaran kondisi dua generasi (Y dan Z) berdasarkan pengalaman pribadi.

Karakteristik Mahasiswa Generasi X

Karakter ketika saya kuliah (generasi X) sangat berbeda dengan generasi Y (mahasiswa sekarang). Dulu andalannya telepon dan SMS. Akses informasi hanya lewat buku, radio dan televisi. Waktu itu mahasiswa penyendiri seperti saya sudah pasti terbengkalai karena informasi harus saya peroleh sendiri. Mahasiswa yang supel akan dengan mudah memperoleh informasi penting yang mendukung perkuliahan. Jadilah saya kuliah S1 enam tahun. Tapi puas juga, karena itu hasil murni fikiran saya sendiri. Skripsi saya pun unik di antara mahasiswa-mahasiswa yang lain yang menurut saya jika tulisan mereka di-turnitin atau cek plagiarisme pasti akan mirip dengan mahasiswa lain. Tentu saja waktu itu tidak ada tools seperti itu, juga skripsi masih hardcopy.

Generasi ini di Indonesia kebanyakan hidup di jaman p Harto. Inget slogan “Piye, penak jaman ku tho?”. Ya, zaman ini merupakan zaman yang tenang, nyaman, walaupun hidup seadanya. Hanya ada konflik di sebagian kecil wilayah tanah air (misal Aceh). Jadi rekan-rekan yang seumuran dengan saya pasti banyak kenangan-kenangan manis ketika kecil dan sekolah dulu. Alhasil dalam bekerja dan hidup berkeluarga cenderung seimbang (lihat: link ini). Generasi ini juga cenderung hidup linear, maksudnya sekolah, kuliah, kerja, berkeluarga, dan seterusnya. Kalau ditanya pun cenderung jadi dokter, insinyur, pilot, dan karir lainnya. Repotnya generasi ini cenderung kurang mandiri, hanya beberapa mungkin yang karena didikan orang tuanya yang pengusaha, tertarik dengan ber-wirausaha. Oiya, generasi ini termasuk setia, tetap bekerja asalkan digaji cukup, walaupun tidak sesuai dengan minatnya. Mungkin pembaca pernah mendengar di Jepang rata-rata perusahaan menganut “bekerja seumur hidup”, maksudnya jarang pegawai yang berganti-ganti perusahaan tempat dia bekerja. Namun generasi berikutnya, tidak tertarik konsep tersebut lagi.

Karakteristik Mahasiswa Generasi Y

Generasi Y lahir ketika IT sudah berkembang pesat, terutama internet. Perkembangan tersebut memicu kemudahan dalam memperoleh informasi. Tinggal “google” saja, semua informasi tersedia. Mereka memiliki ide-ide yang inovatif dan pandangannya pun visioner, jauh ke depan. Mungkin hanya jaman generasi X ke bawah saja yang senang dengan istilah reuni, acara-acara mengenang masa lalu, club eightees, golden memory, dan sejenisnya. Mereka suka dikritik. Ingat acara-acara idol yang disertai kritik langsung selepas pentas? Bayangkan jika generasi X yang pentas dan selesai pentas dikritik, pasti mukanya langsung merah kayak kepiting rebus, he he. Selfi bagi mereka hal biasa, jika ada yang mengkritik masalah selfi ini, justru si pengkritik yang dibilang aneh.

Generasi yang Kreatif, Inovatif, tapi Manja

Tidak semua manja itu buruk. Bahkan jika semua orang adalah orang manja, maka tidak ada lagi kata manja. Untuk yang saat ini mengajar mahasiswa generasi Y ini, tidak ada cara lain selain memahami kemanjaan mereka.

Ketika mereka bertanya dan kita menjawab dengan menyuruhnya membaca, sudah pasti mereka kecewa. Walaupun kita beri lusinan ebook gratis, tidak akan memuaskan mereka. Karena mereka sudah pasti dengan mudah memperoleh ebook tersebut. Jawab saja sebisanya, kalau tidak bisa jawab saja tidak bisa, beres. Generasi manja ini sangat jago “berdagang” dan memasarkan diri. Mereka juga mampu memahami rekan-rekan mereka yang sama-sama manja. Ada beberapa postingan saya yang tidak cocok dengan generasi manja ini dan astaga, komentarnya pedas sekali (tidak menjumpai info yg diinginkan, padahal infonya pada postingan berikutnya).

Beberapa waktu yang lalu beredar kalau ujian nasional, dan juga ujian masuk PTN yang katanya sulit. Padahal dari dulu yang begitu menurut saya, cuma generasi ini saja yang mengucapkan kata sulit. Belum tentu yang mengatakan sulit itu nilainya buruk. Jangan-jangan kalau dia yakin benar semua barulah dikatakan mudah.

Beberapa buku sudah saya tulis. Penerbit sepertinya sudah pandai dan menyadari kebanyakan konsumen adalah pelajar-pelajar manja. Ada pakar yang nyinyir terhadap buku-buku yang menurutnya instan dan tidak layak terbit dibanding buku-buku terkenal karangan profesor-profesor luar negeri. Ya, begitulah generasi manja. Sudah syukur mereka baca buku-buku instan yang memanjakan mereka, jika tidak akan kalah oleh informasi-informasi lain yang lebih memanjakan mereka di internet. Buatlah potongan-potongan informasi penting yang menarik perhatian mereka ketimbang timbunan informasi-informasi berharga tetapi tidak menarik bagi mereka. Oiya, mereka sangat setia terhadap sesuatu yang sesuai dengan minatnya dan terkadang tidak memperdulikan besar kecilnya gaji. Jika merasa tidak dihargai, mereka cenderung pindah kerja ke tempat lain yang menghargai mereka. Jadi … hargailah mereka, dan juga pihak-pihak yang berusaha merhargai mereka ya.

Polemik Jurusan Sistem Informasi

Di bidang informasi dan komputer (INFOKOM) dikenal dua jurusan yang biasanya ada bersamaan di kampus-kampus yaitu: Teknologi Informasi dan Sistem Informasi, selain tiga lainnya (ilmu komputer, teknik komputer, dan rekayasa perangkat lunak). Di antara kelima bidang infokom tersebut (terkadang diistilahkan dengan “computing”) yang paling membingungkan adalah sistem informasi (information system). Bukan hanya membingungkan bagi para mahasiswa, bahkan dosen/pengajarnya pun memiliki pendapat-pendapat yang berbeda. Bahkan tanggal 2 Juli 2018 nanti akan diadakan pertemuan para kaprodi SI untuk merumuskan kurikulum SI ke depan dan membedakannya dengan jurusan-jurusan lainnya, terutama tetangga terdekatnya yaitu teknologi informasi.

Banyak referensi-referensi yang mendefinisikan secara rinci apa itu sistem informasi. Salah satunya dari [1] yang secara sederhana merinci komponen sistem informasi harus mencakup komponen-komponen berikut:

  • Perangkat Keras
  • Perangkat Lunak
  • Data
  • Orang
  • Proses

Karena cakupannya tersebut, SI menjadi rancu karena terkadang hanya beberapa bagian saja yang dibahas, padahal akan tumpang tindih dengan dengan jurusan lain, misalnya jika hanya membahas perangkat keras, lunak dan data maka akan berimpitan dengan jurusan teknologi informasi. Mungkin video promosi ini sedikit memperkenalkan apa yang dipelajari di jurusan SI.

Karena konten yang ada aspek sosialnya (manusia), maka SI terkadang membutuhkan ilmu-ilmu sosial dan cenderung “lebih mudah” karena tidak terlalu matematis. Hasilnya beberapa kampus yang membuka dua jurusan SI dan TI banyak yang lebih suka memilih TI ketimbang SI. Mungkin salah satunya adalah gengsi. Hal-hal berikut mungkin perlu dilakukan para praktisi atau dosen yang memilih SI sebagai kompetensi, termasuk saya.

Bangga Terhadap Bidang Sistem Informasi

Riset TI memang menantang, menarik, dan perkembangannya sangat cepat. Sebenarnya karena TI bagian dari SI (hardware, software, dan data) maka perkembangan SI pun otomatis cepat pula. Bahkan dulu Apple menciptakan Ipad terlebih dahulu dibanding Iphone. Setelah Ipad siap diluncurkan, divisi SI melakukan riset dan ternyata banyak yang meminta perangkat kecil. Alhasil divisi TI menswitch ke pembuatan Iphone lebih dahulu, dan ternyata sukses. Bayangkan tanpa ada peran SI waktu itu. Selalu, aspek finansial menjadi fokus. Barang canggih seperti apapun jika tidak ada yang suka dan membelinya, akan di-grounded juga.

Masalah lainnya biasanya karena TI dan SI dalam satu fakultas/divisi yang sama, cenderung kurikulum tidak jauh berubah. Banyak kejadian mahasiswa yang pindah jurusan dari SI ke TI karena merasa bobotnya sama tetapi kesan kuliah TI lebih “OK” dibanding SI. Ada dua kemungkinan, TI yang agak melenceng ke SI atau SI yang tidak bisa menemukan core utama jurusan SI. Namun tentu saja ada pembobotan/proporsi antara teori dan aplikasi di jurusan SI [2], [3]. Perhatikan sistem dan struktur lebih fokus ke sisi aplikasi (terapan).

Cukup Sistem Informasi saja, Jangan Dipecah Lagi

Saya termasuk yang baru masuk ke jurusan SI (karena kuliah di field of study: information management). Karena sifatnya yang general, ternyata muncul jurusan-jurusan baru yang keluar dari SI karena aspek penamaan yang lebih menjual, seperti IT bisnis, bisnis digital, e-learning, dan lain-lain. Sebenarnya sistem informasi geografis (SIG) itu bagian dari SI, termasuk IT bisnis dan sejenisnya. Karena sudah terbentuk ya menurut saya tidak jadi masalah, tapi untuk yang mau membentuk sebaiknya ditahan dulu. Memang presiden Jokowi mengeluarkan ide jurusan kopi, jurusan toko online, dan sejenisnya. Seperti yang diucapkan Prof. Ucok, sebenarnya ilmu dasarnya kan sama saja, tinggal diberi saja mata kuliah atau konsentrasi itu. Termasuk sistem informasi kopi .. kalau mau, he he. Mengapa ini penting, sebab tidak tertutup kemungkinan jurusan SI akan musnah karena masih-masing mencetuskan jurusan-jurusan uniknya.

Yuk .. Gabung ke Sistem Informasi

Memang jurusan SI merupakan jurusan unik yang multidisiplin. Banyak melibatkan ilmu-ilmu lain. Dan saya yakin banyak dosen-dosen yang sebenarnya SI tetapi memilih TI sebagai core riset yang diminatinya. Bagi yang lebih suka ngajar yang berbau analis, manajemen-manajemen, dan risetnya di decision support system (DSS), Structural Equation Modelling (SEM), dan sejenisnya, perlu berifikir lagi apakah terus di TI atau SI. Sekian, semoga bisa jadi referensi.

Referensi

[1]    D. T. Bourgeous, “What Is an Information System?,” Inf. Syst. Bus. Beyond, pp. 5–64, 2014.

[2]    T. D. Susanto, Sebuah Kajian Akademik Berdasarkan Dokumen Computing Curricula 2005 Computing sebagai sebuah Rumpun Ilmu. 2005.

[3]    H. Topi, J. s. Valacich, R. T. Wright, and K. M. Kaiser, “Is 2010,” 2010.

Merekam dan Memainkan Suara dengan Matlab (Versi Lama dan Baru)

Banyak aplikasi cerdas dengan Matlab yang membutuhkan pengolahan sinyal suara. Sebelum mengolah, salah satu fungsi penting adalah menangkap suara yang akan diolah. Postingan berikut ini membahas fungsi-fungsi yang diperlukan untuk menangkap suara, termasuk juga membunyikan hasil tangkapan suara tersebut (untuk menguji apakah fungsi perekaman berhasil).

Versi Lama

Matlab versi 2008 (versi 7.7) sedikit berbeda dengan versi terbaru. Versi lama ini menggunakan fungsi wavrecord, wavplay, dan wavwrite yang berfungsi berturut-turut untuk merekam, memainkan dan menulis. Kode singkat berikut ini bermaksud merekam, menyimpan dan memainkan suara. Tentu saja diperlukan fasilitas mic dan speaker (biasanya sudah ada pada setiap laptop).

  • clear all;
  • fs=8000;
  • y= wavrecord(5.0*fs, fs, ‘double’); %merekam suara
  • wavwrite(y,fs,‘aiueo.wav’);        %simpan rekaman ke hardisk
  • wavplay(y,fs);                %mainkan hasil rekaman
  • figure,plot(y);                %sinyal hasil rekaman di plot

Versi 2013 ke atas (Baru)

Sebenarnya kode sebelumnya bisa digunakan, hanya saja ada pesan (warning) dari Matlab bahwa wavrecord dan wavplay sebaiknya diganti dengan audiorecorder dan audioplayer untuk merekam dan memainkan.

Ganti kode sebelumnya dengan fungsi yang terbaru berikut ini, lihat referensinya di link resminya. Disini frekuensi sampling dan parameter lainnya standar 8000 Hz dan 8 bit.

  • % Record your voice for 5 seconds.
  • recObj = audiorecorder;
  • disp(‘Start speaking.’)
  • recordblocking(recObj, 5);
  • disp(‘End of Recording.’);
  • % Play back the recording.
  • play(recObj);
  • % Store data in double-precision array.
  • myRecording = getaudiodata(recObj);
  • % Plot the waveform.
  • plot(myRecording);

Jika fungsi menangkap bisa dijalankan, maka untuk mengolah lanjut dapat dilakukan dengan mudah. Banyak terapan-terapan yang menggunakan sinyal suara, antara lain:

  • Pengenalan suara
  • Deteksi kelainan detak jantung
  • Deteksi kerusakan mesin, dll

Suara yang terekam dapat dilihat grafiknya seperti di bawah ini. Sekian, semoga postingan singkat ini bermanfaat.

Untuk Rekan-rakan Dosen di JABOTABEK dan sekitarnya

Seperti udara yang kita hirup setiap hari, manfaatnya akan terasa ketika sesak nafas atau polusi di mana-mana. Ketika biasa saja, terkadang tidak dijumpai rasa bersyukur. Begitu pula untuk rekan-rekan dosen yang tinggal dekat pusat ibukota, Jakarta. Cerita ini mungkin bisa menginspirasi.

Dekat dengan RISTEK-DIKTI

Seperti postulat dalam geografi, banyak hal berpengaruh tetapi jarak sangat mempengaruhi, begitu juga dengan para dosen. DIKTI yang merupakan departemen yang mengurusi dosen dan periset menjadi andalan dosen-dosen di seluruh Indonesia. Walaupun ada kopertis di tiap-tiap wilayah, tetapi tetap saja mengurus hal-hal tertentu harus ke DIKTI.

Teringat dulu ketika gagal wawancara beasiswa luar negeri (LN) dan ternyata ada wawancara ulang beberapa bulan kemudian. Repotnya info dikirim dan harus datang ke Jakarta dalam waktu 3 hari. Tadinya saya fikir itu untuk calon karyasiswa (sebutan untuk penerima beasiswa) di sekitar Jabotabek saja. Ternyata ya ampun, seluruh Indonesia dari timur hingga barat. Ketika berkumpul menunggu wawancara banyak yang sibuk mencari tiket balik, padahal belum tentu keterima (beberapa terkendala masalah umur dimana usia max 45 untuk beasiswa LN). Repotnya lagi, info itu harus lihat sendiri di web beasiswa, kalau tidak melihat ya bisa saja tidak ada yang mengingatkan. Untungnya saya yang tinggal di Bekasi langsung meluncur, walau masih nyasar juga sih.

Bagi yang pernah kuliah ke luar negeri, pasti merasakan ketika berangkat harus lewat Jakarta (naik pesawat Garuda). Jadi dari daerah seluruh Indonesia, harus transit dulu ke Jakarta sebelum lanjut ke negara tujuan. Memang sih biasanya jarang ada yang langsung ke luar negeri dari daerah selain Jakarta. Bagi saya, yang memang harus ke Jakarta untuk ke berangkat. Salut juga ketika berangkat berjumpa dengan rekan dari Papua yang harus transit dulu ke Jakarta sebelum lanjut ke luar. Adanya wawancara di luar Jawa sepertinya sangat membantu rekan-rekan dari wilayah lain (terutama timur). Pembekalan pra keberangkatan pun di sana.


Source: http://setkab.go.id/wp-content/uploads/2015/08/Ceramah-LPDP.jpg

Tempat Kedutaan-Kedutaan Besar

Ketika mau berangkat belajar ke luar negeri tentu saja membutuhkan visa khusus, yaitu visa pelajar. Nah, mengurusnya tentu saja ke dubes yang dituju. Letaknya tentu saja di ibukota, jadi mau tidak mau harus ke Jakarta. Repot juga kan yang tinggal di daerah, tetap harus ke Jakarta dan tidak boleh diwakilkan.

Thai Embassy in Jakarta

Selain itu, banyak informasi-informasi lain yang hanya didapat di dekat ibukota, terutama gosip-gosip tertentu, yang walaupun kadang hoax, tetapi tetap saja tahu lebih dahulu jika memang tidak hoax. Sekian dulu, dan besok siap-siap berangkat ke kantor pusat DIKTI untuk mengambil berkas penyetaraan ijazah .. lagi-lagi harus ke Jakarta walaupun proses penyetaraannya sudah online. Tapi jangan khwatir, bisa diwakilkan untuk mengambilnya. Jadi rekan-rekan di kopertis III dan IV (Jabotabek), yuk lebih semangat lagi.

Penyetaraan Ijazah Luar Negeri

Berbeda dengan rekan-rekan yang studi lanjut di dalam negeri, untuk yang kuliah di luar negeri setelah selesai dan ijazah diperoleh, harus melakukan proses terkahir, yaitu penyetaraan ijazah luar negeri. Sejak 1 Maret 2018, untuk melaksanakan penyetaraan ijazah dapat dilakukan secara online di situs resminya: http://ijazahln.ristekdikti.go.id/ijazahln/.

Sesuai dengan namanya, yaitu “penyetaraan”, maka proses tersebut tidak bermaksud mengakui atau tidak mengetahui ijazah yang diterbitkan dari luar negeri, “Penyetaraan Ijazah Luar Negeri Bukan dimaksudkan untuk menentukan diakui atau tidaknya ijazah dan gelar yang diperoleh seseorang dalam menempuh pendidikannya diluar negeri, akan tetapi lebih kepada menentukan gelar yang diperoleh tersebut setara dengan ijazah jenjang pendidikan yang berlaku di Indonesia”.

Mempersiapkan Berkas-Berkas

Berkas yang utama tentu saja scan ijazah dan transkrip. Karena dibatasi beberapa mega saja, perlu diturunkan resolusinya. Ada dua pilihan dalam mengajukan yaitu apakah yang mengajukan seorang dosen atau tidak. Terus terang saya belum mengetahui yang bukan dosen, kalau yang untuk dosen banyak berkas-berkas yang harus disiapkan. Ijin belajar perlu juga dipersiapkan. Tentu saja dosen pasti memilikinya. Surat Keterangan Pendamping Ijaza (SKPI) yang menyertai ijazah. Banyak pertanyaan surat tersebut di grup studi lanjut yang saya ikuti. Untungnya di kampus tempat saya kuliah menyediakan surat keterangan mengenai ijazah yang saya peroleh, misalnya mengatakan bahwa bahasa pengantarnya adalah bahasa Inggris dan lain-lain. Jadi sebelum balik, ada baiknya meminta surat itu, yang kebanyakan tidak diberikan jika tidak meminta (opsional). Repot kan kalau sudah balik tetapi lupa menyiapkan surat tersebut. Nah, berkas menjengkelkan lain yang perlu disiapkan adalah syllabus perkuliahan yang biasanya diperoleh oleh mahasiswa baru dalam bentuk buku panduan akademik. So, jangan sampai lupa. Harus discan terpisah karena situs penyetaraan ijazah meminta tiga berkas yaitu: silabus, jurusan, dan gelar akademik.

Tahapan Proses

Langkah pertama adalah registrasi lewat email. Setelah itu pendaftaran dapat dilakukan, dilanjutkan dengan upload berkas-berkas hingga statusnya menjadi draft. Ada sedikit kendala ketika upload yang kerap gagal. Mungkin harus diverifikasi dahulu sebelum boleh upload. Hasil verifikasi dapat diketahui lewat email, jadi jangan segan-segan lihat email karena setiap tahapan akan dikabari via email. Setelah uplad berhasil, maka status menjadi diajukan. Selang beberapa hari, proses akan berubah menjadi diterima yang artinya ijazah luar negeri kita sudah disetarakan.

Pengambilan Berkas

Sayangnya berkas harus diambil langsung (atau dengan surat kuasa) ke gedung DIKTI di Jakarta. Repot kan jika tinggal di Papua atau yang bekerja di luar negeri. Kalau ada fasilitas kirim online mungkin sip deh. Oiya, diterima belum bisa diambil karena menunggu peroses pencetakan dan pengesahan. Diambil di jam kerja senin – jumat. Parkir di gedung sebelahnya ya kalau ga kebagian karena selalu penuh. Status juga dapat dilihat dari link berikut, tanpa login terlebih dahulu (bahaya juga ya).

Jangan Hilang Fokus Ya …

Fokus ibarat sasaran anak panah atau permainan dart. Tanpa fokus akan bingung akan diarahkan ke mana anak panah. Tapi, walau fokus ada terkadang si pemain lupa dengan fokus sasaran tersebut. Akibatnya panah tidak kunjung menancap ke sasaran. Begitu juga dengan sasaran-sasaran lainnya, misalnya untuk dosen yaitu ingin studi lanjut ke S3.

Kampus negeri biasanya sudah terpola dengan jelas tangga karirnya, beda dengan kampus swasta yang mengharuskan dosen kreatif, baik untuk memenuhi kebutuhan hidup maupun dalam menaiki tangga ke jenjang yang lebih tinggi (pangkat/golongan dan pendidikan). Apalagi jika kampus swasta tersebut bukan kampus kelas atas yang memang memacu dosen-dosennya untuk meningkatkan jenjang karirnya. Berikut hilang fokus yang menurut pantauan saya biasa terjadi.

Kepangkatan

Dosen memiliki jenjang kepangkatan: tenaga pengajar (tanpa pangkat), asisten ahli, lektor, lektor kepala (assoc. profesor) dan profesor. Pangkat tersebut tidak diperoleh dengan otomatis mengikuti masa kerja tetapi harus mengumpulkan poin yang dikenal dengan istilah KUM. Ketika saya pindah dari satu kampus yang memperhatikan pangkat dengan kampus baru yang kurang memperhatikan pangkat tampak nuansa yang berbeda. Kaget juga saya yang kerja sambil ngajar memiliki pangkat asisten ahli melihat dosen di kampus baru saya yang kebanyakan masih berstatus tenaga pengajar. Yang anehnya banyak yang masih S1, padahal saya melihat kualitas mereka lebih baik dari kampus saya sebelumnya. Ketika melihat ekspresi mereka yang biasa-biasa saja tanpa beban sepertinya mereka tidak melihat fokus ke depan (jenjang karir). Barulah ketika pemerintah mengharuskan dosen S2, ditambah adanya sertifikasi dosen, baru mereka panik dan memperhatikan pangkat dan pendidikan lanjut.

Pendidikan Doktor

Ini lebih berat dari kepangkatan, karena membutuhkan dana, fokus, dan terkadang ada sesuatu yang dikorbankan (waktu dengan keluarga, mengajar, kehilangan tunjangan serdos, dan lain-lain). Namun melihat paniknya dosen-dosen senior yang berusia di atas 50 tahun karena tidak diperkenankan lagi memperoleh beasiswa, sepertinya ada yang tidak beres. Sebenarnya logis saja, ketika S2 saja enggan, apalagi berfikir untuk S3 yang membutuhkan energi lebih. Menurut saya, lagi-lagi biang keroknya kehilangan fokus.

Banyak usaha-usaha dilakukan untuk meningkatkan dosen-dosen S3, salah satunya misalnya doctoral bootcamp. Tetapi walaupun bagus juga, mengasah fokus, tetapi setelah acara selesai, kebanyakan peserta kehilangan fokus lagi dan asyik dengan kesehariannya (mengajar, riset, dan mengurus kampus). Untungnya beberapa dosen yang tidak kehilangan fokus dan berhasil studi lanjut, bisa memicu fokus rekan-rekannya untuk studi lanjut, apapun caranya.

Problem Usia 50 Untuk Beasiswa

Di grup WA banyak protes ke pemerintah karena dibatasinya usia untuk memperoleh beasiswa. Pada dasarnya pemerintah tidak melarang usia di atas 50 untuk studi lanjut, hanya beasiswa saja yang tidak boleh lagi mengajukan. Info dari pewawancara yang saya ikuti, katanya itu aturan dari menteri pendayagunaan aparatur negara. Selain alasan-alasan lainnya yang tidak saya mengerti.

Prinsip life long learning sepertinya tidak menghalangi orang untuk belajar, termasuk mengambil kuliah doktoral, umur berapapun. Hanya saja jangan lupa faktor-faktor lain yang menyertai usia tua, salah satunya adalah kesehatan. Bukan menakuti-nakuti, tetapi cerita berikut bisa diambil hikmahnya untuk persiapan bagi yang ingin kuliah di usia mendekati 50 tahun.

Ketika itu saya mengunjungi rekan saya yang divonis kanker stadium akhir. Suaminya bercerita bahwa memang ada riwaya dari keluarga. Tetapi kejadian muncul tiba-tiba ketika baru saja ambil S3 dan dosen-nya termasuk dosen “ribet”. Beberapa kali bolak-balik revisi disertasi/risetnya dengan jarak yang cukup jauh (bekasi – bandung). Ditambah lagi anak yang harus diurus, membuat beban fikiran bertambah. Mungkin itu penyebab penyakitnya tumbuh. Walaupun umur di tangan Allah, tetapi jangan lupa kesehatan, dan meninggalnya orang yang sedang belajar pasti akan dibalas ganjaran setimpal oleh Allah s.w.t. Sedih juga ketika melayat ke rumahnya, semoga amal ibadanya diterima Allah .. amiin. Usia beliau tidak jauh berbeda dengan saya, mendekati 40 ketika kuliah.

Berikutnya rekan kuliah saya yang “pas” 50 tahun. Aturan di kampusnya, akan dibiayai kuliah asal usia tidak melebihi 50 tahun. Beasiswa yang diperoleh dari kampus asal karena beasiswa pemerintah untuk kuliah luar negeri tidak boleh lebih dari 45 tahun. Akhirnya rekan saya bisa berangkat. Hanya saja masalah muncul, yaitu kesehatan. Darah tinggi yang sudah lama diderita, muncul di saat kuliah. Ditambah lagi obat-obatan yang lupa dibawa memicu “stroke” yang mengharuskan opname 2 minggu sebelum akhirnya menghembuskan nafas terakhir. Namun banyak juga yang berhasil lulus di usia 50-an, tetapi kebanyakan dengan susah payah (termasuk saya .. ). Semoga bagi rekan-rekan yang ingin lanjut S3 tidak kehilangan fokus., bisa studi lanjut, lulus, dan toga “strip 3” bisa dikenakan.

Sebenarnya kehilangan fokus tidak masalah karena mudah sekali menemukan fokusnya lagi asal ada yang mengingatkan (rekan dosen lainnya dan pimpinan), beda dengan yang gagal fokus ..

Menghitung Mean Absolute Percent Error (MAPE) dengan MATLAB

Bagi yang berkecimpung dengan dunia peramalan (forecast) pasti akan menjumpai besaran Mean Absolute Percent Error (MAPE). Besaran ini bermaksud mengukur keakuratan hasil peramalan. Sesuai dengan namanya, MAPE memiliki satuan persentase (pecahan). Kata “mean” sendiri digunakan ketika ada banyak data yang akan dibandingkan dengan data realnya. Rumusnya adalah sebagai berikut:

Dari rumus di atas, jika Actual sama dengan Forecast maka MAPE berharga nol, yang artinya sangat akurat. Perhatikan contoh berikut ini.

Ada empat bulan ramalan, dengan tiap bulan memiliki error. Totalnya dengan rumus MAPE di atas diperoleh 17,6%. Untuk memudahkan perhitungan terkadang diperlukan aplikasi, misalnya Matlab. Error sendiri dihitung dengan fungsi berikut.

  • errors = gsubtract(Actual,Forecast)
  • errors = gsubtract(112.3,124.7)
  • errors =
  • -12.4000

Sayangnya untuk MATLAB 2008b fungsi gsubtract tidak ada (gunakan versi terkini, 2013 ke atas). Jadi diperoleh percent error, misal untuk bulan pertama, sebesar:

  • absolutePercentError=abs(errors)/112.3
  • absolutePercentError =
  • 0.1104

Seperti terlihat pada tabel di atas (11.0%). Untuk menghitung MAPE dapat menggunakan fungsi mean untuk mencari rata-rata.

  • errors = gsubtract(actual,forecast)
  • errors =
  • -12.4000 4.7000 32.3000 38.9000
  • mape = mean(abs(errors./actual))
  • mape =
  • 0.1755

Untuk menggunakan metode NARXNET dalam meramal data yang akan datang silahkan buka postingan yang lalu. Sekian, semoga bermanfaat dan karena hari ini hari raya idul fitri, saya mengucapkan “MINAL AIDIN WALFAIDZIN, mohon maaf lahir batin”.

Referensi:

Link: https://www.forecastpro.com/Trends/forecasting101August2011.html

Scopus vs Thomson – Mana yg Lebih Baik?

Ketika berbicara mengenai pengindeks internasional, tidak akan lepas dari dua nama pengindeks yaitu Scopus dan Thomson. Keduanya merupakan pengindeks terbaik di dunia. Thomson, yang dikenal dengan Web of Science (WoS) sudah lama muncul, tetapi Scopus mulai menarik minat para peniliti dunia sejak kemunculannya di tahun 2004. Postingan ini muncul karena grup WA ada yang share berita bahwa jurnal tidak harus terindeks Scopus, via media indonesia online link berikut.

Disebutkan bahwa ada alternatif pengindeks lain selain Scopus, yaitu JJ Thomson dan Copernicus. Saya sedikit tersenyum karena Thomson justru menurut saya lebih sulit dimasuki. Ibarat minta keringanan malah dikasih yang lebih berat. Mungkin Copernicus lebih mudah, tetapi banyak terindikasi jurnal-jurnal predator di dalamnya, info dari wikipedia ini. Mungkin paper berikut bisa menjelaskan perbandingan antara Scopus dengan Thomson. Unik juga ada paper yang membahas pengindeksnya, ibarat menulis tentang baik buruknya WordPress lewat postingan di WordPress. Mana yang lebih baik? Scopus atau Thomson, Yuk .. dibaca.

Menulis Artikel Ilmiah atau Menulis Buku?

Kalau kita perhatikan dunia pendidikan tinggi di lingkungan kampus kita masing-masing, akan tampak dosen yang pakar dengan bidang tertentu seperti mengelola jaringan, membuat web, atau aplikasi lainnya. Tetapi mereka minim sekali mempublikasikan artikel ilmiah (yang bukan buku). Mengapa bisa terjadi? Postingan ringan kali ini hanya analisa singkat mengenai fenomena ini.

Buku & Kepakaran

Dari taman kanak-kanak kita sudah mengenal buku. Dari yang berisi informasi hingga panduan mengerjakan sesuatu. Buku biasanya berisi ilmu-ilmu yang sudah established atau sudah fix, hampir tidak ada perdebatan besar mengenai kontennya. Pengarang dalam menulis buku mengandalkan kepakaran dan pengalamannya. Namun tentu saja tanpa sesuatu hal baru, penulis buku tidak bisa menulis suatu artikel ilmiah di jurnal atau seminar-seminar. Coba saja menulis artikel yang isinya pembahasan materi dari buku, sudah dipastikan akan ditolak oleh pengelola jurnal. Kecuali kalau memang jurnal itu kekurangan tulisan, tentu saja dengan modifikasi di sana sini.

Jurnal ilmiah

Jika buku biasanya ilmu-ilmu yang sudah baku berasal dari puluhan tahun lalu, jurnal berisi temuan-temuan baru kurang dari sepuluhan tahun. Bahkan artikel yang baru terbitpun sesungguhnya diteliti sekitar satu hingga tiga tahun, tergantung berapa lama proses revisinya. Bahkan ada naskah yang proses revisi hingga sembilan tahun.

Aktif Menulis Buku & Artikel Ilmiah

Jadi apakah penulis buku yang kebanyakan pakar berpengalaman tidak bisa menulis artikel ilmiah di jurnal dan sebaliknya penulis aktif di jurnal kesulitan menulis buku? Menurut saya baik menulis buku maupun jurnal bisa oleh penulis yang sama. Sedikit penjelasannya adalah berikut ini.

Ambilah contoh seorang pakar menggali sumur pantek di perumahan. Dia memiliki segudang pengalaman dalam membuat sumur itu. Tentu saja dia bisa membuat buku mengenai tatacara menggali dan menemukan lokasi sumurnya. Tetapi untuk menghasilkan suatu artikel ilmiah dia harus menemukan hal-hal baru ketika melakukan aktivitas menggalinya. Ditambah dia harus aktif mengikuti perkembangan terbaru masalah gali menggali. Jika dia hanya fokus ke menggali sumur, beres, menerima bayaran, dia tidak akan bisa menemukan hal-hal baru dan menulisnya dalam suatu artikel ilmiah. Begitu juga dengan seorang dosen, misalnya mengajar jaringan komputer. Jika dia hanya berfokus mengajar “crimping”, setting IP, dan sejenisnya saja, atau sekedar menjalankan tugas me-maintain jaringan di institusinya, tentu saja tidak bisa dihasilkan suatu artikel ilmiah tanpa hal-hal baru dan mengikut perkembangan jaringan komputer terkini lewat jurnal-jurnal.

Terus terang ketika studi, saya mendapati rekan-rekan yang jago di mata kuliah tertentu, tetapi ketika riset mengalami kesulitan dan terhambat lulusnya, apalagi doktoral mengharuskan adanya publikasi di jurnal internasional. Sebenarnya perlu adanya sikap ingin tahu yang lebih, disertai ketidakpuasan mengenai metode-metode yang saat ini ada, agar diperoleh “gap” antara ilmu terkini dengan masalah yang dijumpai. Research Question yang ditemukan merupakan obor yang memicu seorang untuk meneliti. Oiya, untuk yang sedang riset disertasi, jangan harap bisa menemukan jawaban langsung dari internet, buku, atau bahkan bertanya ke supervisor karena memang masalah tersebut belum terselesaikan dengan tuntas, bahkan belum ada jawabannya. Selamat menemukan hal-hal baru.

Penggunaan Bilangan Random Matlab dalam Aplikasi Permainan “Ular Tangga”

Bilangan random menggunakan fungsi rand pada Matlab. Fungsi yang membangkitkan sembarang bilangan dengan jangkauan nol hingga satu (pecahan) banyak diterapkan, salah satunya dalam optimisasi menggunakan algoritma genetika (GA).

Menghasilkan Output yang Tidak bisa Diprediksi

Kehidupan sehari-hari memang tidak bisa diprediksi, sehingga aplikasi permainan pun selayaknya mampu mensimulasikan kehidupan sehari-hari. Misalnya dalam game sepakbola, walaupun akurasi C. Ronaldo tinggi, tetapi karena adanya faktor ketidakpastian, maka belum tentu ketika pinalti selalu menghasilkan gol. Justru kalau gol terus, game tersebut tidak menyerupai aslinya. Sebagai contoh dalam postingan ini adalah permainan ular tangga sederhana.

Misal dua dadu dilempar beberapa kali dan harapannya tepat di titik finish (bernilai 10). Jika terlewat maka dihitung kekiri lebihannya. Mudah saja, kode berikut menggambarkan algoritmanya.

  • clc
  • sisa = 10;
  • step=0
  • history=[0 0 0 ];
  • while sisa ~= 0
    • random=2+floor(rand*10)
    • if sisa >= random
    • sisanew=sisa-random;
    • else
      • sisanew=abs(sisa-random);
    • end
    • sisa=sisanew
    • pause
    • clc
    • step=step+1
    • posisi=10-sisa
    • history=[history;[step random posisi]]
  • end
  • msgbox(‘FINISH’)

Fungsi di atas berisi pembangkitan bilangan random, melangkah dan mendeteksi apakah sudah mencapai FINISH. Offset “2” pada variabel random karena dua dadu minimal berharga “2”. Perulangan diterapkan dengan menggunakan instruksi while apakah sudah tepat di posisi 10. Berikut hasil runningnya:

Kolom tengah adalah bilangan random dan kolom ketiga menunjukan posisi terkini. Di akhir baris, yaitu lemparan ke-6, posisi tepat di angka 10 yang artinya FINISH.

Membuat Ular dan Tangga

Berikutnya ada dua lokasi ular, yaitu angka “4” yang akan memaksa balik ke nol, serta tangga pada angka “6” yang memaksa loncat ke “8”. Berikut tambahan kodenya:

  • clc
  • sisa = 10;
  • step=0
  • history=[0 0 0 ];
  • while sisa ~= 0
    • random=2+floor(rand*10)
    • if sisa >= random
    • sisanew=sisa-random;
    • else
      • sisanew=abs(sisa-random);
    • end
    • sisa=sisanew
    • pause
    • clc
    • step=step+1
    • posisi=10-sisa
    • if posisi==4
      • posisi=0;
      • sisa=10;
    • end
    • if posisi==6
      • posisi=8;
      • sisa=2;
    • end
    • history=[history;[step random posisi]]
  • end
  • msgbox(‘FINISH’)

Ada dua buah if-then untuk mengecek apakah tepat berada di titik ular atau tangga. Jika tepat maka diarahkan ke berturut-turut nol dan delapan. Hasil running di bawah tampak tidak ada angka 4 dan 6 karena akan diarahkan ke nol dan delapan. Sekian, semoga bermanfaat.