Algoritma dan Kita

Algoritma mungkin terdengar seperti monopoli orang-orang IT, dalam artikel ini saya sedikit bercerita tentang algoritma ini, sejarahnya dan bagaimana algoritma ini mengubah dunia dan kita, sejak ribuan tahun yang lalu. Dan bagaimana kita sehari-hari telah menggunakan algoritma secara tidak sadar.

Saat ini hampir seluruh system menggunakan komputer, dari handphone, mobil, mesin cuci, bahkan sentral komunikasi. Komputer sendiri kalau di bongkar isinya tidak macam-macam, umumnya CPU, memory, storage dan I/O. Yang membuat komputer dapat melakukan bermacam-macam hal tentu semua juga tahu yaitu software-nya. Seringkali hardware yang sama dapat melakukan hal yang berbeda apabila memiliki software yang berbeda. Contohnya laptop kita walaupun hardware nya sama, bisa jadi sebagai mesin windows ataupun mesin Linux. Bahkan saat ini muncul teknologi software defined radio, software defined network, dll.

Jika kita korek lebih dalam lagi, umumnya software ini dibagun dari blok-blok yang kita sebut dengan algoritma. Apakah itu algoritma? Algoritma adalah suatu spesifikasi pasti untuk menyelesaikan suatu tipe masalah. Contohnya yang sering dipelajari orang di bidang komputer adalah algoritma sorting, atau mengurutkan. Dengan mengikuti langkah-langkah pasti dalam algoritma, komputer dapat mengurutkan suatu bilangan, tentu dengan kecepatan komputer, yang artinya cepat sekali.

Algoritma ini menyentuh sisi-sisi kehidupan kita paling dalam. Misalnya Google membangun algoritma PageRank untuk memberikan peringkat terhadap berbagai website yang kita cari melalui google. Kemudian algoritma MapReduce yang digunakan untuk mengelola data dalam ukuran besar yang disebut BigData, sehingga memungkinkan ribuan komputer bekerja secara parallel. Dan masih banyak lagi algoritma yang sudah dibuat untuk menyelesaikan berbagai masalah di dunia ini.

Algoritma ini menarik, karena ini adalah tools yang membantu kita dalam memecahkan masalah. Kita cukup berikan data-data yang dibutuhkan, viola, hasilnya keluar dengan ajaib. Misalnya contoh algoritma pengurutan di atas, kita berikan sekumpulan angka-angka, viola, angka-angka tersebut keluar dalam bentuk sudah diurutkan. Suatu alat yang sangat luar biasa. Dan hebatnya lagi, komputer membuatnya ter-eksekusi dengan sangat cepat dan akurat.

Algoritma sendiri sebenarnya bukan ekslusif milik orang IT, bahkan ribuan tahun yang lalu, manusia sudah membuat algoritma. Salah satu algoritma yang tertua di dunia adalah algoritma untuk mencari bilangan prima oleh Erasthosthenes, seorang ahli matematika, yang berhasil memperkirakan diameter bumi dengan sangat akurat.

Kira-kira begini lah algoritma Erasthosthenes dalam mencari bilangan prima :

  1. Create a list of consecutive integers from 2 through n: (2, 3, 4, …, n).
  2. Initially, let pequal 2, the smallest prime number.
  3. Enumerate the multiples of pby counting to n from 2p in increments of p, and mark them in the list (these will be 2p, 3p, 4p, …; the p itself should not be marked).
  4. Find the first number greater than pin the list that is not marked. If there was no such number, stop. Otherwise, let pnow equal this new number (which is the next prime), and repeat from step 3.
  5. When the algorithm terminates, the numbers remaining not marked in the list are all the primes below n.

Tidak perlu di mengerti, algoritma diatas, karena saya juga pusing. Tetapi dengan mengikuti 5 langkah yang ditunjukkan oleh Erasthosthenes, seseorang dengan mudah menemukan bilangan prima dari 2 hingga bilangan yang diinginkan. Ajaib kan?

Algoritma sendiri namanya bisa dilacak dari buku dengan judul Algoritmi de numero Indorum suatu buku terjemahan bahasa latin, yang apabila diartikan adalah Algoritmi, tentang angka India. Algoritmi adalah seorang ahli matematika, geografi dan astronomi dari Persia. Algoritmi sendiri di tempat aslinya dikenal dengan nama Al-Khwarizmi. Dalam buku itu ia menjelaskan cara menggunakan angka india, atau angka yang kita kenal saat ini, yang memang berasal dari India, walaupun lebih kita kenal sebagai angka Arab.

