Forum Sains Indonesia

Ilmu Alam => Matematika => Topik dimulai oleh: reborn pada November 24, 2006, 12:21:48 AM

Judul: Bagaimana mencari bilangan prima?
Ditulis oleh: reborn pada November 24, 2006, 12:21:48 AM
Bilangan prima adalah bilangan asli yang hanya memiliki dua faktor pembagi, yaitu 1 dan bilangan itu sendiri. Contohnya : 2, 3, 5, 7, 11, 13, 17, 19, 23, 29, 31, ......

Ada yang tau metode buat cari bilangan prima ga?
Judul: Re: Bagaimana mencari bilangan prima?
Ditulis oleh: al fahrezy pada November 30, 2006, 09:20:47 AM

Salam kenal admin

rumus untuk bilangan prima ya...?

Bukankah jawaban dari pertanyaan ini ada hadiahnya. yaitu 1 juta dollar.......

kalo aku masih bisa menemukan rumus untuk bilangan prima yang kurang dari 100

caranya gini

1. bilangan tersebut harus ganjil tentunya
2. bilangan tersebut tidak rangkap (33, 55, dsb)
3.jumlahkan angka tersebut sampai menjadi 1 digit, apabila hasilnya tidak sama   dengan 3,6,9. maka dia pasti prima
Judul: Re: Bagaimana mencari bilangan prima?
Ditulis oleh: reborn pada November 30, 2006, 09:27:52 AM
Kutip dari: al fahrezy pada November 30, 2006, 09:20:47 AM

Salam kenal admin

rumus untuk bilangan prima ya...?

Bukankah jawaban dari pertanyaan ini ada hadiahnya. yaitu 1 juta dollar.......

kalo aku masih bisa menemukan rumus untuk bilangan prima yang kurang dari 100

caranya gini

1. bilangan tersebut harus ganjil tentunya
2. bilangan tersebut tidak rangkap (33, 55, dsb)
3.jumlahkan angka tersebut sampai menjadi 1 digit, apabila hasilnya tidak sama   dengan 3,6,9. maka dia pasti prima

Salam kenal al fahrezy :)

wew... 1st post di forum math yahh... pasti pakar math neh ;)

1. Yup, karena genap bisa dibagi 2
2. Yup, karena rangkap bisa dibagi 11
3. Yup, karena kalo sama dgn 3,6,9 bisa dibagi 3

tapi masa hanya sampe di bawah 100? mencari bilangan prima terbesar lagi trend lho :P

Judul: Re: Bagaimana mencari bilangan prima?
Ditulis oleh: reborn pada Februari 07, 2007, 10:16:35 PM
Kutip dari: al fahrezy pada November 30, 2006, 09:20:47 AM

Salam kenal admin

rumus untuk bilangan prima ya...?

Bukankah jawaban dari pertanyaan ini ada hadiahnya. yaitu 1 juta dollar.......


Iseng dinaekin lagi ah.. mana tau ada yang ahli math lagi mampir sini. Yup, ada hadiah 1 juta dollar. Seperti post saya di     Riemann Hypothesis - one of the seven Mathematics Millennium Problems.

Maksudnya tadinya sengaja post tentang bilangan prima dulu baru lanjut ke sana... gak sabaran langsung post juga hehe....

Jadi mana yahh pakar math nya neh.. mohon pencerahan  ;D
Judul: Re: Bagaimana mencari bilangan prima?
Ditulis oleh: wildanr pada Februari 13, 2007, 03:50:40 AM
hum.. kalau menggenerate nya bisa dengan Sieve of Eratosthenes. caranya gini :

1. Tulis daftar angka dari 2 sampai bilangan terbesar yang ingin di cek primanya. Kita sebut daftar A.
2. Angka 2 adalah bilangan prima yang pertama, tulis angka 2 di daftar angka kedua ( kita sebut daftar B ). daftar B ini nanti isinya bilangan yang prima.
3. Pada daftar A, coret angka 2 dan semua angka yang habis dibagi 2.
4. Setelah itu, angka pertama pada daftar A yang tidak tercoret merupakan bilangan prima, maka tambahkan pada daftar B.
5. Pada daftar A, coret angka tersebut dan semua angka yang habis dibagi angka tersebut. Pencoretan bisa dimulai dari kuadrat angka tersebut. Misalkan angka yang dicoret adalah 3, maka coret semua kelipatan 3 mulai dari 9. lalu kalau 5 bisa langsung mulai coret dari angka 25.
6. Ulangi langkah tersebut sampai semua daftar A tercoret.

kalau kurang jelas, ini sumbernnya : http://en.wikipedia.org/wiki/Sieve_of_Eratosthenes
Judul: Re: Bagaimana mencari bilangan prima?
Ditulis oleh: reborn pada Februari 14, 2007, 05:21:45 AM
Kutip dari: wildanr pada Februari 13, 2007, 03:50:40 AM
hum.. kalau menggenerate nya bisa dengan Sieve of Eratosthenes. caranya gini :

1. Tulis daftar angka dari 2 sampai bilangan terbesar yang ingin di cek primanya. Kita sebut daftar A.
2. Angka 2 adalah bilangan prima yang pertama, tulis angka 2 di daftar angka kedua ( kita sebut daftar B ). daftar B ini nanti isinya bilangan yang prima.
3. Pada daftar A, coret angka 2 dan semua angka yang habis dibagi 2.
4. Setelah itu, angka pertama pada daftar A yang tidak tercoret merupakan bilangan prima, maka tambahkan pada daftar B.
5. Pada daftar A, coret angka tersebut dan semua angka yang habis dibagi angka tersebut. Pencoretan bisa dimulai dari kuadrat angka tersebut. Misalkan angka yang dicoret adalah 3, maka coret semua kelipatan 3 mulai dari 9. lalu kalau 5 bisa langsung mulai coret dari angka 25.
6. Ulangi langkah tersebut sampai semua daftar A tercoret.

kalau kurang jelas, ini sumbernnya : http://en.wikipedia.org/wiki/Sieve_of_Eratosthenes


Bener kan, abis dinaikin topiknya nongol pakat matematika  ;D Sip, dilanjut terus sampe algoritma cari bilangan prima terbesar  8)
Judul: Re: Bagaimana mencari bilangan prima?
Ditulis oleh: anca pada November 05, 2007, 03:40:23 PM
Algoritma Bilangan Prima
===========================

procedure BilPrima(num: Integer);
var i, max: integer;
begin
  if num=0 then exit;
  max := 2000;
  for i:= 2 to max do
   begin
      if ((i=2) or (i=3) or (i=5) or (i=7)) then
      begin
       Tambahkan ke penyimpanan
       num := num-1;
        if num=0 then
       exit;
      end;
     if ((i mod 2<>0) and (i mod 3 <> 0) and(i mod 5<>0) and (i mod 7<>0)) then
      begin
       Tambahkan ke peyimpanan
       num := num-1;
       if num=0 then
       exit;
      end;
   end;
end;

Souce Lengkap dengan delphi
Judul: Re: Bagaimana mencari bilangan prima?
Ditulis oleh: insan sains pada Maret 04, 2008, 02:53:30 PM
KutipAlgoritma Bilangan Prima
===========================

procedure BilPrima(num: Integer);
var i, max: integer;
begin
  if num=0 then exit;
  max := 2000;
  for i:= 2 to max do
   begin
      if ((i=2) or (i=3) or (i=5) or (i=7)) then
      begin
       Tambahkan ke penyimpanan
       num := num-1;
        if num=0 then
       exit;
      end;
     if ((i mod 2<>0) and (i mod 3 <> 0) and(i mod 5<>0) and (i mod 7<>0)) then
      begin
       Tambahkan ke peyimpanan
       num := num-1;
       if num=0 then
       exit;
      end;
   end;
end;

Souce Lengkap dengan delphi

Siapa tuh yang bikin algorithma pemprograman begitu?

Kalau benar, bisa dapat hadiah NOBEL tuh...!!! he..he..he... sayangnya BELUM TEPAT!


Pertama, mau ngomentarin dulu script programnya yang sedikit acak-acakan!

Kutip
     if ((i=2) or (i=3) or (i=5) or (i=7)) then
      begin
       Tambahkan ke penyimpanan
       num := num-1;
        if num=0 then
       exit;
      end;
     if ((i mod 2<>0) and (i mod 3 <> 0) and(i mod 5<>0) and (i mod 7<>0)) then
      begin
       Tambahkan ke peyimpanan
       num := num-1;
       if num=0 then
       exit;
      end;

Ini seharusnya bisa disingkat menjadi :

-------------------------------------

if ((i=2) or (i=3) or (i=5) or (i=7)) .or. ((i mod 2<>0) and (i mod 3 <> 0) and(i mod 5<>0) and (i mod 7<>0)) then

begin
   Tambahkan ke penyimpanan
   num := num-1;
end;

if num=0 then exit;

-------------------------------------

Kedua, mau ngomentarin kesalahan algorithmanya
Script program diatas hanya bisa mengetahui tidak lebih dari 30 bilangan prima.
Kalau program diatas dibahasa manusiakan, bunyinya kurang lebih begini :

Jika angka yang diproses adalah antara (1, 3, 5, 7) atau sisa bagi angka tersebut dengan (2, 3, 5, 7) adalah nol, maka simpan itu sebagai bilangan prima.


So.. kesalahannya jelas terlihat, bahwa untuk bilangan yang bisa dibagi dengan 11, 13, etc.. belum diakomodir oleh program ini. Coba aja, jika program ini harus menentukan angka 121, maka menurut algoritma program diatas, hasilnya 121 termasuk bilangan prima, padahal seharusnya 121 bukanlah bilangan prima (sebab bisa dibagi 11), begitu juga dengan 143, 169, etc... program ini masih kurang lengkap! So gak ada gunanya variable max diisi dengan 2000 (bahkan nilai yang lebih besar pun, hasilnya tidak valid untuk bilangan prima diatas 113)

Ni situs buat ngecheck bilangan prima : [pranala luar disembunyikan, sila masuk atau daftar.]
Judul: Bilangan Prima...(Millenium Prize)
Ditulis oleh: chow bun how pada Maret 11, 2008, 02:38:54 PM
Hi.. All pecinta matematika di nusantara.

Mungkin diantara teman2 sudah pernah dengan Millenium Prize (http://www. claymath. org/millennium/ ) adalah.7 problem dunia matematika  yg belom terpecahkan yaitu :

    * Birch and Swinnerton-Dyer Conjecture
    * Hodge Conjecture
    * Navier-Stokes Equations
    * P vs NP
    * Poincaré Conjecture
    * Riemann Hypothesis
    * Yang-Mills Theory

nah salah satu problem diatas : Rieman Hypothesis: yg memperkenalkan fungsi zeta, dimana fungsi zeta ini menerangkan tentang pola bilangan prima. masalahnya  sampai sekarang  belom ada  orang  yang  bisa  membuat  algoritma  dan  teori  bilangan prima  yang  mangkus. artinya : belom ada spektrum bilangan untuk mencari faktor2 bilangan prima. kalau di bidang kimia ada spektrum kimia atom. bila diambil senyawa atau zat kimia dengan spektrum kimia tadi langsung ketauan struktur atomnya. Spektrum seperti itu yg dibutuhkan:

contoh : 100 : 10 x 10 =  2 x 5 x 2 x 5  faktor  primanya : 2 dan  5
bila : 1841921854111823274 2236667995226521 5254869586358663 5525426264214121 4525462342246264 7

faktor prima berapa? dan apakah ini bilangan ini prima? sebagai acuan untuk mendapatkan bilangan prima 100 digit dengan memakai super komputer yg canggih dan algoritma yg canggih saat ini. dibutuhkan waktu 4 millyard tahun lamanya..( klo ndak percaya buktikan sendiri).

nah..dengan kerendahan hati saya telah membuat teori matematika dan algoritmanya tentang bilangan prima tentu waktu yg di butuhkan bukan tahun bukan bulan atau jam...untuk 200 digit dibutuhkan hanya beberapa menitsaja. sy memakai program VB6.0..

nah..temen2 sy sudah email ke claymath.org beberapa kali tapi ndak ada tanggapan. tolong dong temen2 kasih masukan buat sy...

thanks

chow bun how
Judul: Re: Bagaimana mencari bilangan prima?
Ditulis oleh: insan sains pada Maret 29, 2008, 12:44:53 PM
Kutip dari: chow bun how pada Maret 11, 2008, 02:38:54 PM
nah..dengan kerendahan hati saya telah membuat teori matematika dan algoritmanya tentang bilangan prima tentu waktu yg di butuhkan bukan tahun bukan bulan atau jam...untuk 200 digit dibutuhkan hanya beberapa menit saja. sy memakai program VB6.0..

Wah..  boleh di share di sini dong! Saya jadi penasaran pengen tahu!
Saya sendiri pernah buat dengan menggunakan metode yang paling kuno yaitu metode Sieve of Eratosthenes. Metode yang paling gampang tapi bukan yang paling tercepat. Pernah nyobain, dapetin bilangan prima yang ke 500.000 (lima ratus ribu) saja bisa sampe 4 jam. Tapi untuk bilangan prima yang ke puluhan ribu hanya bisa didapetkan dalam waktu kurang dari 10 detik. Bilangan prima yang kesejuta mungkin bisa sampe setengah harian (12 jam). Wah.. bisa-bisa komputer kantor meledak tuh, kepayahan.

Wah.. jadi penasaran pengen lihat program yang kamu buat yang katanya bisa sampe 200 digit. Jadi kira-kira bilangan prima itu bisa sepanjang ini yach ?

1234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890

Ck.. ck..! Hebat juga yach...! (Bukan program untuk mengecheck bilangan prima kan?) Jadi nyari bilangan prima yang ke 2 x 10^200. Pengen dong source code-nya?!!! ^_^
Judul: Re: Bagaimana mencari bilangan prima?
Ditulis oleh: Ritza_ll pada April 01, 2008, 09:32:07 AM
Wah.....
ternyata banyak orang indonesia yang genius!!!  ;)

Orang dengan IQ limit seperti saya jd merasa terbantu sekali.
ternyata sains itu menarik!!!  ;D ;D ;D
Judul: Re: Bagaimana mencari bilangan prima?
Ditulis oleh: newkompi pada Juni 02, 2008, 07:15:44 PM
public class prima{
   public static void main (String[] args){
   final int max = 1000000;
   long akhir = max;
   int prim[] = new int[max];
   int no = 0;
   for(int awal=2;awal<=akhir;awal++){
      if(awal == 2){
      prim[no] = awal;
      no++;
      }else{
      boolean benar = true;
      for(int i = 0; i< no; i++){
         if(awal % prim == 0){
         benar = false;
         }
         }
      if(benar){
         prim[no] = awal;
         no++;
      }
      }
   }
   for(int i = 0; i< max; i++){
      if(prim != 0){
         System.out.println(prim);
      }
   }
   }

}
Judul: Re: Bagaimana mencari bilangan prima?
Ditulis oleh: b0cah pada Juni 03, 2008, 08:35:16 AM
Cara yang lazim untuk menemukan bilangan prima adalah dengan menyiapkan angka-angka dan memberi warna sesuai dengan kelipatan 2 hingga 9, nah, kotak yang tersisa (tidak berwarna) adalah merupakan bilangan prima.

Yang menarik adalah, aturan bagi bilangan prima adalah mudah, namun tidak ada rumus atau persamaan mudah untuk menentukan apakah sebuah bilangan â€"mungkin-- yang amat besar adalah merupakan bilangan prima atu bukan.

Sebagai informasi, bilangan prima terbesar yang pernah dihitung oleh manusia adalah 170.141.183.460.469.231.731.687.303.715.864.105.727, atau 2(127) -1, yang "ditemukan" oleh seorang matematikawan Inggris Arthur Lucas pada tahun 1877, wah sekarang udah ditemukan bilangan prima yang lain blum ya?***
Judul: Re: Bagaimana mencari bilangan prima?
Ditulis oleh: Vinchemz pada Juli 28, 2008, 04:55:37 PM
Kutip dari: anca pada November 05, 2007, 03:40:23 PM
Algoritma Bilangan Prima
===========================

