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.

Elias Gamma & Delta Coding

Kompresi sangat bermanfaat karena kecepatan prosesor dalam melakukan encode dan decode jauh di atas kecapatan baca dan tulis dari disk ke memory. Apalagi jika kita menggunakan Single-Pass In Memory Indexing (SPIMI) dimana kita dapat melakukan kompresi pada Terms dan Postings. Berbagai metode dapat kita gunakan untuk melakukan kompresi pada Terms, sementara untuk Postings dapat kita lakukan dengan dua cara yaitu:

  1. Storing successive docIDs, dengan kata lain menggunakan offset. Misal dari pada kita menulis <1001,1010,1052,…> kita dapat menuliskannya dengan <1001,9,42,…> dimana menghasilkan angka yang jauh lebih kecil.
  2. Menggunakan variable size dari prefix code. Caranya adalah dengan melihat nilai maksimum dari sebaran angka, akibatnya terhindar dari pemborosan kapasitas byte tiap Posting. Nah, akan kita bahas penggunakaan variable size ini dengan kode Elias gama dan delta.

Elias Gamma Coding

Metode ini dikembangkan oleh Peter Elias. Dengan teknik pengkodean:

  1. Tulis dalam biner
  2. Jumlah bit pada proses no.1 dikurang satu untuk menentukan jumlah nol (zeros) yang harus ditambahkan di muka angka tersebut.

Contoh kita punya bilangan 11 langkah pertama adalah konversi 11 menjadi biner, yakni 1011. Langkah dua menghasilkan tiga yang berasal dari 4 bit dikurang satu. Hasilnya adalah 0001011. Deretan angka 11, 15, dan 27 dengan elias gamma code menjadi 00010110001111000011011.

Bagaimana dengan docede-nya? Caranya gampang, hitung jumah nol (zero) sebelum ditemukan bilangan 1, misalnya kita akan mendekode 0001011. Karena ada 3 zero maka (3+1) setelah zero itu adalah bilanganya, yaitu 1011, yang jika dikonversi ke desimal menjadi 11. Apa fungsi Elias Gamma Coding tersebut? Tentu saja manfaatnya adalah kita dapat mengirim tiga angka berjajar sekaligus, sebab jika kita hanya meng-concatenate tiga bilangan tersebut akan tidak bermakna, misalnya tiga bilangan tersebut di atas jika dikirim 1011111111011 ada berjuta2 variasi kombinasi biner tersebut yang setara dengan desimalnya.

Elias Delta Coding

Seperti Elias Gamma, kode ini ditemukan oleh Peter Elias. Kode ini menerapkan juga metode pada gamma coding, terutama di bagian kepala. Tekniknya adalah sebagai berikut:

  1. Cari pangkat tertinggi binernya, misalnya desimal 11 jika dibinerkan menjadi 1011 dimana pangkat tertingginya adalah 3. Jadi N’=3.
  2. Gunakan Gamma Coding untuk mengkodekan bilangan N dimana N=N’+1. Jadi untuk kasus desimal 11 maka kita harus membuat Gamma Coding dari 4 yaitu 00100.
  3. Tambahkan sisa N’ binary pada hasil no.2. Jadi diperoleh jawaban 00100011.

Berikutnya adalah medekode Elias Delta Coding, prinsipnya adalah kebalikan dari langkah satu sampai tiga di atas. Misalnya kita akan mendekode 00100011.

  1. Temukan jumlah zero sebelum ditemukan angka satu, yaitu 00, berjumlah dua. Berarti ada (2+1) angka yang harus diperhatikan setelah dua angka nol ini yaitu 100 yang dalam desimalnya berarti 4, jadi kita mendapatkan N’ dengan N-1 = 4-1 = 3.
  2. Jika N’ telah diketahui, yaitu 3 maka ada tiga bit tersisa yang menjadi bagian bilangan itu yakni 011. Jadi diperoleh jawaban 1011 yang artinya 11.

Jika kita diberikan rentetan biner sebagai berikut: 00110000110011110010100111110000 merupakan deretan angka 35, 101, dan 112. (Perhatikan warna biner di atas untuk memudahkan).

