Quick Sort

Walah setelah tadi ngubek ngubek kembali tugas kuliah, eh ternyata ada satu lagi metode sorting yang kelupaan namanya Quick Sort. wadoh kok bisa jadi pelupa gini sih. Ok mulai aja penjelasnnya

Algoritma Quick Sort ini terdiri dari 4 langkah utama:

1. Jika struktur data terdiri dari 1 atau 0 elemen yang harus diurutkan, kembalikan struktur data itu apa adanya.

2. Ambil sebuah elemen yang akan digunakan sebagai pivot point (poin poros). (Biasanya elemen yang paling kiri.)

3. Bagi struktur data menjadi dua bagian – satu dengan elemen-elemen yang lebih besar

daripada pivot point, dan yang lainnya dengan elemen-elemen yang lebih kecil daripada pivot point.

4. Ulangi algoritma secara rekursif terhadap kedua paruh struktur data.

Function quicksort(num: TabInt,
left,right: integer -> TabInt
{mengurut tabel integer [1 .. N]
dengan Quick Sort}
Kamus:
pivIdx: integer {indeks pivot}
pivNewIdx: integer {indeks pivot
yang baru}
Algoritma:
if (right > left) then
pivIdx <- left
{pengambilan pivot point bisa
apa saja / random}
pivNewIdx <- partition (num,left,right,pivIdx) quicksort(num,left,pivNewIdx-1) quicksort(num,pivNewIdx+1,right) -> num
Function partition(num: TabInt,
left,right,pivIdx: integer)-> integer
Kamus:
pivVal: integer {penyimpan
sementara nilai pivot}
storeIdx,i: integer
Algoritma:
pivVal <-num[pivIdx]
swap(num[pivIdx],num[right])
{memindahkan pivot ke akhir}
storeIdx <- left
i traversal [left..right]
{left ≤ i < right}
if (num[i] ≤ pivVal)
swap (num[i],num[storeIdx])
storeIdx <- storeIdx + 1 swap (num[storeIdx],num[right]) -> storeIdx

Hehehe ini beneran metode yang terkahir. Mudah mudahan gag pelupa lagi.

Merge Sort

Algoritma Merge Sort ditemukan oleh John von Neumann di tahun 1945. Merge Sort termasuk paradigma algoritma divide and conquer (kurang lebih berarti: bagi dan atasi). Hal ini dikarenakan algoritma ini melakukan pembagian struktur data sebelum kemudian dioperasi satu per satu. Intinya, algoritma ini menggunakan dua ide utama sebagai berikut,

1. Sebuah list yang kecil membutuhkan langkah yang lebih sedikit untuk pengurutan daripada

sebuah list yang besar.

2. Untuk membentuk sebuah list terurut dari dua buah list terurut membutuhkan langkah yang lebih sedikit daripada membentuk sebuah list terurut dari dua buah list tak terurut. Contoh: hanya diperlukan satu kali traversal untuk masing-masing list jika keduanya sudah terurut

Function mergesort(num,temp: TabInt,
N: integer) -> TabInt
{mengurut tabel integer [0 .. N-1]
dengan Merge Sort}
Kamus:
Algoritma:

-> m_sort(num, temp, 0, N-1)
Function m_sort(num,temp: TabInt,
left,right: integer) -> TabInt
Kamus:
left,right,result: TabInt
mid: integer
Algoritma:
if (right > left)
mid <- (right + left) / 2 m_sort(num,temp,left,mid) m_sort(num,temp,mid+1,right) ->merge(num,temp,left,mid+1,
right)
Function merge (num,temp: TabInt,
left,mid,right: integer)-> TabInt
Kamus:
i,left_end: integer
num_el,tmp_pos: integer
Algoritma:
left_end <- mid-1
tmp_pos <- left
num_el <- right-left+1
while (left ≤ left_end) and (mid ≤
right) do
if (num[left] ≤ num[mid]) then
temp[tmp_pos] <- num[left]
tmp_pos <- tmp_pos + 1
left <- left +1
else
temp[tmp_pos] <- num[mid]
tmp_pos <- tmp_pos + 1
mid <- mid + 1
while (left ≤ left_end) do
temp[tmp_pos] <- num[left]
left <- left + 1
tmp_pos <- tmp_pos + 1
while (mid ≤ right) do
temp[tmp_pos] <- num [mid]
mid <- mid + 1
tmp_pos <- tmp_pos + 1
i traversal [0..num_el]
num[right] <- temp[right]
right <- right – 1 -> num

Akhirnya tentang sorting selesai . Moga bermanfaat bagi semua

Insertion Sort

Cara kerja insertion sort sebagaimana namanya. Pertama-tama, dilakukan iterasi, dimana di setiap iterasi insertion sort memindahkan nilai elemen, kemudian menyisipkannya berulang-ulang sampai ke tempat yang tepat. Begitu seterusnya dilakukan. Dari proses iterasi, seperti biasa, terbentuklah bagian yang telah di-sorting dan bagian yang belum.

Procedure InsertionSort
(Input/Output T: TabInt, Input N:
integer)
{mengurut tabel integer [1 .. N]
dengan Insertion Sort secara
ascending}
Kamus:
i: integer
Pass: integer
Temp: integer
Algoritma:
Pass traversal [2..N]
Temp <- TPass
i <- i-1 while (j ≥ 1) and (Ti > Temp) do
Ti+1 <- Ti
i <- i-1
Ti+1 <-Temp
{T[1..Pass-1] terurut}

Selection Sort

Algoritma sorting sederhana yang lain adalah Selection Sort. Ide dasarnya adalah melakukan beberapa kali pass untuk melakukan penyeleksian elemen struktur data. Untuk sorting ascending

(menaik), elemen yang paling kecil di antara elemen elemen yang belum urut, disimpan indeksnya, kemudian dilakukan pertukaran nilai elemen dengan indeks yang disimpan tersebut dengan elemen yang paling depan yang belum urut. Sebaliknya, untuk sorting descending (menurun), elemen yang paling besar yang disimpan indeksnya kemudian ditukar. Perhatikan Larik di bawah ini

Dalam satu kali pass, ditentukan elemen yang paling kecil di dalam bagian list yang belum urut. Elemen yang paling kecil ini, diwarnai merah muda. Untuk bagian larik yang telah diurutkan diberi warna biru muda.

Procedure
SelectionSort
(Input/Output T: TabInt, Input N:
integer)
{mengurut tabel integer [1 .. N]
dengan Selection Sort secara
ascending}
Kamus:
i: integer
Pass: integer
min: integer
Temp: integer
Algoritma:
Pass traversal [1..N-1]
min <- Pass
i traversal [Pass+1..N]
if (Ti < Tmin) then
min <- j
Temp <- TPass
TPass<- Tmin
Tmin <- Temp
{T[1..Pass] terurut}

Bubble Sort (Gelembung Air)

Bubble sort merupakan salah satu jenis sorting. Bubble sort ada metode sorting termudah. Diberikan nama “bubble” karena konsep dari algoritmanya diibaratkan seperti gelembung air untuk elemen struktur data yang seharusnya pada posisi awal. Bubble sort mengurut data dengan cara membandingkan elemen sekarang dengan elemen berikutnya. Dimana cara kerjanya adalah dengan berulang-ulang melakukan proses looping ( perulangan) terhadap elemen-elemen struktur data yang belum diurutkan. Nilai dari masing-masing elemen akan dibandingkan selama proses looping tersebut .jika selama proses looping tersebut ditemukan ada urutannya tidak sesuai dengan permintaan, maka akan dilakukan proses pemukaran (swap).
Dari setiap iterasi, Nilai yang terbesar akan menempati posisi paling kanan

Dari setiap iterasi, Nilai yang terbesar akan menempati posisi paling kanan
• Jika terdapat N data, maka iterasi harus diulang sebanyak N-1

Algortitma Bubble Sorting

Procedure BubbleSort (Input/Output
T: TabInt, Input N: integer)
{mengurut tabel integer [1 .. N]
dengan Bubble Sort}
Kamus:
i: integer
Pass: integer
Temp: integer
Algoritma:
Pass traversal [1..N-1]
i traversal [N..Pass+1]
if (Ti < Ti-1) then
Temp <- Ti
Ti <- Ti-1
Ti-1 <- Temp
{T[1..Pass] terurut}

Web Browser

Web Browser afalah Perangkat lunak untuk berselancar/menjelajah di internet. Perangkat lunak (software) yang digunakan untuk mengakses World Wide Web. Kemampuan dari sistem ini diantaranya adalah menampilkan informasi yang terdapat pada suatu alamat di internet serta menuju halaman lain yang terkait yang disediakan oleh halaman tersebut. Nah Menurut aku ini 10 web browser yang terbaik yang ada sekarang.

1. Firefox
Mozilla Firefox (aslinya bernama Phoenix dan kemudian untuk sesaat dikenal sebagai Mozilla Firebird) adalah penjelajah web antar-platform gratis yang dikembangkan oleh Yayasan Mozilla dan ratusan sukarelawan.
Versi 3.0 dirilis pada 17 Juni 2008.
Situs : http://www.mozilla.com/firefox/

2. Google Chrome
Google Chrome adalah sebuah penjelajah web sumber terbuka yang dikembangkan oleh Google dengan menggunakan mesin rendering WebKit.Proyek sumber terbukanya sendiri dinamakan Chromium.
Situs : http://www.google.com/chrome

3. Internet Explorer
Internet Explorer, disingkat IE atau MSIE, adalah sebuah browser web proprieter yang gratis dari Microsoft.
Situs : http://www.microsoft.com/windows/products/winfamily/ie/default.mspx

4. Opera
Opera adalah penjelajah web dan paket perangkat lunak Internet antar-platform.Opera terdiri dari kumpulan perangkat lunak untuk Internet seperti penjelajah web, serta perangkat lunak untuk membaca dan mengirim surat elektronik.
Situs : http://www.opera.com/download/

5. Safari
Safari adalah sebuah penjelajah web buatan Apple Inc. yang awalnya ditujukan khusus bagi sistem operasi Mac OS.Safari dibundel bersama Mac OS X dan merupakan penjelajah web default di sistem operasi tersebut sejak Mac OS X v10.3.
Situs : http://www.apple.com/safari/download/

6. Maxthon
Maxthon adalah browser yang menggunakan engine milik IE, Trident, dan 100% kompatibel dengan IE, ditambah dengan berbagai fitur yang tidak dimiliki oleh IE.
Situs : http://www.maxthon.com/

7. Flock
Flock adalah sebuah penjelajah web yang berspesialisasi pada penyediaan fitur jaringan sosial dan fitur Web 2.0 lain pada tampilan antarmukanya.Browser ini dibuat menggunakan codebase Mozilla’s Firefox Pada tanggal 16 Juni 2008, Flock 2 yang menggunakan Mozilla Firefox 3 sebagai basisnya, diluncurkan dengan status open beta.
Situs : http://flock.com/

8. Avant Browser
Avant Browser adalah browser yang cepat, stabil, user-friendly, dan merupakan multiwindow browser.Memang engine yang dipakai adalah engine IE. Akan tetapi Avant Browser memiliki kelebihan dibandingkan IE.
Situs : http://www.avantbrowser.com/download.html

9. Deepnet Explorer
Deepnet Explorer adalah sebuah penjelajah web, Deepnet Explorer sudah mendukung fitur tab browsing untuk halaman multiple
Situs : http://www.deepnetexplorer.com/

10. PhaseOut
PhaseOut adalah internet browser yang memungkinkan beberapa pencarian dengan mesin pencari utama hanya dengan satu klik.
Situs : http://www.phaseout.net/

Categories: Dunia Komputer, Info Tag:

Koneksi file php dengan Database

<?php

$my['host']            = “localhost”;

$my['user']            = “root”;

$my['pass']            = “”;

$my['dbs']             = “unlam”;

$koneksi                = mysql_connect

($my['host'],

$my['user'],

$my['pass']);

if (! $koneksi) {

echo “Maaf Gagal Koneksi..!”;

mysql_error();

}

mysql_select_db($my['dbs'])

or die (“Database Tidak Ada”.mysql_error());

?>

Isu Year Two Kilo bug (Y2K bug)

Isu ini muncul pada awal millenium dimana masyarakat ditakutkan oleh adanya Y2K bug yang akan mengacaukan sistem komputer di dunia teknologi informasi (IT) atau sistem informasi (IS) dan menyebabkan kehancuran ekonomi dan seluruh sistem di dunia.

Pada tahun 80-an, pemrogram menggunakan sistem penulisan tahun dengan menuliskan 2 digit terakhir di komputer dengan pertimbangan untuk menghemat memori komputer. Sehingga penulisan tahun yang seharusnya 4 digit, misalnya tahun 1997 hanya ditulis dengan tahun 97. Ketika akan memasuki tahun 2000 tentu hal ini menjadi masalah besar karena komputer tidak mampu mengenali digit 00 dari tahun yang baru dan akan salah menganggapnya tahun 1900.

Sebenarnya para ilmuwan TI pada masa itu telah mengetahui bahwa pada tahun 2000 komputer akan mengalami kekacauan karena dapat menerjemahkan tahun 2000 dengan tahun 1900, namun mereka beranggapan bahwa teknologi yang mereka pakai akan ketinggalan jaman dantidak akan dipakai lagi pada tahun 2000. Padahal kenyataannya sistem ini masih dipakai hingga sekarang dimana penggunaan komputer di berbagai bidang semakin meluas.

Permasalahan ini semakin kompleks dan menghawatirkan dunia karena Y2K bug akan muncul di semua sistem komputer dan mesin yang menggunakan tanggal atau waktu karena di dalamnya terdapat chip terpasang (embedded chips) sehingga ia juga akan muncul pada bahasa pemrograman, sistem operasi, sistem sekuriti, sistem perbankan, sistem pemrosesan transaksi,sistem telepon, dan sebagainya. Bagaikan efek domino, apabila Y2K mengacaukan sistemsistem kecil maka sistem besar pun akan terkena pula dampaknya.

Kasus-kasus yang mungkin akan terjadi antara lain kemungkinan bank salah menghitung bunga dan tagihan kartu kredit, macetnya pengontrol lift, hilangnya kontrol terhadap alat navigasi yang menyebabkan banyak terjadi kecelakaan di laut dan udara, meledaknya reaktor nuklir di seluruh dunia serta berbagai kemungkinan besar lain.

Untuk menanggulangi dampak masif dari isu ini berbagai upaya pun dilakukan (Y2K complaint). Para programmer berusaha memprogram ulang setiap perangkat lunak dengan menempatkan kode baru pada komputer yang masih memiliki Y2K-sensitive code. Teknisi berusaha mengganti suku cadang atau hardware komputer untuk kemudian ditempatkan peralatan baru yang lebih siap menghadapi Y2K. Sementara itu pemerintah memberikan perhatian serius dengan mengeluarkan trilyunan dollar untuk mendanai setiap proyek Y2K complaint.

Semakin mendekati tanggal 1 Januari 2000, kecemasan semakin menghantui masyarakat dunia. Beberapa orang menyikapinya dengan acuh tak acuh terhadap isu ini dan percaya bahwa Y2K hanya akan membawa dampak yang sangat kecil, sementara itu beberapa diantaranya menganggap Y2K akan menghancurkan seluruh sistem di dunia dimana ekonomi runtuh dan kelaparan akan melanda penduduk dunia sehingga mereka pun mulai menimbun makanan dan kebutuhan sehari-hari.

Kenyataannya, ketika tahun 2000 menjelang, kekacauan akibat Y2K bug yang sangat dikhawatirkan dunia ternyata tidak pernah terjadi. Rudal-rudal Rusia dan Korea Utara tetap di tempat mereka, reaktor nuklir tidak kacau-balau, lampu-lampu masih tetap menyala dan orang masih tetap bisa mengambil uang melalui anjungan tunai mandiri (ATM). Bahkan Asia yangdianggap paling tidak siap dengan Y2K malah melewati hari pertama tahun baru dengan mulus. Penerbangan, sistem perbankan, pembangkit listrik dan sarana lain yang diperkirakan akan terkena masalah komputer karena pergantian ke tahun 2000 itu dilaporkan beroperasi tanpa ada masalah besar. Bank-bank di AS pun melaporkan kegiatan penarikan dana yang ramai, namun tidak ada rush oleh nasabah yang panik.

Sebagian orang berpendapat bahwa hal ini merupakan keberhasilan dari upaya-upaya pencegahan yang selama ini dilakukan oleh para programmer. Sebagian lagi menganggap bahwa dampak masif dari Y2K bug ini baru akan terjadi kemudian hari setelah tahun 2000 berlalu. Namun yang terpenting adalah masyarakat komputer menganggap isu ini sebagai pemicu untuk menciptakan teknologi dengan pemikiran dan investasi jangka panjang agar tidak terjadi lagi kekacauan di masa depan.

Categories: Tehnologi Informasi Tag:,

Pelanggaran HAKI (Intellectual Property Copyright’s violation)

Hak Cipta Kekayaan Intelektual (HAKI) pertama kali disahkan pada tahun 1981 oleh Mahkamah Agung Amerika setelah kasus Diamond Vs Diehr bergulir. Hak paten atau hak cipta kekayaan intelektual sangat penting karena memberikan hak kepada perusahaan software tertentu untuk melindungi hasil karyanya dari pembajakan oleh perusahaan software lain sekaligus memberikan peluang bagi mereka untuk menjadikan software buatannya sebagai komoditas finansial yang dapat mendorong pertumbuhan industri.

Dengan adanya hak cipta terhadap software, apabila terjadi pembajakan terhadap software tersebut maka pelakunya dapat dituntut secara hukum dan dikenakan sanksi yang berat. Maka, para perusahaan software pun berlomba-lomba mematenkan produknya tidak peduli betapa mahal dan sulitnya proses pengeluaran hak paten tersebut. Namun di satu sisi, hak cipta kekayaan intelektual memberikan masalah baru terkait dengan aplikasinya oleh para pengguna di seluruh dunia.

Disebarluaskannya penggunaan floppy disk drive pada PC hingga alat yang saat ini populer yaitu CD-RW dan DVD-RW membuat kasus pembajakan software semakin marak di seluruh dunia. Kemampuan alat ini untuk menciptakan software lebih banyak dimanfaatkan oleh pengguna komputer untuk menggandakan software dengan mudah tanpa mengurangi kualitasproduknya. Bahkan produk hasil penggandaannya akan berfungsi sama seperti software yang asli. Kasus ini terjadi karena mahalnya harga lisensi software yang asli sehingga tidak terjangkau oleh pengguna.

Padahal sebagian besar pengguna ini sangat membutuhkan aplikasi software tersebut dalam pekerjaan sehari-harinya. Kita lihat saja, harga lisensi Windows 98 adalah 200 US$, sedangkan software Windows 98 bajakan dapat kita beli hanya dengan harga Rp 10.000,- saja. Jika sebuah kantor mempunyai 10 komputer yang menggunakan Windows 98, maka biaya yang harus dikeluarkan sebesar 2000 US$ atau hampir Rp 20.000.000,- hanya untuk sistem operasinya saja, dan ini belum termasuk program-program aplikasi lainnya. Mahalnya harga software inilah yang memicu para pembajak software untuk memenuhi permintaan pasar yang besar terhadap software yang murah.

Pembajakan merupakan hal yang kompleks dan berdampak pada industri komunikasi. Selain mengakibatkan kerugian pada perusahaan komputer yang menciptakan software, pembajakan juga mengakibatkan pelanggaran terhadap hak cipta kekayaan intelektual (HAKI). Memang tak dapat dipungkiri bahwa makin meluasnya penggunaan teknologi komputer untuk kantor maupun pribadi memungkinkan setiap individu di seluruh dunia untuk menggandakan software tanpa diketahui oleh pemilik hak cipta sehingga pembajakan software sulit untuk diawasi dan ditindak. Namun sejauh ini berbagai upaya tengah dilakukan pemerintah dan produsen software untuk melindungi properti intelektual hasil inovasi mereka dari pembajakan.

Pemerintah mengeluarkan aturan hukum berkaitan dengan undang-udang tentang hak cipta kekayaan intelektual (HAKI) yang berisi tentang tata cara perlindungan software, berbagai bentuk pembajakan serta sanksi bagi pelaku pembajakan sofware. Aturan hukum ini tentunya akan mencapai titik keberhasilan apabila diikuti dengan penegakan hukum yang mendasar dimana kalangan korporat, pemerintahan, hingga para penegak hukum juga diharuskan menggunakan software asli dalam pemakaian teknologi di lingkungan mereka. Sementara itu, perusahaan IT berusaha untuk menciptakan teknologi terbaru yang mampu melindungi setiap CD dari penggandaan dengan mengunci “dogle” yang merupakan bagian kecil dari CD, dengan program tertentu. Hingga menciptakan program dimana terdapat clear cut licence agreement yang memperlakukan program ibarat sebuah buku dimana banyak orang dapat menggunakan program tersebut namun hanya untuk satu orang pada sebuah PC tertentu dan dalam waktu
tertentu.

Teknologi anti pembajakan yang dimiliki oleh Windows Vista misalnya. Pada tahap awal program ini memerlukan aktivasi terlebih dahulu dan dilanjutkan dengan validasi dimana hanya bisa dilakukan secara kontinyu setelah aktivasi orisinal. Dan ketika Vista dideteksi bajakan, maka akan dialihkan ke reactivation mode dan untuk mengaktifkannya diperlukan kode asli.

Masalah pembajakan merupakan masalah filosofis dimana kesadaran masyarakat terhadap nilainilai hak dan kekayaan intelektual yang terdapat pada setiap software yang digunakan masih sangat kurang. Untuk itu semua tindakan penanggulangan diatas hanya akan sia-sia jika tidak disertai dengan pendidikan tentang sadar hak kekayaan intelektual (HAKI) dan kepekaan para produsen software asli untuk menghasilkan produk software dalam beberapa tipe untuk segmensegmen masyarakat tertentu sesuai dengan kebutuhan dan kemampuan ekonomi mereka sehingga para pengguna skala kecil dapat membeli produk dengan harga yang terjangkau untuk kebutuhan pekerjaan mereka.

 

Categories: Tehnologi Informasi Tag:

Menambahkan widget visitors di Blog

Kali ini saya akan share mengenai cara menambahkan tampilan jumlah pengunjung yang melihat blog anda dan juga visitors berdasarkan negara dengan menampilkan flag atau bendera negara tersebut.
  • Menampilkan jumlah pengunjung
  1. Masuk ke situs http://www.amazingcounters.com
  2. Kemudian pilih sample web countries yang berada di bagian kiri situs tersebut, disitu terdapat berbagai macam pilihan style yang ingin anda gunakan untuk menampilkan pengunjung blog anda
  3. Setelah anda memilih jenis style silahkan kllik create your free web counter now
  4. Setelah itu anda diminta untuk mengisi form pendaftaran yang berisi nama anda, e-mail, password, nama blog, URL blog,dll serta jangan lupa centang kotak dialog yang berisi term privacy sebelum ke step selanjutnya
  5. Setelah itu di step selanjutnya copy code URL yang terdapat di bawah
  6. Buka alamat blog anda, kemudian menuju gadget (Blogger) atau widget (WP) kemudian tambahkan gadget konfigurasi HTML/Java Script (Blogger) atau widget teks (WordPress) dan paste.
  7. Save konfigurasi akhir anda, dan lihat tampilan baru blog anda.

Contoh tampilan amazing counters
  • Menampilkan Visitors menggunakan Visitor’s flag
  1. Masuk situs http://flagcounter.com
  2. Kemudian pilih create your free flag counter
  3. Anda akan diminta mengisikan jumlah maksimum negara yang ditampilkan, pilihan warna background dan text
  4. Setelah memilih klik pada get your free flag counter
  5. Copy code URL yang terdapat di bawah situs tersebut
  6. Buka alamat blog anda, kemudian menuju gadget (Blogger) atau widget (WP) kemudian tambahkan gadget konfigurasi HTML/Java Script (Blogger) atau widget teks (WordPress) dan paste.
  7. Save konfigurasi akhir anda, dan lihat tampilan baru blog anda

Contoh tampilan flag counters


Mudah mudahan berhasil
Categories: Info Tag: