Tampilkan postingan dengan label Program. Tampilkan semua postingan
Tampilkan postingan dengan label Program. Tampilkan semua postingan

Rabu, Februari 20, 2013

infoka.krl.co.id: Sebuah Ulasan

infoka.krl.co.id merupakan salah satu inovasi terbaru dari PT KRL Commuter Jabodetabek (KCJ) untuk memenuhi kebutuhan para pengguna KRL akan informasi terkini mengenai posisi KRL, selain dengan bertanya kepada petugas di stasiun. Ini merupakan sebuah aplikasi online yang dapat membantu pengguna KRL untuk mengetahui kereta apa saja yang sedang menuju stasiun tertentu dan posisinya saat ini secara realtime. Aplikasi ini dapat Anda akses melalui komputer atau perangkat mobile, selama tersedia koneksi internet di perangkat yang Anda gunakan.

Saya pertama kali mengetahui hal ini kemarin pagi, dari posting di fanpage para pengguna KRL Jabodetabek. Awalnya saya kira ini merupakan aplikasi yang dibuat oleh salah seorang atau sekelompok pengguna KRL. Setelah diperhatikan lagi, saya baru sadar bahwa ini adalah layanan yang diberikan oleh PT KCJ. Berikut ini adalah salah satu tweet dari akun resmi PT KCJ yang memberikan info mengenai aplikasi tersebut.

Selasa, Mei 22, 2012

CS-IPB Feed

Pada hari Sabtu-Minggu kemarin, 19-20 Mei 2012, digelar acara Workshop Nokia S40 Web Apps di Kampus IPB Baranangsiang. Pada acara tersebut, dibahas cara & teknik untuk mengembangkan aplikasi mobile untuk platform Nokia Series 40 menggunakan Web Apps. Setelah selesai dikembangkan, aplikasi ini dapat diupload ke Ovi Store Nokia. Beritanya dapat dilihat di sini.
*curcol: Ilkom IPB dido'ain untuk jadi fakultas euy :p*

Dalam kesempatan ini, saya mencoba untuk mengembangkan aplikasi CS-IPB Feed. Aplikasi ini merupakan aplikasi RSS Feed, yang mengambil konten dari situs Ilmu Komputer IPB. Ada tiga kategori yang disediakan, yaitu kategori berita, kegiatan, dan pengumuman.

Rabu, April 18, 2012

Judul Baru

Seperti yang sudah dipaparkan di tulisan sebelumnya, penelitian saya memerlukan judul yang baru. Hal ini disebabkan oleh ruang lingkup penelitian yang dipersempit oleh sang dosen pembimbing. Walhasil, perlu dicari judul baru yang sesuai dengan ruang lingkup penelitian saya yang baru.

Akhirnya hari itu datang juga. Selasa kemarin, 16 April 2012, ketika bimbingan dengan sang dosen pembimbing. Setelah bimbingan, saya menanyakan judul baru yang kira-kira cocok dengan penelitian saya. Dan judul baru yang ditetapkan oleh sang pembimbing adalah:

Minggu, April 08, 2012

(Menjelang) Ganti Judul

Judulnya ambigu? Sengaja :p
Lalu, apa yang judulnya diganti? Mengapa judulnya diganti? Baca terus tulisan ini :)

Melanjutkan dari tulisan ini, saat ini saya masih mengerjakan penelitian saya. Tetapi, dengan alur kerja yang sedikit berbeda dengan yang sebelumnya pernah dipikirkan ketika kolokium.

Pada awalnya, urutan pengerjaan penelitian saya secara umum adalah pembuatan model pengenalan aksara Sunda menggunakan klasifikasi Support Vector Machine (SVM), kemudian baru mengimplementasikan model tersebut pada aplikasi mobile. Pada fase pemodelan, saya mengerjakannya dengan bahasa pemrograman MATLAB. Kemudian model tersebut akan diimplementasikan menggunakan bahasa pemrograman Java, untuk platform Android. Untuk klasifikasi menggunakan SVM sendiri, sudah ada library pemrograman yang dapat digunakan, yaitu LibSVM. Library ini dapat digunakan untuk klasifikasi SVM dengan data yang memiliki beberapa kelas. Library ini dapat digunakan dalam beberapa bahasa pemrograman, seperti Java dan MATLAB.

OK, kembali ke laptop cerita.

Selasa, Januari 24, 2012

Kolokium

