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)

Alogoritma Boyer-Moore


Algoritma Boyer-Moore adalah salah satu algoritma pencarian string, dipublikasikan oleh Robert S. Boyer, dan J. Strother Moore pada tahun 1977. Algoritma ini dianggap sebagai algoritma yang paling efisien pada aplikasi umum.Tidak seperti algoritma pencarian string yang ditemukan sebelumnya, algoritma Boyer-Moore mulai mencocokkan karakter dari sebelah kanan pattern. Ide dibalik algoritma ini adalah bahwa dengan memulai pencocokkan karakter dari kanan, dan bukan dari kiri, maka akan lebih banyak informasi yang didapat. (Wikipedia)
Algoritma Boyer-Moore melakukan pencocokan karakter dimulai dari kanan ke kiri. Karakter paling kanan pada pola merupakan karakter pertama yang akan dicocokkan dengan teks. Algoritma ini mempunyai dua fase, yaitu fase preprocessing dan fase pencarian. Pada fase preprocessing terdapat dua buah fungsi untuk menggeser pola ke arah kanan. Kedua fungsi ini disebut good-suffix-shift dan bad-character-shift. Fungsi good-suffix-shift disimpan ke dalam sebuah tabel bmGs berukuran m+1. Sedangkan fungsi bad-character-shift disimpan ke dalam sebuah tabel bmBc yang berukuran n. 

Berikut adalah Algoritmanya : (KLIK UNTUK MEMPERBESAR)

8 Maret 2011

Konversi Color Space RGB-HSV dan HSV-RGB dengan Metode Travis

Warna merupakan hasil persepsi dari cahaya dalam spektrum wilayah yang terlihat oleh retina mata, dan memiliki panjang gelombang antara 400nm sampai dengan 700nm. Suatu model warna adalah model matematis abstrak yang menggambarkan cara agar suatu warna dapat direpresentasikan sebagai baris angka, biasanya dengan nilai-nilai dari tiga atau empat buah warna atau komponen, misalnya RGB (Red-Green-Blue) , CMYK (Cyan-Magenta-Yellow-Key/Black), HSI (Hue-Satruation-Lightness), atau HSV (Hue-Satruation-Value).
Warna pada dasarnya merupakan bentukan 3 dimensi, sehingga disebut sebagai "color space". Untuk aplikasi yang berbeda ruang warna yang dipakai bisa juga berbeda, peralatan tertentu biasanya membatasi ukuran dan jenis ruang warna yang dapat digunakan. Misalnya layar monitor menggunakan RGB sedangkan printer menggunakan CMYK. Oleh karena itu, diperlukan konversi color space agar gambar kita misalnya bisa tampil di monitor dan bisa di print dengan benar oleh printer, serta masih banyak contoh lainnya. Yang akan penulis bahas selanjutnya adalah konversi HSV ke RGB.
Model warna HSV mendefinisikan warna dalam terminologi Hue, Saturation dan Value. Keuntungan HSV adalah terdapat warna-warna yang sama dengan yang ditangkap oleh indra manusia. Sedangkan warna yang dibentuk model lain seperti RGB merupakan hasil campuran dari warna-warna primer.
A.     Konversi RGB ke HSV
HSV merupakan kependekan dari Hue, Saturation, dan Value. Dimana karakteristik pokok dari warna tersebut adalah:
1.       Hue: menyatakan warna sebenarnya, seperti merah, violet, dan kuning dan digunakan menentukan kemerahan (redness), kehijauan (greeness), dsb.
2.       Saturation: kadang disebut chroma, adalah kemurnian atau kekuatan warna.
3.       Value : kecerahan dari warna. Nilainya berkisar antara 0-100 %. Apabila nilainya 0 maka warnanya akan menjadi hitam, semakin besar nilai maka semakin cerah dan  muncul variasi-variasi baru dari warna tersebut.
RGB merupakan kependekan dari Red, Green, Blue. Warna – warna yang dibentuk oleh model warna merupakan hasil campuran dari warna-warna primer merah, hijau, dan biru berdasarkan komposisi tertentu.
Ada sebuah metode untuk mengkonversi HSV ke RGB dan sebaliknya yang dibuat oleh Travis sebagai berikut:
Pertama-tama cari nila maksimum dan minimum dari ketiga komponen RGB.
1.       Satruation (S) :
S=(max-min)/max
2.       Value (V) :                                  
V= max
3.       Hue (H) : Pertama-tama hitung R’, G’, dan B’
R'=max-R / max-min
G'=max-G / max-min
B'=max-B / max-min
Jika Satruation, S=0, maka hue tidak terdefinisi (tidak memiliki hue berarti monochrome). kemungkinan lain:
·         if (R = max and G = min)        -> H = 5 + B’
·         else if (R = max and G ≠ min)   -> H = 1 − G’
·         else if (G = max and B = min)   -> H = R’ + 1
·         else if (G = max and B ≠ min)   -> H = 3 – B’
·         else if (R = max)               -> H = 3 + G’
·         otherwise                       -> H = 5 – R’
Hue (H) lalu dikonversi menjadi derajat/degrees dengan cara mengalikan dengan 60 sehingga menghasilkan HSV dengan S dan V antara ) dan 1 dan H antara 0-360
B.      Konversi HSV ke RGB
Untuk mengkonversi balik dari HSV ke RGB ,pertama ambil nilai H (range 0-360) dan bagi dengan 60.
Hex = H/60
Lalu hitung nilai dari warna primer, warna sekunder, a, b, dan c. Warna primer adalah komponen integer dari Hex ( misal dalam C : floor(Hex) ).
Secondary colour = Hex – primary colour
a = (1-S)V
b = (1 − (S * secondary colour))V
c = (1 − (S * (1 − secondary colour)))V
Selanjutnya hitung nilai RGB dengan cara berikut :
·         if primary colour = 0 then     -> R = V,G = c,B = a
·         if primary colour = 1 then     -> R = b,G = V,B = a
·         if primary colour = 2 then     -> R = a,G = V,B = c
·         if primary colour = 3 then     -> R = a,G = b,B = V
·         if primary colour = 4 then     -> R = c,G = a,B = V
·         if primary colour = 5 then     -> R = V,G = a,B = b

Dari perhitungan di atas maka akan didapatkan nilai-nilai dari model warna RGB.
references :