♥selamat datang di blog saya♥bisa karena terbiasa♥terima kasih sudah mampir♥

Wednesday, March 2, 2016

0

SORTING dalam Bahasa C++


Kali ini sedikit membahas tentang contoh sorting (pengurutan data), ada banyak sekali metodenya. Tapi yang disini kita membahas tentang bubble, exchange dan insertion saja.

Contoh Soal.
Data Awal :         5        7        4        2        1
Urutkan secara ASCENDING (besar à kecil)

1.      Bubble Sort
Disini, data ke-i (data sekarang) dibandingkan dengan data ke-(i+1) {data selanjutnya}. Jika data sekarang lebih dari data yang selanjutnya, maka akan dilakukan pertukaran tempat.
a.       Proses 1
Data sekarang (data indeks ke-0) dibandingkan dengan data selanjutnya (data indeks ke-1). Apabila memenuhi syarat (data_indeks_ke-0 > data_indeks_ke_1), maka akan ditukar. Apabila tidak memenuhi syarat, maka akan dibiarkan seperti itu. Contohnya pada saat membandingkan data indeks ke-0 dengan data indeks ke-1, 5 dibandingkan dengan 7. Karena 5 tidak lebih dari 7 , maka kedua data tidak ditukar. Namun pada langkah berikutnya, saat membandingkan data indeks ke-1 dengan data indeks ke-2 ( 7 dibandingkan dengan 4), karena 7 lebih dari 4 (memenuhi syarat) maka dilakukan penukaran data.
b.      Proses 2
Pada proses ke-2, sama dengan yang dilakukan pada proses pertama. Membandingkan data ke-i dengan data ke-(i+1). Apabila data ke-i > data ke-(i+1) maka dilakukan penukaran data. Pada kolom indeks ke-4 (yg diblok kemerah-merahan, data terakhir) tidak perlu dicek lagi. Karena sudah pasti dia adalah data yang paling besar nilainya. Data pada indeks ke-4 ini adalah hasil dari proses 1.

c.       Proses 3
Sama seperti pada proses 1 dan 2. Data pada indeks ke-3 (yg diblok biru) adalah hasil dari proses ke-2. Tidak usah dicek lagi (tidak usah dibandingkan)
d.      Proses 4
  
2.      Exchange Sort
Misal : Data_ Patokan = A
            Data_Pembanding = B
Tipe Urutan : Ascending à syarat : A<B
a.       Proses 1
Data yang paling kiri (data awal) dibuat sebagai patokan (lihat yg dikotaki merah). Kemudian dibandingkan dengan data yang di sebelah kanannya (membandingkan 2 data) sampai ke data yang terakhir.


Jika data patokannya lebih dari data pembandingnya (A>B), maka dilakukan penukaran tempat.
b.       Proses 2
Apabila proses 1 sudah selesai, maka lanjut ke proses 2. Pada proses 1, data yang menjadi patokan adalah data ke-1 (indeks ke-0), untuk proses 2 data yang menjadi patokan adalah data ke-2 (indeks ke-1). Untuk proses pengurutannya sama dengan proses sebelumnya, membandingkan 2 data, data patokan dengan data di sebelah kanannya. Apabila yang dibandingkan tidak memenuhi syarat maka akan dilakukan penukaran data. Pembandingan dilakukan terus sampai tidak ada lagi data yang di sebalah kanan
c.       Proses 3
Seperti pada proses sebelumnya, dilakukan pembandingan antar 2 data (data patokan dan data di sebelah kanannya). Untuk Data patokan digunakan data ke-3 (indeks ke-2)

d.       Proses 4
Lakukan langkah seperti pada proses-proses sebelumnya. Sampai Data terurut sesuai permintaan.

Dalam Exchange sort ini, setelah proses 1, maka di proses selanjutnya data yang sebelah kiri (data hasil proses sebelumnya) tidak usah dibandingkan (dicek) kembali. Lihat, data yang di-blok merah muda, adalah hasil dari proses 1. Dalam proses 2 dan selanjutnya dia tidak dicek lagi. Kemudian data yang diblok biru (hasil dari proses 2), pada proses 3 dan 4 dia tidak dicek. Begitu seterusnya, karena data di sebelah kiri yg merupakan hasil dari proses sebelumnya sudah pasti data yang terkecil diantara data yang sebelah kanannya.

3.      Insertion Sort
Insertion sort, mirip dengan exchange. Menggunakan data pada indeks ke-0 sebagai patokan. Data patokan dibandingkan dengan data di sebelah kanannya (data selanjutnya). Bedanya dengan exchange adalah,
Exchange : memenuhi syarat maka data ditukar
Insertion : memenuhi syarat maka data patokan digeser dengan data pembanding.
Contohnya pada saat membandingkan data indeks ke-0 dengan data indeks ke-2 (membandingkan 5 dengan 4), karena benar bahwa 5>4 maka posisi 5 digeser dengan 4. Data di belakangnya mengikuti



Untuk Source code:
1.      Bubble


2.      Exchange


3.      Insertion

Sunday, February 14, 2016

0

Lirik When I was Your Man - cover Boyce Avenue ft. Fifth Harmony

Boyce Avenue :
same bed but it feels just a llittle bit bigger now
our song on the radio but it don't sound the same
when our friends talk about you, all it does just tear me down
'cause my heart breaks a little when I hear your name

