CLICK HERE FOR BLOGGER TEMPLATES AND MYSPACE LAYOUTS »

Selasa, 13 Januari 2009

Kerispatih - Demi Cinta

maaf ku telah menyakitimu
ku telah kecewakanmu
bahkan ku sia-siakan hidupku
dan ku bawa kau seperti diriku

walau hati ini trus menangis
menahan kesakitan ini
tapi kulakukan semua demi cinta

akhirnya juga harus kurelakan
kehilangan cinta sejatiku
segalanya telah kuberikan
juga semua kekuranganku

jika memang ini yang terbaik
untuk diriku dan dirinya
kan kuterima semua demi cinta

* jujur aku tak kuasa
saat terakhir ku genggam tanganmu
namun yang pasti terjadi
kita mungkin tak bersama lagi

** bila nanti esok hari
ku temukan dirimu bahagia
ijinkan aku titipkan
kisah cinta kita selamanya

repeat *
repeat **

demi cinta

Lirik lagu Kerispatih - Demi Cinta ini dipersembahkan oleh LirikLaguIndonesia.Net. Kunjungi DownloadLaguIndonesia.Net untuk download MP3 Kerispatih - Demi Cinta.

Senin, 12 Januari 2009

Jurus Jitu Menggapai Mimpi

Dengan segala ambisi dan mimpi yang ada di dalam diri, kamu pasti berharap Dewi Fortuna selalu mengiringi langkahmu Ingin sukses ada di tangan? Kuncinya terletak pada dirimu sendiri!
Mimpi memang membuat hidup jadi lebih indah. Masalahnya, meraih mimpi itu sama sekali tidak mudah. Tapi tenang saja, kartu akses menuju sukses bisa didapat dengan berbagai jalan. Dan saat kamu punya keinginan yang kuat, karpet merah akan terbentang di depanmu untuk meraih harapan. Intinya, semuanya tergantung pada dirimu sendiri!
Adapun ke-7 cara menggapai impianmu adalah :
1. Ketahui Impianmu
Bagaimana cara mengetahui keinginan dan minat yang ada dalam dirimu? Cukup dengan dengarkan kata hati, selain itu, perhatikan juga mimpi dan pikiran spontan yang keluar saat kamu tidak mengerjakan apa-apa. Saat sedang melamun, coba catat berbagai peristiwa yang membuat kamu merasa bahagia.
Begitu kamu sudah tahu tujuan hidup dengan jelas, sekarang tinggal lakukan strategi untuk mendapatkannya!
2. Jangan Terjebak Apriori
Saat berbagai keinginan berkecamuk di kepala, lakukan satu per satu. Kumpulkan konsentrasimu pada bidang yang ingin ditekuni. Solusi hidup sering bisa kamu dapatkan secara pelan, tidak sekaligus.
Hilangkan pikiran negatif soal pendapat orang lain atau pikiran buruk yang kamu ciptakan sendiri. Inilah kunci utama yang akan membuat dirimu melangkah maju.
3. Tahu Cara Memilih
Dalam hidup mungkin kamu menemukan kalau beberapa rencana yang ingin dikerjakan ternyata ”tak saling nyambung”. Kamu bingung antara beli rumah, mobil, atau menjalankan bisnis baru. Hasilnya, kamu dihadapkan pada kenyataan untuk memilih. Kalau sudah begini, pilih apa yang paling kamu inginkan. Pikirkan masak-masak mana yang harus dilakukan terlebih dulu.
Hanya dirimu yang tahu keputusan yang terbaik bagi dirimu. Mantapkan diri dan jangan ragu terhadap keputusan yang kamu ambil.
4. Bersikap Terbuka
Boleh saja punya cita-cita yang membuat ksmu mempertaruhkan segalanya. Tapi ingat, tetaplah untuk mempertahankan semangat untuk bersikap fleksibel dan terbuka untuk berbagai kemungkinan. Satu cara untuk melatih attitude ini adalah saat menghadapi suatu problematika, coba cari tiga solusi yang berbeda. Dengan begitu, kamu bisa melihat satu permasalahan dari berbagai perspektif.
Banyak jalan menuju Roma, bila harus pakai “tersesat” dulu di Siberia, kenapa tidak?
5. Punya Keyakinan
Tak ada satu hal di dunia yang akan datang dengan sendirinya. Coba lihat saja biografi orang-orang terkenal, semua sukses selalu diawali dengan perjuangan. Begitu juga jika kamu memang punya impian yang ingin direalisasikan. Untuk memulai langkah, kenali dimana dirimu berada. Setelah itu, usahakan untuk melangkah di jalur yang tepat!
”Putus asa”? Kata ini tidak ada di kamus dirimu
6. Berhenti Menyalahkan Diri Sendiri
Hentikan pikiran buruk kalau cita-cita yang sedang kamu raih itu akan ”membawa korban”. Tenanglah, yang penting lakukan manajemen waktu yang baik. Berikan pengertian kepada keluarga bahwa kondisi itu hanya bersifat sementara. Fokuskan perhatian pada apa yang sedang dikerjakan, dan beri perhatian pada yang lain saat kamu punya waktu.
Lakukan pada apa yang kamu lakukan dengan tulus. Kebahagiaan pun akan ada di tanganmu.
7. Berani Ambil Resiko
Agar bisa membantu melihat permasalahan dengan jelas, buatlah ”coretan” dari keputusan yang akan kamu ambil. Pada bagian pertama ”keputusan beresiko”, buatlah dua kolom yang berisi keuntunagan dan kerugian. Pada bagian berikutnya: ”keputusan tanpa resiko”, buat daftar yang sama. Dengan begitu, kamu bisa lebih mudah untuk mencari suatu solusi!
Berani ambil resiko adalah kunci keberhasilan.

