Sabtu, 26 September 2015

Bilangan Prima Berurutan dalam Shell Script

*pengen nulis prolog yang aneh-aneh, tapi bingung mau nulis apa*

Jadi, dalam postingan kali ini, saya akan menulis tentang bagaimana cara membuat list bilangan prima yang berurutan mulai dari 1 sampai N dimana N adalah inputan bilangan yang lebih dari 1. Bahasa yang saya gunakan kali ini adalah bahasa yang geje Shell Script. Bagi yang belum paham apa itu Shell Script, silahkan cari penjelasannya di google, ada banyak :))
saya menulis program ini menggunakan Gedit, sebuah text editor milik Ubuntu. Alternatifnya, bisa menggunakan nano atau Vi.  

Sebelumnya, akan saya bahas terlebih dahulu tentang bilangan prima. Apa itu bilangan prima? Sederhananya, bilangan prima adalah sebuah bilangan yang memiliki tepat dua faktor, yaitu angka 1 dan dirinya sendiri. Dengan begitu, maka bisa disimpulkan bahwa bilangan N yang bisa dibagi angka berapapun mulai dari 2 sampai N-1 bukan bilangan prima. 

Nah, sekian penjelasan tentang bilangan prima. Sekarang, saya akan mulai menunjukkan bagaimana cara menulis program di Gedit supaya bisa dijalankan menggunakan terminal Linux.

Pertama, search "Gedit" di ubuntu. Kemudian, buka gedit dan ketik:
"#!/bin/bash" (tanpa tanda kutip)
untuk menginisiasi program shell script.

Beri nama dan save pada directory yang diinginkan. Kemudian, search "terminal" dan ketikkan pada terminal:
"chmod 777 /directory"
Sebagai contoh, saya menyimpan file di directory "home/fitoalfitrahns/bilangan_prima" maka saya mengetik " chmod 777 /home/fitoalfitrahns/bilangan_prima". Perintah ini digunakan untuk mengatur permission pada Linux supaya file tersebut dapat dieksekusi.

Kemudian, untuk menjalankan program tersebut di terminal, ketikkan pada terminal:
"bash /directory" 
Sesuai dengan contoh diatas, saya mengetik " bash /home/fitoalfitrahns/bilangan_prima".

Program dibawah ini dibuat berdasarkan penjelasan saya diatas tentang bilangan prima.

Secara singkat, program tersebut bisa dijelaskan seperti ini:

Bilangan prima paling kecil adalah 2. Tidak dimungkinkan adanya bilangan prima yang lebih kecil dari 2. Maka dari itu, syarat input bilangan N pada program ini yaitu, inputan tidak boleh kurang dari 1.

Kemudian, saya akan mengecek satu persatu bilangan diantara 2 sampai N, apakah bilangan tersebut bilangan prima atau bukan. Bagaimana cara mengeceknya? Salah satunya dengan melakukan operasi modulo berulang pada bilangan yang dites dengan bilangan mulai dari N-1 hingga 2. Jika ternyata tidak ada hasil tes modulo yang bernilai 0, maka bilangan tersebut diberi flag "1" dan diprint. Jika tidak, akan diberi flag "0" dan tidak diprint.

Hasil program ketika di-run:


Sekian penjelasan dari saya~ Have a nice day, I wish you :)

Tidak ada komentar:

Posting Komentar