Buku Algoritmi de numero Indorum ini sangat berpengaruh di akhir jaman pertengahan di eropa, menjadi buku matematika yang paling banyak di baca pada saat itu. Buku ini merupakan revolusi di eropa, dan saya menyakini hal ini pula-lah yang mendorong budaya arab maju dengan sangat pesat. Buku ini mengajarkan suatu system bilangan, dimana posisi bilangan tersebut berada menentukan nilainya.

Misalkan angka 1 di angka 100 dan 1000 memiliki nilai yang berbeda. Mungkin sangat sulit bagi kita untuk menghargai system ini, karena sejak saya lahir, angka memang begitu. Tetapi di jaman dahulu hal ini merupakan terobosan, karena memungkinkan angka yang berjumlah 10, 0 – 9 dapat di re-use untuk menuliskan berapapun. Bandingkan dengan tulisan romawi kuno, yang memiliki notasi yang berbeda untuk angka 100 C dan angka 1000 M. Pengguna dari system bilangan ini dikenal dengan nama algorism.

Sehingga jika kita berpikir bahwa algoritma adalah sesuatu yang wah, sebenarnya sehari-hari kita sudah menggunakan algoritma dalam memodelkan bilangan. Algoritma dalam pemodelan bilangan ini ternyata sangat efisien dalam membangun algoritma-algoritma yang lain, misalnya penambahan, pengurangan, perkalian dan pembagian, juga merupakan algoritma. Hal ini terasa sangat mudah untuk saat ini, cukup dengan pensil dan kertas, kita bisa menyelesaikannya. Tetapi coba bayangkan betapa sulitnya untuk melakukan perhitungan 43 + 23 apabila kita menggunakan angka romawi. Oleh karena itu pada jaman romawi dan cina kuno, orang-orang menggunakan abacus, atau yang dikenal juga dengan sipoa, kemudian mengkonversi kembali menjadi angka romawi. Ini juga yang menyebabkan aliran angka di eropa saat itu terpecah menjadi dua, aliran algoritmi yang dikenal dengan algorism dan aliran abacus yang dikenal dengan abacist.

abacus

Abacus, alat untuk membantu perhitungan

Menurut pendapat saya, matematika merupakan salah satu dari berbagai disiplin ilmu yang berisi berbagai algoritma. Algoritma untuk aritmatika, algoritma untuk menghitung probabilitas, algoritma menghitung statistic, algoritma untuk menghitung pertumbuhan, algoritma untuk menghitung multi variable.

Dari contoh-contoh diatas, tampak bagaimana algoritma ini membantu manusia menyelesaikan permasalahan-permasalahan pelik dan melelahkan menjadi masalah yang relatif lebih mudah. Algoritma sendiri terus berkembang, mulai dari cara mencari bilangan prima, pemodelan angka, aritmatika, pembukuan, hingga menghitung lintasan orbit planet, semua kehidupan kita sebenarnya dibantu, bahkan diatur oleh algoritma ini

Algoritma akan terus berkembang, dan dengan kreatifitas kita dapat memanfaatkan algoritma yang sudah tersedia untuk menyelesaikan masalah kita sehari-hari dengan efektif dan efisien. Seperti menghitung investasi, menentukan harga produk, memperkirakan ETA, mengelola projek, menghitung TCO, pengambilan keputusan, pembukuan dll.

Satu hal menurut saya yang menyebabkan kita tidak tertarik dengan algoritma, kita tidak melihat korelasinya dengan dunia nyata, kita melihatnya hanya sebagai latihan akademis. Padahal sedikit saja kreativitas, kita bisa mendapatkan tools yang berharga secara gratis.

Algoritma telah mengubah dunia, dan ke depannya akan terus mengubah dunia. Gojek, Google, Toko Online, Mobil Otonom, Bitcoin. Kita sebaiknya juga jangan ketinggalan untuk belajar berbagai Algoritma.

Bilangan Imajiner

euler-identity

euler identity

Bilangan imajiner ini melengkapai sistem bilangan yang kita miliki. Sedikit ajaib, tetapi penting untuk dunia. Sejarah bilangan dimulai dengan bilangan bulat positif, karena ini bilangan yang paling nyata. Kemudian muncul bilangan negatif, ini sudah lebih abstrak, tapi cukup masuk akal. Tetapi manusia masih kehilangan angka nol, karena cukup sulit juga mengerti angka yang artinya tidak ada. Tetapi akhirnya manusia memiliki angka nol. Banyak sekali permasalahan yang bisa di selesaikan oleh angka nol. Bayangkan hidup kita tanpa angka nol.

