Membuat GUI di Matlab Sederhana untuk Loading *.MAT

Untuk mempraktekan dengan sederhana fungsi Load yang memanggil file berekstensi *.MAT yang telah kita simpan sebelumnya ada baiknya kita buat terlebih dahulu versi sederhananya di Command Window. Misal kita mempunya data berikut ini, sebuah matriks yang nanti akan kita tampilkan di GUI berupa gambar.

Simpan dengan nama data. Cara menyimpan sudah bisa kan? Baca tulisan yang lalu. Misal beri nama “data”.

save data

Nantinya akan kita tampilkan di GUI jika dijalankan akan menghasilkan gambar sebagai berikut, dengan perintah imshow(data).

Berikutnya rancang GUI sederhana sebagai berikut, ikuti cara-cara yang telah sampaikan di postingan sebelumnya (ketik guide, buat tombol txt dan edit text, tempat grafik, dan seterusnya).

Ganti/Edit tulisan yang muncul secara default sesuai dengan bahasa dan keinginan Anda. Di sini saya tetap menggunakan variabel dan nama “String” bawaan Matlab (supaya cepet ajah). Buka M-file yang digenerate secara otomatis, dan isi function di pushbutton1_Callback, isi dengan kode berikut ini (sengaja gambar karena banyak complain di copas ga jalan krn petik satu berubah kalo di blog):

Line 82 dan 83 mengambil data *.mat dilanjutkan dengan membuka data yang ada dan baris 86 dan 87 agar bisa digunakan di fungsi lain, yaitu misalnya menampilkan gambarnya. Arahkan ke fungsi pushbutton2_Callback, isi:

Jalankan dan ambil file berekstensi mat yang telah kita simpan sebelumnya, hasilnya harus seperti berikut ini. Selamat mencoba!

Untuk mempelajari dasar-dasarnya bisa lihat postingan ini.

Menghitung Map Resolution

Map resolution maksudnya adalah berapa resoluti suatu map yang tepat dimana tidak ada titik yang tak tercantum di map yang kita buat. Perhatikan tabel di bawah ini, jika kita diminta menentukan berapa resolusi peta yang harus kita buat?

Area diketahui dalam km persegi. Di sini kita harus mencari harga terkecil dari perbandingan luas dengan jumlah rumah sakit. Sebab jika tidak mengambil yang terkecil, ketika peta dibuat, ada rumah sakit yang tidak jelas tergambar di peta tersebut. Langkah pertama adalah kita menambah satu kolom baru yang merupakan perbandingan luas dengan jumlah hospital, perhatikan gambar berikut ini.

Map Resolution diambil dari rumus = 0.5 * sqrt((A/n)). Jadi resolusi yang kita gunakan adalah 12.6 km. Pertanyaan berikutnya berapakah Mimimum Map Unit? MMU adalah dua kali Map Resolution jadi sebesar 25.2 x 25.2 karena jika kita tetap menggunakan nilai 12.6 sebagai MMU jika lokasi suatu titik berada di tengah-tengah antara dua pixel maka titik tersebut akan tidak tampak.

 

 

Network Analysis dengan ArcView

Untuk mempelajari bagaimana Arcview melakukan komputasi untuk mencari jalur tercepat dan terpendek dari berbagai alternatif jalan, tersedia contoh project sederhana yang termasuk satu paket ketika menginstal program ini. Set terlebih dahulu extensiannya dengan menceklis “network analysis”.

Dengan network analysis kita akan mencari jalur terpendek dan tercepat daru satu titik ke titik tujuan. Buka view “delivery route” yang sudah dibuatkan oleh vendor Arcview untuk latihan mengetahui fungsi-fungsi yang tersedia di ArcView.

Titik hijau merupakan pusat pengiriman yang nanti akan dianalisis jalur-jalur mana saja yang ditempuh untuk menghasilkan nilai optimal (kecepatan dan jarak tempuh). Terkadang kita memerlukan optimasi dengan pertimbangan waktu tempuh karena bisa jadi jalur yang terpendek justru malah lebih lama tiba di lokasi tujuan. Perhatikan munculnya menu “network” di ArcView karena kita menceklis pilihan “network analysis”. Pelajari apa yang ada di dalamnya, berikut contoh menentukan jarak terpendek dan waktu tercepat untuk mencapai suatu lokasi.

Setelah memasukan alamat address awal, kita menentukan lokasi tujuan sesuai dengan tempat-tempat yang harus disinggahi. Isi pilihan “find best order” dan “return to origin” jika kita ingin kembali ke tempat semula setelah singgah di berbagai pusat delivery.

Lalu lakukan simulasi dengan menekan tombol di pojok kanan atas, tunggu beberapa saat hingga diperolah hasil di View, berupa jalur optimal. Untuk mengetahui jalur detilnya, tekan tombol “Directions…” dan perhatikan jalur-jalur singgah dan berangkatnya, diakhiri dengan jarak tempuh total.

Terakhir lakukan hal yang sama untuk kasus jalur yang tercepat, tanpa memandang jarak tempuhnya. Jika sempat, lakukan sedikit penelitian mengenai atribut-atribut jalan dan lokasi yang disinggahi agar mengetahui prinsip kerja ArcView untuk mengetahui jalur tercepat dengan Network Analysis.

 

Setelah itu lakukan proses simulasi seperti yang telah dilakukan untuk perhitungan jarak tempuh. Setelah itu tampak di layar View dua jalur optimasi yaitu yang berwarna merah muda adalah jarak tempuh terpendek dan yang berwarna biru waktu tempuh tercepat.