Good Luck….

Kado Special Buat PacarQ

Duwhhh..2 hari lagi pacarku ultah nih.Enaknya dikasih kado apaan ya???
Bingung juga nyari kado bwt cowo..Huufttt...
Kayaknya yg paling penting dan paling utama kasih sayang.Tp klo mo ngasih barang, barang apa ya yang cocok bwt dia...

Pengennya sih yg bs dipake tiap hari biar dia selalu inget ma aq klo tu barang dipake.Pokoknya aq gak mau buat cowoQ kecewa dan sedih dihari ultahnya yg ke-20.Aq pengen besok cowoQ seneng nerima kado dari aq.

Buat cuppyQ tercinta med ultah ya, moga tambah dewasa dlm menghadapi aq...Hihihihi..
i LupH U...

Arti Sahabat???

Sahabat... Apa sih arti dari sebuah persahabatan?? Ada yang bilang sahabat itu adalah teman yang benar-benar dekat sampai tahu hal-hal kecil tentang kita. Ada juga yang bilang sahabat itu kalau kemana-mana selalu bareng. Tetapi salah satu sahabat saya bilang, sahabat itu adalah teman dalam suka dan duka, tapi tahu batas dimana suatu saat ketika teman dapat masalah, kita harus membiarkan dia mengatasi masalahnya sendiri agar teman tersebut tumbuh lebih matang dan mandiri.

Terkadang saya dengan enteng menyebut, dia itu sahabat saya. Tapi ketika ditanya ini itu tentang sahabat saya yang berhubungan dengan keluarga, pendidikan dan lain-lain, saya bingung jawabnya. Dari situ saya mikir, apa saya ini sahabat yang baik? Apa saya pantas disebut sahabat? Karena saya menganggap sahabat adalah orang yang bisa melihat kita dari hati ke hati, bukan karena tampang, materi, latar belakang, pendidikan dan lain-lain. Karena itu saya memang jarang menanyakan hal-hal yang berbau privacy ke sahabat-sahabat saya. Saya lebih sebagai pemberi masukan dan penerima keluh kesah sahabat-sahabat saya. Bukannya saya orang yang nggak peduli dan nggak mau tau, tapi menurut saya persahabatan bukan dinilai dari sedalam apa kita tau tetek bengek orang tersebut, melainkan sedalam apa kita memahami orang tersebut. Saya sudah ngerasain pahitnya persahabatan ketika saya bilang dia sahabat saya, ternyata dia hanya memanfaatkan apa yang saya punya dan lain-lain. Ketika saya sedang jatuh, dia malah meninggalkan karena merasa ga ada yang bisa diberikan oleh saya.