procedure BilPrima(num: Integer);
var i, max: integer;
begin
  if num=0 then exit;
  max := 2000;
  for i:= 2 to max do
   begin
      if ((i=2) or (i=3) or (i=5) or (i=7)) then
      begin
       Tambahkan ke penyimpanan
       num := num-1;
        if num=0 then
       exit;
      end;
     if ((i mod 2<>0) and (i mod 3 <> 0) and(i mod 5<>0) and (i mod 7<>0)) then
      begin
       Tambahkan ke peyimpanan
       num := num-1;
       if num=0 then
       exit;
      end;
   end;
end;

Souce Lengkap dengan delphi

Berarti 33 ntar dimasukin ke dalam bilangan prima (pembagianya cuma sampe angka 7, padahal 11 x 3 = 33 (bukan prima)


Ada gak teknik menghitung bil prima dengan mudah??
Sebutkan bilangan prima ke-1000??
Judul: Re: Bagaimana mencari bilangan prima?
Ditulis oleh: insan sains pada Juli 29, 2008, 05:06:05 PM
Kutip dari: Vinchemz pada Juli 28, 2008, 04:55:37 PM
Berarti 33 ntar dimasukin ke dalam bilangan prima (pembagianya cuma sampe angka 7, padahal 11 x 3 = 33 (bukan prima)

Sudah dijelaskan diatas, bahwa program yang dikutip itu ada kesalahan...

Kutip dari: Vinchemz pada Juli 28, 2008, 04:55:37 PM
Ada gak teknik menghitung bil prima dengan mudah??
Sebutkan bilangan prima ke-1000??

Listing program yang ditulis oleh newkompi mungkin sudah memadai untuk menghitung bilangan prima yang ke-1000 (menggunakan metode Sieve of Eratosthenes) . Jika Anda ingin programnya sekedar mengetahui bilangan prima yang ke(sekian). maka Anda tinggal membuat parameter pada class prima, taruhlah nama parameter itu, "primake". Kemudian mengganti :

final int max = 1000000

menjadi :

final int max = primake

Hasil akhir yang ditunjukkan oleh program itulah, bilangan prima yang dimaksud. Ada yang punya algoritma dan metode pemprograman yang lain gak?

btw... chow bun how pernah bikin tuh algoritma yang katanya supercepat untuk mencari bilangan prima. Tapi pas diminta source codenya, gak nongol-nongol lagi..!!

Kutip dari: chow bun how pada Maret 11, 2008, 02:38:54 PM
nah..dengan kerendahan hati saya telah membuat teori matematika dan algoritmanya tentang bilangan prima tentu waktu yg di butuhkan bukan tahun bukan bulan atau jam...untuk 200 digit dibutuhkan hanya beberapa menitsaja. sy memakai program VB6.0..

nah..temen2 sy sudah email ke claymath.org beberapa kali tapi ndak ada tanggapan. tolong dong temen2 kasih masukan buat sy...

thanks

chow bun how

Saya harap benaran tuh....
Judul: Re: Bagaimana mencari bilangan prima?
Ditulis oleh: suntzu pada September 23, 2008, 10:37:54 AM
gw juga make vb 6.0 bisa nyari 10.000 bilangan prima dlm 25 menit tu kira2 cepet ga ya ???
Judul: Re: Bagaimana mencari bilangan prima?
Ditulis oleh: insan sains pada Oktober 07, 2008, 09:45:27 AM
@suntzu
Kalo menurut pengalaman saya, waktu 25 menit untuk mencari 10.000 bilangan prima itu terlalu lama. Saya sendiri untuk mendapatkan bilangan prima ke 10.000 membutuhkan waktu kurang dari 10 detik. Saya mencoba menebak, mungkin algoritma program yang saudara gunakan terlalu banyak looping.

Kalau boleh, programnya aja di share supaya bisa ketahuan algoritmanya. Syukur-syukur ada yang tahu supaya bisa mengefisienkan algoritma tersebut. Pada postingan sebelumnya, sudah ada juga tuh yang nge-share script programnya.
Judul: Re: Bagaimana mencari bilangan prima?
Ditulis oleh: Mtk Kerajaan Mataram pada Oktober 09, 2008, 06:50:27 AM
Sieve Erastotenes dalam Excel berikut
dilampirkan, bisa untuk dilanjutkan sendiri...
Judul: Re: Bagaimana mencari bilangan prima?
Ditulis oleh: Mtk Kerajaan Mataram pada Oktober 11, 2008, 12:13:54 PM
Berikut yang tahap II, semoga bermanfaat baik dan silahkan yang mau mempelajari perumusannya. Saya lampirkan di sini dalam excel di zipped berikut contoh tampilannya, karena saya percaya penduduk2 forsa.

Wassalam

Basuki
Judul: Re: Bagaimana mencari bilangan prima?
Ditulis oleh: Mtk Kerajaan Mataram pada Oktober 12, 2008, 08:02:46 AM
Ternyata, pada file excelnya itu kolom L dari baris 6 yang berisi bilangan2 prima dari 2 sampai dengan 1699 (sebagai base) belum lengkap bilangan primanya (yaitu pada ratusan). Untuk memperbaiki, ganti dulu validasinya (Data/Validation). Memperbaiki tidak sekedar menyisipkan bilangan prima yang kurang tapi juga mengikutkan sebelah kanannya melalui Cut/Copy/Paste.
Salam sejahtera

Judul: Re: Bagaimana mencari bilangan prima?
Ditulis oleh: sata pada Oktober 12, 2008, 09:07:45 PM
Well,saya ikutan nimbrung ya... rumusan dari Al Fahrezy menarik,hanya saja ada perlu dikoreksi di kalimat ke 3 harus ditambahkan, kecuali 49, karena untuk kriteria 3 disebutkan jika jumlah nya bukan 3,6 atau 9, pastilah bilangan prima, untuk angka 49 hal ini tdk berlaku.
Moga jadi koreksi ya...
Thanks

Kutip dari: reborn pada November 30, 2006, 09:27:52 AM
Salam kenal al fahrezy :)

wew... 1st post di forum math yahh... pasti pakar math neh ;)

1. Yup, karena genap bisa dibagi 2
2. Yup, karena rangkap bisa dibagi 11
3. Yup, karena kalo sama dgn 3,6,9 bisa dibagi 3

tapi masa hanya sampe di bawah 100? mencari bilangan prima terbesar lagi trend lho :P


