Pemenggalan suku kata dengan python

July 30th, 2010 by Peb Ruswono Aryan

Kode berikut mencoba memperbaiki algoritma sebelumnya yang masih gagal di beberapa kasus. Algoritma yang baru pun masih punya kekurangan. Kemarin sempat diminta oleh rekan untuk penganalisis morfologi di pemrosesan bahasa alami. Supaya ada acuan penggunaan, jadinya saya publikasikan di sini saja. Sumber yang digunakan sebagai acuan dalam algoritma ini adalah buku EYD (saya lupa judul lengkapnya, nanti deh dilengkapi).

cara menggunakannya bisa langsung dari command-line.
>python suku.py berkebun
['ber', 'ke', 'bun']

#file : suku.py
#auth : Peb Ruswono Aryan
#desc : pemenggalan suku kata bahasa indonesia
import os, sys

vokal = ['a', 'i', 'u', 'e', 'o']
awalan = ["be", "me", "pe"]

def replacer(kata, pola):
	result = kata
	for p,r in pola.items():
		result = result.replace(p, r)
	return result

def unreplacer(kata, pola):
	result = kata
	for p,r in pola.items():
		result = result.replace(r, p)
	return result

def praproses(kata):
	result = []
	tmp = ""
	i=0
	inkonsonan = False
	numkonsonan = 0
	for karakter in kata:
		iskonsonan = (karakter not in vokal)
		if iskonsonan:
			if not inkonsonan:
				inkonsonan = True
			numkonsonan += 1
			tmp += karakter
		else:
			if inkonsonan:
				inkonsonan = False

				if len(tmp)==1:
					result += [tmp+karakter]
				else:
					result += [tmp[0], tmp[1:]+karakter]
				tmp = ""
			else:
				result += [karakter]
	if len(tmp)>0:
		result += [tmp]
	return result

def kaidah1(listsuku):
	global vokal
	result = []
	last = ""
	i = 0
	for suku in listsuku:
		if len(suku)==1 and i>0:
			if suku in vokal:
				result += [suku]
			elif listsuku[i-1][-1] in vokal:
				if i1:
		if listsuku[0] in awalan and listsuku[1][0] not in vokal and listsuku[1][0] not in dift and len(listsuku[1])>2:
			listsuku[0] += listsuku[1][0]
			listsuku[1] = listsuku[1][1:]
		if len(listsuku[0])==1:
			listsuku = [listsuku[0]+listsuku[1]] + listsuku[2:]
	return listsuku

def kaidah3(listsuku):
	global vokal
	result = []
	last = ""
	i = 0
	for suku in listsuku:
		if len(suku)==1 and i>0:
			if listsuku[i-1][-1] in vokal:
				result[-1] = result[-1] + suku
			else:
				result += [suku]
		else:
			result += [suku]
		i += 1
		last = suku
	return result

def pecah(kata):
	kdift = {"kh":"$", "ng":"%", "ny":"^", "sy":"&", "tr":"*", "gr":"("}
	return [unreplacer(s, kdift) for s in kaidah3(kaidah2(kaidah1(praproses(replacer(kata, kdift)))))]

if len(sys.argv)>1:
	kata = sys.argv[1]
	print pecah(kata)

Radial illumination falloff compensation thresholding

July 30th, 2010 by Peb Ruswono Aryan

Fiuh, judul yang panjang untuk menerangkan bagaimana membuat citra biner dari kamera digital yang umumnya menghasilkan citra dengan pencahayaan yang bergradasi radial (makin ke tengah/fokus makin terang). Idenya sederhana saja, nilai batas (threshold) yang ditentukan secara global disesuaikan (diturunkan) untuk tiap lokasi berdasarkan jaraknya (radius) dari titik tengah citra (atau titik dengan pencahayaan maksimum). Ide ini juga dapat diterapkan untuk variasi pencahayaan bergradasi dengan model lainnya seperti linier.

gambar asal

gambar asal (sumber ARToolkitPlus)


gambar dengan threshold global


