Operasi File dan Direktori di VB.NET

Category : Tutorial · No Comments · by Nov 27th, 2010

File dan direktori atau folder merupakan objek yang juga sering kita gunakan, terutama saat program berinteraksi dengan data eksternal. Adapun kasus yang sering kita jumpai misalnya memeriksa eksistensi file/direktori, mendapatkan path file, mendapatkan file di direktori, dan sebagainya.

Memeriksa eksistensi file dan direktori

Untuk memeriksa apakah file eksis atau tidak, gunakan  method Exists milik class File. Sementara itu, eksistensi direktori bisa kita periksa melalui method Exists milik class Directory. Baik class File maupun Directory berada di namespace System.IO.

 

Path ke file

Langkah yang praktis guna menghindari missing path adalah menetapkan path ke file secara dinamis. Artinya, meskipun kita memindahkan file-file program, aplikasi tetap bisa menemukan file yang diacu. Tekniknya sederhana, letakkan file yang diperlukan aplikasi di folder yang aman. Folder yang dimaksud bisa folder bin atau solution. Bagaimanapun juga, ketika kita meng-copy program, minimal yang kita copy adalah folder solution.

Di samping mencari lokasi folder yang aman, sebaiknya Anda jangan terbiasa menggunakan path absolut, misalnya C:\test.mdb. Pada saat file tersebut dipindahkan atau program dibawa ke komputer lain, program akan kehilangan referensi yang diperlukan. Adapun solusinya, kita bisa menyuruh program agar mencari sendiri lokasi file.

Sebagai contoh, jika file yang akan diperlukan berada di dalam folder bin (menyatu dengan file executable), gunakan cara berikut:

Pada contoh di atas, properti BaseDirectory akan mengembalikan lokasi base yang diakhiri backslahs, sehingga Anda tidak perlu menambahkan backslash lagi. Adapun jika data atau file eksternal Anda di luar atau tidak berada langsung di dalam direktori bin, Anda bisa membuat method seperti berikut:

 

Pendekatan lain yang lebih praktis adalah mengadopsi pendekatan aplikasi web (relative path), dan bisa menggunakan karakter slash atau backslash sebagai tanda pemisah. Misalkan kita memiliki struktur folder bab02\FiledanDirektori\bin, maka semua pernyataan berikut akan mengembalikan nilai True.

 

File di Direktori

Bagaimana kita bisa mendapatkan semua file di suatu direktori? Mengambil nama file satu per satu atau secara manual tentu bukan pendekatan yang praktis. Adapun langkah yang tepat adalah melakukan iterasi dengan memanfaatkan method GetFiles.

 

Nama dan ekstensi file

Mendapatkan nama dan/atau ekstensi file juga merupakan aktivitas yang sering dilakukan. Dengan memanfaatkan class Path, aktivitas ini menjadi semakin mudah.

 

Sebagai alternatif, Anda bisa menggunakan class FileInfo untuk mendapatkan nama dan ekstensi suatu file.

Mengenal Text Mining

Category : Artikel · No Comments · by Nov 11th, 2010

Text mining, yang juga disebut sebagai text data mining (TDM) atau knowledge-discovery in text (KDT), secara umum mengacu pada proses ekstraksi informasi atau  knowledge yang menarik dan non-trivial dari dokumen-dokumen teks tak terstruktur (unstructured) [1]. Text mining dapat didefinisikan sebagai penemuan informasi baru dan tidak diketahui sebelumnya oleh komputer, dengan secara otomatis mengekstrak informasi dari sumber-sumber teks tak terstruktur yang berbeda. Kunci dari proses ini adalah menggabungkan informasi yang berhasil diekstraksi dari berbagai sumber [2]. Tujuan utama text mining adalah mendukung proses knowledge discovery pada koleksi dokumen yang besar.

Pada prinsipnya, text mining adalah bidang ilmu multidisipliner, melibatkan information retrieval (IR), text analysis, information extraction (IE), clustering, categorization, visualization, database technology, natural language processing (NLP), machine learning, dan data mining. Dapat pula dikatakan bahwa text mining merupakan salah satu bentuk aplikasi kecerdasan buatan (atau artificial intelligence / AI).