huuFfttt...susah jg nyari sahabat yg bener2 maw jd sahabat sejati Qita...
Bwt para sahabat2 sejatiQ makacih bgd kalian udh maw memberi warna bwt hidupQ ini tanpa kalian hidupQ rasanya pahit kali ya gag ada asem manisnya getho deh..hehehe..:P
Luph u aLL...

Selasa, 21 Oktober 2008

Listing Program Pencarian Dengan Array

#include

#define TdkKetemu -1

int cari(const int arr[], int target, int n)

{

int i, ketemu = 0, hasil; i=0;

while (!ketemu && i <>

if (arr[i] == target) ketemu = 1;

else ++i;

}

if (ketemu) hasil = i;

else hasil = TdkKetemu;

return (hasil);

}

void main() {

int nrp[10]={1, 2, 3, 4, 5, 6, 7, 8, 9, 10}, nrpcari, ulangi, hasil;

ulangi=1;

while (ulangi==1) {

ulangi=0;

printf("\nMasukkan NRP yang mau dicari : ");

scanf("%d", &nrpcari);

hasil=cari(nrp, nrpcari, 10);

if (hasil==-1)

printf("Tidak ketemu !");

else

printf("Ditemukan pada elemen array ke-%d", hasil);

printf("\n\nUlangi pencarian ? (Ketik 1 bila ya !) ");

scanf("%d", &ulangi);

}

}

PENGURUTAN DATA

Pengurutan data adalah algoritma yang meletakkan elemen pada sebuah list atau tabel dengan urutan tertentu. Algoritma pengurutan data saat ini telah demikian banyaknya, mulai dari yang sederhana sampai yang kompleks. Untuk saat ini, algoritma heap sort dan quicksort merupakan dua buah algoritma yang dianggap terbaik.

Penggunaan algoritma heap sort dan quick sort dalam pengurutan data berbeda. Perbedaan ini dipengaruhi oleh keunggulan dan kelemahan masing-masing algoritma pengurutan.

Algoritma Heap Sort dan Quick Sort

1. Heap Sort
Heapsort merupakan salah satu bentuk dari selection sort yang memiliki kompleksitas algorima O(n log(n)) yang menggunakan struktur data heap.

Algoritma ini bekerja dengan menentukan elemen terbesar (atau terkecil) dari sebuah daftar elemen, dan diletakkan pada akhir (atau awal) dari daftar tersebut. Heap sort menyelesaikan sebuah pengurutan menggunakan struktur data yang disebut heap.

Heap merupakan sebuah pohon biner hampir lengkap dimana isi dari simpul ayah selalu lebih besar dari isi simpul anak-anaknya sehingga simpul akar selalu merupakan elemen terbesar.

2. Quick Sort
Quick sort adalah algoritma yang menggunakan metode divide and qonquer yaitu dengan mempartisi tabel dengan acuan elemen tabel yang dijadikan sebagai pivot. Tabel dipartisi menjadi tabel dengan elemen pivot, <> pivot, hingga elemen tersebut terurut. pengurutan hanya dengan 1 kali pass saja. Namun sampai saat ini, belum ada algoritma yang mampu untuk mencapai keadaan ini.

Kompleksitas waktu dari kedua algoritma ini, secara rata-rata adalah sama, yaitu O(n log n). Saat ini, kompleksitas waktu O(n log n) merupakan kompleksitas algoritma sorting yang paling mendekati algoritma pengurutan ideal yaitu O(n). Hal inilah yang menyebabkan kedua buah algoritma ini dipandang sebagai yang terbaik saat ini.

Walaupun memiliki kompleksitas algoritma yang sama yaitu O(n log n), dalam praktiknya, algoritma quicksort memiliki kecepatan pemrosesan yang lebih baik dari heap sort. Penyebabnya adalah algoritma heapsort membutuhkan tahapan-tahapan yang lebih banyak daripada quicksort.