Sebelum melakukan penelitian, seluruh mahasiswa Ilmu Komputer tingkat akhir harus menjalani sebuah proses yang diberi nama kolokium. Kolokium merupakan seminar usulan penelitian. Dalam kolokium, akan disampaikan judul, latar belakang, tujuan, dan manfaat dari penelitian yang akan dilakukan. Selain itu, akan disampaikan pula metode yang akan digunakan dalam penelitian. Kegiatan ini dilakukan sejak tanggal 16 hingga 26 Januari 2012.

Alhamdulillah, saya sudah mempresentasikan usulan penelitian saya. Penelitian saya bertemakan pengenalan pola (pattern recognition), dan mengambil judul:
"Aplikasi Mobile Penerjemah Aksara Sunda Berbasis Augmented Reality Menggunakan Klasifikasi Support Vector Machine"

Dalam penelitian ini, akan dikembangkan sebuah aplikasi mobile yang dapat digunakan untuk "membaca" tulisan aksara Sunda tercetak, yang terdapat pada buku atau papan nama jalan, dan kemudian menerjemahkannya menjadi tulisan Latin.

Setelah membaca judul penelitian saya, mungkin pertanyaan-pertanyaan ini muncul di benak Anda:

1. Mengapa harus aplikasi mobile?
Perkembangan teknologi saat ini memungkinkan sebuah ponsel tidak hanya berfungsi sebagai ponsel biasa, tetapi juga sebagai sebuah web browser, GPS, PDF reader, dan komputer mini. Teknologi ini biasa disebut dengan smart phone, dan sekarang perkembangannya sudah cukup pesat. Karenanya, proses komputasi dapat dilakukan hanya dengan sebuah ponsel.

2. Mengapa harus aksara Sunda?
Aksara Sunda merupakan salah satu peninggalan budaya Sunda. Aksara Sunda sudah dibakukan melalui Surat Keputusan Gubernur Jawa Barat nomor 434/Sk.614-Dis.Pk/99, dan dalam beberapa tahun ini sudah digunakan dalam kehidupan masyarakat Sunda, khususnya di Jawa Barat. Selain itu, aksara Sunda telah masuk ke dalam Unicode, dan masuk ke dalam daftar karakter Unicode versi 5.1 (sumber). Aksara Sunda digunakan dalam buku teks pelajaran, dan beberapa kota di Jawa Barat menggunakan aksara Sunda pada papan nama jalan, mendampingi tulisan Latinnya. Akan tetapi, tidak banyak orang yang mengerti dan memahami tulisan aksara Sunda, bahkan masyarakat Sunda sekalipun. Dengan dikembangkannya aplikasi ini, diharapkan dapat membantu menerjemahkan tulisan aksara Sunda.

3. Mengapa harus augmented reality?
Salah satu perkembangan teknologi pada aplikasi mobile adalah munculnya modul augmented reality. Dengan modul ini, suatu device dapat menampilkan tampilan realita dunia nyata untuk pengguna yang tertambahkan oleh computer-generated sensory input, seperti data suara, video, grafis, atau GPS (mashable.com). Dengan diterapkannya modul ini, diharapkan tulisan Latin yang terbaca dapat "digandengkan" dengan citra tulisan aksara Sundanya.

4. Mengapa harus Support Vector Machine?
Support Vector Machine (SVM) merupakan salah satu teknik yang biasa digunakan untuk klasifikasi. Teknik ini mencari sebuah bidang batas (hyperplane) yang dapat memisahkan data menjadi kelas tertentu yang dapat memaksimumkan margin, yaitu jarak antara data "terluar" dari masing-masing kelas dengan hyperplane. SVM dapat menangani baik masalah yang linear maupun yang nonlinear. Untuk menangani masalah nonlinear, digunakan fungsi kernel untuk memetakan data ke ruang ciri yang berdimensi lebih tinggi. Juga, dalam beberapa keterangan, disebutkan bahwa SVM digunakan dalam proses pengenalan karakter tulisan tangan (handwritten character recognition, HCR).
Keterangan lebih lanjut mengenai SVM salah satunya dapat dibaca di sini.

Demikian judul penelitian saya. Dari alokasi jadwal yang saya susun, rencananya penelitian ini akan selesai pada bulan April 2012. Do'akan saja, semoga bisa selesai tepat pada waktunya.. :)

Senin, Januari 10, 2011

Perbedaan Macro Pada TASM & JWasm

