Soal 1. Studi Kasus Buatlah Algoritma bahasa manusia, Flochart &

Berikut ini adalah pertanyaan dari sallomiant pada mata pelajaran TI untuk jenjang Sekolah Menengah Atas

Soal 1.Studi Kasus Buatlah Algoritma bahasa manusia, Flochart & Pseudocode Untuk Menghitung Nilai Uang Dalam bentuk Dollar,Yen dan Peso Dalam rumus

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)

  1. Tetapkan konstanta:
    \tt DOLLAR = 8250
    \tt YEN = 4000
    \tt PESO = 2500
  2. Baca masukan \tt rupiah, yaitu nilai uang (dalam rupiah).
  3. Kalkulasi:
    \tt dollar=rupiah\times DOLLAR
    \tt yen=rupiah\times YEN
    \tt peso=rupiah\times PESO
  4. Tampilkan \tt dollar, \tt yen, \tt peso.

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 \tt apakahPrima. 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)

  1. Baca masukan bilangan bulat positif \tt n.
  2. Jika \tt n = 1, maka tampilkan “Bukan prima”, dan proses selesai.
  3. Asumsikan n prima dengan inisialisasi \tt apakahPrima = true.
  4. Dari \tt i=2hingga\tt i=n-1, lakukan iterasi:
    ◇ Jika \tt n\ mod\ i = 0,
        maka \tt apakahPrima = false, dan hentikan iterasi.
    ◇ Jika tidak, lanjutkan iterasi.
  5. Jika \tt apakahPrima = true, maka tampilkan “Prima”.
    Jika tidak (\tt apakahPrima = false), 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 \tt floor(x), yang menghasilkan bagian bilangan bulat dari sebuah bilangan pecahan (pecahan desimal atau pecahan campuran). Misalnya: \tt floor(2.6) menghasilkan 2.

Algoritma Bahasa Manusia (Bahasa Alami/Natural)

1. Baca masukan bilangan bulat positif \tt n.
2. Asumsikan n prima dengan inisialisasi \tt apakahPrima = true.
3.1. Jika \tt n \le 3, maka \tt apakahPrima = truejika\tt n = 2.
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 \tt i=5.
       3.2.2.2. Selama \tt i \le floor(\sqrt{n}\,):
            3.2.2.2.1. Jika n mod i = 0, atau n mod (i+2) = 0,
                 maka \tt apakahPrima = false, dan hentikan iterasi.
            3.2.2.2.2. Inkrementasi \tt i dengan 6: \tt i = i+6.
4.1. Jika \tt apakahPrima = true, maka tampilkan “Prima”.
4.2. Jika tidak (\tt apakahPrima = false), 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 PemrogramanSOAL 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 PemrogramanSOAL 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 PemrogramanSOAL 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 PemrogramanSOAL 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

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