Reference

Manning, Christopher D., Prabhakar Raghavan and Hinrich Schütze (2008), Introduction to information retrieval, Cambridge: Stanford University.

Mining Itemset using Vertical Data Format (Menghitung Closed Itemset )

Satu bab yang cukup rumit pada mata kuliah Data Mining adalah Mining Itemset using Vertical Data Format. Berikut ini adalah contoh soal dengan 5 buah transaksi:

  • T1: a,b,c
  • T2: a,b,c,d
  • T3: c,d
  • T4: a,e
  • T5: a,c

Pertanyaannya adalah:

  1. Cari closed sets!
  2. Jika minimum support =2, cari closed frequent dan maximal frequent set –nya.

annotsrc1410163109914

Cara mengerjakannya adalah mengikuti soal tersebut, karena pertanyaan 1 dan 2 merupakan urutannya. Pertama-tama kita rinci terlebih dahulu closed sets dari item-itemnya, dimulai dari yang set terkecil (satu).

Set    Support    closed set/tidak ?

  1. {a}    4        closed set
  2. {b}    2        bukan closed set
  3. {c}    4        closed set
  4. {d}    2        bukan closed set
  5. {e}    1        bukan closed set

Mengapa {b} bukan closed set? Karena dia memiliki super-itemset yang jumlahnya juga dua (yaitu {a,b,c} dan {a,b,c,d}). Syarat closed itemset adalah supportnya harus lebih besar dari super-itemsetnya. Untuk sementara diperoleh closed sets = {{a}, {c}} dan karena keduanya di atas nilai minimum support (dua), maka sets tersebut juga closed frequent.

Berikutnya untuk yang jumlah setnya dua.

Set    Support    closed set/tidak?

  1. {a,b}    2        bukan closed set
  2. {a,c}    3        closed set
  3. {a,d}    1        bukan closed set
  4. {a,e}    1        closed set
  5. {b,c}    2        bukan closed set
  6. {b,d}    1        bukan closed set
  7. {b,e}    –        bukan closed set
  8. {c,d}    2        closed set
  9. {c,e}    –        bukan closed set
  10. {d,e}    –        bukan closed set

Closed Frequent = {{a,c}, {c,d}}. Mengapa {a,e} walaupun closed set tetapi tidak frequent? Karena supportnya hanya satu maka tidak memenuhi persyaratan frequent yaitu lebih besar atau sama dengan minimum supportnya (dua). Berikutnya untuk jumlah item tiga.

  1. {a,b,c}    2
  2. {a,b,d}    1
  3. {a,c,d}    1
  4. {b,c,d}    1

Dan diperoleh Closed Frequent ={{a,b,c}} karena yang lainnya di bawah min_support. Jadi diperoleh Closed Frequent sets = {{a},{c},{a,c},{c,d},{a,b,c}}.

Untuk soal no.2 kita diminta mencari Maximal Frequent Sets yaitu sets yang frequent, misal X, dan tidak memiliki Super-Itemsets yg frequent juga, Y, dimana Y ᴐ X.

Jawabannya adalah {{c,d},{a,b,c}}.

Mengapa {c,d}? lihat di transaksi, {c,d} tidak memiliki super-itemset, dan item tersebut frequent, jadi {c,d} adalah maximal. Bagaimana dengan {a,b,c}? walaupun dia memiliki super-itemsets {a,b,c,d} tetapi itemset ini tidak frequent (di bawah min_support).

Untuk yang ingin mendalami lebih jauh, bisa baca jurnalnya di sini.

Instruksi SELECT pada SQL – Bagian 1

Hari kedua tutorial Oracle membahas tentang instruksi SELECT untuk mengambil data dari database yang telah dibuat lewat mekanisme Data Definition Language (DDL). Instruksi SELECT sendiri masuk dalam kategori Data Manipulation Language (DML). Untuk yang belum meninstal SQL dapat dilihat pada tulisan sebelumnya untuk instalasi dan juga cara mengoperasikan DDL.

