Senin, 22 November 2010

Bilangan Fibonacci

 

Deret bilangan ini disusun oleh Leoanardo Fibonacci pada tahun 1175 - 1245 M. Para ilmuwan pada jaman dahulu mengatakan bahwa angka-angka dalam Fibonacci adalah salah satu bukti adanya Tuhan (disebut juga angka Tuhan).

Salah satu fenomena alam yang berhubungan dengan angka-angka Fibonacci adalah jumlah helai pada bunga, bila diamati, ternyata mengikuti deret fibonacci. contohnya:
  • jumlah helai bunga 3 : bunga lili, iris, jumlah helai bunga 5 : buttercup 
  • jumlah helai bunga 13 : ragwort, corn marigold, cineraria (bunga kuning di atas = 13 helai)
  • jumlah helai bunga 21 : aster, black-eyed susan, chicory, jumlah bunga 34 : plantain, pyrethrum

Sebenarnya, masih banyak lagi fenomena alam yang berhubungan dengan angka fibonacci, tetapi penulis ingin menjelaskan urutan angka pada deret finonacci. 


Deret bilangan fibonacci adalah deret nilai_saat_ini = nilai_sebelumnya + nilai_sebelumnya_lagi.

Minggu, 21 November 2010

3. Delete Node pada Linked List

Delete Node at First position


Menghapus node diawal sangatlah mudah karena anda tidak perlu melakukan traverse/penelusuran. Perhatikan kode program C++ berikut ini beserta komentarnya.

node *temp;    // deklarasikan variable pointer bertipe node
temp = head;   // pointer temp menunjuk ke alamat yg sama dengan yang ditunjuk head.
// ini bukan merupakan duplikasi, ibarat satu orang dengan nama Arisandi Hutama, bisa
// mempunyai 2 nama panggilan yang berbeda, di rumah dipanggil Ari, di kampus dipanggil Sandi
// yang keduanya (head dan temp), menunjuk ke obyek yang sama. 


Kamis, 18 November 2010

Konversi Biner ke Desimal


Perlu diketahui, tiap posisi bit sebelah kiri selalu berukuran 2 kali lipat dari bit sebelah kanannya. Bit paling kanan adalah paling rendah (LSB=Low Significant Bit), yang paling kiri adalah paling tinggi. Ibarat kalo desimal, paling kanan adalah satuan (paling rendah) dan paling kiri adalah paling tinggi (bisa ribuan, jutaan tergantung jumlah digit).

Rabu, 03 November 2010

2. Insert Node dan Traverse LL

 a) Insert Node at First position


Untuk memasukan node di posisi awal, kita harus terlebih dahulu membuat node baru, lalu menyambungnya dengan linked list yang sudah ada. Terakhir, ubah pointer head ke node yg baru dibuat.

cout << "MASUKAN DATA :"; // cetak ke layar
cin >> angka; // baca data dari keyboard

node *temp;               // deklarasi var pointer yang menunjuk ke node.
temp = (node*)malloc(sizeof(node)); // ciptakan node baru kosong
temp->data = angka;  // isi data
temp->next = head;    // sambung alamat berikutnya ke arah alamat yg ditunjuk head
head = temp;              // ubah alamat pointer head untuk menunjuk temp.
temp = NULL;           // ubah pointer temp ke null agar tidak menunjuk kemanapun.