gambar biner dengan radial illumination falloff compensation thresholding

  tres := 127; //nilai batas awal (ditentukan manual atau hasil perhitungan misal dengan algoritma Otsu atau Kapur)
  comp_rate := -0.0267;//koefisien laju penurunan nilai batas
  b := Image1.Picture.Bitmap;

  tengah.X := b.Width div 2; //nilai tengah diumpamakan berada di tengah citra
  tengah.Y := b.Height div 2;

  for j := 0 to b.Height - 1 do begin
    p := b.ScanLine[j]; //p bertipe pointer ke array of pixel (PArrRGB atau PByteArray)
    for i := 0 to b.Width - 1 do begin

      g := Round( 0.299 * p[i].r + 0.587 * p[i].g + 0.114 * p[i].b ) mod 256;

      if g < tres + dist( i, j, tengah.X, tengah.Y ) * comp_rate then //modifikasi nilai batas
        p[i] := rgb_hitam
      else
        p[i] := rgb_putih;

    end;
  end;

  Image1.Refresh;

BB dan pulsa

July 29th, 2010 by Andi Rusiawan

Jadi inget obrolan dengan kawan dosen sebuah universitas di Yogyakarta tentang menggilanya blackberry di Indonesia.

Di kelas yang kebetulan tentang pengenalan TIK  sang dosen ini bertanya ke mahasiswanya.

Dosen: “Siapa yang punya Blackberry *ngacung”

Hampir semua yang hadir di kelas mengacungkan jarinya.

Dosen: “OK, sekarang siapa yang punya pulsa ngacung”

Hanya beberapa yang hadir di kelas yang mengacungkan jarinya.

*ngacung (bahasa Jawa): silakan acungkan jarinya.


geluk

July 29th, 2010 by Andi Rusiawan

opo iku kabagyan?
Apa itu kebahagiaan?
What is happiness?
Wat is geluk?
Hidup dengan orang yg kita cinta?
Bisa travelling ke penjuru dunia?
Uang berlimpah,mobil wah,rumah mewah?
Pendidikan tinggi gelar bergengsi?
Dikenal banyak orang?
Punya blackberry dan kamera DSLR?
Spanyol menang PD?
Bisa makan ketika lapar?
…?
Ada saat ketika semua itu tak mampu menjawab.
What is happiness?


Implementing Good Leadership in Organization

July 29th, 2010 by Muhammad Insan Al Amin
Leadership role and responsibility in implementing change in organization Organizational culture is the primary source of resistance to change a leader should understand the organization culture and then plan the change process. The use of value based management model 0f 7-s model can be helpful in implementation of change by coordinating 7-s namely, shared value, strategy, structure, [...]

granny beggar eating doughnuts

July 28th, 2010 by Muhammad Insan Al Amin
do you know where granny beggar beg for doughnut ? come to ganesha road, grannies at there sometime beg people for doughnuts. why they beg doughnuts ? maybe because, they cant eat money. Its a new way of beggar marketing. it more elegant. and its very suitable with people obligation. to feed the unwealthy people, [...]

Aa Gym Speech Every Thursday at Daarut Tauhid

July 26th, 2010 by Muhammad Insan Al Amin
Heart, can be really really down, when we face unbelievable things in our life. Heart, can be so anger, when we feel something not like we want. Heart, can be so greedy and arrogant. Unmanage heart create many problems for our life. A need to other human, make us so weak. Aa Gym speech about how [...]

sikat gigi elektrik

July 26th, 2010 by Andi Rusiawan

Menyikat gigi merupakan salah satu kegiatan wajib sehari-hari yang harus dilakukan. Disini, mandi sehari sekali sudah menjadi hal yang biasa, namun minimal dua kali sehari menyikat gigi tetap wajib hukumnya.  Entah kenapa, saya punya perilaku buruk dalam hal menyikat gigi. Walaupun sudah berusaha berhati-hati, tetap saja sering kali gusi saya terluka. Dari yang cuma perih, sampai yang butuh 2 minggu untuk sembuh. Terburu-buru dan melamun saat menyikat gigi adalah hal yang sering menyebabkan musibah itu :D.

Akhirnya saya putuskan untuk membeli sikat gigi elektrik. Sebenarnya dari dahulu ingin menggunakan sikat gigi elektrik ini, namun harga yang cukup mahal (untuk merek tertentu bahkan bisa lebih dari 100 EUR, satu juta rupiah) membuat saya tetap bertahan dengan tipe manual. Kebetulan beberapa waktu yang lalu saat belanja kebutuhan sehari-hari saya melihat ada diskon 50% (memang banyak diskon saat musim panas seperti sekarang) untuk sikat gigi elektrik dan setelah saya teliti produknya ternyata bukan made in China. Akhirnya terbeli juga ^^.

Sebenarnya tidak ada yang salah dengan menyikat gigi secara manual, namun ada beberapa kelebihan dari sikat gigi elektrik ini a.l sbb. :

1. Lebih aman untuk gusi.

2. Effortless (makanya banyak orang bilang yang pakai adalah pemalas :D)

3. Ada beberapa mode (kecepatan putaran), dan tipe ujung sikat yang bisa dipilih. Dari yang untuk gigi sensitif sampai yang untuk mengikis plak.

4. Relatif tahan lebih lama dibanding sikat gigi biasa.

5. Relatif lebih ergonomis dan nyaman dipegang.

Alhamdulillah selama menggunakan sikat gigi elektrik ini gusi saya tidak pernah berdarah lagi.


Sandek, Pemuda Pekerja

July 25th, 2010 by Sawung



karya Arifin C Noor
produksi syarikat ababil
Saudara-saudaraku
Sandek
Bukan semata atas nama lapar
Bukan semata atas nama perbandingan penghasilan yang kelewat tidak wajar
Melainkan atas nama kewajaran itu sendiri
Atas namaku
Atas nama laut yang semakin keruh
Atas anam bukit yang semakin gundul atas nama manusia
Pada hari ini saya serukan pemogokan semesta
Kota-kota akan diam diam serentak sejenak
Bagaikan kuburan-kuburan
Istirah sejenak dari hangar binger gemuruh mesin-mesin-mesin
Istirah sejenak dari kebudayaan
Sempatkan sejenak mendengarkan lirih suara hati nurani
Padamkan semua lampu di semua kota dan biarkan kerlip bintang-bintang menggantikannya
Kita berdoa
Kita mengaum
Kita melolong
Bapa
Aku turuti nasihatmu
Aku tidak merampok
Aku menuntut pembukuan yang wajar
Aku akan terus menjadi hatimu

di muntahkan oleh sawung@psik-itb.org
jendral tanpa pasukan, tentara tanpa senjata

SMA

July 22nd, 2010 by Muhammad Arif Wicaksana
Minggu kemarin (14 Juli) adalah hari jadi SMA saya yang ke-20. Angka 20 menjadi istimewa, karena semenjak angkatan yang pertama, ada semacam janji yang berbunyi ‘nantikan karyaku dua puluh tahun lagi…‘. Jadi, ulang tahun yang ke-20 ini menjadi momentum bersama, sejauh mana para alumninya telah berkarya. Acara besarnya, khususnya bagi alumni, adalah acara reuni akbar [...]

Balubur Mall is A New Mall

July 20th, 2010 by Muhammad Insan Al Amin
there is a new mall in tamansari road bandung, called Balubur mall. Its located beside the pasopati highway. balubur mall is a new mall that contain moved stores from old balubur market, food court and people mall’ stuff like pasar baru mall. balubur mall provide what traditional market has, and what small mall has. you can buy [...]

Parachute – The Mess I Made

July 19th, 2010 by Prasetyo Andy Wicaksono

Should’ve kissed you there, I should’ve held your face
I should’ve watched those eyes, instead of run in place
I should’ve called you out, I should’ve said your name
I should’ve turned around, I should’ve looked again

But ohh, I’m staring at the mess I made
I’m staring at the mess I made
I’m staring at the mess I made
As you turn, you take your heart and walk away

Should’ve held my ground, I could’ve been redeemed
For every second chance, that changed its mind on me,
I should’ve spoken up, I should’ve proudly claimed
That oh my head’s to blame, for all my hearts mistakes

But ohh, I’m staring at the mess I made
I’m staring at the mess I made
I’m staring at the mess I made
As you turn, you take your heart and walk away

And it’s, you, and it’s, you…
And it’s, you, and it’s, you…
And it’s falling down, as you walk away…
And it’s on me now, as you go…

