11 Januari 2012

Lelucon bijak

Seorang pria bijak memasuki sebuah cafe dan mulai menceritakan sebuah lelucon yang membuat semua orang dalam cafe itu tertawa. Beberapa saat kemudian pria itu mengulangi leluconnya, namun kali ini hanya beberapa orang saja yang tertawa.
Lima menit kemudian pria itu kembali menceritakan lelucon yang sama, dan ternyata gak ada yang tertawa.

Pria inipun tersenyum lebar, sambil berkata, "Bila kamu gak bisa tertawa berulang-ulang pada lelucon yang sama, lalu mengapa kamu terus menangis berulang-ulang pada masalah yang sama?"

Kesusahan hari kemarin cukuplah untuk kemarin.. Kalau masih ingin bersedih, mari kita bikin kesusahan baru. Kalau tidak bisa, bukankah lebih baik sekarang kita tersenyum... :)

- dari Muhammad Khafidh -

Einstein VS Mr Bean

Einstein dan Mr Bean duduk berdampingan dalam sebuah penerbangan. Einstein mengajak memainkan sebuah permainan tebak-tebakan.

Einstein : Aku akan mengajukan satu pertanyaan, jika Anda tidak tahu jawabannya maka Anda membayar saya hanya $ 5, dan jika saya tidak tahu jawabannya, saya akan membayar Anda $ 500.

Einstein mengajukan pertanyaan pertama:  Berapa jarak dari Bumi ke Bulan ?

Mr Bean tidak mengucapkan sepatah kata pun, merogoh saku, mengeluarkan $ 5.

Sekarang, giliran Mr Bean...

Dia bertanya kepada Einstein:  Apakah yang naik ke atas bukit dengan 3 kaki, dan akan turun dengan 4 kaki ?
Einstein melakukan pencarian internet, dan meminta semua teman-temannya yg cerdas.
Setelah satu jam mencari jawaban… akhirnya ia memberikan Mr Bean $ 500.
Einstein sambil penasaran bertanya:  Nah, jadi apa naik keatas bukit dengan tiga kaki dan turun dengan empat kaki ???
Mr Bean merogoh saku, dan memberikan Einstein $ 5. !!!

9 Maret 2011

CLOUD COMPUTING : WEB OPERATING SYSTEM

Web Desktop (webtop) atau lebih sering disebut Web Operating System (Web OS) merupakan salah satu jenis aplikasi web yang mengimplementasikan teknologi Cloud Computing.

Cloud Computing adalah teknologi yang menggunakan jaringan Internet dan server terpusat untuk mengelola data dan menjalankan aplikasi. Cloud Computing membantu user untuk menggunakan aplikasi tanpa melakukan instalasi, mengakses file pribadi mereka di komputer manapun dengan akses internet. Teknologi ini memungkinkan efisiensi lebih dengan memusatkan penyimpanan data, memory, pemrosesan aplikasi, dan resource lainnya di Internet (server). Dengan Cloud Computing, seorang user hanya membutuhkan komputer dengan web browser dan akses Internet untuk menjalankan berbagai aplikasi seperti game, office application, Web Desktop/Web Operating System, dan sebagainya.

Secara teknis, Web OS atau juga disebut Web Desktop (webtop) adalah sebuah desktop environment yang berjalan di atas web. Web OS dapat diartikan sebagai “sistem operasi” yang berjalan di atas web browser. Tentunya, Web OS bukanlah sebuah sistem operasi yang sebenarnya. Web OS hanyalah meniru tampilan, look-and-feel, dan beberapa fitur yang biasanya ditemukan pada sebuah sistem operasi seperti Windows, Linux, atau Mac OS. Dengan kata lain, Web OS bisa juga disebut sebagai virtual desktop yang berjalan di dalam web browser. Semua aplikasi, data, file, dan konfigurasi berada di server (cloud) dan diakses secara remote dari client melalui jaringan. Fungsi web browser hanya sebagai media penampil dan input.  

. Contoh – contoh Web OS

1. SilveOS (www.silveos.com)

silveOS.com memberikan kenyamanan yang sama seperti aplikasi desktop (windows) tetapi dituangkan dalam web browser. system host dari keseluruhan data disimpan dalam server pusat, sehingga kita dapat menggunakannya dimanapun kita berada. tidak terpaku dalam suatu tempat. Kita dapat menjalankan aplikasi tanpa menginstall aplikasi tersebut.

2. EyeOS (www.eyeos.org)

EyeOS adalah sebuah aplikasi web yang menampilkan desktop ke dalam web browser. Dalam aplikasi tersebut sudah terdapat office dan beberapa aplikasi default dalam windows. Sama halnya sebuah frame work yang dikembangkan untuk web aplikasi dimana aplikasi tersebut memiliki aplikasi desktop. Aplikasi ini bersifat open source, jadi dapat didapat dengan mudah.

