Algoritma dan program untuk mencari bilangan prima dalam daerah yang dibatasi
أسلام عليكم ورحمة الله وبركاته
Wahid, isnan, salasah, GO!! (seperti lomba lari saja). Ok, sekarang kita akan membuat program untuk mendapatkan bilangan prima dalam daerah yang dibatasi, misalnya bilangan prima antara 5 dan 17, maka jawabannya adalah 7, 11 dan 13, hanya itu yang akan dibahas pada kesempatan kali ini, hanya dengan memasukkan batas bawah dan batas atas dengan bilangan terserah kita, maka akan langsung didapatkan bilangan prima yang terletak antara batas bawah dengan batas atas tersebut.
Kita mulai ya... , kita kan tahu bilangan prima itu adalah bilangan yang tidak bersisa nol bila dibagi dengan bilangan selain 1 dan dirinya sendiri, contoh:
Hasil akhir dari algoritma ini adalah suatu pernyataan, yaitu: c merupakan bilangan prima atau c bukan merupakan bilangan prima. Hasil akhir dari algoritma di atas bisa kita ubah dengan menampilkan c hanya jika c bilangan prima, jika c bukan bilangan prima maka tidak akan ditampilkan apa-apa, maka algoritmanya akan menjadi seperti berikut.
Dan untuk menampilkan bilangan prima antara a dengan b, maka kita cukup menambahkan bahwa nilai c bermula dari a+1 hingga b-1, dan yang menjadi masukan bukan lagi nilai c, tetapi nilai a dan b, sehingga algoritmanya menjadi seperti ini:
Jika algoritma tersebut kita tulis di dalam bahasa pemrograman Pascal, maka akan didapat sintaks sebagai berikut:
uses crt;
var a,b,c,d:longint;
begin clrscr;
writeln('PROGRAM MENAMPILKAN BILANGAN PRIMA DALAM DAERAH YANG DIBATASI');
writeln(#10);
write('Program ini akan meminta input atau masukan 2 bilangan yaitu 1 bilangan sebagai');
write(' batas bawah dan 1 bilangan lagi sebagai batas atas, dan secara otomatis akan');
writeln(' ditampilkan bilangan prima yang ada antara 2 bilangan itu');
writeln;
write('masukkan batas bawah: ');
readln(a);
write('masukkan batas atas: ');
readln(b);
writeln(#10);
writeln('Bilangan prima antara ',a,' dengan ',b,' adalah:');
Kita mulai ya... , kita kan tahu bilangan prima itu adalah bilangan yang tidak bersisa nol bila dibagi dengan bilangan selain 1 dan dirinya sendiri, contoh:
- 7 adalah bilangan prima, karena 7 hanya bersisa nol bila dibagi dengan bilangan 1 dan bilangan 7 itu sendiri
- 11 adalah bilangan prima, karena 11 hanya bersisa nol bila dibagi dengan bilangan 1 dan bilangan 11 itu sendiri
- 8 bukan bilangan prima, karena selain dibagi dengan bilangan 1 dan bilangan 8 itu sendiri, 8 juga bersisa nol bila dibagi dengan bilangan 2 dan 4
- 15 bukan bilangan prima, karena selain dibagi dengan bilangan 1 dan bilangan 15 itu sendiri, 15 juga bersisa nol bila dibagi dengan bilangan 3 dan 5
- c adalah bilangan prima jika dan hanya jika c tidak bersisa nol bila dibagi dengan bilangan selain 1 dan bilangan c itu sendiri
- pernyataan di atas dapat juga ditulis dengan kalimat berikut: c adalah bilangan prima jika dan hanya jika c tidak bersisa no bila dibagi denga bilangan 2, 3, ..., c-1
- pernyataan di atas dapat juga ditulis dengan kalimat berikut: jika kita misalkan bahwa d = 2, 3, ..., c-1 maka, c dikatakan bilangan prima jika c mod d = 0
- Bilangan yang dimasukkan lebih kecil dari 2 (c < 2)
- Bilangan yang dimasukkan adalah 2 (c = 2)
- Bilangan yang dimasukkan lebih besar dari 2 (c > 2)
Hasil akhir dari algoritma ini adalah suatu pernyataan, yaitu: c merupakan bilangan prima atau c bukan merupakan bilangan prima. Hasil akhir dari algoritma di atas bisa kita ubah dengan menampilkan c hanya jika c bilangan prima, jika c bukan bilangan prima maka tidak akan ditampilkan apa-apa, maka algoritmanya akan menjadi seperti berikut.
Dan untuk menampilkan bilangan prima antara a dengan b, maka kita cukup menambahkan bahwa nilai c bermula dari a+1 hingga b-1, dan yang menjadi masukan bukan lagi nilai c, tetapi nilai a dan b, sehingga algoritmanya menjadi seperti ini:
Jika algoritma tersebut kita tulis di dalam bahasa pemrograman Pascal, maka akan didapat sintaks sebagai berikut:
uses crt;
var a,b,c,d:longint;
begin clrscr;
writeln('PROGRAM MENAMPILKAN BILANGAN PRIMA DALAM DAERAH YANG DIBATASI');
writeln(#10);
write('Program ini akan meminta input atau masukan 2 bilangan yaitu 1 bilangan sebagai');
write(' batas bawah dan 1 bilangan lagi sebagai batas atas, dan secara otomatis akan');
writeln(' ditampilkan bilangan prima yang ada antara 2 bilangan itu');
writeln;
write('masukkan batas bawah: ');
readln(a);
write('masukkan batas atas: ');
readln(b);
writeln(#10);
writeln('Bilangan prima antara ',a,' dengan ',b,' adalah:');
for c:=a+1 to b-1 do
if c=2 then writeln(c) else
for d:=2 to c-1 do
begin
if c mod d = 0 then d:=c-1 else
if d=c-1 then writeln(c);
end;
readln end.
Hasil dari sintaks di atas adalah suatu file aplikasi berekstensikan .exe yang dapat di download di sini, dan untuk file .pas nya (file yang dibuka dalam bahasa pemrograman Pascal) dapat didownload di sini, dan untuk file .doc (file yang dibuka dengan Microsoft Word) dari postingan ini juga dapat didownload di sini.الحمدلله
selesai, mau tidur dulu ah...... ingin dapat update dari algoritma pemrograman pascal lainnya? silakan Join Group facebook sahabat-informasi.com dan Like fanpage sahabat informasi dengan dengan account facebook kamu, lihat juga algoritma dan program pascal lainnya di sini
2 komentar:
waaaa mantab sob... pemrograman yang dikombinasikan dengan nuansa hijaiyah ya?
thanks mas ilmunya...
salam kenal
Posting Komentar