Namun untuk quicksort, pada kasus terburuknya memiliki kompleksitas O(n2). Sedangkan, pada heap sort, kompleksitas untuk kasus terburuknya sama dengan kasus rata-rata, yaitu O(n log n). Jadi pada kasus terburuk, algoritma heap sort lebih baik daripada algoritma quicksort.

Klasifikasi AlgoritmaPengurutan (sorting)

* Exchange Sort : Melakukan pembandingan antar data, dan melakukan pertukaran apabila urutan yang didapat belum sesuai. Contohnya : Bubble sort, Cocktail sort, Comb sort, Gnomesort, Quicksort.

* Selection Sort : Mencari elemen yang tepat untuk diletakkan diposisi yang telah diketahui, dan meletakkannyadi posisi tersebut setelah data tersebutditemukan. Contohnya :Selection sort, Heapsort, Smoothsort, Strand sort

* Insertion Sort : Mencari tempat yang tepat untuk suatu elemen data yang telah diketahui ke dalam sub kumpulan data yang telah terurut, kemudian melakukan penyisipan (insertion) data di tempat yang tepat tersebut. Contohnya adalah : Insertion sor, Shell sort, Tree sort, Library sort, Patience sorting.

* Merge Sort : Data dibagi menjadi subkumpulan-subkumpulan yang kemudian subkumpulan tersebut diurutkan secara terpisah, dan kemudian digabungkan kembali dengan metode merging. Algoritma ini melakukan metode pengurutan merge sort juga untuk mengurutkan sub kumpulan data tersebut, atau dengan kata lain, pengurutan dilakukan secara rekursif. Contohnya adalah : Merge sort.

* Non-Comparison Sort : Proses pengurutan data yang dilakukan algoritma ini tidak terdapat pembandingan antar data, data diurutkan sesuai dengan pigeon hole principle. Contohnya adalah : Radix sort, Bucket sort, Counting sort, Pigeonhole sort, Tally sort.

Ide Dasar
Ide dasar dari metode Radix sort ini adalah mengkategorikan data-data menjadi sub kumpulan sub kumpulan data sesuai dengan nilai radix-nya, mengkonkatenasinya, kemudian mengkategorikannya kembali berdasar nilai radix lainnya.

Algoritma Bubble Sort

1. Setiap pasangan data: x[j] dengan x[j-1], untuk semua i=1,...,n-1 harus memenuhi keterurutan, yaitu x[j] > x[j-1].
2. Apabila tidak memenuhi maka posisi kedua data harus ditukar.
3. Untuk pemrograman konvensional maka pemeriksaan-pemeriksaan pasangan tersebutharus dilakukan satu demi satu, misalnya oleh bubble-sort dilakukan dari kanan ke kiri serta di dalam sejumlah iterasi.
4. Keuntungan lain dari algoritma ini adalah dapat dijalankan dengan cukup cepat dan efisien untuk mengurutkan list yang urutannya sudah hampir benar.
5. Selain kasus terbaik tersebut, komleksitas untuk algoritma ini adalah O(n²), karenanya algoritma ini termasuk sangat tidak efisien untuk dilakukan, apalagi jika pengurutan dilakukan terhadap elemen yang banyak jumlahnya. Biasanya bubble sort digunakan untuk mengenalkan konsep dari sorting algoritma pada pendidikan komputer karena idenya yang cukup sederhana.

* Metode Selection Short
Metode selection sort merupakan perbaikan dari metode bubble sort dengan mengurangi jumlah perbandingan. Selection sort merupakan metode pengurutan yang mencari nilai data terbesar atau terkecil dan kemudian menempatkannya pada posisi yang sebenarnya, dimulai dari data diposisi 0 hingga data diposisi N-1.
* Metode Insertion Short
Metode insertion sort adalah metode pengurutan yang biasa dipakai oleh pemain kartu dalam mengurutkan kartunya, yaitu menyisipkan kartu dengan nilai yang lebih kecil ke posisi sebelum kartu pembandingnya. Selection Sort merupakan kombinasi antara sorting dan searching. Untuk setiap proses, akan dicari elemen-elemen yang belum diurutkan yang memiliki nilai terkecil atau terbesar
kan dipertukarkan ke posisi yang tepat di dalam array. Misalnya untuk putaran pertama, akan dicari data dengan nilai terkecil dan data ini akan ditempatkan di indeks terkecil (data[0]), pada putaran kedua akan dicari data kedua terkecil, dan akan ditempatkan di indeks kedua (data[1]). Selama proses, pembandingan dan pengubahan hanya dilakukan pada indeks pembanding saja, pertukaran data secara fisik terjadi pada akhir proses.Tehnik pengurutan dgn cara pemilihan elemen atau proses kerja dgnmemilih elemen data terkecil utk kemudian dibandingkan & ditukarkan dgn elemen pd data awal, dst s/d seluruh elemen shg akan menghasilkan pola data yg telah disort.