Assembler adalah suatu program yang dapat digunakan untuk meng-assemble kode program dalam bahasa Assembly. Dalam bahasa sehari-hari mungkin assembler bisa disebut "compiler"-nya Assembly.

Di dunia ini, terdapat banyak sekali program Assembler. Beberapa diantaranya adalah TASM (Turbo Assembler) dan JWasm. Masing-masing program Assembler ini memiliki kekhasan masing-masing, yang mungkin saja berbeda dengan Assembler lain.

/* Pendahuluan yang ga terlalu penting :p */

Berbicara mengenai Assembler, saya menghadapi sedikit masalah dengan program ini, yang untungnya sudah tertangani. Begini ceritanya.

Saya sekarang menjadi asisten praktikum Organisasi Komputer (Orkom) untuk kelas Ilkom Ekstensi. Waktu saya mendapatkan mata kuliah ini, Assembler yang digunakan adalah TASM. Akan tetapi, untuk praktikum Orkom kali ini (di Ilkom Ekstensi-pen), alih-alih menggunakan TASM, sang dosen memilih untuk menggunakan JWasm sebagai Assembler. Salah satu kelebihan dari JWasm adalah dapat digunakan di sistem operasi Linux, dimana hal ini merupakan fitur yang jarang ada di dunia Assembler.

Secara umum, sintaks yang digunakan dalam JWasm tidak jauh berbeda dengan sintaks pada TASM. Salah satu sintaks yang berbeda adalah sintaks untuk memanggil Macro dengan n argumen input (n > 1).

Misalkan saya mempunyai kodingan untuk mencetak angka 0 dan huruf C sebanyak tiga kali secara bergantian sebagai berikut:
Cetak_Kar MACRO Kar1,Kar2
MOV CX,3
MOV AH,02

Ulang:
MOV DL,Kar1
INT 21h
MOV DL,Kar2
INT 21h

LOOP Ulang

ENDM ; End Macro

.MODEL SMALL
.CODE
ORG 100h

Proses:
Cetak_Kar 48 67 ; Kode ASCII: '0'=48, 'C'=67
INT 20h
END Proses


Ketika saya assemble koding tersebut menggunakan TASM (menjadi program .com tentunya) dan saya jalankan, tidak terjadi masalah. Beda halnya ketika saya assemble koding tersebut menggunakan JWasm. Alih-alih pesan sukses, yang keluar malah pesan gagal.

Setelah dilakukan penelusuran, ternyata terdapat satu perbedaan kecil antara sintaks pada TASM dan JWasm dalam pemanggilan Macro dengan n argumen input. Pada TASM, argumen-argumen yang akan dikirim ke macro dapat dipisahkan dengan spasi atau koma, tetapi pada JWasm argumen-argumen tersebut harus dipisahkan dengan koma. Jadi, kita hanya perlu menambahkan tanda koma sebagai pembatas antar argumen macro pada koding di atas, hasilnya adalah sebagai berikut.
Cetak_Kar MACRO Kar1,Kar2
MOV CX,3
MOV AH,02

Ulang:
MOV DL,Kar1
INT 21h
MOV DL,Kar2
INT 21h

LOOP Ulang

ENDM ; End Macro

.MODEL SMALL
.CODE
ORG 100h

Proses:
Cetak_Kar 48,67
INT 20h
END Proses


Jika Anda assemble koding kedua ini menggunakan JWasm, maka akan muncul pesan sukses, dan program dapat dijalankan.

Sebegitu simpel? Ya. Tapi jika Anda menganggap ini adalah hal sepele, maka Anda salah. Hal ini tidak dapat disepelekan begitu saja, karena beda sintaks, beda artinya.

Yah, ini hanyalah satu perbedaan sintaks antara TASM dan JWasm. Mungkin masih banyak perbedaan lainnya yang belum saya temui.

Jadi, bagaimana menurut Anda?

Senin, Juli 19, 2010

GNU Octave

Salah satu mata kuliah di Ilkom IPB adalah Analisis Numerik. Sebenarnya, mata kuliah ini merupakan mata kuliah interdepartemen dari departemen Matematika. Menurut keterangan di halaman ini, mata kuliah yang kadang disebut Anum ini akan membekali mahasiswa dengan pemahaman tentang prinsip-prinsip dasar komputasi numerik dan penyelesaian masalah secara numerik, serta kemampuan untuk memilih metode numerik yang tepat dan menggunakannya untuk menyelesaikan beberapa jenis masalah.