Perlu diketahui Oracle Database versi Express hanya memiliki satu database saja, oleh karena itu kita bersihkan terlebih dahulu tabel-tabel yang telah dibuat pada praktek sebelumnya. Gunakan erase_table untuk membersihkannya. Jangan jalankan semua, melainkan perblock dengan cara setelah copy-paste, sorot/blok instruksi yang baru saja dipindahkan, klik tombol atau dengan menekan F5.

Instruksi SELECT *

Jika sudah lanjutkan dengan membuat tiga tabel yaitu Student, Course, dan Student_Course add_tables_and_records Perhatikan setiap menjalankan instruksi SQL pastikan berjalan dan tanpa pesan kesalahan. Jika sudah maka Anda telah berhasil membuat tiga tabel yang akan kita utak-atik dengan instruksi terkenal SQL SELECT. Untuk melihat isi seluruh tabel, gunakan instruksi SELECT *;

  • SELECT * from Student;
  • SELECT * from Course;
  • SELECT * from Student_Course;

Jika tidak ingin seluruh Field ditampilkan, pada instruksi SELECT, ganti * dengan field-field yang Anda inginkan dengan disekat koma.

SELECT Student_ID, Last_name FROM Student;

CONDITIONAL CLAUSE

Terkadang kita ingin menampilkan yang lebih spesifik lagi, tidak hanya sekedar field-fieldnya. Oleh karena itu kita memerlukan Conditional Clause yang tersedia di SQL yakni:

  • WHERE
  • GROUP BY
  • HAVING
  • ORDER BY

Berikut ini kita akan mengambil data dari tabel Student yang memiliki nama belakang diawali ‘W’ dan memiliki nama tengah (Middle Initial).

SELECT * FROM Student WHERE (Last_Name LIKE ‘W%’) AND (MI IS NOT NULL);

Cek apakah ada error, oiya, jangan lupa gunakan tanda petik satu (‘) dari keyboard Anda, entah mengapa jika copas dari blog dianggap bukan tanda petik satu oleh SQL. Gunakan teknik garis bawah untuk menentukan letak huruf ke berapa dari field yang kita inginkan.

(Bersambung).

Dialog Dikti dengan Karyasiswa Mengenai Permasalahan Pencairan Beasiswa

Setelah hampir satu minggu tidak ada titik temu antara mahasiswa penerima beasiswa dengan pihak DIKTI akhirnya suasana kembali cair setelah adanya dialog yang diprakarsai oleh berita satu. Dialog tersebut dapat diakses secara streaming lewat internet, atau rekamannya dapat dilihat di situs salah satu mahasiswa yang berdialog dengan DIKTI, Abdul Hamid, Lihat di sini.

Sesi 1.

Setelah sesi pertama pihak DIKTI yang diwakili olep Prof. Supriadi Rustad, yang sering kita dengar dan baru kali ini saya melihat wajahnya. Beliau memberikan alasan keterlambatan (yang seharusnya sudah cair bulan Juli) seperti masalah kegagalan metode pengumpulan progress report (PR), serangan Hacker, dan masalah administratif lainnya. Di studio juga dihadiri oleh pemerhati masalah pendidikan, yang juga pernah menerima beasiswa DIKTI.

Sesi 2.

Sesi kedua kembali menjadi tegang sebentar tapi akhirnya lega karena DIKTI kembali ke cara lama dimana Progress Report (PR) tidak supervisor yang memberikan melainkan dia hanya tanda tangan saja (kembali ke metode yang lama).

Sesi 3.

Syukurlah Minggu depan mulai proses pencairan, karena hanya tinggal segelintir karyasiswa yang belum mengirimkan PR (dari ribuan tinggal ratusan).

Sesi 4

Memang sistem yang ada di DIKTI sudah saatnya diperbaiki, terutama jumlah personal yang mengurusi beasiswa. Bandingkan saja, LPDP dari kementerian keuangan ditangani oleh 50-an orang, sementara DIKTI hanya 5 orang.

Catatan Kuliah dengan Android

