Entri yang Diunggulkan

Siempre: Template Blogger Ringan Tanpa jQuery

Tampilkan postingan dengan label Tutorial JavaScript. Tampilkan semua postingan
Tampilkan postingan dengan label Tutorial JavaScript. Tampilkan semua postingan
8 Sep 2014

Cara Mudah Mendeteksi Bilangan Prima dengan JavaScript

8 Sep 2014  Iskandar Dzulkarnain  2 komentar
Masih ingat dengan bilangan prima? Bilangan prima adalah bilangan yang hanya bisa dibagi oleh 1 dan bilangan itu sendiri. Konsep ini telah diajarkan sejak kelas 5 SD di zaman saya. Mungkin di zaman kamu diajarkan bukan di kelas 5 SD.

Bilangan prima ini adalah bilangan yang sangat menarik. Sebagian besar bilangan prima adalah bilangan ganjil. Namun, bilangan prima juga ada yang genap, yaitu angka 2.

Berbicara mengenai masalah bilangan prima, kamu akan mulai menebak bilangan berapa saja yang masuk ke dalam bilangan prima. Dulu, dengan berbekal perangkat kalkulator, saya biasanya mengecek bilangan prima dengan membaginya dengan angka-angka pembagi semisal 2, 3, 5, 7 dan seterusnya. Nah kali ini, saya akan berbagi mengenai aplikasi web buatan saya yang bisa mendeteksi bilangan prima.

Mendeteksi Bilangan Prima dengan Mudah

Bagi kamu yang tertarik dalam bidang web, tentu sangat akrab dengan JavaScript. Dengan bermodal sedikit pengetahuan tentang JavaScript dan algoritma komputer yang saya pelajari di kuliah, saya membuat aplikasi pendeteksi bilangan prima dengan JavaScript. Berikut ini adalah aplikasinya.


Kamu bisa mencobanya dengan memasukkan angka sembarang. Nantinya akan dideteksi apakah angka tersebut termasuk bilangan prima atau bukan. Jika kamu penasaran dengan algoritma yang saya gunakan, kamu bisa melakukan inspect elements untuk melihat source code-nya.

Aplikasi di atas mempunyai algoritma yang biasa dan belum dioptimasi. Jika kamu memasukkan 10 digit bilangan prima, maka bisa jadi browser kamu akan hang. Hal ini disebabkan karena komputasi perulangan yang begitu banyak (10 digit). Coba bayangkan jika manusia disuruh menghitung sebanyak itu. Tentu saja manusia akan pusing.

Optimasi Algoritma Detektor Bilangan Prima

Untuk menambah performa aplikasi, saya merombak sedikit algoritma pada aplikasi sebelumnya. Saya menamakannya versi 2. Algoritma yang saya rombak adalah pengurangan komputasi perulangan yang terjadi. Kamu bisa mencobanya dan membedakan kecepatan pendeteksiannya. Berikut ini adalah versi keduanya.


Pada versi kedua ini saya memangkas beberapa perulangan yang menurut saya tidak penting. Karena bilangan prima ini hanya bisa dibagi dengan 1 dan bilangan itu sendiri, maka ketika bilangan tersebut sudah bisa dibagi dengan 2 maka perulangan pembagian selanjutnya dibatalkan. Pembatasan pembagian ini sangat memangkas komputasi.

Selain itu, saya juga memangkas di sisi yang lain. Jika bilangan tersebut tidak berhasil habis dibagi dengan bilangan perulangan, maka jumlah perulangan akan dibagi dengan bilangan perulangan. Hal ini sangat memangkas komputasi perulangan yang terjadi. Jika kamu bingung dengan kalimat penjelasanku, kamu bisa melakukan inspect elements untuk membaca algoritmanya.

Tingkat Ketilitian Detektor Bilangan Prima

Setiap aplikasi tentu memiliki tingkat ketelitian. Begitu juga dengan aplikasi web buatan saya ini. Detektor bilangan prima yang saya buat ini memiliki tingkat ketelitian hingga 15 digit. Ini berdasarkan percobaan yang saya lakukan. Jika lebih dari 15 digit angka yang kamu masukkan, akan menghasilkan galat. Bilangan yang seharusnya termasuk bilangan prima, dideteksi bukan prima.

Saya juga tidak tahu penyebab dari keterbatasan ketelitian ini. Mungkin juga tergantung dari tingkat ketelitian perhitungan fungsi Number() milik JavaScript. Mungkin jika kamu menggunakan Matlab, tingkat ketelitiannya akan lebih dari 15 digit.
Selengkapnya
6 Sep 2014

Pendeteksi Bilangan Ganjil/Genap dengan JavaScript

6 Sep 2014  Iskandar Dzulkarnain  2 komentar
Sebagian besar orang sangat enggan untuk mempelajari matematika. Namun, tahukah kamu bahwa dalam matematika banyak hal yang menyenangkan. Banyak sekali konsep-konsep matematika yang membuat saya terkagum-kagum.

Beberapa konsep yang membuat saya kagum adalah trigonometri, bilangan emas yang didapat dari deret Fibonacci, bilangan prima, dan masih banyak lagi lainnya. Matematika mengajarkan pada kita bahwa alam ini mempunyai pola. Tinggal manusia sendiri apakah mau mencari pola alam ini atau tidak.

Hampir Semua Orang Tahu Bilangan Ganjil/Genap

Kali ini saya akan membahas salah satu bagian kecil dari matematika, yaitu bilangan ganjil dan genap. Bilangan ganjil dan genap sangatlah mudah untuk dipahami. Hampir semua anak lulusan SD tahu tentang bilangan ganjil dan genap. Contoh bilangan ganjil positif adalah 1, 3, 5, 7, dan seterusnya. Sedangkan bilangan genap positif adalah 0, 2, 4, 6, 8, dan seterusnya.

Angka 0 Adalah Bilangan Genap

Beberapa orang mungkin masih bertanya-tanya apakah 0 termasuk bilangan ganjil ataukah bilangan genap. Menurut data yang saya dapatkan 0 adalah bilangan genap. Kamu bisa mengeceknya di Wikipedia mengenai hal ini. Ada penjelasan lengkap di sana.

Detektor Bilangan Ganjil/Genap Menggunakan JavaScript

Karena ketertarikan saya pada matematika, kali ini saya iseng membuat sebuah aplikasi sederhana berbasis JavaScript untuk mendeteksi bilangan ganjil dan bilangan genap. Berikut ini adalah aplikasinya. Silakan mengetesnya.

See the Pen cowmp by Iskandar Dzulkarnain (@iskael) on CodePen.

Algoritma Bilangan Ganjil/Genap

Untuk membuat aplikasi detektor bilangan ganjil/genap saya menggunakan operator "modulo(%)". Modulo adalah operator pembagi bersisa. Misalkan 10%3 = 1. Karena 10/3 = 3 sisa 1. Modulo mengeluarkan sisa sebagai hasil akhirnya.

Karena konsep ganjil/genap adalah apabila sebuah angka dibagi 2 hasilnya 0, maka genap. Jika selain itu maka ganjil. Dalam kasus ini saya menggunakan x%2 = y. Jika y = 0 maka genap. Jika y=1 maka ganjil. Mudah dipahami 'kan?

Kamu juga bisa membuat aplikasi serupa dengan ini, misal aplikasi untuk mendeteksi bilangan prima atau bukan. Banyak konsep matematika yang bisa kamu buat aplikasinya. Selamat mencoba :)
Selengkapnya