Terdapat praktikum pada mata kuliah ini. Aplikasi yang digunakan adalah MATLAB, yaitu sebuah software dengan lingkungan komputasi numerik yang dapat digunakan untuk berbagai keperluan, seperti makan dan MCK menghitung manipulasi matriks, plotting fungsi, dan penerapan suatu algoritma. Daftar fiturnya bisa dilihat di sini.

Jika kita melihat fiturnya, tentunya kita tergiur untuk memiliki aplikasi ini. Tetapi, satu hal yang agak mengganjal untuk memiliki aplikasi ini adalah aplikasi ini berbayar, dan harganya lumayan tinggi (daftar harganya bisa dilihat dimana-mana, salah satunya di sini), agak kurang cocok untuk kantong mahasiswa seperti saya :). Memang sih, ada yang PE a.k.a "pirated edition". Tapi, sekarang saya sedang mencoba untuk mengurangi ketergantungan kepada software demikian. Bisa-bisa, kalau saya masih tergantung dengan software yang seperti itu, semua kerjaan saya tidak berkah... :)

Lalu, apa dong solusinya? Masak nggak jadi praktikum karena nggak punya softwarenya?

Ternyata, ada juga solusi untuk permasalahan ini dari "kubu" Open Source Software. GNU Octave adalah sebuah software Open Source yang dimaksudnya utamanya untuk komputasi numerik. Bahkan, menurut web resminya, aplikasi ini dapat melakukan komputasi numerik yang kompatibel dengan MATLAB. Aplikasi ini dibuat untuk platform Linux. Satu kekurangan yang cukup mencolok, aplikasi ini berbasis CLI, bukan GUI. Ya udahlah, gapapa, yang penting bisa dipake.

Karena defaultnya Octave buat Linux, maka target berikutnya adalah mencari versi Windowsnya (maklum, masih main di Windows... :p). Ternyata di web resminya juga ada link menuju ke installer buat Windows :D. Yaudah, langsung download, terus instal deh...

Katanya, ada versi GUI dari Octave, namanya QtOctave. Kalau dari Linux, gampang nginstalnya, karena program ini bisa diinstal dari software centernya. Kalo buat Windows, setelah beberapa lama mencari, ternyata ada juga. Dapetnya dari sini. Setelah diextract ke foldernya Octave (QtOctave ini bukan installer, tapi tambahan buat Octave, bentuknya zip-zipan), baru deh keliatan GUI-nya. Mirip MATLAB yang asli loh... :p

Untuk Anda yang ingin mencari ulasan mengenai aplikasi ini di Linux, bisa dilihat di sini. Nah, berikut ini ada beberapa tangkapan layar dari Octave dan QtOctave yang dijalankan di Windows Seven.

Tampilan GNU Octave, yang full CLI.Tampilan GNU Octave, yang full CLI.

Tampilan QtOctave yang full GUI.Tampilan QtOctave yang full GUI.

Kamis, Juni 03, 2010

Proyek Basdat: Sebuah Awal

Masih ingat dengan tulisan ini?

Di tulisan tersebut, dituliskan bebrapa atribut mengenai proyek, seperti tugas menumpuk, kerja tim, deadline, dll.
*Asal kopas*

Melanjutkan dari tulisan sebelumnya, pada tulisan kali ini juga akan membahas mengenai proyek yang baru saja berlalu, Proyek Basis Data. Dalam tulisan ini, akan diceritakan kelanjutan dari cerita sebelumnya.

OK, here we go...

Kisah ini dimulai dari tanggal 18 Mei 2010. Kami yang sebelumnya diberitahu bahwa akan ada presentasi progress report pada tanggal tersebut, dengan semangat 45 *lebaynya*, menyelesaikan proyek aplikasi tersebut, yang waktu itu masih memiliki beberapa bug (walaupun minor bugs).
Dan, pada tanggal tersebut, tepatnya pada waktu praktikum, terjadilah presentasi tersebut. Kelompok ane yang maju pada giliran kesekian cukup menyita perhatian (maksudnya?!).

Setelah presentasi tersebut, sang asisten praktikum (asprak) mengumumkan bahwa pada minggu berikutnya, 25 Mei 2010, sesuai dengan instruksi dosen yang bersangkutan, proyek-proyek tersebut bakal dikumpulkan. Tentunya dengan beberapa kelengkapan proyek yang diwajibkan ada.
Kembali, di sepekan berikutnya kelompok ane, juga kelompok lain, berjibaku dengan bug pada aplikasi, laporan proyek, dll.