Text mining mencoba memecahkan masalah information overload dengan menggunakan teknik-teknik dari bidang ilmu yang terkait. Text mining dapat dipandang sebagai suatu perluasan dari data mining atau knowledge-discovery in database (KDD), yang mencoba untuk menemukan pola-pola menarik dari basis data berskala besar. Namun text mining memiliki potensi komersil yang lebih tinggi dibandingkan dengan data mining, karena kebanyakan format alami dari penyimpanan informasi adalah berupa teks. Text mining menggunakan informasi teks tak terstruktur dan mengujinya dalam upaya mengungkap struktur dan arti yang “tersembunyi” di dalam teks.

Perbedaan mendasar antara text mining dan data mining terletak pada sumber data yang digunakan. Pada data mining, pola-pola diekstraki dari basis data yang terstruktur, sedangkan di text mining, pola-pola diekstraki dari data tekstual (natural language). Secara umum, basis data didesain untuk program dengan tujuan melakukan pemrosesan secara otomatis, sedangkan teks ditulis untuk dibaca langsung oleh manusia [2]. Bagaimanapun juga, tugas dalam text mining jauh lebih kompleks dibandingkan dengan data mining, karena melibatkan data teks yang sifatnya tidak terstruktur dan tidak jelas (fuzzy) [1].

Proses Text Mining

Text mining merupakan suatu proses yang melibatkan beberapa area teknologi. Namun secara umum proses-proses pada text mining mengadopsi proses data mining. Bahkan beberapa teknik dalam proses text mining juga menggunakan teknik-teknik data mining. Ada empat tahap proses pokok dalam text mining, yaitu pemrosesan awal terhadap teks (text preprocessing), transformasi teks (text transformation), pemilihan fitur (feature selection), dan penemuan pola (pattern discovery) [3].

a.       Text Preprocessing

Tahap ini melakukan analisis semantik (kebenaran arti) dan sintaktik (kebenaran susunan) terhadap teks. Tujuan dari pemrosesan awal adalah untuk mempersiapkan teks menjadi data yang akan mengalami pengolahan lebih lanjut. Operasi yang dapat dilakukan pada tahap ini meliputi part-of-speech (PoS) tagging, menghasilkan parse tree untuk tiap-tiap kalimat, dan pembersihan teks.

b.       Text Transformation

Transformasi teks atau pembentukan atribut mengacu pada proses untuk mendapatkan representasi dokumen yang diharapkan. Pendekatan representasi dokumen yang lazim digunakan adalah model “bag of words” dan model ruang vektor (vector space model). Transformasi teks sekaligus juga melakukan pengubahan kata-kata ke bentuk dasarnya dan pengurangan dimensi kata di dalam dokumen. Tindakan ini diwujudkan dengan menerapkan stemming dan menghapus stopwords.

c.        Feature Selection

Pemilihan fitur (kata) merupakan tahap lanjut dari pengurangan dimensi pada proses transformasi teks. Walaupun tahap sebelumnya sudah melakukan penghapusan kata-kata yang tidak deskriptif (stopwords), namun tidak semua kata-kata di dalam dokumen memiliki arti penting. Oleh karena itu, untuk mengurangi dimensi, pemilihan hanya dilakukan terhadap kata-kata yang relevan yang benar-benar merepresentasikan isi dari suatu dokumen. Ide dasar dari pemilihan fitur adalah menghapus kata-kata yang kemunculannya di suatu dokumen terlalu sedikit atau terlalu banyak.

d.       Pattern Discovery

Pattern discovery merupakan tahap penting untuk menemukan pola atau pengetahuan (knowledge) dari keseluruhan teks. Tindakan yang lazim dilakukan pada tahap ini adalah operasi text mining, dan biasanya menggunakan teknik-teknik data mining. Dalam penemuan pola ini, proses text mining dikombinasikan dengan proses-proses data mining.

Masukan awal dari proses text mining adalah suatu data teks dan menghasilkan keluaran berupa pola sebagai hasil interpretasi atau evaluasi [4]. Apabila hasil keluaran dari penemuan pola belum sesuai untuk aplikasi, dilanjutkan evaluasi dengan melakukan iterasi ke satu atau beberapa tahap sebelumnya. Sebaliknya, hasil interpretasi merupakan tahap akhir dari proses text mining dan akan disajikan ke pengguna dalam bentuk visual.

Referensi:

[1] Tan, A., Text Mining: The state of the art and the challenges, In Proc of the Pacific Asia Conf on Knowledge Discovery and Data Mining PAKDD’99 workshop on Knowledge Discovery from Advanced Databases, 1999.
[2] Hearst, M., What is Text Mining?, http://www.sims.berkeley.edu/~hearst/ text-mining.html, 2003.
[3] Even-Zohar, Y., Introduction to Text Mining, Supercomputing, 2002.
[4] Prasetya, D.D. 2007. Perangkat Lunak Document Clustering Engine untuk Clustering Berita Berbahasa Indonesia dengan Metode Frequent Itemset. Master Thesis, ITB. (Tidak dipublikasikan)