But ohh, I’m staring at the mess I made
I’m staring at the mess I made…
I’m staring at the mess I made
As you turn, you take your heart and walk away

And it’s falling down, as you walk away…
And it’s on me now, as you go…

But ohh, I’m staring at the mess I made
I’m staring at the mess I made…
I’m staring at the mess I made
As you turn, you take your heart and walk away


Membunuh Waktu Suntuk

July 19th, 2010 by Petra Novandi Barus

Tidak sampai beberapa jam lalu, perasaan suntuk tiba-tiba menyelimuti pikiran gw. Gw langsung beranjak dari depan laptop. Gw mengambil gitar yang teronggok di lantai kamar kos. Gw keluar membawa gitar itu dan duduk di kursi yang ada di beranda rumah kos. Gw mulai memetik dawai gitar satu per satu. Di saat itu lah gw baru sadar gw gak bisa main gitar.

Gw akui kegiatan di atas rasa agaknya terlalu terpengaruh lagunya Jamal Mirdad ‘Yang Penting Hepi‘ yang didendangkan bersama teman-teman di ruang karaoke kemarin. Tapi memang gak salah khan? Kalau gw tanya kegiatan apa yang biasa dilakukan mahasiswa laki-laki jomblo gak berduit sendirian di waktu suntuk, pasti hampir semua jawab kalo gak ngerokok ya main gitar.

Belakangan karena gw sedang punya banyak hal yang dikerjakan gw jadi mudah suntuk. Dan sialnya gw jadi kesulitan menemukan kegiatan yang pas untuk membunuh waktu suntuk itu. Gw butuh sebuah kegiatan yang cukup produktif, bisa bikin rileks, tapi gak butuh banyak biaya dan gak perlu mikir banyak.

Main gitar adalah yang pertama kali terpikir. Sejak awal semester lalu kamar gw dihiasi sebuah gitar. Gitar ini gw temukan di gudang rumah. Ketimbang berdebu di gudang rumah mending gw bawa aja ke kosan. Siapa tau gw sempet belajar main gitar. Kenyataannya sekarang perbedaannya cuman gitarnya udah gak berdebu lagi di kamar gw. Sama-sama gak dipake. Emang bisa aja seh gw iseng-iseng belajar. Tapi moodnya langsung hilang begitu terlintas di pikiran gw bahwa gw harus menghafal posisi kunci-kuncinya.

Hal selanjutnya yang kepikiran adalah menggambar. Dari kecil gw punya hobi menggambar. Gw paling seneng sketching. Pas SMP gw pernah juara 3 lomba melukis poster dan gw ikut klub seni. Entah kenapa dari keadaan gw males ke mana-mana akhirnya gw pergi keluar ke pasar Simpang Dago dengan berbekal uang 20 ribu. Di sana gw makan dan sisa uang makan gw beliin penghapus, serutan, pensil HB dan B. Begitu sampai kembali di kosan gw langsung mencoba menggambar. Ternyata gak bisa. Yang namanya keahlian itu kalau udah lama gak diasah pasti jadi luntur.

Dan pada akhirnya cara gw membunuh waktu suntuk (hingga sekarang gw ngantuk banget) adalah dengan memikirkan bagaimana cara membunuh waktu suntuk.

Cool huh?

Bisnis Pulsa ICS

July 18th, 2010 by Lindung P. Manik
Dear pembaca,

Bagi yang punya keinginan untuk bertransformasi dari pekerja menjadi pebisnis, ingin memiliki bisnis sendiri untuk pensiun muda, maka saya menawarkan suatu bisnis yang tidak padat modal, bahkan Rp.0 sekalipun, yaitu bisnis voucher electric. Sebagai modal anda pun diberikan pinjaman sebagai deposit awal. Dan harganya pun sangat bersaing dengan dealer-dealer yang lain. Sebagai contoh, berikut saya berikan list harga untuk voucher Indosat:
IM10/ME10 : 10150
IM20/ME20 : 19750
IM25/ME25 : 24450
IM50/ME50 : 47950
IM100/ME100 : 93650