Di sample data ArcView ada juga contoh data tentang rumah sakit (hospital), dan coba mencari lokasi terdekat suatu wilayah dengan rumah sakit yang ada di wilayah tersebut. Fungsi terdapat di menu “Network” kemudian Anda diminta menentukan lokasi terdekat. Pertama-tama tentukan lokasi kita, misalnya di Polk & Lombard. Seperti biasa, karena waktu sangat penting bagi yang perlu perawatan, kita pilih optimasi terhadap waktu tempuh. Hasilnya dapat dilihat di ArcView dimana lokasi kita (diberi simbol lingkaran bertitik) diberi arah dengan garis hijau ke rumah sakit terdekat (California Pacific Medical).

Entropy

Entropy mengukur ketidakpastian suatu variabel acak. Istilah ini pertama kali saya kenal di mata pelajaran kimia. Misal kita punya uang logam, jika kita lempar kita tidak memiliki kepastian apakah yang diperoleh gambar atau angka. Bagaimana dengan dadu? Tentu saja memiliki ketidak pastian, bahkan melebihi ketidakpastian dari uang logam yang dilempar. Masalahnya jika dadu yang dilempar memiliki ketidakpastian yang lebih tinggi dari uang logam yang dilempar, berapa besar? Nah kita akan coba bahas dengan konsep entropy. Manfaatnya adalah, konsep ini diterapkan untuk pembuatan pohon keputusan (decision tree).

Rumus Entropy

Entropy menggunakan konsep probabilitas dalam menentukan besar entropy suatu kejadian. Misal probabilitas uang yang normal adalah ½ untuk gambar dan ½ untuk angka, sementara untuk dadu tiap angka memiliki peluang yang sama yaitu 1/6 dengan anggapan dadunya normal (fair). Rumus entropy adalah sebagai berikut:

Berapakah entropy fair coin?

Masukan saja rumus di atas, maka diperoleh

H(x)=-( 0.5 * log(0.5) + 0.5 * log(0.5)) = 1.

Oiya, logaritmic yang digunakan adalah basis 2 (bukan sepuluh). Nah bagaimana jika coinnya tidak normal, misal peluang muncul gambar = 0.75 dan angka =0.25? Jawabannya adalah dengan rumusan di atas juga,

H(x) = – (0.75*log(0.75)+0.25*log(0.25)) = -(-0.3112-0.5)=0.8112.

Berapakah entropy fair dice (dadu normal)?

Entropy ini akan digunakan untuk menentukan percabangan pohon keputusan. Misalnya ada data dengan atribut usia, pelajar/tidak, income, dan credit rating yang menentukan seseorang membeli barang. Pertama-tama dihitung entropy atribut-atribut itu untuk mencari information gained berdasarkan entropy itu, jadi logikanya makin rendah entropy-nya maka makin kuat atribut itu menjadi akar.

Georeferencing dengan Matlab – bagian 2

Untuk memastikan bahwa hasil Georeferencing kita sesuai dengan koordinat latitude dan longitude, kita bandingkan hasil optimasi dengan google map. Pertama-tama buat koneksi dengan database WebGIS, misalnya dengan nama ODBC ‘aphb’. Lihat cara-cara buat ODBC di postingan yang lalu.

Di baris 131 dan 132 diperoleh titik optimum yang berhasil dihitung dengan algoritma genetik. Selanjutnya di baris 133 dikonversi menjadi koordinat global latitude dan longitude yang akan dikirim ke database postgreSQL. Baris 135 membuat koneksi yang dilanjutkan dengan mempersiapkan lokasi field yang akan di-insert. Terakhir di baris 140 dilakukan proses inserting ke database.

Perhatikan hasil running optimasi di DesktopGIS dengan Algoritma Genetik, diperoleh beberapa titik optimum. Di sini kita baru mengkonversi satu titik optimum karena belum diketahui akurasinya. Jika sudah akurat, baru diterapkan di seluruh titik optimum.

Di sini diperlukan kejelian mata untuk mengarahkan lokasi google map dengan lokasi di DesktopGIS. Setelah itu diketahui akurasinya. Perhatikan gambar di bawah, tampak titik di google map sedikit meleset dari lokasi optimum hasil hitungan di desktopGIS dan ini harus diperbaiki dengan mengeset kembali fungsi konversi.

Jika diperhatikan, sepertinya base latitude dan longitude terlalu jauh sehingga harus digeser kekiri dan ke bawah agar tepat di lokasi yang ditunjukkan oleh panah merah di atas. Lihat video di bawah ini untuk lebih jelasnya:

Ok .. done.

Georeferencing dengan Matlab – Bagian 1

Georeferencing adalah mensinkronkan antara koordinat lokal peta kita dengan koordinat global berdasarkan posisi lintang dan bujur. Untuk mengetahui teknik ini dengan menggunakan ArcView dapat Anda lihat pada postingan saya sebelumnya, Gereference and GPS. Misalkan untuk wilayah Cibitung dalam desktop GIS akan disetarakan dengan web GIS, kita perlu menentukan basis untuk longitude dan latitude serta ujung-ujung sepanjang longitude dan latitude. Longitude adalah garis bujur sedangkan latitude adalah garis lintang.

Kemudian buka google map, dan cari letak basis latitude dan longitude. Dari jangkauan maksimum dan basis bisa diketahui selisih panjang latitude dan longitude sebagai offset pada perhitungan konversi koordinat.

