Lihat Tentang Putri

Foto saya
Berau, Kalimantan Timur, Indonesia
Simple girl :D Love AC MILAN

Minggu, 17 Maret 2013


Sorting
Sorting dari katanya sendiri kita bisa mengartikan kalau sorting artinya mengurutkan. Bagaimana dengan penjelasannya? Jadi, sorting adalah proses menyusun elemen – elemen dengan tata urut tertentu dan proses tersebut terimplementasi dalam bermacam aplikasi.
Ada banyak sekali Algoritma pengurutan data di dunia komputer, yatu : bubble sort, selection sort, insertion sort, shell sort, exchange sort, quick sort, merge sort, heap sort, bucket sort, radix sort. Setiap algoritma memiliki kelebihan dan kekurangan masing – masing.
Macam – macam sorting:
1.    Bubble Sort merupakan algoritma pengurutan paling tua dengan metode pengurutan paling sederhana. Pengurutan yang dilakukan dengan membandingkan masing-masing item dalam suatu list secara berpasangan, menukar item jika diperlukan, dan mengulaginya sampai akhir list secara berurutan, sehingga tidak ada lagi item yang dapat ditukar.




2.    Selection Sort adalah memilih elemen dengan nilai paling rendah dan menukar elemen yang terpilih dengan elemen ke-i. Nilai dari i dimulai dari 1 ke n, dimana n adalah jumlah total elemen dikurangi 1.



3.    Insertion Sort adalah pada dasarnya memilah data yang akan diurutkan menjadi dua bagian, yang belum diurutkan dan yang sudah diurutkan. Elemen pertama diambil dari bagian array yang belum diurutkan dan kemudian diletakkan sesuai posisinya pada bagian lain dari array yang telah diurutkan. Langkah ini dilakukan secara berulang hingga tidak ada lagi elemen yang tersisa pada bagian array yang belum diurutkan.







4.    Shell Sort merupakan algoritma yang stau jenis dengan insertion sort, dimana pada setiap nilai i dalam n/i item diurutkan. Pada setiap pergantian nilai, i dikurangi sampai 1 sebagai nilai terakhir.



5.    Merge Sort. Algoritma dirumuskan dalam 3 langkah berpola divide-and-conquer. Berikut menjelaskan langkah kerja dari Merge sort.
1. Divide
Memilah elemen – elemen dari rangkaian data menjadi dua bagian.
2. Conquer
Conquer setiap bagian dengan memanggil prosedur merge sort secara rekursif
3. Kombinasi
Mengkombinasikan dua bagian tersebut secara rekursif untuk mendapatkan rangkaian data berurutan
Proses rekursi berhenti jika mencapai elemen dasar. Hal ini terjadi bilamana bagian yang akan diurutkan menyisakan tepat satu elemen. Sisa pengurutan satu elemen tersebut menandakan bahwa bagian tersebut telah terurut sesuai rangkaian.


6.    Quick Sort. Algoritma ini berdasar pada pola divide-and-conquer. Berbeda dengan merge sort, algoritma ini hanya mengikuti langkah – langkah sebagai berikut :
1. Divide
Memilah rangkaian data menjadi dua sub-rangkaian A[p…q-1] dan A[q+1…r] dimana setiap elemen A[p…q-1] adalah kurang dari atau sama dengan A[q] dan setiap elemen pada A[q+1…r] adalah lebih besar atau sama dengan elemen pada A[q]. A[q] disebut sebagai elemen pivot. Perhitungan pada elemen q merupakan salah satu bagian dari prosedur pemisahan.
2. Conquer
Mengurutkan elemen pada sub-rangkaian secara rekursif. Pada algoritma quicksort, langkah ”kombinasi” tidak di lakukan karena telah terjadi pengurutan elemen – elemen pada sub-array.


7.    Heap sort adalah sorting yang menggunakan struktur data heap, dengan nilai parent selalu lebih besar dari pada nilai childnya.
Algoritma:
1)    Buat suatu heap.
2)    Ambil isi dari root masukkan kedalam sebuah array.
3)    Hapus element root dengan mempertahankan properti heap.
4)    Ulangi sampai tree menjadi kosong.