Judul: Re: Bagaimana mencari bilangan prima?
Ditulis oleh: Mtk Kerajaan Mataram pada Oktober 15, 2008, 06:54:16 AM
Bilangan prima antara 99460500 dan 99460660 dengan
Erastotenes III saya sbb :
99460511, 99460513, 99460531, 99460549, 99460553, 99460583, 99460589,
99460609, 99460637, 99460657
(http://<http://masraharja.multiply.com/photos/album/5/prima#1"><img%20border="0"%20src="http://images.masraharja.multiply.com/image/2/photos/5/500x500/1/ErastotenesIII.GIF?et=IGkyC00dev2B%2CGSrWLBG0Q&nmid=120237985)
Judul: Re: Bagaimana mencari bilangan prima?
Ditulis oleh: suntzu pada Oktober 15, 2008, 01:12:13 PM
iya gw stl browsing br tau kl itu tu lm tp bkn gr2 coding tp gara2 kompie gw lemot btw waktu itu gw pnah nemu artikel yang katanya bisa nemu banyak bilangan dlm waktu singkat [pranala luar disembunyikan, sila masuk atau daftar.] tp ga tw lbh cpt dr mr Chow ap ngak ??
Judul: Re: Bagaimana mencari bilangan prima?
Ditulis oleh: Mtk Kerajaan Mataram pada Oktober 16, 2008, 07:20:52 AM
Itu Link yang bagus untuk inspirasi, thank atas infonya. Erastotenes III dari saya terlalu besar volumnya, jadi hanya tampilannya yang bisa dilampirkan.
Bilangan2 prima terbesar yang ditemukan terutama pada era komputer adalah mersene prime, kemarin 23 Agustus 2008,yaitu (2^43112609)-1 terdiri dari 12978189 digit:
[pranala luar disembunyikan, sila masuk atau daftar.]
Karena komputer saya hanya amatiran, maka berat sekali untuk men-generate bilangan ini, tapi untuk bilangan2 prima sebelumnya masih mampu seperti :

(tahun 1952)
M2281=(2^2281)-1 = 446087557183758429571151706402101809886208632412859901111991219963404685792820473369112545269003989026153245931124316702395758705693679364790903497461147071065254193353938124978226307947312410798874869040070279328428810311754844108094878252494866760969586998128982645877596028979171536962503068429617331702184750324583009171832104916050157628886606372145501702225925125224076829605427173573964812995250569412480720738476855293681666712844831190877620606786663862190240118570736831901886479225810414714078935386562497968178729127629594924411960961386713946279899275006954917139758796061223803393537381034666494402951052059047968693255388647930440925104186817009640171764133172418132836351 (687 digit)

(tahun 1957)
M3217=(2^3217)-1 =
259117086013202627776246767922441530941818887553125427303974923161874019266586362086201209516800483406550695241733194177441689509238807017410377709597512042313066624082916353517952311186154862265604547691127595848775610568757931191017711408826252153849035830401185072116424747461823031471398340229288074545677907941037288235820705892351068433882986888616658650280927692080339605869308790500409503709875902119018371991620994002568935113136548829739112656797303241986517250116412703509705427773477972349821676443446668383119322540099648994051790241624056519054483690809616061625743042361721863339415852426431208737266591962061753535748892894599629195183082621860853400937932839420261866586142503251450773096274235376822938649407127700846077124211823080804139298087057504713825264571448379371125032081826126566649084251699453951887789613650248405739378594599444335231188280123660406262468609212150349937584782292237144339628858485938215738821232393687046160677362909315071 (969 digit)

(tahun 1961)
M4423=(2^4423)-1 =
285542542228279613901563566102164008326164238644702889199247456602284400390600653875954571505539843239754513915896150297878399377056071435169747221107988791198200988477531339214282772016059009904586686254989084815735422480409022344297588352526004383890632616124076317387416881148592486188361873904175783145696016919574390765598280188599035578448591077683677175520434074287726578006266759615970759521327828555662781678385691581844436444812511562428136742490459363212810180276096088111401003377570363545725120924073646921576797146199387619296560302680261790118132925012323046444438622308877924609373773012481681672424493674474488537770155783006880852648161513067144814790288366664062257274665275787127374649231096375001170901890786263324619578795731425693805073056119677580338084333381987500902968831935913095269821311141322393356490178488728982288156282600813831296143663845945431144043753821542871277745606447858564159213328443580206422714694913091762716447041689678070096773590429808909616750452927258000843500344831628297089902728649981994387647234574276263729694848304750917174186181130688518792748622612293341368928056634384466646326572476167275660839105650528975713899320211121495795311427946254553305387067821067601768750977866100460014602138408448021225053689054793742003095722096732954750721718115531871310231057902608580607(1332 digit)

(tahun 1971)
M19937=(2^19937)-1=
43154247973881626480552355163379198390539350432267115051652505414033306801376580911304513629318584665545269938257648835317902217334584413909528269154609168019007875343741396296801920114486480902661414318443276980300066728104984095451588176077132969843762134621790396391341285205627619600513106646376648615994236675486537480241964350295935168662363909047948347692313978301377820785712419054474332844529183172973242310888265081321626469451077707812282829444775022680488057820028764659399164766265200900561495800344054353690389862894061792872011120833614808447482913547328367277879565648307846909116945866230169702401260240187028746650033445774570315431292996025187780790119375902863171084149642473378986267503308961374905766340905289572290016038000571630875191373979555047468154333253474991046248132504516341796551470575481459200859472614836213875557116864445789750886277996487304308450484223420629266518556024339339190844368921018424844677042727664601852914925277280922697538426770257333928954401205465895610347658855386633902546289962132643282425748035786233580608154696546932563833327670769899439774888526687278527451002963059146963875715425735534475979734463100678367393327402149930968778296741391514599602374213629898720611431410402147238998090962818915890645693934483330994169632295877995848993366747014871763494805549996163051541225403465297007721146231355704081493098663065733677191172853987095748167816256084212823380168625334586431254034670806135273543270714478876861861983320777280644806691125713197262581763151313596429547763576367837019349835178462144294960757190918054625114143666384189433852576452289347652454631535740468786228945885654608562058042468987372436921445092315377698407168198376538237748614196207041548106379365123192817999006621766467167113471632715481795877005382694393400403061700457691135349187874888923429349340145170571716181125795888889277495426977149914549623916394014822985025331651511431278802009056808456506818877266609831636883884905621822262933986548645669080672191704740408891349835685662428063231198520436826329415290752972798343429446509992206368781367154091702655772727391329424277529349082600585884766523150957417077831910016168475685658673192860882070179760307269849987354836042371734660257694347235506301744118874141292438958141549100609752216882230887611431996472330842380137110927449483557815037586849644585749917772869926744218369621137675101083278543794081749094091043084096774144708436324279476892056200427227961638669149805489831121244676399931955371484012886360748706479568669048574782855217054740113945929622177502575565811067452201448981991968635965361551681273982740760138899638820318776303668762730157584640042798880691862640268612686180883874939573818125022279689930267446255773959542469831637863000171279227151406034129902181570659650532600775823677398182129087394449859182749999007223592423334567850671186568839186747704960016277540625331440619019129983789914712515365200336057993508601678807687568562377857095255541304902927192220184172502357124449911870210642694565061384919373474324503966267799038402386781686809962015879090586549423504699190743519551043722544515740967829084336025938225780730880273855261551972044075620326780624448803490998232161231687794715613405793249545509528052518010123087258778974115817048245588971438596754408081313438375502988726739523375296641615501406091607983229239827240614783252892479716519936989519187808681221191641747710902480633491091704827441228281186632445907145787138351234842261380074621914004818152386666043133344875067903582838283562688083236575482068479639546383819532174522502682372441363275765875609119783653298312066708217149316773564340379289724393986744139891855416612295739356668612658271234696438377122838998040199739078061443675415671078463404673702403777653478173367084844734702056866636158138003692253382209909466469591930161626097920508742175670306505139542860750806159835357541032147095084278461056701367739794932024202998707731017692582046210702212514120429322530431789616267047776115123597935404147084870985465426502772057300900333847905334250604119503030001704002887892941404603345869926367501355094942750552591581639980523190679610784993580896683299297681262442314008657033421868094551740506448829039207316711307695131892296593509018623094810557519560305240787163809219164433754514863301000915916985856242176563624771328981678548246297376249530251360363412768366456175077031977457534912806433176539995994343308118470147158712816149394421276614228262909950055746981053206610001560295784656616193252269412026831159508949671513845195883217147982748879261851417819979034417285598607727220866677680426090308754823803345446566305619241308374452754668143015487710877728011086004325892262259413968285283497045571062757701421761565262725153407407625405149931989494459106414660534305378576709862520049864880961144869258603473714363659194013962706366851389299692869491805172556818508298824954954815796063169517658741420159798754273428026723452481263569157307213153739781041627653715078598504154797287663122946711348158529418816432825044466692781137474494898385064375787507376496345148625306383391555145690087891955315994462944493235248817599907119135755933382121706191477185054936632211157222920331148502487563303118018805685073569841580518118710778653953571296014372940865270407021924383167290323231567912289419486240594039074452321678019381871219092155460768444573578559513613304242206151356457513937270939009707237827101245853837678338161023397586854894230696091540249987907453461311923963852950754758058205625956600817743007191746812655955021747670922460866747744520875607859062334750627098328593480067789456169602494392813763495657599847485773553990957557313200809040830036446492219409934096948730547494301216165686750735749555882340303989874672975455060957736921559195480815514035915707129930057027117286252843197413312307617886797506784260195436760305990340708481464607278955495487742140753570621217198252192978869786916734625618430175454903864111585429504569920905636741539030968041471( 6002 digit)
Judul: Re: Bagaimana mencari bilangan prima?
Ditulis oleh: Santri pada Oktober 20, 2008, 09:39:37 PM
wah.... bahasannya menarik tuh jujur aja gw lom ngerti tentang 7 masalah terbesar matematika pie gw suka pelajaran matematika..!
tolong dong gw anggota baru dan masih duduk di kelas SMA dan belum ada pengalaman membahas bilangan prima lebih dari 10000-<<<<<<.......
kalo ada cara yang mudah untuk membahas soal UAN tolong kirim ke e-mail gw

makasih atas bantuannya..!
Judul: Re: Bagaimana mencari bilangan prima?
Ditulis oleh: neo pada November 04, 2008, 01:51:49 PM
misterius.... gagagaggag itulah yang bs menggambarkan ttg bil. prima, Iq rendah g paham pemrograman masih butuh banyak pencerahan... thank buwat semua postingny cukup membantu siswa ky aq..... ;D ;D ;D ;D


gud job bro...
Judul: Re: Bagaimana mencari bilangan prima?
Ditulis oleh: biobio pada April 27, 2009, 05:44:54 PM
Gimana kalau gini buat ngecek bilangan prima, pake FREE PASCAL...
saya sudah banyak lupa syntaxnya,mohon dikoreksi:

uses crt;
var a,b,c:integer;
begin
clrscr;
writeln ('Masukkan bilangan anda...');readln(a);
for b:1 to a do
if a mod b=0 then
c:=c+1 else c:=c;
clrscr;
if c>2 then writeln ('Bukan bilangan prima') else
if c<=2 then writeln ('Prima');
readln;
end.
Judul: Re: Bagaimana mencari bilangan prima?
Ditulis oleh: Sky pada April 29, 2009, 06:19:39 PM
Ada yang udah coba pake little Fermat Theorem belum?
Banyak loopnya juga sih.
Judul: Re: Bagaimana mencari bilangan prima?
Ditulis oleh: Mtk Kerajaan Mataram pada Mei 06, 2009, 02:28:09 AM
@biobio

uses crt;
var a,b,c:integer;
begin
clrscr;
writeln ('Masukkan bilangan anda...');readln(a);
for b:1 to a do
if a mod b=0 then  <Apakah a habis dibagi b?>
   c:=c+1 else c:=c; <Jika ya maka hitung (counter), jika tidak maka lewat>
clrscr;
if c>2 then writeln ('Bukan bilangan prima'); <Jika counter (jml bil pembagi habis dari a lebih dari 2 maka a bukan bil prima>
if c<=2 then writeln ('Prima'); <Jika counter (jml bil pembagi habis dari a kurang dari atau sama dengan 2 maka a bil prima>
readln;
end.

Secara logika sudah benar, hanya kurang efsien, yaitu sebenarnya kita tidak perlu ngecek semua pembagi dari 1 s.d. a, yakni cukup dengan 1 s.d. floor(sqrt(a)) <pembulatan ke bawah akar dari a>.
Judul: Re: Bagaimana mencari bilangan prima?
Ditulis oleh: nash pada Mei 06, 2009, 05:43:36 AM
@mtk kerajaan mataram

mnurutku script tu ga efisien dan hasilny jga pasti lama...
ada ide lg?

btw, koq PM-ku ga dblz?
Judul: Re: Bagaimana mencari bilangan prima?
Ditulis oleh: biobio pada Mei 07, 2009, 01:11:26 PM
Kutip dari: Mtk Kerajaan Mataram pada Mei 06, 2009, 02:28:09 AM
yaitu sebenarnya kita tidak perlu ngecek semua pembagi dari 1 s.d. a, yakni cukup dengan 1 s.d. floor(sqrt(a)) <pembulatan ke bawah akar dari a>.
hmmm, ga ngerti gw... floor itu apa si?
Judul: Re: Bagaimana mencari bilangan prima?
Ditulis oleh: insan sains pada Mei 07, 2009, 02:04:49 PM
Kutip dari: biobio pada Mei 07, 2009, 01:11:26 PM
hmmm, ga ngerti gw... floor itu apa si?

Sudah disimpulkan :

Kutip dari: Mtk Kerajaan Mataram pada Mei 06, 2009, 02:28:09 AM
floor(sqrt(a)) <pembulatan ke bawah akar dari a>.

Jadi kalo kita punya angka 12.3 (dua belas koma tiga)
terus angka tersebut di-floor-kan maka hasilnya = 12

Jika :
x = 45.4
y=floor(x)
maka y = 45

CMIIW...!!
Judul: Re: Bagaimana mencari bilangan prima?
Ditulis oleh: Mtk Kerajaan Mataram pada Mei 09, 2009, 05:29:28 AM
Kutip dari: nash pada Mei 06, 2009, 05:43:36 AM
@mtk kerajaan mataram
mnurutku script tu ga efisien dan hasilny jga pasti lama...
ada ide lg?

Dari 1 s.d. floor(sqrt(a)), pilihlah hanya mengecek bilangan2 prima saja (jadi bilangan2 prima yang telah diperoleh diidentifikasi), ini akan sangat menghemat. Dan tentu saja inipun masih bukan untuk bilangan2 prima berdigit raksasa.
Judul: Re: Bagaimana mencari bilangan prima?
Ditulis oleh: Firzal pada Mei 09, 2009, 06:11:39 AM
Waaaaaa..........
bahasa pascal, q punya pengalaman buruk ma pascal,
tapi salut buat kerajaan mataram..........terus bersemangat mengembangkan matematika..........
Judul: Re: Bagaimana mencari bilangan prima?
Ditulis oleh: insan sains pada Mei 12, 2009, 04:52:42 PM
Dulu pernah nyobain pake bahasa C dengan menggunakan metoda Sieve of Eratosthenes. Prinsipnya adalah : mencari suatu bilangan yang hanya bisa dibagi oleh dirinya sendiri dan satu, kemudian mencoret dari daftar bilangan lain yang merupakan kelipatan bilangan prima yang ditemukan. Simple banget sih, tapi lumayanlah...

package percobaan;

public class Cariprima {

   /**
   * Program ini digunakan untuk mencari bilangan prima
   * sebanyak yang diminta.
   * Date : 18 Maret 2008 – Insan Sains
   */
   public static void main(String[] args) {
      /* jmlbilprima = Jumlah bilangan prima pertama yang akan dicari
      * jmlketemu = jumlah bilangan prima yang saat ini ditemukan
      * idx = bilangan yang saat ini sedang dicheck
      * isprima = flag yang menunjukkan bahwa bilangan yang dicheck adalah bilangan prima
      * prima[] = array yang merupakan kumpulan bilangan prima yang dicari.
      */
      int jmlbilprima = 10000;
      int jmlketemu = 0;
      boolean isprima;
      int prima[] = new int[jmlbilprima];
       
      /*
      * 1 bukan termasuk bilangan prima, jadi lewat saja
      * Untuk memudahkan, bilangan prima yang pertama didefinisikan dulu
      * Yaitu angka 2.
      */
      int idx = 2;
      prima[0] = 2;
      /* Looping sampai ditemukan bilangan prima sejumlah yang diinginkan
      */
      for (jmlketemu = 1; jmlketemu < jmlbilprima; jmlketemu++) {
         isprima = false;
         // Lakukan sampai ketemu bilangan prima berikutnya.
         while (!isprima) {
            // Lanjut ke bilangan yang akan diperiksa
            idx++;
            /* Bagi bilangan yang dicheck dengan bilangan prima yang sudah ketemu
            * Periksa sisa baginya
            * Bila salah satu hasil (sisa bagi) = kosong, berarti bukan prima
            * Maka lanjut ke bilangan yagn dicheck berikutnya
            * Bila SEMUA hasil (sisa bagi) = bersisa, berarti bilangan prima
            * Maka masukkan bilangan ini sbg bilangan prima.
            */
            for (int x = 0; x <= jmlketemu-1; x++) {
               if ((idx % prima[ x ]) != 0) isprima = true;
               else {
               isprima = false;
               
               break;
               }
            }
         }
         // Masukkan hasil bilangan prima yg ketemu ke look up table
         prima[jmlketemu] = idx;
         System.out.println(jmlketemu + ". " + idx);
         }
   
      // Perlihatkan hasilnya dilayar
      for (int x = 1; x <= jmlbilprima; x++) {
      System.out.println(x + ". " + prima[x-1]);
      }
   }
}

Sumber : [pranala luar disembunyikan, sila masuk atau daftar.]
Judul: Re: Bagaimana mencari bilangan prima?
Ditulis oleh: nash pada Mei 12, 2009, 05:10:46 PM
berhubung di kompie ku ga da compiler bhs C, ada yg mau bantu ngubah insan sains project di atas ke bhs vb?
Judul: Re: Bagaimana mencari bilangan prima?
Ditulis oleh: Mtk Kerajaan Mataram pada Mei 16, 2009, 11:57:29 AM
@insan sains
Ini program mendaftar bilangan prima yaa?
Saya kok masih gamang dengan maksud dari :

for (int x = 0; x <= jmlketemu-1; x++)
{if ((idx % prima[ x ]) != 0) isprima = true;
    else {isprima = false;break;}}

<'if; tsb di dalam 'for', jadi pengujian ikut berulang (bisa berganti-ganti hasil isprima-nya selama itu >, kok mulai dari 0 yaa pembaginya?
Judul: Re: Bagaimana mencari bilangan prima?
Ditulis oleh: insan sains pada Mei 16, 2009, 04:12:13 PM
@Mtk Kerajaan Mataram

Ya.. program yang saya bikin untuk mendaftar bilangan prima.

Jadi kalo di program tersebut diisikan

int jmlbilprima = 10000;

Maka komputer akan mendaftar dan menampilkan bilangan prima pertama hingga ke 10 ribu. Jadi kalo mau mendaftar dan menampilkan bilangan prima pertama hingga ke 1 juta. Tinggal mengganti jmlbilprima saja.

Saya kutipkan lagi blok program yang ditanyakan :

Kutip dari: insan sains pada Mei 12, 2009, 04:52:42 PM
            for (int x = 0; x <= jmlketemu-1; x++) {
               if ((idx % prima[ x ]) != 0) isprima = true;
               else {
               isprima = false;
              
               break;
               }
            }


Script program diatas untuk melakukan pengujian terhadap bilangan yang sedang diperiksa.

Sebelumnya perlu diketahui bahwa bilangan prima yang telah diuji akan dimasukkan pada sebuah array yang bernama prima[]. Yang sebelumnya telah disediakan bahwa array itu akan sebanyak jumlah bilangan prima yang dimasukkan.

int prima[] = new int[jmlbilprima];

Misal kita telah mendapatkan 9999 bilangan prima. Maka bilangan prima yang ke 10.000 tidak harus diuji dari angka awal lagi, melainkan mengujinya dengan 9999 bilangan prima yang sudah ditemukan. Sebagaimana metode Sieve of Eratosthenes : "Mencari suatu bilangan yang hanya bisa dibagi oleh dirinya sendiri dan satu, kemudian mencoret dari daftar bilangan lain yang merupakan kelipatan bilangan prima yang ditemukan"

for (int x = 0; x <= jmlketemu-1; x++) {

Nah 0 yang dimaksud, dalam script program diatas bukan melakukan pengujian dengan 0. Melainkan melakukan pengujian dengan bilangan prima yang telah ditemukan yang berada pada array ke-0 (array pertama, dalam hal ini program sudah langsung mendefinisi bahwa bilangan prima pada array ke-0 adalah angka 2)

prima[0] = 2;

Pengujian itu sendiri dilakukan pada script berikut :

if ((idx % prima[ x ]) != 0) isprima = true;

Si idx itu sendiri akan terus bertambah, sampai bilangan prima yang ke sekian (sbgmn yang diinginkan pada jmlbilprima) sudah ditemukan.
Judul: Re: Bagaimana mencari bilangan prima?
Ditulis oleh: Mtk Kerajaan Mataram pada Mei 16, 2009, 04:39:04 PM
Okay trims,
maksudnya anu yaa, jika idx sampai ke bilangan prima, maka akan diperoleh :
isprima=true
isprima=true
isprima=true
.....
isprima=true
sampai x = jmlketemu-1
lalu ganti idx.

Dan jika idx bukan bilangan prima maka
isprima=true
isprima=true
isprima=true
.....
isprima=false
break
lalu ganti idx.
Judul: Re: Bagaimana mencari bilangan prima?
Ditulis oleh: insan sains pada Mei 16, 2009, 05:26:23 PM
Kutip dari: Mtk Kerajaan Mataram pada Mei 16, 2009, 04:39:04 PM
Okay trims,
maksudnya anu yaa,

Untung ada lanjutannya.... kekekeke  ;D

Yups tepat sekali

Btw.. saya pengen nyari pake metode lain yang lebih cepet. Bisa di definisikan gak formulanya? Thanks
Judul: Re: Bagaimana mencari bilangan prima?
Ditulis oleh: Nabih pada Mei 24, 2009, 07:20:27 PM
Jadi Inget kuliah sejarah Matematika


aku juga mau jawab pake sievve de erastostenes (kayaknya salah deh ejaanya)

Tapi udah dijawab ama wildan

cara itu udah masuk ke MATLAB 7.2 (maungkin versi sebelumanya ada)

caranya ketik prome(1000000000)

terserah bilangan berapapun ntar akan muncul semua bilangn prima yang kurang dari bil yang kamu mau, proses kurang dari 4 menit asalakan tidak lebih dari 16juta digit, tergantung RAM juga dinx
Judul: Re: Bagaimana mencari bilangan prima?
Ditulis oleh: Alicha pada Mei 24, 2009, 07:54:39 PM
 


Himpunan bilangan asli
Himpunan bilangan asli adalah himpunan bilangan yang anggota-anggotanya merupakan bilangan bulat positif.

N = {1,2,3,4,5,6,......}


Himpunan bilangan prima
Himpunan bilangan prima adalah himpunan bilangan-bilangan asli yang hanya dapat dibagi dirinya sendiri dan satu, kecuali angka 1.

P = {2,3,5,7,11,13,....}


Himpunan bilangan cacah
Himpunan bilangan cacah adalah himpunan bilangan yang anggota-anggotanya merupakan bilangan bulat positif digabung dengan nol.

C = {0,1,2,3,4,5,6,....}


Himpunan bilangan bulat
Himpunan bilangan bulat adalah himpunan bilangan yang anggota-anggotanya seluruh bilangan bulat, baik negatif, nol, dan positif.

B = {...,-3,-2,-1,0,1,2,3,...}


Himpunan bilangan rasional
Himpunan bilangan rasional adalah himpunan bilangan yang anggota-anggonya merupakan bilangan yang dapat dinyatakan sebagai:
p/q dimana p,q Î bulat dan q ¹ 0 atau dapat dinyatakan sebagai suatu desimal berulang.

contoh: 0,-2, 2/7, 5, 2/11, dan lain lain


Himpunan bilangan irasional
Himpunan bilangan irasional adalah himpunan bilangan yang anggota-anggotanya tidak dapat dinyatakan sebagai sebagai p/q atau tidak dapat dinyatakan sebagai suatu desimal berulang.

contoh: log 2, e, Ö7


Himpunan bilangan riil
Himpunan bilangan riil adalah himpunan yang anggota-anggotanya merupakan gabungan dari himpunan bilangan rasional dan irasional.

contoh: log 10, 5/8, -3, 0, 3


Himpunan bilangan imajiner
Himpunan bilangan imajiner adalah himpunan bilangan yang anggota-anggotanya merupakan i (satuan imajiner) dimana i merupakan lambang bilangan baru yang bersifat i² = -1

contoh: i, 4i, 5i





Himpunan bilangan kompleks
Himpunan bilangan kompleks adalah himpunan bilangan yang anggota-anggotanya (a + bi) dimana a, b Î R, i² = -1, dengan a bagian riil dan b bagian imajiner.

contoh: 2-3i, 8+2
Judul: Re: Bagaimana mencari bilangan prima?
Ditulis oleh: Mtk Kerajaan Mataram pada Mei 24, 2009, 09:25:23 PM
Yuk kembali ke topik, kalau dalam topik "probable prime", kita pertama membahas a_PRP untuk menguji primalitas berdasar teorema fermat dengan keterbatasannya.
Ini ada yang namanya Strong Probable Prime, yang juga menguji primalitas secara lebih kuat, dalam kesendirian memang masih belum bisa menyeluruh, tapi kalau digabung, misalnya suatu bilangan kurang dari 2.000.0000 dan termasuk 2_SPRP dan 3_SPRP, maka bilangan itu prima, dan masih banyak contoh lain.

Ujinya adalah sebagai berikut, jika suatu bilangan berbentuk n = d \cdot 2^s + 1, dimana d ganjil. Bilangan n merupakan aSPRP jika memenuhi salah satu berikut :
(i) a^d \equiv 1 mod n

(ii) a^{d\cdot 2^r} \equiv -1 mod n \quad \mbox{ untuk }0\leq r\leq(s-1)

Contoh :
(1) 7 termasuk 2_SPRP, karena 7=3 \cdot 2^1+1
      a=2, d=3, s=1
      dan 2^3 \equiv 1 mod 7

(2) 15 tidak termasuk 2_SPRP karena 15=7 \cdot 2^1+1
     a=2, d=7, s=1
     (i) 2^7 =128 tidak berbentuk 1 mod 15
     (ii) karena s=1, maka r hanya 0 saja, dan
          2^{7\cdot 2^0} = 128 juga tidak berbentuk  -1 mod 15,
      Karena tidak memenuhi kedua-dua kriteria maka 15 bukan 2_SPRP.

Code program untuk tidak diobral, biasanya terdapat di jurnal matematika, saya berencana untuk membuatnya. Sedangkan bukti untuk uji ini nanti kita coba di thread 'prpbable prime' : http://www.forumsains.com/matematika/probable-prime/
         
Judul: Re: Bagaimana mencari bilangan prima?
Ditulis oleh: Nabih pada Mei 24, 2009, 09:49:44 PM
sprp itu apa???
Judul: Re: Bagaimana mencari bilangan prima?
Ditulis oleh: Mtk Kerajaan Mataram pada Mei 25, 2009, 07:03:19 AM
@Nabih
Silahkan baca pertama kali ceritanya di http://www.forumsains.com/matematika/probable-prime/
Judul: Re: Bagaimana mencari bilangan prima?
Ditulis oleh: anter pada Oktober 24, 2009, 11:07:30 PM
newbie lagi iseng ngangkat thread lama... :)


#include <iostream.h>
#include <conio.h>
#include <math.h>
main()
{
long bil, prima, a, b, c, d;
#define true    1
#define false   0

   clrscr();

   cout << "PROGRAM BILANGAN PRIMA\n";
   cout << "==================\n\n";
   cout << "Masukkan banyak baris angka: ";
   cin >> bil;
   cout << "Hasil :\n";

   b = 1;
   a = 0;
   while (a < bil) {
      prima = false;
      while (!prima) {
         b++;
         d = 0;
         for (c = 1; c <= sqrt(b); c++) {
            if ((b%c) == 0)
               d++;
         }
         if (d == 1)
            prima = true;
      }
      if (prima == true) {
         cout << b;
         cout << " ";
         a++;
      }
   }
   getch();
}
Judul: Re: Bagaimana mencari bilangan prima?
Ditulis oleh: Ridho R pada Desember 27, 2009, 05:52:55 PM
coba ini bos, saya buat pakai vb, component disesuaikan selera ya. ini modifikasi dari sintak di atas yang pakai pascal, mohon revisinya. kalao samapi 200 sih masih aman, di atas itu blm dipastikan

Dim i, bil1, bil2 As Integer

bil1 = bilangan1.Text
bil2 = bilangan2.Text
hasil.Text = ""


For i = bil1 To bil2 Step 1
   If i = 2 Or i = 3 Or i = 5 Or i = 7 Then
       hasil.Text = hasil.Text & i & vbCrLf
   ElseIf i Mod 2 <> 0 And i Mod 3 <> 0 And i Mod 5 <> 0 And i Mod 7 <> 0 And i Mod 11 <> 0 And i Mod 13 <> 0 Then
       hasil.Text = hasil.Text & i & vbCrLf
   End If
Next i
Judul: Re: Bagaimana mencari bilangan prima?
Ditulis oleh: Mtk Kerajaan Mataram pada Desember 27, 2009, 09:09:40 PM
@Ridho R
Saya kira code anda belum merupakan modifikasi dari code-nya @anter.
Dalam code anda diberi persyaratan tidak habis dibagi bilangan prima sampai 13, jadi kira-kira bilangan prima yang bisa dicek merentang dari 1 s.d. 132=169. Yaa mungkin sekali s.d. kurang dari 200.
Sedangkan pada code @anter, diberikan :
for (c = 1; c <= sqrt(b); c++) {
            if ((b%c) == 0)
               d++;
yang berarti untuk mendaftar bilangan prima dari suatu rentang yang diinginkan. Kalau yang dinginkan sampai bilangan 300 misalnya, maka dibuat persyaratan "jika banyaknya habis dibagi bilangan 1 s.d. int(\sqrt{300}) sama dengan 1, maka prima".

Bedanya, pada @anter bisa merambah sesuai yang diinginkan walaupun nanti semakin lama waktu yang dibutuhkan. Tapi pada code anda hanya sampai pada kurang dari bilangan 200.
Judul: Re: Bagaimana mencari bilangan prima?
Ditulis oleh: karunkberas pada November 03, 2010, 09:23:17 AM
misi para Om sepuh ane mo ikutan n coba posting ( maaf masih nubi )
coba pake ini ya , to dosen2 ane minta revisi nya..
kalo ane cek ini aman di semua angka

/* Formatted on 2010/11/03 09:21 (Formatter Plus v4.8.8) */
CREATE OR REPLACE FUNCTION kon.coba_prima (pivalue IN NUMBER)
  RETURN VARCHAR
IS
  vreturn   VARCHAR (15) := 'PRIMA';
BEGIN
  FOR i IN 2 .. 9
  LOOP
     IF i <> pivalue AND MOD (pivalue, i) = 0
     THEN
        vreturn := 'bukan prima';
        EXIT;
     ELSE
        vreturn := 'prima';
     END IF;
  END LOOP;

  RETURN vreturn;
EXCEPTION
  WHEN NO_DATA_FOUND
  THEN
     NULL;
  WHEN OTHERS
  THEN
     -- Consider logging the error and then re-raise
     RAISE;
END coba_prima;
/

coba di cek jawabana n logic nya

regard's

karunkberas
Judul: Re: Bagaimana mencari bilangan prima?
Ditulis oleh: adisae pada November 03, 2010, 10:26:18 AM
@karunkberas
pake bahasa apa si tu?

kan udah dibahas di awal2, pengecekan tidak habis dibagi 2..9 tidak valid..
(hanya valid untuk angka 1..99)
pengecekan minimal harus sampai \sqrt {pivalue} dibulatkan kebawah..
Judul: Re: Bagaimana mencari bilangan prima?
Ditulis oleh: karunkberas pada November 03, 2010, 11:13:15 AM
@adisae :

Ane pake function di oracle pak dosen, coba ane cek dulu ke postingan awal
kali aza menemukan ilham, coz koment bapak kurang jelas :D
Judul: Re: Bagaimana mencari bilangan prima?
Ditulis oleh: adisae pada November 03, 2010, 11:17:42 AM
maksudnya untuk menentukan bilangan n itu prima, harus dibuktikan bahwa n tidak habis dibagi 2..\sqrt n
Judul: Re: Bagaimana mencari bilangan prima?
Ditulis oleh: karunkberas pada November 03, 2010, 12:00:03 PM
coba pak dosen  kalo ada  punya tool Toad ato SQL dev ato yg lain nya
runing query ini,

ntar bakal keliatan hasil nya :D

* maaf ane masih perlu banyak belajar dari master2 di forum ini

Regard's

karunkberas

Judul: Re: Bagaimana mencari bilangan prima?
Ditulis oleh: adisae pada November 03, 2010, 01:53:14 PM
silahkan baca posting mtk kerajaan sebelum posting code anda di atas..dan silahkan untuk dipahami..

terus masalah kodenya, silahkan masukkan angka 121 atau 169 pada kode tersebut..pasti hasilnya tidak valid..
Judul: Re: Bagaimana mencari bilangan prima?
Ditulis oleh: karunkberas pada November 03, 2010, 02:49:56 PM
ok siap pak..:D
ane pelajari lagi..
barusan ane coba masuka angka 121 dan 169 ke funktion yg ane bikin,
hasil nya itu adalah bilangan prima, bener gak ya...?

terimakasih tanggapan& ilmu nya pak dosen
Judul: Re: Bagaimana mencari bilangan prima?
Ditulis oleh: adisae pada November 04, 2010, 09:16:20 AM
gubrak..
121 = 11 x 11
169 = 13 x 13

y jelas bukan bilangan prima..
Judul: Re: Bagaimana mencari bilangan prima?
Ditulis oleh: biobio pada Maret 10, 2011, 09:47:41 PM
Kutip dari: karunkberas pada November 03, 2010, 02:49:56 PM
ok siap pak..:D
ane pelajari lagi..
barusan ane coba masuka angka 121 dan 169 ke funktion yg ane bikin,
hasil nya itu adalah bilangan prima, bener gak ya...?

terimakasih tanggapan& ilmu nya pak dosen
Berarti program anda salah.
Judul: Re: Bagaimana mencari bilangan prima?
Ditulis oleh: nazila pada April 05, 2011, 11:58:22 PM
wow... kalau fungsi utama cuma pakai logika "if" ya ndak bakal ketemu...
kombinasi sma perulangan mungkin membantu...
Judul: Re: Bagaimana mencari bilangan prima?
Ditulis oleh: biobio pada April 08, 2011, 01:16:15 PM
Kutip dari: nazila pada April 05, 2011, 11:58:22 PM
wow... kalau fungsi utama cuma pakai logika "if" ya ndak bakal ketemu...
kombinasi sma perulangan mungkin membantu...
benar, sepeti yang aku pernah tulis dulu
Kutip dari: biobio pada April 27, 2009, 05:44:54 PM
Gimana kalau gini buat ngecek bilangan prima, pake FREE PASCAL...
saya sudah banyak lupa syntaxnya,mohon dikoreksi:

uses crt;
var a,b,c:integer;
begin
clrscr;
writeln ('Masukkan bilangan anda...');readln(a);
for b:1 to a do
if a mod b=0 then
c:=c+1 else c:=c;
clrscr;
if c>2 then writeln ('Bukan bilangan prima') else
if c<=2 then writeln ('Prima');
readln;
end.
Judul: Re: Bagaimana mencari bilangan prima?
Ditulis oleh: Sky pada Mei 12, 2011, 02:48:26 PM
Selama ini hanya di bahasa Pascal saja, tidak tertarik di bahasa lain kah? Misalnya java atau c++ atau c# atau f# atau CLISP?
Hahaha...
Oya, sebenarnya primality test sudah banyak caranya...
Coba cek ini:
[pranala luar disembunyikan, sila masuk atau daftar.]
Judul: Re: Bagaimana mencari bilangan prima?
Ditulis oleh: adi_ak46 pada Juli 03, 2011, 12:25:30 AM
yang saya masih bingung itu adalah untuk apa sih gunanya bilangan prima ini??
Dan kenapa bilangan negatif misalkan -2, -3, -5, dst bukan merupakan bilangan prima, padahal kan bilangan prima sendiri adalah bilangan yang hanya memiliki faktor 1 dan bilangan itu sendiri?? ???
Judul: Re:Bagaimana mencari bilangan prima?
Ditulis oleh: rossaarie pada Februari 15, 2012, 07:37:55 AM
 coba deh pake script ini... aku udah buktiin cuman tolong dikoreksi kalo misal ada dari logika aku yang salah... thanks

Dim obj As Integer
Private Sub Command1_Click()
    Me.Text2.Text = ""
    obj = 0
  If Me.Text1.Text <> "" Or Me.Text1.Text <> 0 Then   
        For i = 1 To Val(Me.Text1.Text)
            If Me.Text1.Text Mod i = 0 Then
                obj = obj + 1
            Else
                obj = obj
            End If
        Next
        If obj > 2 Then Text2.Text = "BUKAN" Else Text2.Text = "PRIMA"
    End If
End Sub
Judul: Re:Bagaimana mencari bilangan prima?
Ditulis oleh: mhyworld pada Februari 15, 2012, 09:49:00 AM
Kutip dari: adi_ak46 pada Juli 03, 2011, 12:25:30 AM
yang saya masih bingung itu adalah untuk apa sih gunanya bilangan prima ini??
Dan kenapa bilangan negatif misalkan -2, -3, -5, dst bukan merupakan bilangan prima, padahal kan bilangan prima sendiri adalah bilangan yang hanya memiliki faktor 1 dan bilangan itu sendiri?? ???
aplikasinya antara lain untuk public key cryptography
[pranala luar disembunyikan, sila masuk atau daftar.]
bilangan negatif tidak dimasukkan by definition, karena tidak termasuk bilangan asli.
[pranala luar disembunyikan, sila masuk atau daftar.]
Judul: Re:Bagaimana mencari bilangan prima?
Ditulis oleh: rj wirawan pada April 20, 2012, 11:52:58 AM
Friend Function BilPrima(MaxNomor As Long) As String
Dim Nomor As Double, Test As Long, Maxtest As Long
Dim Jml As Long, Persen As Integer
Dim StatusPrima As Boolean

  BilPrima = ""
  Jml = 0
  Persen = 0
  Label3.Caption = ""
  Label2.Caption = ""
 
  For Nomor = 1 To MaxNomor Step 1
       
        DoEvents
       
        Persen = (Nomor / MaxNomor) * 100
        Label2.Caption = "Silahkan Tunggu " & CStr(Persen) & "%...."
        StatusPrima = True
       
        Maxtest = Nomor / 2
        If (Nomor <> 2) And ((Nomor Mod 2) = 0) Then
          StatusPrima = False
        End If
        Test = 3
       
        While Test <= Maxtest And StatusPrima = True
            If Nomor Mod Test = 0 Then
                StatusPrima = False
            End If
            Test = Test + 2
        Wend
       
        If StatusPrima = True Then
           
            If Nomor <> 1 Then
                Jml = Jml + 1
                BilPrima = BilPrima + CStr(Nomor) + " "
                Text1.Text = BilPrima
                Label3.Caption = "Jumlah bil Prima : " & CStr(Jml)
            End If
        End If
       
  Next

'Label3.Caption = "Jumlah bil Prima : " & CStr(Jml)
Label2.Caption = ""

End Function

Judul: Re:Bagaimana mencari bilangan prima?
Ditulis oleh: rj wirawan pada April 20, 2012, 12:30:14 PM
utk periksa bil prima dgn mencoba script dari rekan rossaarie diatas.....hasilnya seperti dalam lampiran
Judul: Re:Bagaimana mencari bilangan prima?
Ditulis oleh: rossaarie pada April 24, 2012, 02:56:31 PM
Maaf yang kemaren itu masih sangat berantakan. Tapi sudah aku coba rapikan di sini
Judul: Re:Bagaimana mencari bilangan prima?
Ditulis oleh: Lytosz pada Juni 18, 2012, 07:35:08 PM
hahaha akhirnya setelah 4 jam berfikir akhirnya ketemu juga ini dari angka terkecil sampai yang paling besar bs tinggal di ganti tipe bilangannya aja.
#include <stdio.h>
#include <stdlib.h>

int main()
{
    int a=2,bil,hasil,cek=0;
    printf("masukan bilangan yang ingin di cek : ");scanf("%d",&bil);
    do
    {
        hasil=bil%a;

        printf("\n %d modulus %d adalah %d",bil,a,hasil);
        if(hasil==0)
        {
            cek=cek+1;
        }
        else
        {
            cek=cek+0;
        }
        a++;
    }while(a<=bil-1);
    printf("\njumlah angka 0 adalah %d \n",cek);
    if(bil>2)
    {
        if(cek==0)
        {
        printf("prima");
        }
        else
        {
        printf("bukan prima");
        }
    }
    else if(bil<=2)
            {
                if(bil==2)
                {
                    printf("prima");
                }
                else if((bil>0) && (bil<2))
                {
                    printf("bukan prima");
                }
                else
                {
                    printf("negatif");
                }
            }
    return 0;
}
Judul: Re:Bagaimana mencari bilangan prima?
Ditulis oleh: Monox D. I-Fly pada Mei 28, 2016, 10:43:14 AM
Kutip dari: adi_ak46 pada Juli 03, 2011, 12:25:30 AM
Dan kenapa bilangan negatif misalkan -2, -3, -5, dst bukan merupakan bilangan prima, padahal kan bilangan prima sendiri adalah bilangan yang hanya memiliki faktor 1 dan bilangan itu sendiri?? ???

Kita ambil -2 sebagai contoh. Faktor dari -2 tidak hanya 1 dan -2, tetapi juga -1 dan 2. Jadi, faktor dari -2 tidak hanya 1 dan dirinya sendiri. Hal yang sama juga berlaku pada bilangan prima lainnya.