Kelebihan dan kekurangan Selection Sort:

1. Kompleksitas selection sort relatif lebih kecil
2. Mudah menggabungkannya kembali, tetapi sulit membagi masalah
3. Membutuhkan method tambahan.

* Metode Insertion Sort
Prinsip dasar Insertion adalah secara berulangulang menyisipkan / memasukan setiap elemen. ke dlm posisinya / tempatnya yg benar. Mirip dengan cara orang mengurutkan kartu, selembar demi selembar kartu diambil dan disisipkan (insert) ke tempat yang seharusnya. Pengurutan dimulai dari data ke-2 sampai dengan data terakhir, jika ditemukan data yang lebih kecil, maka akan ditempatkan (diinsert) diposisi yang seharusnya. Pada penyi sipan elemen, maka elemen-elemen lain akan bergeser ke belakang.

* Quick Short : Quick sort banyak digunakan utk proses sorting, karena merupakan proses sorting yang umum digunakan, mudah untuk diimplementasikan, prosesnya sangat cepat.

Aturan Quick Sort:

1. Select, pertama kita pilih elemen yang ditengah sebagai pivot, misalkan X.
2. Partition, kemudian semua elemen tersebut disusun dengan menempatkanX mpada posisi j sedemikian rupa sehingga elemen disebelah kiri1 lebih <> X.
3. Rekursif, kemudian proses diulang untuk bagian kiri dan kanan elemenX dengan cara yg sama dengan langkah 1 sampai kondisi terurut

* Metode Heap Short adalah binary tree dengan menggunakan tree , dimana mempunyai aturan-aturan sebagai berikut :

1. Untuk mengisikan heap dimulai dari level 1 sampai ke level dibawahnya, bila dalam level yang sama semua kunci heap belum terisi maka tidak boleh mengisi dibawahnya.
2. Heap dlm kondisi terurut apabila left child <> parent.
3. Penambahan kunci diletakkan pada posisi terakhir dari level dan disebelah kanan child yg terakhir, kemudian diurutkan dengan cara upheap.
4. Bila menghapus heap dgn mengambil kunci pada parent di level 1 kemudian digantikan posisi kunci terakhir, selanjutnya disort kembali metode downheap.

Rabu, 15 Oktober 2008

ARTIKEL OOP

OBJECT-ORIENTED PROGRAMMING (OOP)

Pemrograman berorientasi objek (OOP) merupakan metode yang paling populer dalam dunia rekayasa perangkat lunak saat ini. OOP membuat proses pengembangan perangkat lunak dapat dilakukan secara modular yang berarti sistem dapat dikembangkan tahap demi tahap tanpa mengubah (banyak) fondasi perangkat lunak yang sudah ada.

Object-Oriented Programming adalah sebuah pendekatan untuk pengembangan / development suatu software dimana dalam struktur software tersebut didasarkan kepada interaksi object dalam penyelesaian suatu proses/tugas. Interaksi tersebut mengambil form dari pesan-pesan dan mengirimkannya kembali antar object tersebut. Object akan merespon pesan tersebut menjadi sebuah tindakan /action atau metode. Jika kita mencoba melihat bagaimana tugas disekitar kita diselesaikan, kita akan mengetahui bahwa kita berinteraksi dalam sebuah object-oriented world. Jika akan bepergian kita pasti berinteraksi dengan object mobil. Sebagai sebuah object, mobil berisi object-object lain yang berinteraksi untuk melakukan tugasnya membawa kita.

Pemrograman Berbasis Obyek :