8.    Bucket Sort :
Algoritma:
1)    Cari nilai maksimum dan minimum di array
2)    Inisialisasi array bucket Daftar <> unsur (ukuran maxValue – minValue + 1)
3)    Pindahkan elemen dalam array untuk bucket
4)    Write bucket keluar (dalam rangka) ke array yang asli



9.    Radix Sort:
Secara kompleksitas waktu, radix sort termasuk ke dalam Divide and Conquer.Namun dari segi algoritma untuk melakukan proses pengurutan, radix sort tidak termasuk dalam Divide and Conquer.
Radix sortmerupakan sebuah algoritma pengurutan yang mengatur pengurutan nilai tanpa melakukan beberapa perbandingan pada data yang dimasukkan.


Wow.. Cukup panjang juga ya postingan tutorial C++ saya hari ini. Semoga dapat membantu dan bermanfaat bagii-bagi kawan sekalian J Grazie a tutti...

-“Hanya ada dua kata yang menuntun Anda pada kesuksesan. Kata-kata itu adalah “ya” dan “tidak.” Tidak diragukan, Anda telah sangat ahli untuk berkata “ya.” Sekarang, berlatihlah berkata “tidak.”Cita-cita Anda bergantung padanya.” Jack Canfield, Penulis Seri Buku Laris Chicken Soup for the Soul-



Rekursif
Materi ini baru saja saya pelajari dan sekarang saya ingin berbagi dengan kawan-kawan sekalian. Fungsi rekursif merupakan salah satu metode didalam pemrograman yang mana dalam sebuah fungsi terdapat intruksi yang memanggil fungsi itu sendri, atau lebih sering disebut memanggil dirinya sendiri. Kelebihan perulangan rekursif sendiri, yaitu sangat mudah untuk melakukan perulangan dengan batasan yang luas dalam artian melakukan perulangan dalam skala yang besar dan juga dapat melakukan perulangan dengan batasan fungsi. Sedangkan, Kekurangan perulangan rekursif, yaitu tidak bisa melakukan nested loop atau looping bersarang; Biasanya membuat fungsi sulit untuk dipahami, hanya cocok untuk persoalan tertentu saja;Memerlukan stack yang lebih besar, sebab setiap kali fungsi dipanggil, variabel lokal dan parameter formal akan ditempatkan ke stack dan ada kalaya akan menyebabkan stack tak cukup lagi (Stack Overum); Proses agak berbelit-belit karena terdapat pemangilan fungsi yang berulang-ulang dan pemanggilan data yang ditumpuk.
Salah satu program rekursif, yaitu:

Maka, dari program di atas akan menghasilkan jumlah:

Jika tadi kita hanya memasukkan ‘int’ tidak untuk dipakai secara universal. Maka, untuk contoh selanjutnya, kita menggunakan ‘int’ universal:

Dan hasil dari faktor 12 adalah:

Pembahasan rekursif ini hanya pendahuluan dari materi yang akan kita bahas selanjutnya, yaitu ‘Sorting’. 


Semoga dapat membantu dan bermanfaat bagii-bagi kawan sekalian J Grazie a tutti...
-“Elemen terpenting kita bukan pada otak. Namun, pada apa yang menuntun otak kita–kepribadian, hati, kebaikan, dan ide-ide progresif.” Fyodor Dostoyevsky (1821-1881), Novelis Rusia-




Sabtu, 09 Maret 2013


Sub Program
Suatu program yang cukup panjang dapat saja ditulis dalam satu fungsi main(). Namun, agar langkah program dapat ditulis dengan baik, program biasanya dipecah kedalam sejumlah subprogram. Subprogram dalam C++ berbentuk fungsi. Dalam C++ tidak dikenal prosedur. Secara sederhana, sekelompok pernyataan dapat diambil, diapit kurung kurawal, dan dinamai, maka menjadi fungsi. Fungsi yang hanya mengerjakan tugas tertentu dan tidak menghasilkan nilai, maka fungsi itu bertipe hasil void.

Perhatikan contoh berikut:


Pada waktunya, fungsi juga bisa menggunaka paramater seperti ini à “()”. Maka pemanggilannya juga perlu disertai parameter dengan jumlah dan tipe yang sama dengan pada saat didefinisikan.

Contoh Syntax:


Dan debugnya:


Lalu, jika suatu fungsi yang memberikan hasil, maka tipe void di depan pengenal fungsi diganti dengan tipe lain. Hasil fungsi akan dikerjakan dengan pernyataan return.



Hasilnya akan seperti ini:


Lalu, saya juga sempat mencoba salah satu program berikut, mari kita test apakah anda bisa menjawabnya?
Lihatlah syntax berikut:


Menurut anda berapakah hasilnya? Apakah 5, 7, 8, atau mungkin 12.
Daripada tambah penasaran, lebih baik kita lihat debugnya:

Nah, apakah jawaban anda telah benar? Congrats, bila sudah benar. Dan bagi yang salah, saya akan menjelaskan bagaimana kerja program tersebut. Jadi, jika kita memanggil ‘hitung’, maka ia akan menghitung 2 kali. Yang pertama, ia akan menghitung jumlah dari 2+3=5. Kemudian, ia akan menghitung 2+3 tadi ditambah dengan 5-3=2. Jadi, hasil penghitungan kedua, yaitu: 5+(5+2)=12.

Bagaimana? Semoga penjelasan saya tentang sub program dapat dimengerti dan bermanfaat bagi readers J. Grazie a tutti....

-”Kita hidup dalam masa sekarang, kita bermimpi untuk masa depan, dan kita belajar kebenaran abadi dari masa lalu.” Soong May-ling atau Madam Chiang Kai-Shek, mantan ibu negara Republik Nasional Tiongkok/Taiwan (1897-2003)-

Rabu, 27 Februari 2013


Array

What’s array?

Dari sharing tentang Looping While lanjut saya mau sharing tentang Array. What’s Array? Array   adalah   suatu   variabel   yang terdiri dari sekumpulan data dimana data-data
tersebut  mempunyai  tipe  data  yang  sama. Setiap  data  disimpan  dalam  alamat  memori
yang   berbeda-beda dan disebut dengan elemen array. Setiap elemen mempunyai nilai indek sesuai dengan urutannya. Melalui indek inilah kita dapat mengakses data-data tersebut.

BENTUK UMUM
Next, sekarang bentuk umum dari Array. Array dideklarasikan dengan tanda [ ] (bracket). Bentuk umum dari tipe data array adalah :

 


1.    Array satu dimensi
o   Setiap elemen array dapat diakses melalui index
o   Index array secara default dimulai dari 0
o   Deklarasi array :

 


2.     Array dua dimensi
o   Array dua dimensi merupakan array yang terdiri dari m buah baris dan n buah buah kolom bentuknya dapat berupa matriks atau tabel.
o  
Deklarasi array :

 


3.    Array multidimensi
o   Array multidimensi merupakan array yang mempunyai ukuran lebih dari dua. Bentuk pendeklarasian array multidimensi sama saja dengan deklarasi array dimensi satu maupun dimensi dua.
o   Deklarasi array :





Contoh Syntaxnya sebagai berikut, kawans:




Dan Debugnya, check this out:



Wes.. Demikian contoh dari Array yang dapat saya share.. Semoga bisa bermanfaat, Grazie a tutti J

Banyak orang mengatakan kepintaran yang menjadikan seseorang Ilmuwan besar. Mereka keliru.. itu adalah karakter”-Albert Einstein-

Selasa, 19 Februari 2013


Looping while

Ciao a tutti !!!
Pada kali ini saya akan share tentang program ‘Looping While’. Yak, tidak berbeda jauh dengan sharing saya kemaren tentang program ‘Looping For’. Let’s begin....

Perintah While ini akan melakukan Looping atau Pengulangan selama kondisi bernilai True. Looping dengan while akan menyebabkan program kita mengulang barisan statement seperti yang dikondisikan di awal looping.

Syntax while sebagai berikut:



Ketika program diesksekusi akan menghasilkan program seperti gambar di bawah ini:


Untuk menjelaskannya saya membuat permisalan sebagai berikut:

while (kondisi)
        {
           statement1;
           :
           statement_n;
        }

“kondisi” merupakan ekspresi sembarang yang diterima oleh C dan “statement” adalah statement yang diterima oleh C. Jika “kondisi” bernilai benar (true) atau 1, maka statement-statement di dalam badan looping dikerjakan, dan kemudian “kondisi” diperiksa lagi. Hal ini berlanjut terus sampai “kondisi” bernilai salah (false) atau 0. Jika “kondisi” bernilai salah, maka looping dengan statement while akan berhenti dan program akan berlanjut ke statement berikutnya di bawah blok statement looping.

Nah, kemudian saya akan memberikan salah satu contoh penggunaan Looping While untuk menentukan faktor dari suatu bilangan..

Syntax:

Debug:


Semoga sharing kali ini bisa bermanfaat.. Grazie a tutti J

-”Ada dua cara untuk menghadapi kesulitan: Anda mengubah kesulitan itu atau Anda mengubah diri sendiri untuk menghadapinya.” Phyllis Bottome (1884-1963), novelis Inggris.

Senin, 11 Februari 2013


Looping For

·       STRUKTUR KONTROL PERULANGAN (LOOPING)
Perulangan data atau yang biasa disebut dengan “looping” adalah proses yang dilakukan secara berulang-ulang sampai batas yang ditentukan. Biasanya bila dalam perulangan tersebut tidak disertakan batasnya maka syntax akan error karena proses itu akan berulang terus hingga tak terhingga sementara variabel dalam komputer masih terbatas.

Di sini, saya juga mau share tentang Looping. Looping sebenarnya ada 3 jenis, yaitu for, while, dan do-while.Nah, berikut perbedaan yang dimiliki masing-masing jenis looping:
-      For :
Untuk mengulang suatu proses yang telah diketahui jumlahnya.
-      While : Pre Tested Loop
Untuk mengulang suatu proses yang belum diketahui jumlahnya. Pengecekan kondisi akan dilakukan terlebih dahulu. Jika kondisi masih bernilai true, maka looping akan terus berlanjut.
-      Do-while : Post Tested Loop
Untuk mengulang suatu proses yang belum diketahui jumlahnya. Instruksi akan dijalankan lebih dahulu, kemudian dilakukan pengecekan kondisi apabila masih bernilai true maka looping akan terus berlanjut.

Untuk penjelasan Looping For selanjutnya sebagai berikut:

Sebagaimana seperti yang telah disebutkan tadi, Looping For merupakan proses pengulangan yang telah diketahui jumlahnya. Kemudian, ini adalah perulangan yang paling sering digunakan. Looping for memiliki 3 parameter, yaitu nilai awal (initial value), tes kondisi yang menentukan akhir loop, dan penentu perubahan nilai.

Check this out..


Note:
Syntax             :  for (inisialisasi ; syarat ; penambahan)   {pernyataan}
Inisialisasi        : keadaan awal dari variabel control
Syarat             : ekspresi relasi yang merupakan kondisi
Penambahan    : pengatur perubahan nilai variabel control
‘i++’                : i+1
‘i+=2’              : i+2
‘i- -‘                  : i-1
‘1-=2’              : i-2

Debugnya adalah:


Untuk contoh looping for di dalam looping for sebagai berikut, guys:



Dan pada debugnya akan terjadi pengulangan sebanyak 5 kali untuk setiap angka <10. Karena, yang terlebih dahulu dilakukan pada for yang <5. Berikut penampakan debug sesungguhnya:



Wokeh.. Demikian contoh Looping dengan jenis For yang dapat jelaskan. Semoga berkah dan bermanfaat J Grazie a tutti....

-Otto von Bismarck
”Ciri-ciri orang hebat bisa diketahui melalui tiga pertanda: kedermawanan dalam bentuk, kemanusiaan dalam pelaksanaan, tidak berlebihan dalam keberhasilan.” Otto von Bismarck (1815-1898), perdana menteri Prusia, kanselir kekaisaran Jerman-