Kesulitan Belajar (Learning Disability)

Category : Makalah, Pembelajaran, Penelitian, Usia Dini · No Comments · by Nov 10th, 2010

Kesulitan belajar (learning disability) merupakan kumpulan gangguan yang bervariasi manifestasinya, berupa kesulitan dalam memperoleh dan menggunakan kemampuan mendengar, berbicara, membaca, menulis, berpikir, dan berhitung. Prevalensi jumlah anak berkesulitan belajar terus mengalami peningkatan dari tahun ke tahun dengan perbandingan anak laki-laki dan anak perempuan antara 4 berbanding 1 hingga 7 berbanding 1 (Abdurrahman, 2003). Sebuah penelitian di DKI Jakarta mengungkapkan bahwa 16,52% dari 3.215 murid SD dinyatakan sebagai anak berkesulitan belajar. Penelitian lain di Semarang mengungkapkan bahwa sebanyak 11,4% anak usia sekolah mengalami kesulitan belajar.

Pada dasarnya, kesulitan belajar bukan momok yang mengerikan, melainkan suatu hambatan/gangguan belajar. Meski demikian, jika tidak ditangani dengan baik dan benar maka berpotensi besar menimbulkan berbagai bentuk gangguan emosional (psikiatrik) yang akan berdampak buruk bagi perkembangan kualitas hidup anak di kemudian hari. Terlebih bagi anak usia dini, masalah belajar merupakan hal penting karena usia ini merupakan periode emas (golden age) bagi perkembangan anak untuk memperoleh proses pendidikan. Oleh karena itu, penanganan kesulitan belajar pada anak usia dini memiliki urgensi yang tinggi.

Undang-Undang 1945 pasal 31 menegaskan bahwa pendidikan merupakan hak seluruh warga negara tanpa membedakan asal-usul maupun keadaan fisik, termasuk bagi anak berkebutuhan khusus. Dalam Undang-Undang Nomor 20 Tahun 2003 tentang Sistem Pendidikan Nasional, hak anak untuk memperoleh pendidikan dijamin penuh tanpa adanya diskriminasi termasuk anak-anak yang mempunyai kelainan atau anak yang berkebutuhan khusus. Namun kenyataan di lapangan menunjukkan bahwa layanan pendidikan bagi anak berkebutuhan khusus masih sangat minim. Menurut Himpunan Pendidik dan Tenaga Kependidikan Indonesia (HIMPAUDI), baru sekitar 34 persen PAUD yang memberikan layanan bagi anak berkebutuhan khusus.

 

Referensi:

  1. Abdurrahman, M. 2003. Pendidikan Bagi Anak Berkesulitan Belajar. Rineka Cipta, Jakarta.
  2. Prasetya, D. D., Rahmawati, Y., Widiyaningtyas, T 2010. Rancang Bangun Interactive Learning System Berbasis Web untuk Meningkatkan Layanan Pendidikan Anak Berkesulitan Belajar (Learning Disability) pada Usia Dini. UM-DP2M (Tidak dipublikasikan)

Halo Sahabat…

Category : Uncategorized · No Comments · by Nov 1st, 2010

Halo sahabat…
Di tulisan pertama ini saya hanya akan memberikan pengantar singkat saja (atau perkenalan lah) :-) .
Pada intinya saya akan menceritakan tentang histori dari SahabatBelajar.Com (selanjutnya bisa disingkat SBC).
Alhamdulillah, pada tanggal 28 Oktober 2010 kami berhasil meregistrasikan domain SahabatBelajar.Com.
Selanjutnya, secara resmi kami mengudara (baca: online hehe) pada tanggal 1 Nopember 2010.

Sesuai namanya, web ini memiliki visi sebagai “sahabat belajar bersama”, tentunya tidak terbatas
pada bidang ilmu spesifik. Memang berat mewujudkan visi tersebut, namun kita harus optimis kan? :-)
Nah, agar (saya) tidak terbebani dengan visi tersebut, saya punya target jangka pendek, setidaknya
tulisan-tulisan di SBC ini bisa menjadi referensi tambahan bagi semua. Iya, langkah ini menurut
saya sudah merepresentasikan identitas sahabat belajar bersama. Setuju kan??