Setelah itu temukan panjang longitude dan latitude dengan mengurangkan selisihnya untuk melakukan konversi dari koordinat lokal ke global. Koordinat longitude dan latitude untuk pojok kanan bawah berturut turut adalah -6.240022 dan 107.18554 Berikut ini salah satu contoh listing untuk satu region.

function [latitude,longitude]=konversi(y,x)

latbase=-6.152484;

longbase=107.068653;

deltalat=latbase+6.240022;

deltalong=107.18554-longbase;

latitude=latbase-((y/500)*deltalat);

longitude=(x/700)*deltalong+longbase;

end

Sedikit modifikasi karena lokasi koordinat dalam matlab (image) agak berbeda dengan koordinat kartesian karena positf pada matlab (image) berarah ke bawah (dalam kartesian ordinat (y) negatif sehingga pada persamaan latitude di fungsi di atas berbeda dengan longitude yang langsung dijumlahkan antara longbase dengan offset-nya. Berikutnya kita uji dengan koordinat basis, misalnya (0,0).

>> [lat,long]=konversi(0,0)

lat =

-6.1525

long =

107.0687

Uji hasilnya dengan membandingkan antara lokasi di desktop GIS dengan web GIS, jika masih kurang tepat, lakukan modifikasi di basis latitude dan basis longitude. Masukan titik ( -6.1525, 107.0687 ) secara manual di Web GIS dan cek hasilnya apakah sudah tepat apa belum. Hidupkan server Ruby on Rails (RoR) yang telah dibuat pada program web GIS.

Kemudian cek dengan memasukan koordinatnya, apakah sudah tepat apa belum. Kapan-kapan akan kita bahas cara membuat WebGIS dengan RoR. Sebenarnya bisa kita cek langsung dengan memasukan koordinat di google, lihat postingan saya sebelumnya tentang memanggil WebGIS dengan Matlab tanpa server RoR.

Latex Sebagai Alternatif Penulisan

Besok di kampus kami akan diadakan pelatihan Citation dimana kami diminta untuk mencoba terlebih dahulu program aplikasi latex yang dapat diakses di situs resminya. Untuk satu latex per user, kita bisa memanfaatkannya secara gratis dengan terlebih dahulu Sign Up dengan memasukan alamat email dan passwort kita ke program latex tersebut (bukan password email lho).

Sebenarnya kita bisa juga menulis secara gratis dengan google docs yang bisa dilakukan secara kolaboratif dengan rekan kita di berbagai penjuru dunia. Google docs dapat diakses disitus google dengan login gmail. Sepertinya Latex memiliki keunggulan tertentu dimana ada fungsi mengatur citation (pustaka). Ok kita lihat besok seperti apa.

Learning Weights in Rank Retrieval

Misal kita memiliki data training terhadap beberapa query dengan term-term tertentu berikut ini.

Pertanyaannya adalah berapakah nilai g –nya?

Sebelum menjawab pertanyaan itu terlebih dahulu didefinisikan istilah-istilahnya. Kita misalnya memiliki query “like dog cat temle ant bird wine girl”. Misalnya kita akan menentukan bobot antara ST dengan SB, maksudnya ST adalah letak suatu query pada Dokument (docID) pada Title atau Body, yang disingkat jadi T dan B pada S. Misal pada data pertama Ф1, query like ada di document ID = 17 pada Body, tetapi tidak ada di Title. Sementara ‘r’ adalah penilaian dari pakar (humen expert) yang menyatakan apakah data itu relevan atau tidak. Pada kasus ini diberi angka nol (0) berarti tidak relevan, yang nantikanya akan dijumlahkan dengan variabel n01n (artinya number of St=0, Sb=1 dan tidak relevan (n)).

Sementara g sendiri adalah bobot opimal yang akan kita cari dengan rumusan di bawah ini (buka buku Information Retrieval oleh Manning):

Masukan data-data n10r, n01n, n10r, n10n, n01r dan n01n. Sebagai contoh, n10r adalah jumlah St=1,Sb=0, r=1 dimana di tabel atas berjumlah 0, dan seterusnya.

Sehingga diperoleh nilai g

Instruksi SELECT pada SQL – Bagian 2

WHERE Clause

Seperti pada tulisan sebelumnya (bagian 1), jika kita akan melakukan query terhadap nama belakang dimana huruf keduanya ‘a’ maka dapat kita lakukan dengan bantuan garis bawah ‘_’. Gunakan WHERE dengan kata LIKE untuk lebih spesifik lagi.

Kita juga bisa menambahkan logika boolean seperti AND atau OR untuk dua kondisi LIKE seperti misalnya nama belakang di huruf kedua ‘a’ dan nama depan diawali ‘r’.

query_where

CONCATENATION

Syntax ini berfungsi untuk menggabungkan beberapa kolom menjadi satu kolom. Simbol yang digunakan adalah ||. Misalnya kita akan menggabungkan nama pertama dengan nama belakang dari tabel student.

GROUP BY dan COUNT()

Syntax ini untuk melakukan proses agregasi dari aksi filter sebelumnya. Misalnya kita ingin mengetahui berapa banyak Course yang diambil oleh seorang siswa, misalnya siswa dengan ID ‘st115996’.

HAVING Clause

Jika hasil proses GROUP BY ingin difilter lagi dapat kita gunakan klausa HAVING. Misalnya kita diminta menarik data jumlah Course yang memiliki jumlah kredit = 3. Jadi setelah yang punya kredit = 3 diperoleh dilakukan proses ‘count’ berapa jumlah course-course tersebut.

SUB-QUERY

Sub query adalah query di dalam query, biasanya dalam klause:

  1. WHERE
  2. FROM
  3. SELECT

Kata kunci yang digunakan adalah IN. Misal kita ingin mengetahui student_ID yang mengambil course. Dengan kata lain yang tidak mengambil course tidak kita ambil.

Ada satu soal latihan nih,

EXERCISE

  • A student is required to take 2 courses (4 credits) in the field of Technology
  • Management and should be offered by SET or SOM only.
  • Typically the courses for Technology Management have the word Management or
  • Technology or Technologies mentioned in the course name.
  • What choices does the student have? List Department, CourseName, Credits.
  • Use group by and having clause

Selamat Mencoba !

Karir Sebagai Dosen

Jika terdengar di telinga kata “dosen” ketika saya masih sekolah dulu, yang ada di benak saya adalah seseorang yang kerjaannya berfikir keras dan mengajarkan sesuatu yang sangat sulit bagi anak didiknya. Saya yakin tidak ada yang punya keinginan untuk jadi dosen. Walaupun dulu saya bercita-cita ingin jadi profesor, tetapi profersor yang saya maksud adalah orang yang bisa menciptakan robot atau alat canggih yang sering muncul di film kartun dulu.

Ketika saya memilih jurusan mesin di Universitas Gadjah Mada dulu, tujuan utama saya sebenarnya sederhana, setelah lulus kerja, berumah tangga, punya anak, dan seterusnya. Bahkan tawaran dari departemen ketika saya kuliah untuk menjadi dosen di sana (walau masih berstatus mahasiswa), walaupun dengan syarat IPK yang tidak perlu tinggi-tinggi serta adanya ikatan dinas ketika sedang kuliah (waktu itu sekitar 300-an ribu untuk uang tunjangan bulanan) tidak ada yang berminat. Karena di samping pengumuman itu, ada juga pengumuman dari Astra International bahwa alumni yang memiliki IPK di atas 3.00 bisa langsung masuk tanpa tes. Tentu saja banyak mahasiswa yang memilih bekerja dari pada menjadi dosen (walaupun berstatus Pegawai Negeri Sipil).

Tahun Kelam

Terjadinya krisis moneter di tahun 1998 mengakibatkan banyak PHK masal di Indonesia. Beberapa alumni yang sudah bekerja di perusahaan di Indonesia banyak yang datang ke kampus untuk bekerja sebagai dosen. Tentu saja pihak kampus menerima walaupun akhirnya distop karena jumlahnya yang terlampau banyak. Waktu itu saya di akhir-akhir kuliah, dan sempat diajar oleh korban PHK, waktu itu dari PT Astra. Tiap ada bursa selalu diserbu oleh para lulusan kampus yang di ranking baik versi luar negeri maupun versi akreditasi masuk nomor satu di Indonesia selalu dibanjiri oleh pelamar. Waktu itu saya sendiri termasuk dalam kategori tersebut.

Kondisi lebih parah lagi ketika di Jakarta dimana persaingan bukan hanya dari kampus saya, melainkan dari seluruh kampus terkenal di Indonesia, waktu itu saingan terberat adalah UI dan ITB. Beberapa lulusan banyak yang banting stir, bekerja di luar bidangnya. Waktu itu saya berfikir betapa borosnya uang negara yang habis dipakai untuk subsidi mahasiswa kampus negeri tidak terpakai ilmunya. Ada satu penyelamat waktu itu, yaitu karir sebagai dosen. Waktu itu dosen saya pernah bilang tiap mahasiswa teknik disubsidi pemerintah 6 juta pertahun (sebagai perbandingan uang kuliah waktu itu 500 ribu pertahun).

Kebangkitan Perekonomian

Ketika krisis tentu saja menjadi dosen pun tetap sulit walaupun tidak terjadi PHK besar-besaran seperti di industri atau perkantoran. Walaupun penghasilannya menurun drastis tetapi tetap bisa bertahan. Untungnya perekonomian Indonesia mulai bangkit dan banyak berdiri institusi-institusi pendidikan yang membaca peluang karena melihat banyaknya sarjana-sarjana yang menganggur. Dengan mudahnya mereka merekrut dosen baru walau tanpa diberi status yang jelas, asalkan diberi honor yang sesuai dengan jam mereka mengajar mereka pasti menerima. Saya sendiri termasuk dalam kategori tersebut. Jujur saja status dosen saya waktu itu tidak bisa disamakan dengan dosen-dosen universitas negeri, atau minimal universitas swasta terkenal.

Munculnya kampus-kampus seperti ruko mungkin efek dari melimpahnya sarjana-sarjana yang belum terserap di dunia kerja. Anda mau buka jurusan apapun, tenaga pengajar selalu tersedia, jika tidak ada, boleh menggunakan praktisi ataupun PNS dan bahkan pensiunan. Untuk lebih jelasnya dapat dibaca pandangan Prof Rhenald kasil yang diposting di kompas dengan judul “Naiknya Harga Dosen“.

Namun sepertinya pemerintah membaca gelagat yang tidak beres dari kondisi seperti ini. Diawali dari rendahnya publikasi ilmiah dari dosen dan peneliti di Indonesia (seperti biasa, Malaysia jadi patokan) serta banyaknya penyimpangan-penyimpangan di institusi pendidikan memunculkan kebijakan keras dari pemerintah yang cukup menghancurkan kampus-kampus dadakan dengan munculnya aturan (sekitar 2010 mulai diberlakukan kalo nggak salah):

  1. Dosen Minimal S2
  2. Rasio Dosen 1: 30 atau 40
  3. Dosen tidak boleh sekaligus sebagai guru

Program Percepatan Doktor

Pemicu kebijakan ini menurut saya diawali dari kebijakan dari DPR untuk menaikan anggaran pendidikan sebanyak 20% yang jika tidak ada program yang tepat, tidak akan terpakai semua. DIKTI yang merupakan bagian dari KEMDIKBUD segera mencari cara untuk meningkatkan pendidikan yaitu dengan beasiswa dan tunjangan profesi. Beberapa dosen diberangkatkan ke luar negeri untuk studi lanjut (kebanyakan S3 dan beberapa S2 untuk yang masih berusia muda / calon dosen). Saya sendiri termasuk dalam kategori tersebut.

Gelombang demi gelombang keberangkatan dijalankan dan karena beasiswa berasal dari pemerintah dengan ikatan dinas tertentu, yang telah lulus kembali ke tanah air dan mengabdi. Ternyata diperoleh kualitas yang cukup baik jika dosen menempuh studi lanjut di luar negeri. Sementara itu di dalam negeri, DIKTI kian ketat menjalankan aturan yang ada, baik dari sisi usia dosen, bahkan hingga pengajar yang akan membuat NIDN harus disertai slip gaji bukti bahwa yang bersangkutan bukan dosen “cabutan” serta adanya tes potensi akademik (TPA) dan Toefl (bahasa Inggris). Pegawai-pegawai (biasanya swasta) yang namanya dipinjam sebagai dosen terpaksa harus studi lanjut atau tidak menjadi dosen lagi dengan aturan tersebut. Atau pegawai-pegawai yang menolak untuk berbohong bahwa ia bekerja full time sebagai dosen di suatu institusi menolak meneruskan menjadi dosen, atau memilih meninggalkan pekerjaannya dan memilih menjadi dosen. Saya sendiri termasuk dalam kategori tersebut, memilih menjadi dosen dan meninggalkan jabatan koordinator lapangan IT Bank Danamon wilayah Utara.

Penghargaan Pemerintah Kepada Dosen

Bayangkan dengan keluarga yang sudah memilki anak, tetapi dengan gaji dosen sepertiga dari gaji ketika menjadi pegawai waktu itu merupakan pertaruhan yang sulit, bahkan saya sempat mengalami sesak nafas karena beban fikiran. Untungnya karena adanya hibah-hibah penelitian, serta dihargainya kepangkatan, waktu itu sedikit membantu dan banyak waktu untuk melakukan riset kecil-kecilan karena jumlah waktu untuk nyambi mengajar di tempat lain bisa dikurangi tanpa khawatir kekurangan. Bahkan beberapa buku telah saya terbitkan dengan royalti yang cukup karena sebenarnya saya hanya memindahkan apa yang saya ajarkan ke dalam wujud buku (tanpa terlalu bekerja keras).

Beberapa kasus korupsi terjadi di institusi-institusi pemerintahan, bahkan kementerian hukum dan HAM hingga Kementerian Agama pun ditemui kasus korupsi. Namun kementerian pendidikan walaupun ada sedikit kasus pengadaan alat praktikum yang terjadi korupsi, namun karena sistem yang mulai tertata dan aturan-aturan yang ada mulai ketat, dunia pendidikan di Indonesia mulai bergerak maju. Beberapa hal yang membantu antara lain:

  1. Adanya Tunjangan Profesi (SERDOS)
  2. Hibah-Hibah Penelitian dan Pengabdian
  3. Diperluas kesempatan untuk Studi Lanjut (dalam dan luar negeri)

Naiknya Harga Dosen

Jadi memang benar apa yang dikatakan oleh Prof. Rhenald Kasali, bahwa harga dosen mulai naik. Beberapa rekan saya yang mengajar di tempat saya nyambi sebagai dosen honorer satu persatu pindah ke kampus-kampus yang memberikan penghargaan yang layak terhadapnya. Sebenarnya bukan hanya uang yang mereka cari, penghargaan dan diakui sebagai dosen merupakan salah satu faktor juga yang menyebabkan transfer dosen dari satu kampus ke kampus yang lain. Saya sendiri termasuk dalam kategori tersebut

Kampus jika tidak dipimpin oleh pimpinan yang mampu membaca peta atau arah pendidikan nasional akan kesulitan, terutama meramu seluruh kekuatan yang ada baik dari sisi dana, kurikulum dan sumber dayanya. Para dosen pun mulai berani dan sadar akan kekuatan yang selama ini masih berupa potensi.

Aturan baru tentang jumlah SKS untuk S2 dan S3 sedikit banyak juga bisa mencegat aksi kampus yang memaksakan untuk menambah rasio dosen dengan melulus cepatkan mahasiswa S2- nya, apalagi yang swasta. Dengan jumlah SKS sebanyak itu mengakibatkan masa tunggu untuk memperoleh calon dosen dengan syarat minimal (S2) jadi sedikit bertambah, belum lagi jika kampus itu memiliki program pasca sarjana yang mutlak harus berpendidikan S3.

Kisruh Dana Beasiswa

Harga dosen yang sudah naik menurut Profesor dari UI seperti diutarakan di atas mungkin menjadi “lebih naik lagi” manakala dosen-dosen yang sedang menempuh pendidikan S3 di luar negeri mengalami kesulitan dana beasiswa (terlambat), seperti curahan hati dosen-dosen penerima beasiswa seperti dapat anda baca dari blog-blog mereka, misalnya rekan saya Ahmad-hamid yang mengambil studi di Jepang. Bahkan yang lebih parah lagi adalah curahan hati dari benua di selatan kita, Australia, yang kesulitan karena lewatnya masa batas beasiswa S3 yaitu tiga tahun yang dia tumpahkan di kompasiana. Ketika menulis ini, lagi-lagi Saya sendiri termasuk dalam kategori tersebut (cuma telat dikit sih).

Pergantian pemerintahan yang kebetulan terjadinya kisruh ini semoga lebih baik lagi tertata di pemerintahan yang akan datang, amiin.

Yuukk … siapa yang mau jadi dosen 😀

Spatial analysis dengan ArcView – Bag 2

Setelah pada tulisan yang lalu kita menganalisis pengaruh lokasi, kondisi geografis, dan kandungan tanah terhadap produktivitas pertanian sekarang kita akan mencoba mencari lokasi yang optimal suatu toko berdasarkan informasi pelanggan, populasi, dan jarak toko yang ada saat ini.

Setelah mengeset satuan menjadi meter, tambahkan di view tiga shape file yang menjadi dasar penentuan lokasi toko seperti ditunjukkan pada gambar di atas. Untuk shape file Stores kita pertama-tama menentukan toko-toko yang ada saat ini yang memiliki keuntungan sebagai dasar perhitungan. Gunakan Querry untuk mencari toko-toko mana saja yang memiliki [Revenues] > 0.

Metode-metode pada postingan sebelumnya masih digunakan di latihan kali ini seperti reclassify, konversi shape file menjadi GRID, dan lain-lain. Saat mengkonversi yang penting untuk diperhatikan adalah outputnya, dalam latihan ini output diarahkan dengan View yang dibandingkan, misalnya ‘Same As Distance to Store.shp‘.

Jika dari Distance to Store, number of pupulation related to Store, dan perilaku pelanggan sudah terpetakan tinggal menghitung skor yang ada untuk ditampilkan hasilnya dalam format graduated colour. Jika tanpa bobot, tiga faktor itu tinggal dijumlahkan dan hasilnya dibagi tiga.

( [Reclass of Density from Pop.shp] + [Reclass of Distance to Stores.shp] + [Reclass of Group]) / 3

Jika diberi bobot, misalnya [Reclass of Distance to Stores.shp] memiliki bobot dua kali faktor yang lain maka kita tinggal mengalikan dengan dua. Tetapi ketika saya coba berkali-kali tidak berhasil, bahkan ArcView tiba-tiba closed, wahh .. untungnya project sudah saya simpan. Ternyata dengan menjumlahkan dua kali faktor yang berpengaruh dapat dihasilkan hitungan yang berbobot (Weighted). Tentu saja pembaginya juga ditambah, dari tiga menjadi empat (ingat cara menghitung Index Prestasi siswa kan?).

( [Reclass of Density from Pop.shp] + [Reclass of Distance to Stores.shp] + [Reclass of Distance to Stores.shp] + [Reclass of Group]) / 4

Kemudian dihasilkan gambar di bawah ini. Perhatikan makin gelap warna makin tinggi skor untuk toko didirikan di sana. Tentu saja masih banyak faktor lain yang perlu dipertimbangkan seperti tersedianya akses jalan, lahan parkir, dan sebagainya.

Delete SQL dengan Matlab

Mudah-mudahan mas yang menanyakan masalah DELETE data dengan Matlab sudah menemukan jawaban. Kalau belum, semoga postingan ini bermanfaat.

Berbeda dengan instruksi INSERT dan SELECT yang memasukkan data dan menampilkannya, instruksi DELETE harus didefinisikan dengan jelas record yang akan didelete. Untuk instruksi INSERT dan SELECT telah diuraikan pada postingan saya yang lalu ‘Koneksi Matlab dengan Sistem Basis Data‘. Berikutnya kita coba dengan instruksi DELETE.

Pastikan Anda sudah mengkoneksikan ODBC dengan tabel yang berisi X, dan Y yang berisi bilangan numerik.

Jika masih kosong, tambahkan tabel tersebut dengan instruksi ini:

>> insert(Conn,’lokasi’,data,[1,3])

>> insert(Conn,’lokasi’,data,[1,4])

>> insert(Conn,’lokasi’,data,[2,4])

>> insert(Conn,’lokasi’,data,[3,4])

>> Results=fetch(Conn,’select * from lokasi’)

Results =

[1] [3]

[1] [4]

[2] [4]

[3] [4]

Saya menggunakan tabel ini untuk menyimpan koordinat longitude dan latitude suatu lokasi. Dengan instruksi SELECT diketahui data sebagai berikut:

Database membutuhkan lokasi mana yang ingin dihapus. Misal kita ingin menghapus data pada tabel lokasi yang memiliki field x = 1, maka kita membutuhkan instruksi SQL Query ini:

>> deleteQuery = [‘delete from ‘,Conn.Instance,’ where’,’ x’,’ =’,’1′,’;’];

Dilanjutkan dengan mengeksekusinya:

>> hapus=exec(Conn,deleteQuery);

Jika Anda melihat isi dari lokasi diperoleh data bahwa seluruh record dengan field x =1 hilang.

>> Results=fetch(Conn,’select * from lokasi’)

Results =

[2] [4]

[3] [4]

Bagaimana jika field y yang dihapus? Mudah saja ganti saja ‘x’ dengan ‘y’, misal y=4 akan dihapus.

>> deleteQuery = [‘delete from ‘,Conn.Instance,’ where’,’ y’,’ =’,’4′,’;’];

Dilanjutkan dengan mengeksekusinya:

>> hapus=exec(Conn,deleteQuery);

>> Results=fetch(Conn,’select * from lokasi’)

Results =

[]

Tampak data dengan y=4 terhapus. Bagaimana jika ingin mengosongkan seluruh isi tabel? Gunakan Query: DELETE FROM <nama_tabel>;

 

 

Spatial Analysis dengan ArcView – Bag 1

Tingkat kesulitan praktikum ArcView kian sulit dari minggu ke minggu. Kali ini setelah mengikuti kuliah Data Manipulation and Analysis, dilanjutkan dengan praktek penerapannya di ArcView. Ada dua bagian yaitu menganalisa hasil panen suatu region dengan berbagai komponen, misalnya kandungan organik tanah, potassium dan variabel-variabel lainnya. Seperti biasa, kami diberikan data-data tentang region yang akan dianalisa.

Konversi Satuan

Buat project baru terlebih dahulu dan sebelumnya tambahkan ‘Spatial Analysis‘ pada extension di menu File. Satu hal penting adalah masalah satuan karena jika salah maka dampaknya akan buruk dari kualitas hasil pekerjaan kita di ArcView. Konversi satuan dapat dirubah setelah menambahkan satu View kemudian klik di Menu View – Properties. Dalam praktek di lab ini, kami menggunakan satuan Standar Internasional (SI) yaitu meter.

Lihat posting sebelumnya untuk menambahkan extension, juga teknik-teknik untuk membuat Event Theme dari data txt di bab ‘Georeference and GPS’.

Gambar titik-titik adalah lokasi pertanian dan kotak biru tersebut adalah peta pertanian dari shapefile. Berikutnya akan dilakukan interpolasi GRID terhadap hasil panen (Yield). Interpolasi merupakan satu metode analisa untuk memperkirakan nilai suatu titik/lokasi berdasarkan sebaran dari lokasi-lokasi yang melingkupinya. Untuk lokasi di luar lokasi-lokasi yang berdekatan diberi nama lain yaitu extrapolasi.

Gambar di atas adalah hasil interpolasi grid dari Yield. Teknik lain yang penting untuk diketahui adalah reclassify suatu data.

Reclassify

Reclassify adalah teknik merubah suatu nilai kontinyu menjadi interval, misalnya kita memiliki data usia dari 0 – hingga 80 tahun. Maka kita dapat melakukan klasifikasi, misalnya 0 – 5 tahun, 5 – 10 tahun, dan seterusnya.

Digital Elevation Model (DEM)

DEM merupakan model yang merepresentasikan elevasi / ketinggian suatu wilayah. Model ini memiliki bagian utama berupa data vektor, dan sebagai pelengkapnya adalah data raster. Selain DEM, dikenal juga Digital Terrain Model (DTM) dan Digital Surface Model (DSM). Data DEM bisa diperoleh lewat photogrammetry, LIDAR, ifSAR, survey tanah, dan sebagainya.

Tambah pada View data grid dari DEM yang telah kita miliki. Jika sudah maka kita memiliki pilihan pada Surface Menu. Buat Contour, Slope, dan Aspect di View Anda. Contour adalah garis dengan ketinggian yang sama, Slope adalah kemiringan dan Aspect adalah lokasi berdasarkan arah mata angin, misalnya North East, North West, dan sebagainya.

Gambar di atas contoh hasil analisa permukaan yang berupa garis Contour. Berikutnya dengan cara yang sama kita dapat membuat permukaan berdasarkan variabel-variabel yang menentukan hasil panen yaitu organic matter dan potasium misalnya. Ada satu kendala ketika diminta merubah nama Theme. Ternyata mudah saja dengan mengklik menu Theme – Properties dan ganti nama theme di kolom name. Hmm .. itulah gunanya praktek.

Membuat Grafik Histogram

Histogram adalah grafik yang menggambarkan sebaran frekuensi suatu data dengan suatu interval. Misalnya kita ingin mengetahui jumlah penduduk pada interval berapakah yang terbanyak? Di dalam kasus ini kita akan melihat grafik histogram antara hasil panen dengan sebaran potasium dan kandungan organik suatu wilayah sehingga kita dapat menarik kesimpulan hubungan keduanya (antara Yield dengan kandungan organik dan antara Yield dengan potasium).

Untuk membuatnya kita sorot Yield yang sudah kita reclassify kemudian klik Analysis – Histogram by Zone pada menu.

Setelah itu masuk ke Exercise II yang sedikit lebih rumit (Bersambung).

Incident Matrix dan Inverted Index

Bab pertama pada mata kuliah Information Retrieval adalah seputar bagaimana kita mencari suatu kata dalam beberapa berkas yang telah kita simpan. Berkas-berkas tersebut berupa format text dari aplikasi-aplikasi pengolah kata (word processing).

Incident Matrix

Jika kita ingin mengetahui dalam document mana saja kah kata tertentu, misalnya Indonesia berada? Caranya adalah kita melihat kata Indonesia dalam incident matrix kemudian melihat dalam matrix itu dalam dokumen mana saja kata Indonesia berada. Dalam prakteknya incident matrix sangat memboroskan memori karena seperti kita perkirakan, jumlah keberadaan sangat sedikit, atau dengan kata lain banyak jumlah nol dibanding satu.

Berikut ini contoh soal dari buku referensi Information Retrieval karya Manning, dkk tentang pembuatan incident matrix dan inverted index. Jawaban soal dapat Anda lihat di situs ini, walaupun baru bab 1 saja yang diselesaikan.

Doc 1 – breakthrough drug for schizophrenia
Doc 2 – new schizophrenia drug
Doc 3 – new approach for treatment of schizophrenia
Doc 4 – new hopes for schizophrenia patients

Perhatikan soal di atas, dimana misalnya kita memiliki empat dokumen. Dokumen satu berisi kata breakthrough, drug, for, schizophrenia. Tentu saja ini hanya perumpamaan, karena satu dokument tentu bisa saja hingga berjuta-juta kata. Bagaimana cara membuat incident matrixnya? Sesuai dengan namanya, incident matrix berarti matriks yang berisi keberadaan suatu kata dalam dokumen. Jadi kita cari kata ‘breakthrough‘ ada di dokumen satu, ‘drug‘ di dokumen satu dan dua, dan seterusnya.

Doc 1 Doc 2 Doc 3 Doc 4
approach 0 0 1 0
breakthrough 1 0 0 0
drug 1 1 0 0
for 1 0 1 1
hopes 0 0 0 1
new 0 1 1 1
of 0 0 1 0
patients 0 0 0 1
schizophrenia 1 1 1 1
treatment 0 0 1 0

Terlepas dari kelemahan dari sisi kapasitas matriks yang besar, incident matrix sangat baik digunakan untuk mencari kata dengan operasi boolean (boolean retrieval). Misalnya kita diminta mencari kata-kata dengan boolean:

for AND NOT (drug OR approach)

Maka kita dengan mudah melakukan operasi logika dari incident matrix.

Term vectors
for – 1 0 1 1
drug – 1 1 0 0
approach – 0 0 1 0

Seperti operasi aljabar boole yang telah kita pelajari dari mata kuliah logika, kita kerjakan terlebih dahulu yang dalam kurung (drug OR approach).

1 1 0 0 OR 0 0 1 0 = 1 1 1 0

Setelah operasi NOT diperoleh invers dari jawaban di atas yaitu : 0 0 0 1 dan terakhir dilakukan proses AND dengan for:

1 0 1 1 AND 0 0 0 1 = 0 0 0 1

Inverted Index

Bentuk incident matrix jarang sekali digunakan saat ini. Bentuk yang terkenal adalah Inverted Index, di mana Term di hubungkan dengan lokasi document dimana term tersebut berada. Term adalah suatu kata kunci yang dijadikan objek searching. Pada contoh di atas kita menggunakan kata, walaupun terkadang kita harus memanipulasi kata tersebut, misalnya words yang jamak kita konversi menjadi word (kata dasarnya), serta metode-metode lain yang dibahas di buku Manning di bab-bab berikutnya.

approach,1 Doc 3
breakthrough,1 Doc 1
drug,2 Doc 1 Doc 2
for,3 Doc 1 Doc 3 Doc 4
hopes,1 Doc 4
new,3 Doc2 Doc3Doc4
of,1 Doc 3
patients,1 Doc 4
schizophrenia,4 Doc 1 Doc 2 Doc 3 Doc 4
treatment,1 Doc 3

Perhatikan bentuk inverted index di atas. Suatu Term, misalnya ‘for‘ memiliki frekuensi keberadaan sebanyak 3. Di sebelah kanannya berjajar posting list yang sudah tersortir berdasarkan lokasi dokumen, diberi nama docID. Sebenarnya bentuk inverted index tidak seperti di atas, bentuk di atas hanya mempermudah pengetikan saja, aslinya adalah sebagai berikut:

Maaf tulisannya kayak gitu .. tapi jika Anda bisa membacanya, dijamin seumur hidup Anda bisa membaca seluruh jenis tulisan :D.

Musik dan Billyard di Asian Institute of Technology (AIT)

Seharian kuliah dan belajar jika tidak diselingi dengan hiburan bisa pecah kepala. Untungnya di tempat saya kuliah tersedia studio musik gratis. Dalam rangka acara Welcome Show mahasiswa baru kami dari persatuan mahasiswa Indonesia Thailand (PERMITHA) cabang AIT akan menyumbangkan beberapa kontes dari dance, music dan talent.

Yang terpenting dari adanya acara sebenarnya adalah kumpul-kumpulnya karena akibat kesibukan, biasanya kami jarang bertemu satu sama lain. Karena jauh dari kampung halaman, kami merasa seperti saudara sendiri, dan saat berkumpul adalah saat yang tepat untuk menumpahkan uneg-uneg di kepala, dari masalah studi hingga masalah keluarga bahkan keuangan.

Student Union Café (SU Café) merupakan sarana mengusir penat kami para mahasiswa. Syukurlah dengan aturan baru pemerintah Thailand, di seluruh kampus tidak boleh diperjual belikan minuman keras. Sebelum berlatih, kami memanfaatkan meja billyard yang ada, lumayan. Bagi mahasiswa apa sih yang tidak menarik dari yang gratisan, he he.

Seperti biasa, jari-jari terasa sakit karena lama tidak menyentuh senar gitar. Untungnya tangan masih lincah dan feeling masih ok. Karena kami rata-rata sudah berumur (aliran 80-an) terpaksa kami mencari lagu yang slow, misalnya lagu “love will keep us alive” yang dibawakan oleh group Eagles di tahun 90-an. Mengingatkan saya ketika akhir-akhir SMA dahulu.