Anda bisa bandingkan harga di ICS ini dengan harga di tempat lain. Jika Anda tertarik, maka silahkan hubungi saya melalui YM ataupun email ke ndoenks@gmail.com. Saya akan memberikan penjelasan lebih lanjut mengenai tata cara dan prosesnya ataupun kesempatan untuk mendapatkan harga yang lebih murah lagi serta keuntungan-keuntungan yang lain yang bisa didapatkan. Menarik bukan? Sampai berjumpa di kesuksesan...

Salam,

lari pagi

July 17th, 2010 by Andi Rusiawan

Dalam jeda libur musim panas ini sportcentrum universitas tutup di hari Sabtu. Saya putuskan untuk lari pagi di sekitar area rumah saya. Teringat spot memancing saya 2 minggu yang lalu yang mempunyai pemandangan cukup asri, pagi kali ini saya berlari pagi menyusuri zuid kanaal. Udara yang segar, jalan panjang lurus mulus dihiasi pohon-pohon rindang, kompleks pabrik truk DAF di kanan dan kanal berair cukup bening di kiri dimana bebek-bebek berenang riang, subhanallah… segar di mata dan di hati!.

*gambar: zuid-kanaaldijk, Eindhoven, pagi 17072010.


Makan-makan!

July 17th, 2010 by Petra Novandi Barus

Kalimat “Makan-makan!” adalah kalimat yang sekarang sudah lumrah diucapkan untuk seseorang yang sedang berbahagia.

Kalau dulu ketika ada orang yang sedang berulang tahun, biasanya yang bersangkutan diberi ucapan, “Selamat ulang tahun ya! Semoga panjang umur“. Sekarang sudah banyak yang hanya memberikan ucapan, “Makan-makan!” atau variasi yang lebih panjang, “Ditunggu makan-makannya“. Tidak hanya yang berulang tahun tapi juga untuk orang yang sedang berbahagia meskipun dari hal-hal yang kecil: mulai dari lulus sidang, wisuda, baru diterima kerja, baru dapat pacar, ataupun baru gajian.

Jaman dulu ketika gw masih belum terbiasa dengan ucapan “Makan-makan!” ini gw merasa bahwa orang yang menyodori ucapan ini memang ingin diberi makan. Jadilah gw memberi mereka makan. Karena pada saat itu menurut pendapat gw memberi makan orang yang kelaparan adalah sebuah kebaikan. (Sampai sekarang, sih, masih. Tapi yang ingin gw sampaikan adalah betapa bego polos dan lugunya gw saat itu). Sejak itu gw jadi dikenal dengan orang yang senang memberi orang makan.

Kembali ke masalah “Makan-makan!”. Setelah sekian lama akhirnya gw menyadari bahwa ucapan ini hanya lah menjadi sekadar ucapan saja. Atau lebih tepatnya ucapan dengan maksud oportunis yang tersembunyi. Yah kalau diajak makan syukur, kalo enggak ya enggak. Di lain pihak, ada juga orang yang merasa terbebani dan kemudian menjadi sebal terhadap ucapan ini. Orang-orang ini akhirnya masuk ke kalangan orang-orang yang menyembunyikan berita-berita bahagianya, sebagai contoh orang-orang yang tidak menampilkan tanggal ulang tahun di Facebook.

Gw selalu percaya bahwa segala sesuatu pasti ada hikmahnya. Berangkat dari keyakinan gw itu, gw menarik sebuah hikmah dari ucapan “Makan-makan!”. Orang yang memberikan ucapan ini sebenarnya orang yang mendoakan kita sangat dalam karena ucapan ini memiliki banyak makna.

Makna pertama yang gw simpulkan adalah orang tersebut mendoakan kita bisa selalu makan setiap hari. Makan setiap hari merupakan sebuah simbol dari kemakmuran yang dianugerahkan oleh Tuhan YME. Bukan kah doa supaya kita bisa makan setiap hari itu adalah doa yang sangat mulia di balik kesederhanaannya.

Makna kedua kembali menyiratkan sesuatu yang dalam di balik kesederhanaan ucapan “Makan-makan!”. Para pendahulu kita sering mengukur kebaikan seseorang dari seberapa sering orang tersebut memberikan makan kepada orang yang lain. Orang yang baik adalah orang yang sering memberi makan kepada sesamanya. Gw yakin dengan ucapan tersebut kita diharapkan berguna bagi sesama kita manusia mulai dari berbagi anugerah Tuhan yang paling sederhana yakni memberi makan.