Lama-lama malas juga kalo datang kuliah dengan berbekal buku-buka tebal dengan buku catatan yang terkadang serabutan (seluruh materi mata kuliah yang berbeda dalam satu buku). Saya coba dengan belajar hanya lewat tablet, ternyata ada sedikit kekurangan, yaitu tidak bisa mencorat-coret, hanya bisa menandai saja (garis stabilo, atau anotation). Memang benar tablet termasuk salah satu perangkat pasif dan tidak seproduktif laptop. Tetapi membawa laptop tentu saja lebih merepotkan dari membawa buku.

Pen – Stylus

Sempat saya mencoba pen stylus capasitive, tetapi hasilnya berbeda dengan menulis dengan pena. Akurasinya kurang baik dimana kerap terjadi ketika membuat garis, putus-putus di tengahnya.

Iseng-iseng saya lihat di youtube dan tertarik dengan S-pen Galaxy Note yang mirip seperti menulis dengan pena di atas kertas. Bahkan ada aplikasi-aplikasi tertentu untuk menggambar dan pdf reader yang berfungsu juga sebagai MEMO (menulis).

Tablet with S-Pen

Ada beberapa tablet yang mampu digunakan dengan S-pen yaitu Microsoft Surface Pro dan Samsung Galaxy Note. Microsoft Surface Pro sangat mahal, sementara Microsoft Surface RT tidak kompatibel dengan S-Pen. Produk Apple entah mengapa tidak memfasilitasi tablet-nya dengan S-pen, padahal jika ada saya sudah membelinya. Akhirnya pilihan saya jatuh pada Samsung Galaxy Note 10.1 2014 Edition dengan disertai Flip case dan S-Pen tambahan original karena S-pen bawaan asli tablet ini terlalu kecil di tangan saya.

Aplikasi Untuk Membuat Catatan

Aplikasi untuk memfasilitasi S-pen sangat banyak dijumpai di Google Store, dari yang gratis hingga yang berbayar. Salah satu andalan saya adalah LectureNotes. Aplikasi ini membuat sebuah buku catatan baru dengan kertas bergaris. Hasil dapat dikonversi ke PDF atau tetap dalam formatnya. Program ini walaupun dapat diunduh secara ilegal di internet, tetapi sebaiknya kita beli, khawatir virus yang saat ini sudah masuk ke sistem operasi android.

Salah satu yang saya kagumi adalah Ez-pdf. Aplikasi ini sebenarnya untuk membaca buku elektronik dengan fasilitas thumbnail dan bentuk yang kontinyu dari satu lembar ke lembar berikutnya sehingga kita bisa melihat bersamaan hingga tiga lembar. Agak repot memang jika tidak ada fasilitas ini, terlebih jika kita membaca informasi grafik/gambar tapi terletak di halaman yang berbeda. Namun, ternyata aplikasi yang berharga 40-an ribu rupiah ini mampu digunakan untuk membuat catatan/memo dengan jumlah halaman yang bisa kita tambah/sisipi. Jadi slide yang biasa diberikan oleh dosen dapat kita corat-coret bahkan disisipi dengan gambar. Perhatikan, tiga halaman dapat kita lihat bersamaan dan jika ingin fokus ke satu halaman tinggal zoom saja. Halaman di tengah adalah halaman pdf tambahan pada slide yang disisipi foto ketika kuliah berlangsung. Praktis bukan?

Survey Lokasi dengan GPS

Georeference dengan GIS telah dibahas lewat tulisan terdahulu saya, sedikit ribet karena melibatkan Image Analysis. Sebelumnya dilakukan terlebih dahulu sample lokasi dimana kami menentukan koordinat dengan menggunakan GPS. GPS merupakan alat yang berfungsi menentukan lokasi koordinat (X,Y) berdasarkan lokasi satelit yang memberikan koordinatnya masing-masing. Jika lebih dari tiga satelit telah memberikan koordinatnya masing-masing, maka GPS akan menghitung berapa koordinat si pemegang GPS saat ini. Prinsipnya sangat sederhana dan telah digunakan jauh sebelum masehi oleh phytagoras. Modalnya adalah peta dari satelit, kemudian menandai lokasi-lokasi yang akan dituju kemudian memindahkan koordinat-koordinat lokasi itu ke ArcView, seperti pengarahan berikut ini:

Beberapa lokasi telah kami pindai, bahkan lokasi di kampus kami yang belum pernah saya jajaki, seperti kolam renang:

Hingga lapangan Golf.

Yang wajib di data sebenarnya adalah lokasi pada sudut-sudut di peta yang akan kita cari koordinat longitude dan latitude-nya. Hmm .. ternyata melelahkan juga. Sebenarnya bisa saja kita menggunakan Google Map untuk menentukan koordinatnya.

Information Retrieval and Data Mining

Mata kuliah ini termasuk mata kuliah yang baru dan cukup menarik dimana banyak riset yang sedang dilakukan berkaitan dengan tema yang sesuai dengan konten perkuliahan yang wajib bagi mahasiswa manajemen informasi. Materi ini cukup sulit dan luas karena gabungan Information Retrieval dengan Data Mining. Buku yang digunakan berasal dari buku text yang dibuat oleh Crishtoper Manning dan kawan-kawan dari Stanford University dan diterbitkan oleh Cambridge Univ. Press.

Konsep yang ditampilkan bagi saya merupakan hal baru walaupun setiap hari saya menggunakannya ketika searching di Google. Mungkin mahasiswa IT yang masih muda-muda pernah merasakannya di bangku kuliah Undergraduate-nya. Mungkin maksud perkuliahan ini bagus yaitu jika data terstruktur dioleh dengan Data Mining tetapi jika data tidak terstruktur, misalnya tulisan blog ini, maka mau tidak mau haru menggunakan Text Mining dengan konsep mengambil data dengan metode-metode yang dianjutkan di buku tersebut. Beberapa aplikasi telah menyediakan tool untuk menerapkan metode tersebut seperti contoh pada Matlab. Aplikasi ini menyediakan fungsi-fungsi untuk melakukan sorting dan pencarian berbasis text. Buku yang sering saya gunakan, dan telah diterapkan di mata kuliah Decision Support Technologies (DST) yaitu Text Mining With Matlab karangan Rafael E. Banchs.

Waktu itu saya menggunakan metode ini untuk kasus Big Data dimana jutaan record yang berisi pengarang, afiliasi, dan atribut-atribut lainnya harus dibersihkan karena beberapa record berisi duplikasi. Terkadang satu pengarang yang sama terekam beberapa kali, dan kita harus mendeteksinya terlebih dahulu sebelum diverifikasi apakah mereka adalah satu orang yang sama. Berikut ini video dari hasil script sederhana kami:

Many to Many Relationship Example