Sejarah terus bergulir, manusia pun mulai mengenal pecahan, 1/2, 1/3 dst. Ini pun sangat penting, kemudian ini pun belum cukup Hipasus menemukan bahwa akar 2 ini bukanlah bilangan pecahan atau bilangan rasional, maka munculah bilangan irasional. Peradaban manusia pun tumbuh dengan cepat dengan angka-angka ini, kita mlihat kebudayaan Yunani, Romawi, Arab, hingga renaisans yang tidak terlepas dari penggunaan angka-angka ini.

Dan seterusnya manusia hidup tanpa bilangan imajiner selama bertahun-tahun, tidak ada masalah yang berarti. Hidup pun terus berjalan

Kemudian di sekitar abad ke-16 ada seseorang yang memiliki ide bilangan imajiner dimana i2=1. Akan tetapi bilangan imajiner ini mendapatkan penolakan di masyarakan abad 18, seperti kita saat ini, menganggap bilangan imajiner ini bilangan yang tidak berguna dan hanya menyusahkan hidup kita dengan matematika. Ahli-ahli saat itu mengabaikan bilangan imajiner ini.

Perlu orang hebat seperti Euler untuk menyadari peran bilangan imajiner ini. Dengan formula Euler, beliau menemukan hubungan antara bilangan e (2.718..) dengan bilangan imajiner dan trigonometri. Salah satu formula paling penting di dunia matematika. Kira-kira bentuk formulanya seperti ini:

eix = cos(x) + i sin(x)

Jika melihat bentuknya kita akan tercengang, bagaimana mungkin 5 notasi aneh, cos, sin, x, e dan i berada pada satu persamaan. Dan bagaimana membuktikannya?

Jika anda merasa aneh, jangan kuatir kami di Teknik Elektro jiwa, raga dan harga diri kami habis akibat persamaan ini. Putera-puteri terbaik bangsa dengan jiwa yang murni di hantam oleh turunan persamaan ini melalui kuliah medan dan sistem kendali. Beberapa dari kami tidak bertahan, dan mayoritas dari kami masih bersyukur bisa melewati cobaan ini, dan sampai sekarang masih tidak percaya bisa melaluinya. Mungkin ini juga penyebab lulusan Elektro banyak yang masuk ke IT, walaupun sulit masih lebih manusiawi, seperti oase di padang pasir. Atau bahkan ke perbankan dan keuangan, seperti di taman firdaus.

Tetapi sisi positifnya, dunia matematika dan ilmu pengetahuan pun memiliki amunisi baru. Formula Euler ini menjadi rantai yang hilang antara kalkulus, aljabar dan trigonometri, menjadi jembatan antara berbagai kekuatan besar matematika. Bilangan Imajiner ini melengkapi himpunan bilangan yang dimiliki matematika. Bilangan imajiner ini seperti sejarah planet uranus, dicurigai dahulu keberadaanya karena ada anomaly orbit planet, baru kemudian ditemukan.

Bilangan ini ditemukan tidak seperti bilangan lainnya, dia ditemukan secara tidak langsung, melalui pendekatan teori limit. Sehingga kita akan selalu terheran-heran dengan relasi ini. Tetapi itulah hebatnya formula Euler, meskipun ditemukan dengan teori limit, tetapi hasil yang konsisten di dapatkan melalui teori deret dan teori yang lainnya. Ahli matematika yang biasanya tidak mudah percaya, bahkan meminta bukti terhadap sesuatu yang sudah jelas pun menerimanya. Seolah mengukuhkan formula Euler pada tempat khusus di dunia matematika, suatu kebenaran layaknya hukum Phythagoras.

Dunia tidak pernah sama lagi sejak kemunculan bilangan imajiner dan Formula Euler. Muncullah Teori gelombang, untuk mempelajari getaran dawai musik, yang ternyata menjadi landasan penjelasan fenomena gelombang dan getaran. Fourier Transform yang menjebatani antara domain waktu dan domain frekuensi, yang memungkinkan manusia untuk melihat dunia dengan cara yang sama sekali baru, manifestasinya adalah kompresi JPEG yang sering kita gunakan. Maxwell dengan teori gelombang elektromagnetik yang merevolusi dunia komunikasi, Sistem kendali yang memungkinkan pembuatan mesin yang lebih akurat dan efisien dan masih banyak lagi di era fisika modern.

Sulit sekali membayangkan peradaban modern tanpa kehadiran angka i, tanpaknya lanskap dunia akan berbeda sangat jauh.

Mungkin inilah mengapa ia disebut bilangan imajiner, bilangan yang dihasilkan oleh imajinasi dan digunakan untuk memfasilitasi imajinasi kita yang seringkali sangat terbatas terhadap angka.

Jadi ketika seseorang yang lebih muda, bertanya, kita bisa menjelaskan bahwa bilangan imajiner ini nyata.

Blog at WordPress.com.

Up ↑