Dan kesimpulan terakhir gw adalah bahwa orang yang memberikan ucapan tersebut secara tidak langsung mengatakan bahwa dia akan selalu setia terhadap yang berbahagia meski hanya sekadar untuk menunggu pemberian makanan. Ini adalah pernyataan yang sangat tulus. Orang tersebut bukan berkata, Bagi-bagi mobil!atau Bagi-bagi rumah!” tetapi dengan Makan-makan! atau dengan kata lain, Gw akan selalu berada di dekat lo biar cuman buat nunggu makan-makan doang. (yah tapi kalo dikasih mobil gak nolak juga sih)

Akhir kata, ucapan Makan-makan!” meski hanya 2 kata tapi memiliki maksud yang tulus dan mulia. Tidak banyak orang yang memiliki kemampuan untuk menulis puisi berbait-bait atau surat berlembar-lembar untuk mengungkapkan kegembiraan yang meliputi hatinya pancaran dari kegembiraan yang sedang dialami oleh rekannya. Tapi tidak lah niat mereka boleh direndahkan karena mereka hanya dapat memberikan ucapan sesederhana itu.

Oleh karena itu untuk mereka yang sedang berbahagia hari ini, “Makan-makan!”

You’re only lonely…

July 15th, 2010 by Andi Rusiawan



WHEN THE WORLD IS READY TO FALL ON YOUR LITTLE SHOULDERS,
AND WHEN YOU’RE FEELING LONELY AND SMALL,
YOU NEED SOMEBODY THERE TO HOLD YOU.
YOU CAN CALL OUT MY NAME…WHEN YOU’RE ONLY LONELY,
NOW, DON’T YOU EVER BE ASHAMED, YOU’RE ONLY LONELY,

WHEN YOU NEED SOMEBODY AROUND ON THE NIGHTS THAT TRY YOU,
(REMEMBER) I WAS THERE WHEN YOU WERE A QUEEN,
AND I’LL BE THE LAST ONE THERE BESIDE YOU.
SO YOU CAN CALL OUT MY NAME…WHEN YOU’RE ONLY LONELY.
NOW, DON’T YOU EVER BE ASHAMED, YOU’RE ONLY LONELY,

WHEN THE WORLD IS READY TO FALL ON YOUR LITTLE SHOULDERS,
AND WHEN YOU’RE FEELING LONELY AND SMALL,
YOU NEED SOMEBODY THERE TO HOLD YOU.
SO DON’T YOU EVER BE ASHAMED, YOU’RE ONLY LONELY.
AH, YOU CAN CALL OUT MY NAME…WHEN YOU’RE ONLY LONELY,

WHEN YOU’RE ONLY LONELY…
AH, IT’S NO CRIME…DARLING, WE’VE GOT LOTS OF TIME.

AH, THERE’S NOTHING WRONG WITH YOU…
DARLING, I GET LONELY, TOO.

SO IF YOU NEED ME, ALL YOU GOTTA DO IS CALL ME.
YOU’RE ONLY LONELY

*pretty oldy song from J.D. Souther



Arti tangisan Iker Casillas di Piala Dunia

July 13th, 2010 by Eric Lontong
Mungkin tidak banyak yang tahu kenapa Iker Casillas menangis saat menjuarai Piala Dunia 2010 kemarin melebihi tangisan para pemain Belanda yang dikalahkannya. Aku juga baru mendengar cerita ini secara singkat, namun sudah menggambarkan cerita secara keseluruhan. Tidak dijelaskan bagaimana keadaan ekonomi keluarga Casillas sebenarnya, namun Casillas kecil di masa kanak-kanaknya diberi tugas oleh Ayahnya untuk [...]

Protected: The Lunches (part 3)

July 13th, 2010 by Petra Novandi Barus
There is no excerpt because this is a protected post.

Protected: The Lunches (part 2)

July 13th, 2010 by Petra Novandi Barus

This post is password protected. To view it please enter your password below:


« Previous Entries