Menerapkan Urutan Fibonacci dengan Python

Diterbitkan: 2023-02-23

Python adalah bahasa pemrograman multiguna yang kuat dan serbaguna yang memfasilitasi implementasi Jaringan Syaraf Tiruan dan mendukung Pemrosesan Bahasa Alami, Pembelajaran Mendalam, Pengenalan Wajah, Algoritma Genetika, dan banyak lagi tugas berbasis AI yang canggih lainnya.

Artikel ini mengeksplorasi beberapa cara utama di mana Python dapat digunakan untuk menghasilkan deret Fibonacci secara akurat – contoh yang bagus dari algoritme yang relatif sederhana yang tidak hanya berguna di dalam dan dari dirinya sendiri tetapi sering menjadi dasar untuk membangun program lanjutan yang mampu melakukan kompleks fungsi kognitif.

Daftar isi

Apa itu Deret Fibonacci?

Deret Fibonacci mungkin merupakan salah satu deret matematika yang paling sederhana, paling awal diketahui, dan paling terkenal yang diketahui umat manusia.

Ini adalah rangkaian bilangan bulat bilangan bulat yang berkelanjutan, di mana setiap angka berikutnya sama dengan jumlah dari dua angka sebelumnya Seri Fibonacci dimulai dengan 0 dan 1 dan berlanjut sebagai berikut: 0, 1, 1, 2, 3, 5, 8, 13 , 21, 34, 55, 89, 144, 233, 377, 610, 987, 1597, 2584, 4181, 6765, 10946, 17711, 28657, 46368 dan seterusnya.

Dengan nol sebagai titik awal, Deret Fibonacci meluas tanpa batas dalam dua arah sebagai berikut:
…610, -377, 233, -144, 89, -55, 34, -21, 13, -8, 5, -3, 2, -1, 1, 0 , 1, 1, 2, 3, 5 , 8, 13, 21, 34, 55, 89, 144, 233, 377, 610… Urutan di sebelah kiri nol dikenal sebagai urutan “negafibonacci”.

Lihat kursus teknologi gratis kami untuk mendapatkan keunggulan dalam persaingan.

Urutan Fibonacci dapat direpresentasikan secara matematis sebagai berikut:

N 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
xn _ 0 1 1 2 3 5 8 13 21 34 55 89 144 233 377 610

Di mana n adalah angka suku dan x n adalah nilai suku. Rumus untuk menghitung nilai suku x n adalah:
x n = x n-1 + x n-2

Jadi, nilai suku nomor 8 misalnya adalah:

x 8 = x 7 + x 6

x 8 = 13 + 8

x 8 = 21

Berikut ini sedikit hal sepele yang terkait dengan Deret Fibonacci: Hari Fibonacci diamati pada tanggal 23 November, karena tanggal tersebut dapat diwakili oleh angka 1, 1, 2, dan 3 – yang mewakili segmen deret angka Fibonacci yang diurutkan dengan benar.

Jelajahi Kursus Rekayasa Perangkat Lunak Populer kami

Master of Science dalam Ilmu Komputer dari LJMU & IIITB Program Sertifikat Keamanan Siber Caltech CTME
Kamp Pelatihan Pengembangan Tumpukan Penuh Program PG di Blockchain
Program PG Eksekutif dalam Pengembangan Stack Penuh
Lihat Semua Kursus kami Di Bawah Ini
Kursus Rekayasa Perangkat Lunak

Sejarah dan Asal Usul Deret Fibonacci

Leonardo Pisano Bogollo, dikenal sebagai Fibonacci, yang dalam bahasa Italia sehari-hari secara kasar diterjemahkan menjadi 'anak dari Bonacci.'

Fibonacci dikreditkan dengan perumusan urutan angka khusus ini, yang – sebagai akibatnya – dinamai menurut namanya. Dia memperkenalkannya ke sebagian besar Eropa Barat pada awal abad ke-13 M melalui buku terkenalnya –Liber Abaci.

Dianggap luas di antara ahli matematika paling berbakat pada masanya, Fibonacci, kebetulan, juga dikreditkan dengan adopsi angka Hindu-Arab secara luas di seluruh Eropa, yang sampai saat itu menggunakan angka Romawi yang jauh lebih rumit.

Namun, apa yang sekarang disebut Deret Fibonacci, sekarang diketahui telah digunakan di India kuno sejak abad ke-3 SM.