1. Fungsi dan data menjadi satu kesatuan yang disebut obyek
2. Obyek-obyek dalam OOP bersifat aktif
3.Cara pandang : program bukan urut-urutan instruksi tapi diselesaikan oleh obyek-obyek yang bekerjasama untuk menyelesaikan masalah

Karakteristik OOP

Suatu program disebut dengan pemrograman berbasis obyek (OOP) karena terdapat :

1.Encapsulation (pembungkusan)
2.Inheritance (pewarisan)
3.Polymorphism (polimorfisme – perbedaan bentuk)

Inheritance

Banyak objects diklasifikasikan menurut hirarki. Contoh, kamu dapat mengklasifikasikan sebuah mobil yang mempunyai karakteristik umumnya mobil, seperti mempunyai ban, mesin, serta body. Keturunan berikutnya diklasifikasikan dengan atribut umum seperti ukuran, jumlah roda, isi silinder dll atau mengklasifikasikan mereka atas dasar daya angkutnya. Contoh, ada kendaraan komersial atau kendaraan pribadi, ada truk atau mobil penumpang. Kamu menggunakan inheritance dalam OOP untuk mengklasifikasikan objects dalam program sesuai karakteristik umum dan fungsinya.

1.Sebuah class bisa mewariskan atribut dan method-nya ke class yang lain
2.Class yang mewarisi disebut superclass
3.Class yang diberi warisan disebut subclass
4.Sebuah subclass bisa mewariskan atau berlaku sebagai superclass bagi class yang lain => disebut multilevel inheritance.

Contoh Pewarisan

1.Class Nenek adalah superclass dari class Ibu
2.Class Ibu adalah superclass dari class Anak
3.Sebuah subclass memiliki beberapa kesamaan dengan superclass-nya, dalam hal atribut/variabel dan method yang dimilikinya
4.Contoh pewarisan yang lain : class kendaraan merupakan superclass bagi class mobil, truk dan bis

Keuntungan Penggunaan Pewarisan

1.Subclass memiliki atribut dan method yang spesifik yang membedakannya dengan superclass, meskipun keduanya mirip (dalam hal kesamaan atribut dan method)
2.Dengan demikian pada pembuatan subclass, programmer bisa menggunakan ulang source code dari superclass yang ada => ini yang disebut dengan istilah reuse.
3.Class-class yang didefinisikan dengan atribut dan method yang bersifat umum yang berlaku baik pada superclass maupun subclass disebut dengan abstract class


Polymorphism

Polymorphisms adalah kemampuan 2 buah object yang berbeda untuk merespon pesan permintaan yang sama dalam suatu cara yang unik. Contoh, saya melatih anjing saya dengan perintah untuk menggonggong dan juga saya melatih burung untuk merespon perintah saya untuk berkicau. Saya lakukan latihan untuk merespon kepada mereka dengan perintah lisan. Melalui polymorphism saya tahu bahwa anjing dan burung akan merespon dengan gonggongan atau kicauan.

Encapsulation

Ciri penting lainnya dari OOP adalah encapsulation. Encapsulation adalah sebuah proses dimana tidak ada akses langsung ke data yang diberikan, bahkan hidden. Jika kamu ingin mendapat data, kamu harus berinteraksi dengan object yang bertanggung jawab atas dara tersebut. Dalam contoh inventory, jika kita ingin melihat atau mengupdate informasi atas produk, kita seharusnya bekerja melalui object produk. Untuk membaca data, kita mengirimkan pesan ke object produk, kemudian object produk akan membaca pesan dan mengirim pesan balik ke kamu.

1.Variabel dan method dalam suatu obyek dibungkus agar terlindungi
2.Untuk mengakses, variabel dan method yang sudah dibungkus tadi perlu interface
3.Setelah variabel dan method dibungkus, hak akses terhadapnya bisa ditentukan.
4.Konsep pembungkusan ini pada dasarnya merupakan perluasan dari tipe data struktur

Dua hal dalam enkapsulasi :

1.Information hiding
2.Menyediakan perantara (method) untuk mengakses data

*

Contoh :

public class Siswa {

private int nrp;

public void setNRP(int n) {

nrp=n;

}

}