Saat tiba H-1 pengumpulan, tiba-tiba datang sebuah "jarkom" (baca: pemberitahuan), bahwa proyek dikumpulkan pada hari H, dan presentasi dilakukan pada minggu berikutnya. Yah, pemberitahuan ini sedikit banyak membuat kami agak "gimana gitu". Tapi, yasudahlah. Apa boleh buat...
*Lumayan, masih ada waktu seminggu buat persiapan... :)*

Seminggu berselang, akhirnya waktu untuk presentasi benar-benar tiba. Dengan urutan tampill seperti dua minggu sebelumnya, masing-masing kelompok mempresentasikan hasil kerja mereka, berupa produk aplikasi basis data. Sedianya, presentasi ini dihadiri oleh dosen yang bersangkutan. Akan tetapi, karena sang dosen sedang rapat pada waktu pelaksanaan presentasi, walhasil acara itu hanya dihadiri oleh asprak dan para praktikan.
Secara keseluruhan, para praktikan telah menampilkan yang terbaik.

Dengan digelarnya presentasi tersebut, berakhir pula kerja tim proyek Basdat ane. Akan tetapi, seperti yang ane tulis di judul -- Sebuah Awal --, pada semester-semester berikutnya bakal ada beberapa proyek mata kuliah lainnya, yang tentunya wajib dikerjakan oleh semua mahasiswa Ilkom.

Selamat berjumpa di proyek kuliah berikutnya...

Rabu, Mei 12, 2010

Proyek Kuliah

Anda tentunya tidak asing lagi dengan istilah proyek, kan? Apa yang terlintas di benak Anda ketika mendengar kata "proyek"? Mungkin beberapa kata di bawah ini muncul di pikiran Anda ketika mendengar ada kata "proyek" disebut:
  • Tugas menumpuk
  • Kerja tim
  • Deadline
  • dll

Menurut Oxford Dictionary, proyek, atau yang dalam bahasa Inggris disebut project, adalah:
project

• noun 1 an enterprise carefully planned to achieve a particular aim. 2 a piece of research work by a school or college student. 3 N. Amer. a government-subsidized estate or block of homes.

• verb 1 estimate or forecast on the basis of present trends. 2 plan. 3 extend outwards beyond something else; protrude. 4 throw or cause to move forward or outward. 5 cause (light, shadow, or an image) to fall on a surface. 6 present, promote, or display (a view or image). 7 (project on to) attribute (an emotion) to (another person), especially unconsciously. 8 Geometry draw straight lines through (a figure) to produce a corresponding figure on a surface or line. 9 represent (the earth’s surface, the heavens, etc.) on a plane surface.

"An enterprise carefully planned to achieve a particular aim". Ya, proyek adalah sebuah usaha atau perusahaan atau apalah itu yang direncanakan secara hati-hati untuk mencapai suatu tujuan tertentu. Dalam sebuah proyek, akan ditemui hal-hal seperti jangka waktu penyelesaian proyek, orang-orang yang terlibat dalam proyek tersebut, pembagian tugas antara orang-orang tersebut, dan lain-lain. Di akhir pengerjaan proyek, akan didapatkan suatu produk sebagai hasil dari proyek tersebut.

Kurang lebih itulah yang sedang kami, mahasiswa Ilkom semester 4, hadapi di IPB. Sejak semester ini, dan mungkin untuk seterusnya, kami akan mendapat beberapa proyek dari beberapa mata kuliah.

Untuk semester ini, mata kuliah yang "memberikan" proyek adalah Basis Data. Dalam proyek ini, kami diminta untuk membuat sebuah sistem manajemen basis data (DBMS) yang dapat digunakan. Terserah sistem database ini mau berbasis apa, web atau desktop, tapi intinya sistem ini tersebut harus dapat menjalankan fungsi CRUD (Create - Read - Update - Delete -- kalo ga salah). Proyek ini sudah dimulai sejak awal perkuliahan Basis Data dimulai, dan Insya Allah minggu depan akan diminta "pertanggungjawaban"-nya (baca: presentasi tentang proyek).

Berbicara mengenai progress, kelompok ane sudah menyelesaikan sebagian besar dari proyek yang sedang dikerjakan (masa?), sebuah sistem rapor akademik elektronik berbasis web. Semoga bisa selesai dalam waktu seminggu ini...