After installing oracle database and oracle sql developer (https://rahmadya.com/2014/09/05/instal-oracle11g/), now we try to use it. Many to many relationship sometimes said M:N is happened if every member of an entity has many members related to other entity. For example we have relation Student and Course. We have relationship Student with Course that every student could take more than one courses and every course has a lot of student who take it.

Open your SQL Developer to practice how to create that kind of relation. First create the Student and Course entity respectively. Use CREATE table:

  • CREATE TABLE Student(
  • Student_ID CHAR(10) CONSTRAINT StudentID_PK PRIMARY KEY,
  • First_Name CHAR(20) NOT NULL,
  • MI CHAR(1) NULL,
  • Last_Name CHAR(20) NOT NULL);

This will create a Student table with attribute/field Student_ID, First_Name, and Last_Name. The number inside the bracket “(” is number of character (look at Middle Name that only limited to one character). There some constraint such as PRIMARY KEY and NOT NULL. Add some record using INSERT statement:

  • INSERT INTO Student (Student_ID, First_Name, MI, Last_Name) VALUES (‘st115995’, ‘Rahmadya’,’T’,’Handayanto’);
  • INSERT INTO Student (Student_ID, First_Name, MI, Last_Name) VALUES (‘st115996′,’James’,’D’,’Brynt’);
  • INSERT INTO Student (Student_ID, First_Name, MI, Last_Name) VALUES (‘st115997’, ‘John’,”,’Travis’);
  • INSERT INTO Student (Student_ID, First_Name, MI, Last_Name) VALUES (‘st115998′,’Brian’,’L’,’Walk’);
  • INSERT INTO Student (Student_ID, First_Name, MI, Last_Name) VALUES (‘st115999’, ‘Susan’,”,’Tarson’);

If we want to retrieve the record that we have just insert, try to use SELECT * from Student;

Use the similar SQL Command to create a Course table with attribute Course_ID, CourseName, Credit, and Department. Use Course_ID as a primary key.

  • CREATE TABLE Course(
  • Course_ID CHAR(10) CONSTRAINT CourseID_PK PRIMARY KEY,
  • CourseName Char(50) NOT NULL,
  • Credits INTEGER NOT NULL,
  • Department CHAR(20) NOT NULL);

Then, Add some records e.g:

  • INSERT INTO Course (Course_ID, CourseName, Credits, Department) VALUES (‘AT72.01′,’Database Management System’, 3,’CSIM’);
  • INSERT INTO Course (Course_ID, CourseName, Credits, Department) VALUES (‘AT72.03′,’E-Business Development’, 3,’CSIM’);
  • INSERT INTO Course (Course_ID, CourseName, Credits, Department) VALUES (‘AT72.04′,’Decision Support Technologies’, 3,’CSIM’);

Because M:N relationship, when we convert from ER-Diagram into Relational Table we have to create one relation that connect the student to course, for example we name it Student_Course table.

  • CREATE TABLE Student_Course (Student_ID CHAR(10), Course_ID CHAR(10));
  • INSERT INTO STUDENT_COURSE (Student_ID, Course_ID) VALUES (‘st115996′,’AT72.01’);
  • INSERT INTO STUDENT_COURSE (Student_ID, Course_ID) VALUES (‘st115996′,’AT72.03’);
  • INSERT INTO STUDENT_COURSE (Student_ID, Course_ID) VALUES (‘st115997′,’AT72.01’);
  • INSERT INTO STUDENT_COURSE (Student_ID, Course_ID) VALUES (‘st115997′,’AT72.04’);

We have a simple Student_Course table with four students who enroll the class. This table has not used relation between student and course. Therefore we have to add foreign key from Student and Course table using ALTER statement.

  • ALTER TABLE Student_Course ADD CONSTRAINT CourseID_FK FOREIGN KEY (Course_ID) REFERENCES Course (Course_ID);
  • ALTER TABLE Student_Course ADD CONSTRAINT StudentID_FK FOREIGN KEY (Student_ID) REFERENCES Student (Student_ID);

Do we been allowed to insert duplicate foreign key? For example a student takes many courses? Test using this INSERT example:

  • INSERT INTO STUDENT_COURSE (Student_ID, Course_ID) VALUES (‘st115996′,’AT72.01’);
  • INSERT INTO STUDENT_COURSE (Student_ID, Course_ID) VALUES (‘st115996′,’AT72.04’);

We need a primary key to identify the transaction of student who make an enrollment.

ALTER TABLE Student_Course ADD CONSTRAINT Student_ID_Course_ID_PK PRIMARY KEY (Student_ID, Course_ID);

The unique attribute sometimes needed if we avoid the similar record that different primary key. For example we make the course_name unique.

  • ALTER TABLE Course ADD CONSTRAINT CourseName_uk UNIQUE(CourseName);

For example we add record that violate this Unique constraint.

  • INSERT INTO Course (Course_ID, CourseName, Credits, Department) VALUES (‘AT72.10′,’Database Management System’, 3,’CSIM’);

You will see an error on it. That’s it.

Georeference and GPS

Georefernece is an activity to match the map to coordinate exactly by using some methods such as comparing to google map or by surveying the location on the map and getting the real coordinate by Global Positioning Service (GPS). GPS use some satellites that counting the location of object based on location of the satellite. Because location of the satellite is exactly counted, the location of object must be easily counted, but of course there will be some errors.

We have tried to locate some point on our campus map and try to make our map with the real longitude and latitude coordinate system. First we create a text file from data that we have gotten by GPS. We also use excel for easily typing the data and then save as (convert) into text (delimited text file).

Open the arcview and load the data file for making the theme from this data (event theme). Create new view and followed by clicking View – Add Event Theme. Choose the coordinate of latitude and longitude based on your data.

You will see some points that show the coordinate from data/table. This theme is only temporary because after we convert it into shape file, we can delete it from our project. Click Theme – Convert file to Shp. Click yes if you are asked wether add this shape file to the view. Now you can delete of the old event theme.

Now we try to connect the map to this shape file from GPS data. First we have to add facility to image analysis by choosing from File – Extension and thick the image analysis and others that related to image.

I have problem when first time installing the arcview and there are some extention available, so I have to add some AVX file or I just add the Arcview folder from our laboratory’s arcview. Click OK, and add new theme, and chose “Image Analysis” option. Search your map and try to match it to GPS data by using “align” facility.

To match the map with GPS coordinate we have to match at least three points in the edge of our map. And we can see the name of point by seeing it using “identify” tool. May be you make an “auto lable” to those point, but first you have to modify the text (colors and size), because the text may be too big for the map. Double click the theme in view to see the legend.

The technique for matching is simple, click the map theme, and then click the “align” tool. Do not forget to click first the location on the map and followed by clicking the point.

You can convert this theme to JPG file or other kinds of layout. Just try it.

Beasiswa DIKTI

Beberapa hari ini banyak bermunculan keluhan-keluhan seputar beasiswa DIKTI karena keterlambatan pengiriman uang kuliah (tuition fee) dan biaya hidup (living allowance). Beasiswa DIKTI sudah masuk tahun keenam dan sampai saat ini permasalahan yang muncul adalah keterlambatan pengiriman uang yang sangat dibutuhkan oleh penerima beasiswa tersebut. Sebenarnya masalah ini tidak jadi soal di awal-awal munculnya program beasiswa oleh pemerintah lewat DIKTI, tetapi karena berlangsung terus-menerus dan membandingkan dengan beasiswa dari pihak lain seperti LPDP, Kemenag, DEPTAN, dan institusi pemerintah lainnya, wajar jika penerima beasiswa DIKTI, yang sama-sama pemerintah, menuntuk untuk disamakan, atau setidaknya kejelasan mengenai kapan uang beasiswa tersebut cair.

Beberapa mahasiswa yang mengambil studi di eropa tentu saja kewalahan menghadapi biaya hidup yang memang cukup tinggi di sana. Dana talangan yang jika memang dibutuhkan, tentu saja besar jika dibandingkan dengan yang mengambil studi lanjut di asia seperti, Taiwan, korea, Filipina, Malaysia, Thailand, dan kota tertentu di Jepang. Ada kampus-kampus tertentu yang cukup toleran dan membolehkan mahasiswanya menunggak uang kuliah, tetapi banyak juga yang menerapkan aturan ketat, seperti diblokirnya akses terhadap perpustakaan, dan fasilitas lainnya dan yang lebih parah adalah biaya sewa kamar (dormitory) yang tentu saja di luar wilayah kampus. Sementara aturan dari VISA terkadang harus adanya jaminan tempat tinggal. Tentu saja jika ini tidak terpenuhi, mahasiswa yang bersangkutan terancam dideportasi.

Beasiswa Kemeterian Agama

Kementerian agama baru sekitar dua tahun menyelenggarakan beasiswa (terutama dari institusi pendidikan seperti Universitas Islam Negeri yang dulu bernama IAIN). Beasiswa yang diberikan cukup menarik karena diberikan di awal selama setahun. Kelemahannya hanya satu yaitu biaya yang dikirimkan dalam bentuk rupiah dan dikirim lewat rekening bank di dalam negeri (saya tidak tahu jenis bank-nya) sehingga bermasalah ketika akan digunakan di luar negeri (biaya konversi mata uang). Tetapi karena status waktu pengirimannya yang jelas maka dengan sedikit mengatur anggaran pengeluarannya, mahasiswa penerima beasiswa Kemenag lebih nyaman dan dapat fokus belajar.

Beasiswa Departemen Pertanian

Beasiswa ini khusus PNS dari DEPTAN yang memang mendapat tugas belajar (biasanya dari divisi LITBANG) yang memang mengharuskan berpendidikan lebih tinggi dari Strata 1. Di tempat saya kuliah, mahasiswa tidak perlu memperhatikan masalah uang kuliah, karena DEPTAN langsung mentransfer uang kuliah ketika kampus yang dituju menagih (invoice). Masalah hanya muncul untuk biaya hidup yang dikirim tiga bulan sekali dan terkadang terlambat. Tetapi karena biaya hidup, mahasiswa bisa mengatasi dengan tidak memakai habis uang kuliah tiga bulan, untuk jaga-jaga jika ada keterlambatan.

Kementerian Keuangan

KEMENKEU memberikan beasiswa lewat jalur LPDP yang terkenal. Beberapa dosen banyak yang beralih dari DIKTI ke LPDP, tetapi dengan aturan baru, calon yang memiliki nomor induk dosen (NIDN) tidak diperbolehkan dan diarahkan ke DIKTI. Beasiswa ini cukup terkenal karena memberikan lama beasiswa empat tahun untuk mahasiswa S3, lebih tinggi dari DIKTI, sebelum DIKTI mengambil kebijakan empat tahun. Sistem penerimaan dan informasi LPDP lebih baik. Cerita dari rekan saya yang mengikuti LPDP, ketika akan wawancara mereka ditelepon, beda dengan DIKTI yang harus lihat secara rutin situs DIKTI (www.dikti.go.id). Terkadang waktu acara dengan pengumuman sangat dekat, dan memberatkan calon penerima beasiswa dari pulau lain. Untuk rincian uang bulanan, saya belum mendapatkan informasi yang akurat.

Beasiswa dari Tempat Studi Lanjut

Beberapa teman ada yang mendapat beasiswa dari institusi tempat dia melanjutkan studi. Rekan saya bahkan melepas beasiswa DIKTI dan mengambil beasiswa dari tempat studi lanjut di Taiwan. Untuk jenis beasiswa ini sangat bervariasi, tapi yang jelas, uang kuliah tidak akan terlambat mengingat beasiswa memang langsung dibayarkan dari kampus tersebut. Untuk uang hidup, biasanya walaupun sedikit tetapi teratur dan kampus memberi pekerjaan terhadap mahasiswa tersebut. Di tempat saya kuliah, uang hidup mahasiswa yang memperoleh beasiswa separuh dari beasiswa DIKTI. Mahasiswa tersebut terpaksa bekerja (sebagai staf atau asisten dosen) untuk memenuhi biaya hidupnya.

Sebenarnya beasiswa DIKTI jika dibandingkan dengan beasiswa dari institusi lain lebih tinggi, hanya saja masalahnya adalah keterlambatan dan kejelasan waktu penerimaan beasiswa tersebut. Jadi jika Anda berminat mengambil beasiswa DIKTI maka persiapkanlah dana talangan untuk jaga-jaga jika uang DIKTI terlambat, dan masalah lainnya seperti tahun keempat (walaupun ketika saya berangkat DIKTI menjanjikan beasiswa selama empat tahun untuk mahasiswa S3 serta adanya tunjangan keluarga jika keluarga diajak). Saya pun tetap setia dengan DIKTI karena ketika menandatangani perjanjian saya harus konsekwen terhadap apapun yang terjadi.

Installing ArcGIS 9

ArcGIS is developed from ArcVIEW that support other powerful facilities. Of course If you understand ArcView it is easy to understand ArcGIS with some additional new materials. ArcGIS more complete than ArcView with additional package ArcEditor, ArcInfo and also ArcView itself. Here is a simple installation of this software.

Click “Install ArcGIS Desktop” After notification that this software need license from ESRI, we ready to install it. Click “I Accept the license Agreement”.

You have to choose installation type, but if you do not understand, just choose “typical”. Click Next.

You can choose folder location for GIS program, but you are allowed to choose the default location by just clicking next.

The ArcGIS is supported by Phyton programming language, and you have to install and choose the location for it. Click Next twice.

Wait until the installation completed and register message appears.