Ia menemukan ekspresinya dalam Pingala-sutra, sebuah risalah kuno prosodi Sanskerta, serta dalam Natya Shastra, sebuah risalah tentang seni pertunjukan India kuno, yang dikaitkan dengan orang bijak yang dihormati di India kuno, Acharya Pingala dan Bharata Muni, masing-masing.

Komentar paling definitif tentang urutan tersebut muncul dalam karya Virahanka pada awal abad ke-8 Masehi. Meskipun teks ini sendiri belum terlacak, namun telah dirujuk dan dikutip secara ekstensif dalam karya Gopala pada tahun 1135 M. Secara kebetulan, digit tahun itu mewakili urutan angka Fibonacci yang berurutan.

Cendekiawan ritme metrik India lainnya, Acharya Hemachandra, konon memiliki pengetahuan yang mendalam tentang urutan tersebut, yang ia jelaskan dengan sangat rinci pada tahun 1150 M. Ini mendahului pekerjaan Fibonacci lebih dari 50 tahun.

Lihat Kursus Pengembangan Perangkat Lunak upGrad

Formula Binet

Seperti semua deret rekursif konstan dengan koefisien konstan, bilangan Fibonacci dapat ditampilkan sebagai ekspresi bentuk tertutup yang kemudian dikenal sebagai rumus Binet. Dinamakan setelah Jacques Philippe Marie Binet, seorang ahli matematika Prancis terkemuka dari awal abad ke-19, Rumus Binet dapat direpresentasikan sebagai berikut:

Diberikan bahwa F n adalah angka Fibonacci ke-n:

Apa yang dapat diturunkan dari rumus di atas adalah fakta bahwa kecuali beberapa angka pertama, rasio antara setiap pasangan angka berurutan dalam deret Fibonacci semakin menyatu pada apa yang disebut sebagai Rasio Emas – 1:1.618, dilambangkan dengan angka ke-21. huruf alfabet Yunani – Φ (phi).

Ini berarti bahwa setiap angka dalam deret adalah 0,6180339887 dari angka Fibonacci yang mengikutinya ATAU setiap angka berikutnya adalah 1,6180339887 kali angka yang mendahuluinya dalam deret Fibonacci.

Keterampilan Pengembangan Perangkat Lunak Dalam Permintaan

Kursus JavaScript Kursus Inti Java Kursus Struktur Data
Kursus Node.js Kursus SQL Kursus pengembangan tumpukan penuh
Kursus NFT Kursus DevOps Kursus Data Besar
Kursus React.js Kursus Keamanan Cyber Kursus Komputasi Awan
Kursus Desain Database Kursus Python Kursus Cryptocurrency

Urutan Fibonacci dan Rasio Emas

Signifikansi Deret Fibonacci dan turunannya, rasio Emas, meningkat secara signifikan karena sifatnya yang sering berulang. Beberapa contoh yang paling umum dari hal ini meliputi:

  • Jumlah kelopak pada bunga hampir selalu merupakan angka Fibonacci, apakah itu Lily dengan 3 kelopak, Buttercup dengan 5 kelopak, bunga Chicory dengan 21 kelopak, atau Daisy dengan 34 kelopak.
    Menariknya, kesesuaian yang kuat dengan angka Fibonacci ini tampaknya merupakan hasil rancangan Darwinian, karena para ilmuwan telah menemukan bahwa pengaturan kelopak khusus ini memastikan bahwa setiap bunga ini mendapatkan paparan sinar matahari, kelembapan, dan agen penyerbukan yang optimal seperti burung dan serangga. .
  • Rasio Emas atau Φ terlihat di hampir semua pola spiral yang terjadi secara alami – dari kepala benih Bunga Matahari hingga seluruh galaksi, dari tonjolan pada kerucut pinus hingga angin topan, dari duri pada Nanas hingga lengkungan tanduk kambing, dan dari kuntum bunga dari kembang kol ke lingkaran pada sidik jari manusia.
    Pola spiral dari cangkang nautilus dianggap sebagai representasi ikonik dari apa yang disebut "Fibonacci Spiral".
  • Percabangan pohon dan sistem akar, rasio antara lebah jantan dan betina dalam sarang lebah, berbagai bagian tubuh hewan – mulai dari mikroba hingga siput, kura-kura hingga paus, semuanya sesuai dengan Rasio Emas.
  • Aspek fisiologi manusia – rasio antara panjang tubuh kita secara keseluruhan dan jarak dari kepala ke ujung jari kita, misalnya, atau rasio antara panjang lengan bawah dan tangan kita, semuanya dirancang sesuai dengan Φ.
    Cochlea di telinga manusia adalah Fibonacci Spiral, seperti tali pusar. Bahkan diyakini bahwa kita secara tidak sadar tertarik pada wajah yang proporsi tinggi dan lebarnya mendekati Rasio Emas.

