Berikut ini adalah pertanyaan dari sallomiant pada mata pelajaran TI untuk jenjang Sekolah Menengah Atas
Dollar = 8250
Yen = Rupiah 4000
Peso = Rupiah 2500
Soal 2
Studi Kasus Buatlah Algoritma bahasa manusia, Flochart & Pseudocode Untuk Menentukan Apakah suatu bilangan merupakan bilangan Prima atau bukan!
Jawaban dan Penjelasan
Berikut ini adalah pilihan jawaban terbaik dari pertanyaan diatas.
SOAL 1
Untuk persoalan ini, kita punya tiga alternatif dalam penentuan nilai ekuivalensi mata uang, yaitu:
- sebagai konstanta,
- sebagai masukan dari user,
- sebagai data yang diambil dari sumber data di luar program.
Kita gunakan versi yang paling dasar, yaitu menetapkan ekuivalensi mata uang sebagai konstanta.
Algoritma Bahasa Manusia (Bahasa Alami/Natural)
- Tetapkan konstanta:
◇
◇
◇ - Baca masukan
, yaitu nilai uang (dalam rupiah).
- Kalkulasi:
◇
◇
◇ - Tampilkan
,
,
.
Algoritma dalam bentuk Pseudocode
Algoritma Menghitung Nilai Uang
{ Menerima input/masukan berupa nilai uang dalam rupiah,
melakukan konversi menjadi dollar, yen, dan peso, serta
menampilkan hasil konversi pada perangkat output. }
Kamus
const DOLLAR: real = 8250
const YEN: real = 4000
const PESO: real = 2500
rupiah: real
dollar: real
yen: real
peso: real
Algoritma
read rupiah
dollar ← rupiah * DOLLAR
yen ← rupiah * YEN
peso ← rupiah * PESO
print dollar, yen, peso
Algoritma dalam bentuk Flowchart
(terdapat pada gambar)
______________
SOAL 2
Untuk menentukan suatu bilangan merupakan bilangan prima atau bukan, sepengetahuan saya, terdapat dua metode. Saya namakan kedua metode ini: metode biasa (naif)danmetode teroptimasi.
1. METODE BIASA (NAIF)
Misalkan bilangan yang diperiksa adalah n. Pada metode ini, kita periksa apakah n habis dibagi oleh 2, 3, 4, dst. hingga n–1. Salah satu saja habis membagi n, maka bilangan n bukan prima.
Kita gunakan variabel bantuan bertipe boolean (true atau false), yaitu . Kita juga akan menggunakan variabel untuk looping/iterasi.
Untuk menentukan keterbagian bilangan, kita gunakan operator “mod“. Jika a mod b = 0, maka a habis dibagi b. Pada pseudocode, operator ”mod“ dilambangkan dengan ”%“, seperti pada implementasi bahasa pemrograman pada umumnya.
Algoritma Bahasa Manusia (Bahasa Alami/Natural)
- Baca masukan bilangan bulat positif \tt n.
- Jika
, maka tampilkan “Bukan prima”, dan proses selesai.
- Asumsikan n prima dengan inisialisasi
.
- Dari
hingga
, lakukan iterasi:
◇ Jika,
maka, dan hentikan iterasi.
◇ Jika tidak, lanjutkan iterasi. - Jika
, maka tampilkan “Prima”.
Jika tidak (), maka tampilkan “Bukan prima”.
Algoritma dalam bentuk Pseudocode
Algoritma Menentukan Prima atau Bukan Prima
{ Menerima masukan bilangan bulat positif,
menentukan apakah bilangan tersebut prima,
dan menampilkan hasilnya. }
Kamus
n: integer ≥ 0 {unsigned integer}
i: integer
apakahPrima: boolean
Algoritma
read n
if n = 1 then
print “Bukan prima”
exit {proses selesai, keluar dari program}
end if
apakahPrima ← true
for i ← 2 to n–1 do
if (n % i = 0) then
apakahPrima ← false
break {hentikan iterasi}
end if
end for
ifapakahPrimathen
print “Prima”
else
print “Bukan prima”
end if
Algoritma dalam bentuk Flowchart
(terdapat pada gambar)
2. METODE TEROPTIMASI
Optimasi algoritma penentuan sebuah bilangan prima atau bukan, dapat dilakukan dengan sebuah metode yang dapat disebut sebagai “optimasi 6k+1”.
Kita langsung jabarkan prosesnya dalam bentuk algoritma bahasa manusia.
Asumsi: Terdefinisi fungsi , yang menghasilkan bagian bilangan bulat dari sebuah bilangan pecahan (pecahan desimal atau pecahan campuran). Misalnya:
menghasilkan 2.
Algoritma Bahasa Manusia (Bahasa Alami/Natural)
1. Baca masukan bilangan bulat positif .
2. Asumsikan n prima dengan inisialisasi .
3.1. Jika , maka
jika
.
3.2. Selain itu (untuk n > 3):
3.2.1. Jika n mod 2 = 0 atau n mod 3 = 0,
maka .
3.2.2. Jika tidak:
3.2.2.1. Inisialisasi .
3.2.2.2. Selama :
3.2.2.2.1. Jika n mod i = 0, atau n mod (i+2) = 0,
maka , dan hentikan iterasi.
3.2.2.2.2. Inkrementasi dengan 6:
.
4.1. Jika , maka tampilkan “Prima”.
4.2. Jika tidak (), maka tampilkan “Bukan prima”.
Algoritma dalam bentuk Pseudocode
(terdapat pada gambar, karena konten jawaban tidak mencukupi)
Algoritma dalam bentuk Flowchart
(terdapat pada gambar)
______________
Detail Jawaban
Mata Pelajaran: Informatika
Materi: Algoritma dan Pemrograman
![SOAL 1Untuk persoalan ini, kita punya tiga alternatif dalam penentuan nilai ekuivalensi mata uang, yaitu:sebagai konstanta,sebagai masukan dari user,sebagai data yang diambil dari sumber data di luar program.Kita gunakan versi yang paling dasar, yaitu menetapkan ekuivalensi mata uang sebagai konstanta.Algoritma Bahasa Manusia (Bahasa Alami/Natural)Tetapkan konstanta:◇ [tex]\tt DOLLAR = 8250[/tex]◇ [tex]\tt YEN = 4000[/tex]◇ [tex]\tt PESO = 2500[/tex]Baca masukan [tex]\tt rupiah[/tex], yaitu nilai uang (dalam rupiah).Kalkulasi: ◇ [tex]\tt dollar=rupiah\times DOLLAR[/tex]◇ [tex]\tt yen=rupiah\times YEN[/tex]◇ [tex]\tt peso=rupiah\times PESO[/tex]Tampilkan [tex]\tt dollar[/tex], [tex]\tt yen[/tex], [tex]\tt peso[/tex].Algoritma dalam bentuk PseudocodeAlgoritma Menghitung Nilai Uang{ Menerima input/masukan berupa nilai uang dalam rupiah,melakukan konversi menjadi dollar, yen, dan peso, sertamenampilkan hasil konversi pada perangkat output. }Kamus const DOLLAR: real = 8250 const YEN: real = 4000 const PESO: real = 2500 rupiah: real dollar: real yen: real peso: realAlgoritma read rupiah dollar ← rupiah * DOLLAR yen ← rupiah * YEN peso ← rupiah * PESO print dollar, yen, pesoAlgoritma dalam bentuk Flowchart(terdapat pada gambar)______________SOAL 2Untuk menentukan suatu bilangan merupakan bilangan prima atau bukan, sepengetahuan saya, terdapat dua metode. Saya namakan kedua metode ini: metode biasa (naif) dan metode teroptimasi.1. METODE BIASA (NAIF)Misalkan bilangan yang diperiksa adalah n. Pada metode ini, kita periksa apakah n habis dibagi oleh 2, 3, 4, dst. hingga n–1. Salah satu saja habis membagi n, maka bilangan n bukan prima.Kita gunakan variabel bantuan bertipe boolean (true atau false), yaitu [tex]\tt apakahPrima[/tex]. Kita juga akan menggunakan variabel untuk looping/iterasi.Untuk menentukan keterbagian bilangan, kita gunakan operator “mod“. Jika a mod b = 0, maka a habis dibagi b. Pada pseudocode, operator ”mod“ dilambangkan dengan ”%“, seperti pada implementasi bahasa pemrograman pada umumnya.Algoritma Bahasa Manusia (Bahasa Alami/Natural)Baca masukan bilangan bulat positif \tt n.Jika [tex]\tt n = 1[/tex], maka tampilkan “Bukan prima”, dan proses selesai.Asumsikan n prima dengan inisialisasi [tex]\tt apakahPrima = true[/tex].Dari [tex]\tt i=2[/tex] hingga [tex]\tt i=n-1[/tex], lakukan iterasi:◇ Jika [tex]\tt n\ mod\ i = 0[/tex], maka [tex]\tt apakahPrima = false[/tex], dan hentikan iterasi.◇ Jika tidak, lanjutkan iterasi.Jika [tex]\tt apakahPrima = true[/tex], maka tampilkan “Prima”.Jika tidak ([tex]\tt apakahPrima = false[/tex]), maka tampilkan “Bukan prima”.Algoritma dalam bentuk PseudocodeAlgoritma Menentukan Prima atau Bukan Prima{ Menerima masukan bilangan bulat positif, menentukan apakah bilangan tersebut prima,dan menampilkan hasilnya. }Kamus n: integer ≥ 0 {unsigned integer} i: integer apakahPrima: booleanAlgoritma read n if n = 1 then print “Bukan prima” exit {proses selesai, keluar dari program} end if apakahPrima ← true for i ← 2 to n–1 do if (n % i = 0) then apakahPrima ← false break {hentikan iterasi} end if end for if apakahPrima then print “Prima” else print “Bukan prima” end ifAlgoritma dalam bentuk Flowchart(terdapat pada gambar)2. METODE TEROPTIMASIOptimasi algoritma penentuan sebuah bilangan prima atau bukan, dapat dilakukan dengan sebuah metode yang dapat disebut sebagai “optimasi 6k+1”. Kita langsung jabarkan prosesnya dalam bentuk algoritma bahasa manusia. Asumsi: Terdefinisi fungsi [tex]\tt floor(x)[/tex], yang menghasilkan bagian bilangan bulat dari sebuah bilangan pecahan (pecahan desimal atau pecahan campuran). Misalnya: [tex]\tt floor(2.6)[/tex] menghasilkan 2.Algoritma Bahasa Manusia (Bahasa Alami/Natural)1. Baca masukan bilangan bulat positif [tex]\tt n[/tex].2. Asumsikan n prima dengan inisialisasi [tex]\tt apakahPrima = true[/tex].3.1. Jika [tex]\tt n \le 3[/tex], maka [tex]\tt apakahPrima = true[/tex] jika [tex]\tt n = 2[/tex].3.2. Selain itu (untuk n > 3): 3.2.1. Jika n mod 2 = 0 atau n mod 3 = 0, maka . 3.2.2. Jika tidak: 3.2.2.1. Inisialisasi [tex]\tt i=5[/tex]. 3.2.2.2. Selama [tex]\tt i \le floor(\sqrt{n}\,)[/tex]: 3.2.2.2.1. Jika n mod i = 0, atau n mod (i+2) = 0, maka [tex]\tt apakahPrima = false[/tex], dan hentikan iterasi. 3.2.2.2.2. Inkrementasi [tex]\tt i[/tex] dengan 6: [tex]\tt i = i+6[/tex].4.1. Jika [tex]\tt apakahPrima = true[/tex], maka tampilkan “Prima”.4.2. Jika tidak ([tex]\tt apakahPrima = false[/tex]), maka tampilkan “Bukan prima”.Algoritma dalam bentuk Pseudocode(terdapat pada gambar, karena konten jawaban tidak mencukupi)Algoritma dalam bentuk Flowchart(terdapat pada gambar)______________Detail JawabanMata Pelajaran: InformatikaMateri: Algoritma dan Pemrograman](https://id-static.z-dn.net/files/d04/2a702ad516ebb4404066f7be3cffd554.jpg)
![SOAL 1Untuk persoalan ini, kita punya tiga alternatif dalam penentuan nilai ekuivalensi mata uang, yaitu:sebagai konstanta,sebagai masukan dari user,sebagai data yang diambil dari sumber data di luar program.Kita gunakan versi yang paling dasar, yaitu menetapkan ekuivalensi mata uang sebagai konstanta.Algoritma Bahasa Manusia (Bahasa Alami/Natural)Tetapkan konstanta:◇ [tex]\tt DOLLAR = 8250[/tex]◇ [tex]\tt YEN = 4000[/tex]◇ [tex]\tt PESO = 2500[/tex]Baca masukan [tex]\tt rupiah[/tex], yaitu nilai uang (dalam rupiah).Kalkulasi: ◇ [tex]\tt dollar=rupiah\times DOLLAR[/tex]◇ [tex]\tt yen=rupiah\times YEN[/tex]◇ [tex]\tt peso=rupiah\times PESO[/tex]Tampilkan [tex]\tt dollar[/tex], [tex]\tt yen[/tex], [tex]\tt peso[/tex].Algoritma dalam bentuk PseudocodeAlgoritma Menghitung Nilai Uang{ Menerima input/masukan berupa nilai uang dalam rupiah,melakukan konversi menjadi dollar, yen, dan peso, sertamenampilkan hasil konversi pada perangkat output. }Kamus const DOLLAR: real = 8250 const YEN: real = 4000 const PESO: real = 2500 rupiah: real dollar: real yen: real peso: realAlgoritma read rupiah dollar ← rupiah * DOLLAR yen ← rupiah * YEN peso ← rupiah * PESO print dollar, yen, pesoAlgoritma dalam bentuk Flowchart(terdapat pada gambar)______________SOAL 2Untuk menentukan suatu bilangan merupakan bilangan prima atau bukan, sepengetahuan saya, terdapat dua metode. Saya namakan kedua metode ini: metode biasa (naif) dan metode teroptimasi.1. METODE BIASA (NAIF)Misalkan bilangan yang diperiksa adalah n. Pada metode ini, kita periksa apakah n habis dibagi oleh 2, 3, 4, dst. hingga n–1. Salah satu saja habis membagi n, maka bilangan n bukan prima.Kita gunakan variabel bantuan bertipe boolean (true atau false), yaitu [tex]\tt apakahPrima[/tex]. Kita juga akan menggunakan variabel untuk looping/iterasi.Untuk menentukan keterbagian bilangan, kita gunakan operator “mod“. Jika a mod b = 0, maka a habis dibagi b. Pada pseudocode, operator ”mod“ dilambangkan dengan ”%“, seperti pada implementasi bahasa pemrograman pada umumnya.Algoritma Bahasa Manusia (Bahasa Alami/Natural)Baca masukan bilangan bulat positif \tt n.Jika [tex]\tt n = 1[/tex], maka tampilkan “Bukan prima”, dan proses selesai.Asumsikan n prima dengan inisialisasi [tex]\tt apakahPrima = true[/tex].Dari [tex]\tt i=2[/tex] hingga [tex]\tt i=n-1[/tex], lakukan iterasi:◇ Jika [tex]\tt n\ mod\ i = 0[/tex], maka [tex]\tt apakahPrima = false[/tex], dan hentikan iterasi.◇ Jika tidak, lanjutkan iterasi.Jika [tex]\tt apakahPrima = true[/tex], maka tampilkan “Prima”.Jika tidak ([tex]\tt apakahPrima = false[/tex]), maka tampilkan “Bukan prima”.Algoritma dalam bentuk PseudocodeAlgoritma Menentukan Prima atau Bukan Prima{ Menerima masukan bilangan bulat positif, menentukan apakah bilangan tersebut prima,dan menampilkan hasilnya. }Kamus n: integer ≥ 0 {unsigned integer} i: integer apakahPrima: booleanAlgoritma read n if n = 1 then print “Bukan prima” exit {proses selesai, keluar dari program} end if apakahPrima ← true for i ← 2 to n–1 do if (n % i = 0) then apakahPrima ← false break {hentikan iterasi} end if end for if apakahPrima then print “Prima” else print “Bukan prima” end ifAlgoritma dalam bentuk Flowchart(terdapat pada gambar)2. METODE TEROPTIMASIOptimasi algoritma penentuan sebuah bilangan prima atau bukan, dapat dilakukan dengan sebuah metode yang dapat disebut sebagai “optimasi 6k+1”. Kita langsung jabarkan prosesnya dalam bentuk algoritma bahasa manusia. Asumsi: Terdefinisi fungsi [tex]\tt floor(x)[/tex], yang menghasilkan bagian bilangan bulat dari sebuah bilangan pecahan (pecahan desimal atau pecahan campuran). Misalnya: [tex]\tt floor(2.6)[/tex] menghasilkan 2.Algoritma Bahasa Manusia (Bahasa Alami/Natural)1. Baca masukan bilangan bulat positif [tex]\tt n[/tex].2. Asumsikan n prima dengan inisialisasi [tex]\tt apakahPrima = true[/tex].3.1. Jika [tex]\tt n \le 3[/tex], maka [tex]\tt apakahPrima = true[/tex] jika [tex]\tt n = 2[/tex].3.2. Selain itu (untuk n > 3): 3.2.1. Jika n mod 2 = 0 atau n mod 3 = 0, maka . 3.2.2. Jika tidak: 3.2.2.1. Inisialisasi [tex]\tt i=5[/tex]. 3.2.2.2. Selama [tex]\tt i \le floor(\sqrt{n}\,)[/tex]: 3.2.2.2.1. Jika n mod i = 0, atau n mod (i+2) = 0, maka [tex]\tt apakahPrima = false[/tex], dan hentikan iterasi. 3.2.2.2.2. Inkrementasi [tex]\tt i[/tex] dengan 6: [tex]\tt i = i+6[/tex].4.1. Jika [tex]\tt apakahPrima = true[/tex], maka tampilkan “Prima”.4.2. Jika tidak ([tex]\tt apakahPrima = false[/tex]), maka tampilkan “Bukan prima”.Algoritma dalam bentuk Pseudocode(terdapat pada gambar, karena konten jawaban tidak mencukupi)Algoritma dalam bentuk Flowchart(terdapat pada gambar)______________Detail JawabanMata Pelajaran: InformatikaMateri: Algoritma dan Pemrograman](https://id-static.z-dn.net/files/de0/3bcefe94f876a0322dd60473edbc0675.jpg)
![SOAL 1Untuk persoalan ini, kita punya tiga alternatif dalam penentuan nilai ekuivalensi mata uang, yaitu:sebagai konstanta,sebagai masukan dari user,sebagai data yang diambil dari sumber data di luar program.Kita gunakan versi yang paling dasar, yaitu menetapkan ekuivalensi mata uang sebagai konstanta.Algoritma Bahasa Manusia (Bahasa Alami/Natural)Tetapkan konstanta:◇ [tex]\tt DOLLAR = 8250[/tex]◇ [tex]\tt YEN = 4000[/tex]◇ [tex]\tt PESO = 2500[/tex]Baca masukan [tex]\tt rupiah[/tex], yaitu nilai uang (dalam rupiah).Kalkulasi: ◇ [tex]\tt dollar=rupiah\times DOLLAR[/tex]◇ [tex]\tt yen=rupiah\times YEN[/tex]◇ [tex]\tt peso=rupiah\times PESO[/tex]Tampilkan [tex]\tt dollar[/tex], [tex]\tt yen[/tex], [tex]\tt peso[/tex].Algoritma dalam bentuk PseudocodeAlgoritma Menghitung Nilai Uang{ Menerima input/masukan berupa nilai uang dalam rupiah,melakukan konversi menjadi dollar, yen, dan peso, sertamenampilkan hasil konversi pada perangkat output. }Kamus const DOLLAR: real = 8250 const YEN: real = 4000 const PESO: real = 2500 rupiah: real dollar: real yen: real peso: realAlgoritma read rupiah dollar ← rupiah * DOLLAR yen ← rupiah * YEN peso ← rupiah * PESO print dollar, yen, pesoAlgoritma dalam bentuk Flowchart(terdapat pada gambar)______________SOAL 2Untuk menentukan suatu bilangan merupakan bilangan prima atau bukan, sepengetahuan saya, terdapat dua metode. Saya namakan kedua metode ini: metode biasa (naif) dan metode teroptimasi.1. METODE BIASA (NAIF)Misalkan bilangan yang diperiksa adalah n. Pada metode ini, kita periksa apakah n habis dibagi oleh 2, 3, 4, dst. hingga n–1. Salah satu saja habis membagi n, maka bilangan n bukan prima.Kita gunakan variabel bantuan bertipe boolean (true atau false), yaitu [tex]\tt apakahPrima[/tex]. Kita juga akan menggunakan variabel untuk looping/iterasi.Untuk menentukan keterbagian bilangan, kita gunakan operator “mod“. Jika a mod b = 0, maka a habis dibagi b. Pada pseudocode, operator ”mod“ dilambangkan dengan ”%“, seperti pada implementasi bahasa pemrograman pada umumnya.Algoritma Bahasa Manusia (Bahasa Alami/Natural)Baca masukan bilangan bulat positif \tt n.Jika [tex]\tt n = 1[/tex], maka tampilkan “Bukan prima”, dan proses selesai.Asumsikan n prima dengan inisialisasi [tex]\tt apakahPrima = true[/tex].Dari [tex]\tt i=2[/tex] hingga [tex]\tt i=n-1[/tex], lakukan iterasi:◇ Jika [tex]\tt n\ mod\ i = 0[/tex], maka [tex]\tt apakahPrima = false[/tex], dan hentikan iterasi.◇ Jika tidak, lanjutkan iterasi.Jika [tex]\tt apakahPrima = true[/tex], maka tampilkan “Prima”.Jika tidak ([tex]\tt apakahPrima = false[/tex]), maka tampilkan “Bukan prima”.Algoritma dalam bentuk PseudocodeAlgoritma Menentukan Prima atau Bukan Prima{ Menerima masukan bilangan bulat positif, menentukan apakah bilangan tersebut prima,dan menampilkan hasilnya. }Kamus n: integer ≥ 0 {unsigned integer} i: integer apakahPrima: booleanAlgoritma read n if n = 1 then print “Bukan prima” exit {proses selesai, keluar dari program} end if apakahPrima ← true for i ← 2 to n–1 do if (n % i = 0) then apakahPrima ← false break {hentikan iterasi} end if end for if apakahPrima then print “Prima” else print “Bukan prima” end ifAlgoritma dalam bentuk Flowchart(terdapat pada gambar)2. METODE TEROPTIMASIOptimasi algoritma penentuan sebuah bilangan prima atau bukan, dapat dilakukan dengan sebuah metode yang dapat disebut sebagai “optimasi 6k+1”. Kita langsung jabarkan prosesnya dalam bentuk algoritma bahasa manusia. Asumsi: Terdefinisi fungsi [tex]\tt floor(x)[/tex], yang menghasilkan bagian bilangan bulat dari sebuah bilangan pecahan (pecahan desimal atau pecahan campuran). Misalnya: [tex]\tt floor(2.6)[/tex] menghasilkan 2.Algoritma Bahasa Manusia (Bahasa Alami/Natural)1. Baca masukan bilangan bulat positif [tex]\tt n[/tex].2. Asumsikan n prima dengan inisialisasi [tex]\tt apakahPrima = true[/tex].3.1. Jika [tex]\tt n \le 3[/tex], maka [tex]\tt apakahPrima = true[/tex] jika [tex]\tt n = 2[/tex].3.2. Selain itu (untuk n > 3): 3.2.1. Jika n mod 2 = 0 atau n mod 3 = 0, maka . 3.2.2. Jika tidak: 3.2.2.1. Inisialisasi [tex]\tt i=5[/tex]. 3.2.2.2. Selama [tex]\tt i \le floor(\sqrt{n}\,)[/tex]: 3.2.2.2.1. Jika n mod i = 0, atau n mod (i+2) = 0, maka [tex]\tt apakahPrima = false[/tex], dan hentikan iterasi. 3.2.2.2.2. Inkrementasi [tex]\tt i[/tex] dengan 6: [tex]\tt i = i+6[/tex].4.1. Jika [tex]\tt apakahPrima = true[/tex], maka tampilkan “Prima”.4.2. Jika tidak ([tex]\tt apakahPrima = false[/tex]), maka tampilkan “Bukan prima”.Algoritma dalam bentuk Pseudocode(terdapat pada gambar, karena konten jawaban tidak mencukupi)Algoritma dalam bentuk Flowchart(terdapat pada gambar)______________Detail JawabanMata Pelajaran: InformatikaMateri: Algoritma dan Pemrograman](https://id-static.z-dn.net/files/de3/9e4e541ffb1463ee52dbbb42aa939da4.jpg)
![SOAL 1Untuk persoalan ini, kita punya tiga alternatif dalam penentuan nilai ekuivalensi mata uang, yaitu:sebagai konstanta,sebagai masukan dari user,sebagai data yang diambil dari sumber data di luar program.Kita gunakan versi yang paling dasar, yaitu menetapkan ekuivalensi mata uang sebagai konstanta.Algoritma Bahasa Manusia (Bahasa Alami/Natural)Tetapkan konstanta:◇ [tex]\tt DOLLAR = 8250[/tex]◇ [tex]\tt YEN = 4000[/tex]◇ [tex]\tt PESO = 2500[/tex]Baca masukan [tex]\tt rupiah[/tex], yaitu nilai uang (dalam rupiah).Kalkulasi: ◇ [tex]\tt dollar=rupiah\times DOLLAR[/tex]◇ [tex]\tt yen=rupiah\times YEN[/tex]◇ [tex]\tt peso=rupiah\times PESO[/tex]Tampilkan [tex]\tt dollar[/tex], [tex]\tt yen[/tex], [tex]\tt peso[/tex].Algoritma dalam bentuk PseudocodeAlgoritma Menghitung Nilai Uang{ Menerima input/masukan berupa nilai uang dalam rupiah,melakukan konversi menjadi dollar, yen, dan peso, sertamenampilkan hasil konversi pada perangkat output. }Kamus const DOLLAR: real = 8250 const YEN: real = 4000 const PESO: real = 2500 rupiah: real dollar: real yen: real peso: realAlgoritma read rupiah dollar ← rupiah * DOLLAR yen ← rupiah * YEN peso ← rupiah * PESO print dollar, yen, pesoAlgoritma dalam bentuk Flowchart(terdapat pada gambar)______________SOAL 2Untuk menentukan suatu bilangan merupakan bilangan prima atau bukan, sepengetahuan saya, terdapat dua metode. Saya namakan kedua metode ini: metode biasa (naif) dan metode teroptimasi.1. METODE BIASA (NAIF)Misalkan bilangan yang diperiksa adalah n. Pada metode ini, kita periksa apakah n habis dibagi oleh 2, 3, 4, dst. hingga n–1. Salah satu saja habis membagi n, maka bilangan n bukan prima.Kita gunakan variabel bantuan bertipe boolean (true atau false), yaitu [tex]\tt apakahPrima[/tex]. Kita juga akan menggunakan variabel untuk looping/iterasi.Untuk menentukan keterbagian bilangan, kita gunakan operator “mod“. Jika a mod b = 0, maka a habis dibagi b. Pada pseudocode, operator ”mod“ dilambangkan dengan ”%“, seperti pada implementasi bahasa pemrograman pada umumnya.Algoritma Bahasa Manusia (Bahasa Alami/Natural)Baca masukan bilangan bulat positif \tt n.Jika [tex]\tt n = 1[/tex], maka tampilkan “Bukan prima”, dan proses selesai.Asumsikan n prima dengan inisialisasi [tex]\tt apakahPrima = true[/tex].Dari [tex]\tt i=2[/tex] hingga [tex]\tt i=n-1[/tex], lakukan iterasi:◇ Jika [tex]\tt n\ mod\ i = 0[/tex], maka [tex]\tt apakahPrima = false[/tex], dan hentikan iterasi.◇ Jika tidak, lanjutkan iterasi.Jika [tex]\tt apakahPrima = true[/tex], maka tampilkan “Prima”.Jika tidak ([tex]\tt apakahPrima = false[/tex]), maka tampilkan “Bukan prima”.Algoritma dalam bentuk PseudocodeAlgoritma Menentukan Prima atau Bukan Prima{ Menerima masukan bilangan bulat positif, menentukan apakah bilangan tersebut prima,dan menampilkan hasilnya. }Kamus n: integer ≥ 0 {unsigned integer} i: integer apakahPrima: booleanAlgoritma read n if n = 1 then print “Bukan prima” exit {proses selesai, keluar dari program} end if apakahPrima ← true for i ← 2 to n–1 do if (n % i = 0) then apakahPrima ← false break {hentikan iterasi} end if end for if apakahPrima then print “Prima” else print “Bukan prima” end ifAlgoritma dalam bentuk Flowchart(terdapat pada gambar)2. METODE TEROPTIMASIOptimasi algoritma penentuan sebuah bilangan prima atau bukan, dapat dilakukan dengan sebuah metode yang dapat disebut sebagai “optimasi 6k+1”. Kita langsung jabarkan prosesnya dalam bentuk algoritma bahasa manusia. Asumsi: Terdefinisi fungsi [tex]\tt floor(x)[/tex], yang menghasilkan bagian bilangan bulat dari sebuah bilangan pecahan (pecahan desimal atau pecahan campuran). Misalnya: [tex]\tt floor(2.6)[/tex] menghasilkan 2.Algoritma Bahasa Manusia (Bahasa Alami/Natural)1. Baca masukan bilangan bulat positif [tex]\tt n[/tex].2. Asumsikan n prima dengan inisialisasi [tex]\tt apakahPrima = true[/tex].3.1. Jika [tex]\tt n \le 3[/tex], maka [tex]\tt apakahPrima = true[/tex] jika [tex]\tt n = 2[/tex].3.2. Selain itu (untuk n > 3): 3.2.1. Jika n mod 2 = 0 atau n mod 3 = 0, maka . 3.2.2. Jika tidak: 3.2.2.1. Inisialisasi [tex]\tt i=5[/tex]. 3.2.2.2. Selama [tex]\tt i \le floor(\sqrt{n}\,)[/tex]: 3.2.2.2.1. Jika n mod i = 0, atau n mod (i+2) = 0, maka [tex]\tt apakahPrima = false[/tex], dan hentikan iterasi. 3.2.2.2.2. Inkrementasi [tex]\tt i[/tex] dengan 6: [tex]\tt i = i+6[/tex].4.1. Jika [tex]\tt apakahPrima = true[/tex], maka tampilkan “Prima”.4.2. Jika tidak ([tex]\tt apakahPrima = false[/tex]), maka tampilkan “Bukan prima”.Algoritma dalam bentuk Pseudocode(terdapat pada gambar, karena konten jawaban tidak mencukupi)Algoritma dalam bentuk Flowchart(terdapat pada gambar)______________Detail JawabanMata Pelajaran: InformatikaMateri: Algoritma dan Pemrograman](https://id-static.z-dn.net/files/d87/4868127424b5d75744a421d96f88ae43.jpg)
![SOAL 1Untuk persoalan ini, kita punya tiga alternatif dalam penentuan nilai ekuivalensi mata uang, yaitu:sebagai konstanta,sebagai masukan dari user,sebagai data yang diambil dari sumber data di luar program.Kita gunakan versi yang paling dasar, yaitu menetapkan ekuivalensi mata uang sebagai konstanta.Algoritma Bahasa Manusia (Bahasa Alami/Natural)Tetapkan konstanta:◇ [tex]\tt DOLLAR = 8250[/tex]◇ [tex]\tt YEN = 4000[/tex]◇ [tex]\tt PESO = 2500[/tex]Baca masukan [tex]\tt rupiah[/tex], yaitu nilai uang (dalam rupiah).Kalkulasi: ◇ [tex]\tt dollar=rupiah\times DOLLAR[/tex]◇ [tex]\tt yen=rupiah\times YEN[/tex]◇ [tex]\tt peso=rupiah\times PESO[/tex]Tampilkan [tex]\tt dollar[/tex], [tex]\tt yen[/tex], [tex]\tt peso[/tex].Algoritma dalam bentuk PseudocodeAlgoritma Menghitung Nilai Uang{ Menerima input/masukan berupa nilai uang dalam rupiah,melakukan konversi menjadi dollar, yen, dan peso, sertamenampilkan hasil konversi pada perangkat output. }Kamus const DOLLAR: real = 8250 const YEN: real = 4000 const PESO: real = 2500 rupiah: real dollar: real yen: real peso: realAlgoritma read rupiah dollar ← rupiah * DOLLAR yen ← rupiah * YEN peso ← rupiah * PESO print dollar, yen, pesoAlgoritma dalam bentuk Flowchart(terdapat pada gambar)______________SOAL 2Untuk menentukan suatu bilangan merupakan bilangan prima atau bukan, sepengetahuan saya, terdapat dua metode. Saya namakan kedua metode ini: metode biasa (naif) dan metode teroptimasi.1. METODE BIASA (NAIF)Misalkan bilangan yang diperiksa adalah n. Pada metode ini, kita periksa apakah n habis dibagi oleh 2, 3, 4, dst. hingga n–1. Salah satu saja habis membagi n, maka bilangan n bukan prima.Kita gunakan variabel bantuan bertipe boolean (true atau false), yaitu [tex]\tt apakahPrima[/tex]. Kita juga akan menggunakan variabel untuk looping/iterasi.Untuk menentukan keterbagian bilangan, kita gunakan operator “mod“. Jika a mod b = 0, maka a habis dibagi b. Pada pseudocode, operator ”mod“ dilambangkan dengan ”%“, seperti pada implementasi bahasa pemrograman pada umumnya.Algoritma Bahasa Manusia (Bahasa Alami/Natural)Baca masukan bilangan bulat positif \tt n.Jika [tex]\tt n = 1[/tex], maka tampilkan “Bukan prima”, dan proses selesai.Asumsikan n prima dengan inisialisasi [tex]\tt apakahPrima = true[/tex].Dari [tex]\tt i=2[/tex] hingga [tex]\tt i=n-1[/tex], lakukan iterasi:◇ Jika [tex]\tt n\ mod\ i = 0[/tex], maka [tex]\tt apakahPrima = false[/tex], dan hentikan iterasi.◇ Jika tidak, lanjutkan iterasi.Jika [tex]\tt apakahPrima = true[/tex], maka tampilkan “Prima”.Jika tidak ([tex]\tt apakahPrima = false[/tex]), maka tampilkan “Bukan prima”.Algoritma dalam bentuk PseudocodeAlgoritma Menentukan Prima atau Bukan Prima{ Menerima masukan bilangan bulat positif, menentukan apakah bilangan tersebut prima,dan menampilkan hasilnya. }Kamus n: integer ≥ 0 {unsigned integer} i: integer apakahPrima: booleanAlgoritma read n if n = 1 then print “Bukan prima” exit {proses selesai, keluar dari program} end if apakahPrima ← true for i ← 2 to n–1 do if (n % i = 0) then apakahPrima ← false break {hentikan iterasi} end if end for if apakahPrima then print “Prima” else print “Bukan prima” end ifAlgoritma dalam bentuk Flowchart(terdapat pada gambar)2. METODE TEROPTIMASIOptimasi algoritma penentuan sebuah bilangan prima atau bukan, dapat dilakukan dengan sebuah metode yang dapat disebut sebagai “optimasi 6k+1”. Kita langsung jabarkan prosesnya dalam bentuk algoritma bahasa manusia. Asumsi: Terdefinisi fungsi [tex]\tt floor(x)[/tex], yang menghasilkan bagian bilangan bulat dari sebuah bilangan pecahan (pecahan desimal atau pecahan campuran). Misalnya: [tex]\tt floor(2.6)[/tex] menghasilkan 2.Algoritma Bahasa Manusia (Bahasa Alami/Natural)1. Baca masukan bilangan bulat positif [tex]\tt n[/tex].2. Asumsikan n prima dengan inisialisasi [tex]\tt apakahPrima = true[/tex].3.1. Jika [tex]\tt n \le 3[/tex], maka [tex]\tt apakahPrima = true[/tex] jika [tex]\tt n = 2[/tex].3.2. Selain itu (untuk n > 3): 3.2.1. Jika n mod 2 = 0 atau n mod 3 = 0, maka . 3.2.2. Jika tidak: 3.2.2.1. Inisialisasi [tex]\tt i=5[/tex]. 3.2.2.2. Selama [tex]\tt i \le floor(\sqrt{n}\,)[/tex]: 3.2.2.2.1. Jika n mod i = 0, atau n mod (i+2) = 0, maka [tex]\tt apakahPrima = false[/tex], dan hentikan iterasi. 3.2.2.2.2. Inkrementasi [tex]\tt i[/tex] dengan 6: [tex]\tt i = i+6[/tex].4.1. Jika [tex]\tt apakahPrima = true[/tex], maka tampilkan “Prima”.4.2. Jika tidak ([tex]\tt apakahPrima = false[/tex]), maka tampilkan “Bukan prima”.Algoritma dalam bentuk Pseudocode(terdapat pada gambar, karena konten jawaban tidak mencukupi)Algoritma dalam bentuk Flowchart(terdapat pada gambar)______________Detail JawabanMata Pelajaran: InformatikaMateri: Algoritma dan Pemrograman](https://id-static.z-dn.net/files/d06/151043ef34d7b689550bb965d95f82ce.jpg)
Semoga dengan pertanyaan yang sudah terjawab oleh henriyulianto dapat membantu memudahkan mengerjakan soal, tugas dan PR sekolah kalian.
Apabila terdapat kesalahan dalam mengerjakan soal, silahkan koreksi jawaban dengan mengirimkan email ke yomemimo.com melalui halaman Contact
Last Update: Thu, 29 Dec 22