TUGAS 'Latihan 3 - Bilangan Prima (Prime)
Tujuan
- Belajar loop
- Belajar menggunakan modulo
- Belajar membuat fungsi boolean
Latar Belakang
Bilangan prima didefinisikan sebagai bilangan bulat yang lebih besar dari 1, bilangan yang hanya dapat dibagi oleh dua bilangan yaitu bilangan 1 dan dirinya sendiri, tanpa bisa dibagi oleh bilangan lain. Jadi, 3 adalah bilangan prima karena hanya dapat dibagi 1 dan 3, sementara 4 adalah bilangan komposit dan bukan bilangan prima, karena merupakan hasil perkalian dari 2 × 2. Dalam latihan ini, Anda akan menulis algoritma untuk menghasilkan semua bilangan prima dalam rentang yang ditentukan oleh pengguna.
Petunjuk:
- Modulo (%) akan sangat bermanfaat dalam latihan ini, karena menghasilkan sisa hasil pembagian dua bilangan bulat.
- Menurut definisi, angka 1 bukanlah bilangan prima.
- Hanya ada satu bilangan prima genap, yaitu 2.
Demo
Cara Mengerjakan
- Masuk ke cs50.dev menggunakan akun GitHub Anda.
- Klik di dalam jendela terminal dan jalankan perintah
cd.
- Pada prompt
$
, ketikmkdir prime
. - Sekarang jalankan perintah
cd prime
. - Kemudian salin dan tempel wget https://cdn.cs50.net/2022/fall/labs/1/prime.c ke dalam terminal Anda untuk mengunduh kode distribusi latihan ini.
- Tugas Anda adalah menyelesaikan fungsi Boolean "
prime
", yang memeriksa apakah suatu angka adalah bilangan prima, dan mengembalikan nilai benar jika iya, dan salah jika tidak
Detail Implementasi
Cara termudah untuk memeriksa apakah suatu angka adalah bilangan prima adalah dengan mencoba membaginya dengan setiap angka mulai dari 2 hingga angka tersebut, tetapi tidak termasuk angka itu sendiri. Jika ada angka yang membagi habis angka tersebut, maka angka tersebut bukan bilangan prima.
Fungsi main
dalam kode distribusi mengandung perulangan for
yang mengulang suatu kalkulasi di seluruh rentang yang ditentukan oleh pengguna, dengan kedua ujung rentang termasuk dalam perulangan. Sebagai contoh, jika pengguna mengetikkan 1 untuk min
dan 100 untuk max
, perulangan for
akan memeriksa setiap angka dari 1 hingga 100. Setiap angka ini akan dilewatkan ke fungsi bernama prime
, yang akan Anda implementasikan untuk mengembalikan nilai true
atau false
tergantung apakah angka tersebut merupakan bilangan prima atau tidak.
Pertanyaan Untuk Dipertimbangkan
Apakah Anda bisa memikirkan cara lain untuk menguji apakah sebuah bilangan merupakan bilangan prima atau bukan tanpa membagi bilangan tersebut dengan setiap angka mulai dari 1 hingga bilangan itu sendiri?Cara Menguji Program Anda
Program Anda harus berperilaku seperti berikut jika diberi inputan min = 1, dan max = 100:
Perhatikan bahwa program menghasilkan seluruh bilangan prima antara 1 hingga 100. Anda juga dapat menguji kebenaran program Anda dengan check50 dengan menjalankan perintah berikut di terminal:
check50 cs50/labs/2023/x/prime
Untuk memeriksa style program Anda, jalankan perintah berikut di terminal:
style50 prime.c