Boyce Avenue :
it all just sounds like ooooh?
mmm, too young too dumb to realize
Fifth Harmony :
that you should have bought me flowers
and held my hand
Boyce Avenue :
Should have gave you all my hours
when I had the chance
Fifth Harmony :
Take me to every party
'cause all I wanted to do was dance
Boyce Avenue :
Now my baby is dancing
But she is dancing with another man

Fifth Harmony :
your pride, your ego, your needs and your selfish ways
coused a good strong woman like me to walk out your life
Now you never , never get to clean up the mess you made, ohh?
and it haunts me every time I closed my eyes

Fifth Harmony :
it all just sounds like  oooooh?
Boyce Avenue :
mmm too young too dumb to realize
Fifth Harmony :
that you should have bought me flowers
and held my hand
Boyce Avenue :
should have gave you all my hours
when I had the chance
Fifth Harmony :
and take me to every party
'cause all I wanted to do was dance
Boyce Avenue :
Now my baby is dancing
But she is dancing with another man

Boyce Avenue :
although it hurts
i'll be the first to say that I was wrong
Fifth Harmony :
Oh, I know it's probably much too late to try and apologize for your mistakes
so I just want you to know

Fifth Harmony :
I hope he buys me flowers
I hope he holds my hand
Gives me all his hours
When he has the chance
Boyce Avenue :
Take you to every party
'cause I remember how much you loved to dance
Fifth Harmony :
Do all the things you should have done
When you were my man
Do all the things you should have done
When you were my man
Boyce Avenue :
Do all the thhings you should have done

When I was your man
0

Fungsi dalam Bahasa C++

Halo teman-teman. Sekarang saya sedang belajar bahasa pemrograman C++. Hampir mirip dengan bahasa C yang pernah saya pelajari. Ya wajar saja mirip, kan bahasa C merupakan salah satu turunan dari Bahasa C++ hehehe sedikit pengetahuan saja, kalau di Pascal itu sifatnya incase-sensitive maka di C dan C++ ini sifatnya case-sensitive. Jadi harus teliti ya.. beda satu huruf yang satu huruf kecil yang satu huruf kapital saja sudah berbeda ceritanya.
                Pada kesempatan ini, saya ingin membahas sedikit tentang fungsi dalam bahasa C++. Untuk mengetikkan source code bahasa C++ bisa di compiler-nya langsung atau di notepad. Compiler untuk bahasa C++ ada banyak, diantaranya ada CodeBlocks, Borland C++, Turbo C++, Microsoft Visual Studio C++, dan Dev C++. Disini saya menggunakan compiler Dev C++.

                Kalau di Pascal kita mengenal uses crt sebagai library-nya, maka di C++ ada yang namanya #include <iostream> . Sebenarnya library/header dalam bahasa C++ ini ada banyak, contoh yang lain adalah header #include <conio> dan #include <string>. Masing-masing header menampung fungsi-fungsi standarnya sendiri. Sebagai contoh, fungsi cin dan cout berada dalam header iostream, sedangkan untuk fungsi getch() berada pada header conio. Fungsi dalam bahasa C++ sendiri dapat dibedakan menjadi 2, yaitu fungsi standar (standard library function) seperti yang sudah disebutkan sebelumnya dan yang kedua adalah fungsi yang didefinisikan sendiri oleh programmer (programmer-defined function). programmer-defined function sendiri ada 2 macamnya, yaitu fungsi void (tidak mengembalikan nilai) dan nonvoid (mengembalikan nilai). Kalau di gambar di atas, contoh dari programmer-defined function adalah fungsi “hitung”. Ada 2 cara untuk mendeklarasikan sebuah fungsi yang saya ketahui, yang pertama bisa dilihat pada contoh diatas, dan yang kedua bisa dilihat pada contoh dibawah.

                Pada gambar source code “contoh 1” adalah contoh fungsi yang tidak mengembalikan nilai (void), sedangkan gambar source code “contoh 2” adalah contoh fungsi yang mengembalikan nilai. Apabila suatu fungsi tidak mengembalikan nilai, maka dalam pendeklarasian fungsi tersebut, sebelum nama fungsi ada keywordvoid”-nya. Sedangkan untuk fungsi yang mengembalikan nilai, sebelum nama fungsi ada keyword tipe data dari hasil yang dikembalikan, selain itu di bagian bawah fungsi ada keywordreturn ...”.
                Pada gambar “contoh 2” disebutkan ada yang namanya parameter aktual dan parameter formal. Parameter aktual adalah parameter yang melemparkan nilai, sedangkan parameter formal adalah kebalikannya, yaitu parameter yang menerima nilai.

                Dalam suatu program, fungsi pertama yang akan djalankan adalah fungnya “main”-nya terlebih dahulu. Karena fungsi main adalah fungsi utama program. Antara satu fungsi dengan fungsi yang lain dapat saling memanggil. Bahasa C++ juga mengizinkan pemanggilan suatu fungsi dalam fungsi itu sendiri. Isitilah untuk fungsi yang memanggil dirinya sendiri ini adalah rekursi. Tidak semua bahasa pemrograman mengizinkan ini, karena membutuhkan memori yang cukup banyak untuk melakukan ini.

untuk hari ini pembahasan tentang Fungsi sampai disini dulu. semoga bermanfaat