Pada intinya, Matematika adalah pencarian untuk mengungkap pola dalam segala hal. Tidak ada arena yang lebih baik atau lebih luas untuk mencari pola-pola ini daripada di pangkuan ibu pertiwi.

Dari mikroorganisme hingga galaksi, Deret Fibonacci menemukan refleksi dalam rangkaian fisiologi alami serta fenomena yang luar biasa, dari skala mikroskopis hingga kosmik – dan dengan alasan yang bagus.

Rasio Emas atau Φ menganugerahkan keseimbangan estetika dan harmoni fungsional yang ergonomis untuk segala sesuatu yang diekspresikannya. Karena alasan inilah Rasio Emas juga disebut sebagai Proporsi Ilahi.

Tetapi pentingnya Deret Fibonacci jauh melampaui alam, menemukan ekspresi dalam berbagai upaya manusia – melintasi matematika, sains, dan seni.

Baca Artikel Populer kami yang terkait dengan Pengembangan Perangkat Lunak

Bagaimana Menerapkan Abstraksi Data di Java? Apa itu Kelas Dalam di Jawa? Pengidentifikasi Java: Definisi, Sintaks, dan Contoh
Memahami Enkapsulasi dalam OOPS dengan Contohnya Argumen Baris Perintah di C Dijelaskan 10 Fitur & Karakteristik Cloud Computing Teratas di Tahun 2022
Polimorfisme di Jawa: Konsep, Jenis, Ciri & Contoh Paket di Jawa & Bagaimana Menggunakannya? Tutorial Git Untuk Pemula: Pelajari Git dari Awal

Menghasilkan Urutan Fibonacci menggunakan Python

Urutan Fibonacci dan Rasio Emas merupakan bagian integral dari berbagai aspek:

  • Aljabar, geometri, statistik, dan trigonometri – yang dapat diterapkan pada berbagai praktik ekonomi dan analisis pasar saham.
  • Biologi, fisika, dan ilmu komputer – yang menemukan aplikasi dalam biologi sintetik dan genetika, teknik sipil dan mesin, arsitektur, desain interior, dan tentu saja pemrograman komputer.
  • Seni dan desain grafis serta puisi, musik, dan tarian

Ini seringkali merupakan langkah mendasar dalam pembuatan berbagai macam aplikasi berguna yang terkait dengan subjek di atas dan seterusnya.

Urutan Fibonacci dapat dihasilkan menggunakan berbagai macam bahasa pemrograman. Seperti yang dinyatakan sebelumnya, Python adalah salah satu yang paling kuat dan serbaguna – mampu menggunakan dan memanipulasi Bilangan Fibonacci dan Urutan Fibonacci dalam beberapa cara untuk mengembangkan beberapa solusi teknologi paling mutakhir.

Lihat Pemrogram Sertifikat Tingkat Lanjut upGrad di Blockchain dari IIIT Bangalore

Berikut adalah beberapa metode di mana Python dapat digunakan untuk menghasilkan Deret Fibonacci:

Pendekatan Iteratif

Dalam metode ini, algoritma :

  • Tetapkan dua variabel apa pun untuk mewakili dua suku berurutan awal dalam barisan. Di mana 0 mewakili suku pertama dari barisan, dan 1 mewakili suku kedua.
  • Menetapkan rentang suku yang diinginkan untuk dihitung dalam urutan dan pengulangan dari 0 ke atas.
  • Pada setiap iterasi, algoritma:
    • Menambahkan dua variabel.
    • Kemudian berikan nilai variabel kedua ke variabel pertama
      dan penjumlahan dua variabel sebelumnya dengan variabel kedua.
    • Dan seterusnya…

Kode yang sesuai akan ditulis sebagai berikut :

def fibo (bil) :

a = 0

b = 1

untuk saya di xrange (0, 20):

cetak a

a, b = b, a + b

Output yang sesuai adalah dua puluh angka pertama dari Deret Fibonacci :

0, 1, 1, 2, 3, 5, 8, 13, 21, 34, 55, 89,
144, 233, 377, 610, 987, 1597, 2584, 4181

Pendekatan Rekursif

Dalam metode ini, algoritma memperoleh :