Teknologi yang digunakan dalam membangun aplikasi Web desktop sangat beragam tergantung dari masing-masing penyedia layanan. Secara umum Web desktop menggunakan teknologi Client-server dan menggunakan engine berbasis PHP, Ajax, Java, Flash, Silverlight (Microsoft), atau kombinasinya.

Sedikit paparan tentang teknologi dari web Desktop:

a. SilveOS.com adalah web aplikasi berbasis silverlight (web OS). SilveOS.com berbasis web dan membutuhkan Silverlight 3 untuk menjalankannya. aplikasi berjalan dalam sandbox silverlight. defaultnya kita tidak dipebolehkan untuk mengakses file system atau melakukan sesuatu yang dapat merusak sistem kerja mesin. selain desktop, taskbar, start menu dan sidebar terdapat beberapa aplikasi yang sudah dimasukkan kedalamnya, meliputi:
* File Explorer * Internet Explorer * Video Player * Rich text editor * RSS reader * Notepad * Paint * Twitter client * Flickr viewer * Youtube viewer * Virtual Earth * Chat * Calculator

b. EyeOS adalah web aplikasi berbasis PHP, XML, dan JavaScript. Tiga hal tersebut merupakan platform utama dari pembuatan web aplikasi tersebut. Dalam aplikasi tersebut sudah terdapat office dan beberapa aplikasi (±67 aplikasi).

ANALISIS ALGORITMA REKURSIF QUICK SORT

Abstrak

Dalam penanganan kasus sorting terdapat bermacam-macam tipe algoritma, baik itu secara rekursif maupun non-rekursif. Salah satu algoritma sorting yang dianggap paling mangkus adalah algoritma Quick Sort yang merupakan algoritma rekursif. Quick Sort adalah algoritma yang terkenal cepat dalam proses sorting suatu data dibandingkan dengan algoritma yang lain sehingga algoritma ini disebut ‘Quick’ sort. Pada makalah ini, penulis mencoba membahas tentang algoritma Quick Sort tersebut. Pembahasan makalah ini berupa analisis dari kompleksitas waktu algoritma Quick Sort, baik itu kondisi Best case maupun worst case. Data-data dalam makalah ini penulis peroleh dari berbagai sumber yang berkaitan. Selain dari diktat dan slide mata kuliah Desain Analisis Algoritma pada Jurusan Teknik Informatika IT Telkom tahun ajaran 2009/2010, penulis juga mengambil referensi dari berbagai sumber di Internet.

Kata kunci: Sorting, algoritma, Quick Sort, rekursif 

Untuk lebih lengkapnya silahkan download makalah versi PDF saya di link di bawah ini

DOWNLOAD : Makalah Analisa Algoritma Quick Sort Rekursif - Febri Puguh Permana

Algoritma Knuth-Morris-Pratt (KMP)


Algoritma Knuth-Morris-Pratt dikembangkan secara terpisah oleh Donald E. Knuth pada tahun 1967 dan James H. Morris bersama Vaughan R. Pratt pada tahun 1966, namun keduanya mempublikasikannya secara bersamaan pada tahun 1977.
Algoritma Knuth-Morris-Pratt (KMP) merupakan algoritma yang digunakan untuk melakukan proses pencocokan string. Algoritma ini merupakan jenis Exact String Matching Algorithm yang merupakan pencocokan string secara tepat dengan susunan karakter dalam string yang dicocokkan memiliki jumlah maupun urutan karakter dalam string yang sama.
Contoh : kata ‘algoritma’ akan menunjukkan kecocokan hanya dengan kata ‘algoritma’. Pada algoritma Knuth-Morris-Pratt (KMP), kita simpan informasi yang digunakan untuk melakukan pergeseran lebih jauh, tidak hanya satu karakter seperti algoritma Brute Force. Algoritma ini melakukan pencocokan dari kiri ke kanan.
Terdapat beberapa definisi pada algoritma Knuth-Morris-Pratt (KMP) :
1.       Misalkan A adalah alfabet dan x = x1x2…xk adalah string yang panjangnya k yang dibentuk dari karakterkarakter di dalam alfabet A.
• Awalan (prefix) dari x adalah upa-string (substring) u dengan u = x1x2…xk – 1 , k ϵ {1, 2, …, k –1}dengan kata lain, x diawali dengan u.
• Akhiran (suffix) dari x adalah upa-string (substring) u dengan u = xk – b xk – b + 1 …xk , k ϵ {1, 2, …, k– 1}dengan kata lain, x di akhiri dengan v
• Pinggiran (border) dari x adalah upa-string r sedemikian sehingga r = x1x2…xk – 1 dan u=xk–bxk – b + 1 …xk , k ϵ {1, 2, …, k –1}, dengan kata lain, pinggiran dari x adalah upa-string yang keduanya awalan dan juga akhiran sebenarnya dari x.
2.       Fungsi Pinggiran b(j) didefinisikan sebagai ukuran awalan terpanjang dari P yang merupakan akhiran dari P[1..j].

pseudo code : (KLIK UNTUK MEMPERBESAR)