ID Artikel: 202782 - Kajian Terakhir: 19 September 2011 - Revisi: 2.0

Bagaimana untuk mendapatkan bilangan prima atau faktor

Tips SistemThis article applies to a different operating system than the one you are using. Article content that may not be relevant to you is disabled.
Artikel ini juga berlaku untuk:
  • Microsoft Excel untuk Windows 95 7.0|7.0
  • Microsoft Excel untuk Windows 95 7.0a|7.0a
  • Microsoft Excel untuk Windows 5.0|5.0
  • Microsoft Excel untuk Windows 5.0c|5.0 c
  • Microsoft Excel untuk Macintosh 5.0|5.0
  • Microsoft Excel untuk Macintosh 5.0a|5.0a
Perbesar semua | Perkecil semua

RINGKASAN

Bilangan prima adalah integer yang dapat dibagi secara merata hanya dengan sendirinya dan satu. Faktor sejumlah adalah bilangan bulat yang dapat dibagi secara merata ke nomor itu. Artikel ini memuat Microsoft Visual Basic untuk aplikasi macro untuk Excel yang dapat Anda gunakan untuk menentukan semua bilangan prima dalam jangkauan, atau untuk memperoleh semua faktor nomor.

INFORMASI LEBIH LANJUT

Microsoft menyediakan contoh pemrograman hanya sebagai ilustrasi, tanpa jaminan apa pun baik tersurat maupun tersirat. Termasuk, namun tidak terbatas pada, jaminan tersirat mengenai kelayakan untuk diperdagangkan atau kesesuaian untuk keperluan tertentu. Artikel ini mengasumsikan bahwa Anda telah terbiasa dengan bahasa pemrograman yang ditunjukkan dan dengan alat yang digunakan untuk membuat dan mendebug prosedur. Teknisi dukungan Microsoft dapat membantu menjelaskan fungsionalitas prosedur tertentu, namun mereka tidak akan memodifikasi contoh untuk memberikan fungsionalitas tambahan atau menyusun prosedur untuk memenuhi persyaratan khusus Anda. Untuk membuat macro, ikuti langkah berikut:

  1. Simpan dan tutup buku kerja setiap terbuka, dan kemudian buat buku kerja baru.
  2. Membuat modul baru:

    Di Microsoft Excel 97, mulai Editor Visual Basic dengan menekan ALT + F11.

    Di Microsoft Excel 5.0, atau 7.0, klik Makro dan Modul pada Masukkan menu.
  3. Ketik kode berikut dalam modul:
       Sub GetFactors()
          Dim Count As Integer
          Dim NumToFactor As Single 'Integer limits to < 32768
          Dim Factor As Single
          Dim y As Single
          Dim IntCheck As Single
       
          Count = 0
          Do
             NumToFactor = _
                Application.InputBox(Prompt:="Type integer", Type:=1)
             'Force entry of integers greater than 0.
             IntCheck = NumToFactor - Int(NumToFactor)
             If NumToFactor = 0 Then
                Exit Sub
                'Cancel is 0 -- allow Cancel.
             ElseIf NumToFactor < 1 Then
                MsgBox "Please enter an integer greater than zero."
             ElseIf IntCheck > 0 Then
                MsgBox "Please enter an integer -- no decimals."
             End If
             'Loop until entry of integer greater than 0.
          Loop While NumToFactor <= 0 Or IntCheck > 0
          For y = 1 To NumToFactor
             'Put message in status bar indicating the integer being checked.
             Application.StatusBar = "Checking " & y
             Factor = NumToFactor Mod y
             'Determine if the result of division with Mod is without _
                 remainder and thus a "factor".
             If Factor = 0 Then
                'Enter the factor into a column starting with the active cell.
                ActiveCell.Offset(Count, 0).Value = y
                'Increase the amount to offset for next value.
                Count = Count + 1
             End If
          Next
          'Restore Status Bar.
          Application.StatusBar = "Ready"
       End Sub
       
       Sub GetPrime()
          Dim Count As Integer
          Dim BegNum As Single  'Integer limits to < 32768
          Dim EndNum As Single
          Dim Prime As Single
          Dim flag As Integer
          Dim IntCheck As Single
          Count = 0
       
          Do
             BegNum = _
                Application.InputBox(Prompt:="Type beginning number.", Type:=1)
             'Force entry of integers greater than 0.
             IntCheck = BegNum - Int(BegNum)
             If BegNum = 0 Then
                Exit Sub
                'Cancel is 0 -- allow Cancel.
             ElseIf BegNum < 1 Then
                MsgBox "Please enter an integer greater than zero."
             ElseIf IntCheck > 0 Then
                MsgBox "Please enter an integer -- no decimals."
             End If
             'Loop until entry of integer greater than 0.
          Loop While BegNum <= 0 Or IntCheck > 0
       
          Do
             EndNum = _
                Application.InputBox(Prompt:="Type ending number.", Type:=1)
             'Force entry of integers greater than 0.
             IntCheck = EndNum - Int(EndNum)
             If EndNum = 0 Then
                Exit Sub
                'Cancel is 0 -- allow Cancel.
             ElseIf EndNum < BegNum Then
                MsgBox "Please enter an integer larger than " & BegNum
             ElseIf EndNum < 1 Then
                MsgBox "Please enter an integer greater than zero."
             ElseIf IntCheck > 0 Then
                MsgBox "Please enter an integer -- no decimals."
             End If
             'Loop until entry of integer greater than 0.
          Loop While EndNum < BegNum Or EndNum <= 0 Or IntCheck > 0
       
          For y = BegNum To EndNum
             flag = 0
             z = 1
             Do Until flag = 1 Or z = y + 1
                'Put message into Status Bar indicating the integer and _
                    divisor in each loop.
                Application.StatusBar = y & " / " & z
                Prime = y Mod z
                If Prime = 0 And z <> y And z <> 1 Then
                   flag = 1
                End If
                z = z + 1
             Loop
       
             If flag = 0 Then
                'Enter the factor into a column starting with the active cell.
                ActiveCell.Offset(Count, 0).Value = y
                'Increase the amount to offset for next value.
                Count = Count + 1
             End If
          Next y
          'Restore Status Bar.
          Application.StatusBar = "Ready"
       End Sub
    					
  4. Pada Berkas menu, klik Menutup dan mengembalikan ke Microsoft Excel. Beralih ke lembar kerja yang Anda ingin menjalankan makro, dan klik sel di mana Anda ingin membuat kolom faktor atau bilangan prima.
  5. Pada Alat menu, titik Makro, lalu klik Makro.
  6. Klik GetFactors, lalu klik Menjalankan untuk mendapatkan faktor-faktor.

    -atau-

    Klik GetPrime, lalu klik Menjalankan untuk mendapatkan daftar bilangan prima.