Nilai setiap suku yang berurutan dengan menjumlahkan nilai dari dua suku sebelumnya. Ini dapat direpresentasikan sebagai suku n = suku n-1 + suku n-2.

Hanya dua pengecualian untuk aturan ini adalah ketika nilai suku adalah 0 dan 1, keduanya mengembalikan nilai yang tidak berubah. Pengecualian ini dapat direpresentasikan sebagai istilah n = istilah n.

Kode yang sesuai akan ditulis sebagai berikut :

def recur_fodo (n):

jika n < = 1:

kembali n

kalau tidak:

kembali (recur_fibo (n-1) + recur_fibo (n-2) )

Nsuku = 20

# periksa apakah jumlah istilah valid

jika kutu buku <= 0:

print (“Masukkan bilangan bulat positif”)

kalau tidak:

cetak (“urutan Fibonacci”)

Untuk saya dalam rentang (nterms):

Cetak (recur_fibo i))

Output yang sesuai adalah dua puluh angka pertama dari Deret Fibonacci :

0, 1, 1, 2, 3, 5, 8, 13, 21, 34, 55, 89,
144, 233, 377, 610, 987, 1597, 2584, 4181

Beberapa aplikasi Deret Fibonacci yang berdiri sendiri

Selain menjadi langkah dasar dalam pengembangan berbagai model dan aplikasi kompleks, Bilangan Fibonacci, dengan sendirinya, memiliki beberapa karakteristik unik yang membuatnya sangat berharga dalam pelaksanaan tugas tertentu:

  • Bilangan Fibonacci dapat digunakan untuk menganalisis runtime komputasi algoritme Euclid untuk mengidentifikasi pembagi bersama terbesar dari pasangan bilangan bulat acak, mengingat fakta bahwa sepasang bilangan Fibonacci yang berurutan biasanya menghadirkan tantangan paling berat bagi algoritme ini.
  • Angka Fibonacci secara unik mewakili urutan lengkap, sehingga setiap bilangan bulat positif dalam rangkaian tersebut adalah jumlah dari dua angka Fibonacci, salah satunya dapat digunakan hanya sekali.
  • Algoritma berdasarkan Bilangan Fibonacci membantu dalam pengembangan teknik pencarian Fibonacci, struktur data tumpukan Fibonacci, dan Grafik Kubus Fibonacci yang digunakan untuk menghubungkan sistem paralel dan terdistribusi.
  • Angka Fibonacci digunakan dalam scrum poker – teknik berbasis konsensus dan gamified untuk memperkirakan tujuan pengembangan dalam pengembangan perangkat lunak.
  • Retracement level Fibonacci umumnya digunakan dalam analisis teknis untuk perdagangan pasar saham.

Kesimpulannya

Kami telah, selama artikel ini, mencoba untuk menarik minat Anda pada Deret Fibonacci atau Rasio Emas – fitur utamanya dan pengulangannya yang sangat sering di alam – baik hidup maupun mati.

Kami telah mencoba untuk menangkap dampak dan menciptakan kembali keajaiban yang telah diciptakan oleh fenomena matematis ini di seluruh rentang pengejaran manusia yang sangat berbeda dan multidimensi – seni dan sains, teknik dan teknologi, anatomi dan genetika, ekonomi dan keuangan… dan masih banyak lagi .

Kami telah berusaha untuk menghidupkan bagaimana bahasa pemrograman yang sangat serbaguna yang disebut Python dapat membantu Anda memanipulasi konsep-konsep matematika ini untuk memberi manfaat bagi umat manusia dengan berbagai cara yang tak terduga – baik secara langsung maupun tidak langsung.

Kami sangat berharap bahwa kombinasi kuat dari Python dan Urutan Fibonacci ini telah dan akan terus menangkap imajinasi Anda, menyalakan pikiran Anda, mendorong aspirasi Anda, dan menginspirasi Anda ke pencapaian tertinggi. Selamat membuat kode! Selamat bermimpi!

Di upGrad, kami memahami pentingnya pembelajaran praktis dan langsung – terutama dalam hal pengembangan perangkat lunak. Hasilnya, inisiatif kursus dan pelatihan kami memiliki inti kepraktisan. Salah satu inisiatif tersebut adalah Full Stack Development Bootcamp yang akan membantu Anda mengembangkan semua keterampilan relevan yang diperlukan untuk unggul dalam pengembangan full-stack.

Ingin berbagi artikel ini?

Rencanakan Karir Pengembangan Perangkat Lunak Anda Sekarang!

Terapkan Untuk Master of Science dalam Ilmu Komputer