CATATAN: Walaupun makro ini dapat menemukan bilangan prima untuk berbagai macam nomor dan faktor untuk jumlah besar, menjalankan kode tersebut dapat mengambil waktu yang sangat lama. Untuk alasan ini, status bar menunjukkan kemajuan sementara makro berjalan.

REFERENSI

Untuk informasi lebih lanjut tentang mendapatkan bantuan dengan Visual Basic untuk aplikasi, klik nomor artikel di bawah ini untuk melihat artikel di dalam Basis Pengetahuan Microsoft:
163435  (http://support.microsoft.com/kb/163435/EN-US/ ) VBA: Pemrograman sumber daya untuk Visual Basic untuk aplikasi
226118  (http://support.microsoft.com/kb/226118/EN-US/ ) OFF2000: Pemrograman sumber daya untuk Visual Basic untuk aplikasi
Untuk informasi lebih lanjut tentang menjalankan kode contoh, klik nomor artikel di bawah ini untuk melihat artikel di dalam Basis Pengetahuan Microsoft:
173707  (http://support.microsoft.com/kb/173707/EN-US/ ) OFF97: Bagaimana untuk menjalankan kode contoh dari artikel Basis Pengetahuan
212536  (http://support.microsoft.com/kb/212536/EN-US/ ) OFF2000: Bagaimana untuk menjalankan kode contoh dari artikel Basis Pengetahuan

Berlaku bagi:
  • Microsoft Excel 97 Standard Edition
Kata kunci: 
kbhowto kbmt KB202782 KbMtid
Penerjemahan MesinPenerjemahan Mesin
PENTING: Artikel ini diterjemahkan menggunakan perangkat lunak mesin penerjemah Microsoft dan bukan oleh seorang penerjemah. Microsoft menawarkan artikel yang diterjemahkan oleh seorang penerjemah maupun artikel yang diterjemahkan menggunakan mesin sehingga Anda akan memiliki akses ke seluruh artikel baru yang diterbitkan di Pangkalan Pengetahuan (Knowledge Base) dalam bahasa yang Anda gunakan. Namun, artikel yang diterjemahkan menggunakan mesin tidak selalu sempurna. Artikel tersebut mungkin memiliki kesalahan kosa kata, sintaksis, atau tata bahasa, hampir sama seperti orang asing yang berbicara dalam bahasa Anda. Microsoft tidak bertanggung jawab terhadap akurasi, kesalahan atau kerusakan yang disebabkan karena kesalahan penerjemahan konten atau penggunaannya oleh para pelanggan. Microsoft juga sering memperbarui perangkat lunak mesin penerjemah.
Klik disini untuk melihat versi Inggris dari artikel ini:202782  (http://support.microsoft.com/kb/202782/en-us/ )
Retired KB ArticleSanggahan Konten KB yang Tidak Lagi Diperbarui
Artikel ini berisi tentang produk yang tidak lagi didukung oleh Microsoft. Oleh karena itu, artikel ini disajikan ?sebagaimana adanya? dan tidak akan diperbarui.