SOAL DAN JAWABAN ALGORITMA.

kali ini saya akan share soal dan jawaban algoritma.

Berikut adalah  soal dan jawaban algoritma:

Soal:

1. Apa definisi algoritma dan contohnya .!

2. Apa definisi Pseudo Code dan contohnya .!

3. Apa definisi flowchart dan contohnya .!

4. Jelaskan dengan contoh kasus algoritma yang memiliki struktur runtunan.!

5. Jelaskan dengan contoh kasus algoritma yang memiliki struktur percabangan.!

6. Jelaskan dengan contoh kasus algoritma yang memiliki struktur perulangan:

    a. for

    b. while

Jawaban:

1. Definisi Algoritma.
    “Algoritma adalah urutan langkah-langkah logis penyelesaian masalah yang disusun secara   sistematis dan logis”. Kata logis merupakan kata kunci dalam algoritma. Langkah-langkah dalam algoritma harus logis dan harus dapat ditentukan bernilai salah atau benar. Dalam beberapa konteks, algoritma adalah spesifikasi urutan langkah untuk melakukan pekerjaan tertentu. Pertimbangan dalam pemilihan algoritma adalah, pertama, algoritma haruslah benar. Artinya algoritma akan memberikan keluaran yang dikehendaki dari sejumlah masukan yang diberikan. Tidak peduli sebagus apapun algoritma, kalau memberikan keluaran yang salah, pastilah algoritma tersebut bukanlah algoritma yang baik.

Contoh:
Algoritma mendapatkan minyak dengan volume 4 liter.

  1. Isi penuh ember 3 liter dengan minyak. {ember 3 liter berisi minyak 3 liter}
  2. Tuangkan minyak dari ember 3 liter ke dalam ember 5 liter. {ember 5 liter berisi minyak 3 liter}.
  3. Isi penuh ember 3 liter dengan minyak. {ember 3 liter berisi minyak 3 liter}
  4. Tuang minyak dari ember 3 liter ke ember 5 liter hingga ember 5 liter penuh. {di dalam ember 3 liter sekarang berisi minyak sebanyak 1 liter}
  5. Kembalikan minyak dari ember 5 liter ke dalam drumnya. {ember 5 liter kosong}
  6. Tuangkan minyak dari ember 3 liter ke ember 5 liter. {ember 3 liter kosong, ember 5 liter berisi minyak 1 liter}
  7. Isi penuh ember 3 liter dengan minyak, lalu tuang ke dalam ember 5 liter. Maka akan diperoleh minyak sebanyak 4 liter {1 + 3 = 4 liter minyak }.




2. Definisi Pseudo code.

    Pseudo Code adalah urutan baris algoritma seperti kode pemrograman dan tidak memiliki sintak yang baku. Pseudo Code lebih umum digunakan oleh programmer yang berpengalaman. Akan tetapi, flowchart lebih mudah dimengerti oleh programmer pemula, pseudo code sangat mudah diimplementasikan ke dalam kode program dibandingkan dengan flowchart. Kita bisa bebas menulis pseudo code selama itu mudah dimengerti bagi orang lain. Tetapi disarankan untuk menggunakan keyword yang umum digunakan seperti : if, then, else, while, do, repeat, for, dan lainnya. Dan ikuti gaya penulisan pemrograman seperti Pascal, C++, dll.

Contoh:
Pseudocode dari luas Persegi adalah:
 
read(panjang, lebar)
    Luas = panjang * lebar

    write(Luas)
end





3. Definisi Flowchart.
    flowchart adalah suatu representasi secara diagram yang mengilustrasikan urutan dari operasi yang dilakukan untuk mendapatkan suatu hasil. Dengan kata lain, flowchart membantu kita untuk mengerti dan melihat bentuk algoritma dengan menampilkan algoritma dalam simbol-simbol gambar.

Contoh:



4. Contoh algoritma yang memiliki struktur runtutan:

    Dibaca waktu tempuh seorang pelari marathon dalam jam-menit-detik (hh:mm:ss). Diminta mengkonversi waktu tempuh tersebut ke dalam detik. Tuliskan algoritmanya.
Ingatlah
        1 menit = 60 detik
        1 jam = 3600 detik
Misalnya waktu tempuh seorang pelari marathon adalah 1 jam, 5 menit, 40 detik. Dalam detik, waktu tempuh seluruhnya adalah ( 1 x 3600 ) + ( 5 x 60 ) + 40 = 3940 detik.

Penyelesaian :
Algoritma KONVERSI_JAM_KE_DETIK
{ dibaca jam-menit-detik (hh:mm:ss). Nilai jam-menit-detik dikonversi ke dalam detik, lalu ditampilkan ke piranti keluaran }

DEKLARASI
Type jam : record <hh : integer    {0..23},    {jam}
              mm : integer    {0..59},    {menit}
              ss : integer    {0..59},    {detik}
             >
J : jam
TotalDetik : integer

DESKRIPSI
read(J.hh,J.mm,J.ss))
TotalDetik ← (J.hh*3600) + (J.mm*60) + J.ss
write(TotalDetik)

Jika anda mentranslasikan algoritma KONVERSI_JAM_KE_DETIK ke dalam bahasa pascal, anda harus memperhatikan tipe bilangan bulat yang digunakan. Karena ranah nilai tipe integer terbatas, maka ada kemungkinan hasil pengubahan jam-menit-detik ke total detik bernilai negatif, sebab nilai (J.hh*3600) + (J.mm*60) + J.ss berada di luar rentang tipe integer. Tipe longint yang mempunyai ranah yang lebih besar dapat dipakai untuk masalah ini.
Jadi, program KONVERSI_JAM_KE_DETIK dalam bahasa pascal adalah sebagai berikut :
program KONVERSI_JAM_KE_DETIK;
{ dibaca jam-menit-detik (hh:mm:ss). Nilai jam-menit-detik dikonversi ke dalam detik, lalu ditampilkan ke piranti keluaran.}

uses wincrt;

(* DEKLARASI *)
type Jam = record
        hh : longint;        {jam}
        mm : longint;        {menit}
        ss : longint;        {detik}
         end;

var
  J : Jam;
  TotalDetik : longint;

(* deskripsi *)
begin
   write(‘Jam  :’); readln(J.hh);
   write(‘Menit:’); readln(J.mm);
   write(‘Detik:’); readln(J.ss);
   TotalDetik:= (J.hh*3600) + (J.mm*60) + J.ss;
   writeln(‘Total detik = ‘, TotalDetik);
end.


5. Contoh kasus algoritma yang memiliki struktur percabangan:

  Dalam suatu perhitungan, nilai P = X + Y. Jika P positif, maka Q = X * Y, sedangkan jika negative maka nilai Q = X/Y. Buatlah flowchart untuk mencari nilai P dan Q

Penyelesaian:
Pada contoh ini input yang dibutuhkan adalah nilai X dan Y, sedangkan proses pemeriksaan kondisi dilakukan pada nilai P apakah positif (termasuk 0) ataukah negative. Perhatikan flowchart penyelesaian masalah pada gambar 5.10.












6.
    a.Contoh kasus algoritma yang memiliki struktur perulangan FOR:

   Salah satu kelebihan komputer adalah kemampuannya untuk mengerjakan  pekerjaan yang sama berulang kali tanpa mengenal lelah.
Sewaktu duduk di sekolah dasar, bila anda pernah dihukum oleh guru untuk menuliskan sebuah kalimat sebanyak 500 kali, misalnya dikarenakan anda nakal tidak mengerjakan PR. Misalkan kalimat yang harus ditulis 500 kali tersebut adalah:
“Saya berjanji tidak akan nakal dan malas lagi”
Bila pekerjaan menulis kalimat ini diserahkan kepada komputer, maka pemrogram mungkin menuliskannya sebagai berikut:
 Algoritma menulis 500 kalimat

Deskripsi :
1. Saya berjanji tidak akan nakal dan malas lagi
2. Saya berjanji tidak akan nakal dan malas lagi
3. Saya berjanji tidak akan nakal dan malas lagi
4. Saya berjanji tidak akan nakal dan malas lagi
....
500

Tentu saja algoritma untuk menuliss 500 buah kalimat seperti diatas tidak elegan, karena instruksi
        “Saya berjanji tidak akan nakal dan malas lagi”harus dibuat di dalam teks algoritma sebanyak 500 kali. Untuk mengatasi hal ini, maka anda dapat menggunakan struktur pengulangan for-do sehingga algoritma menulis 500 buah kalimat dapat ditulis sebagai berikut:

Algoritma menulis 500 kalimat 

Menuliskan kalimat " Saya berjanji tidak akan nakal dan malas lagi " Sebanyak 500 kali.

Deskripsi :
for J dari 1 sampai 500 do
     t tulis kalimat " Saya berjanji tidak akan nakal dan malas lagi "

J adalah pencacah pengulangan yang dari 1 sampai 500. Komputer akan melaksanakan aksi tulis kalimat tersebut sebanyak 500 kali. Struktur pengulangan ini dapat ditulis secara umum sebagai berikut:
for pencacah pengulangan dari 1 sampai N do
    aksi

b. Contoh kasus algoritma yang memiliki struktur perulangan WHILE:
Bentuk umum struktur WHILE-DO adalah
while <kondisi> do Aksi
endwhile
aksi (atau runtunan aksi) akan dilaksanakan berulangkali sepanjang <kondisi> boolean masih tetap bernilai true, jika <kondisi> bernilai false, badan pengulangan tidak akan dilaksanakan. Pengulangan selesai.
Contoh 1:
Tuliskan algoritma untuk mencetak banyak HALO sebanyak 10 kali .
Algoritma cetak_banyak_halo
Deklarasi
K : integer {pencacah pengulangan}
Deskripsi
K ← 1 {inisialisasi}
While k ≤ 10 do
Write (‘HALO’)
K ←K+1
Endwhile
{kondisi berhenti : k > 10}.

Sekian post tentang soal dan jawaban algoritma dari saya .
Maaf bila ada tulisan yang tidak baik.
Wassalamualaikum Wr. Wb

Share this

Related Posts

First

37 comments

comments
August 24, 2015 at 4:49 AM delete

Algoritma itu susah apa mudah sih?

Reply
avatar
September 17, 2015 at 7:40 PM delete

coba jawab soal ini . buatlah algoritma untuk menemukan nilai tertinggi dari 3 buah nilai yang tersedia?

Reply
avatar
September 27, 2015 at 3:28 AM delete

{Menemukan_Nilai_Tertinggi_dari_tiga_buah_Nilai_}

Algoritma menentukan_bilangan_terbesar {mencari bilangan terbesar dari 3 bilangan yang diinput} Deklarasi :

Integer a,b,c,terbesar;

Deskripsi :

Write(“Masukkan Bilangan Pertama : ”);
Read(a);
Write(“Masukkan Bilangan Kedua : ”);
Read(b); Write(“Masukkan Bilangan Ketiga : ”);
Read(c); if (a>b) then if (a>c) […]

Reply
avatar
September 28, 2015 at 8:15 PM delete This comment has been removed by the author.
avatar
November 8, 2015 at 10:41 PM delete

Terimakasih sangat bermanfaat :D.

Reply
avatar
November 8, 2015 at 10:41 PM delete

Terimakasih sangat bermanfaat :D.

Reply
avatar
Anonymous
November 24, 2015 at 5:54 AM delete

Mohon bantuannya dong ...

Diketahui Variable N(Tipe Numerik Interger) Buat Flowchart untuk menampilkan seluruh bilangan prima yang kurang dari N ?

Ada yg bisa kah ?

Reply
avatar
April 2, 2016 at 5:50 AM delete

BAGIMANA BENTUK ALGORITMA, DENGAN OUTPUT sbb :

Masukan 8
Maka 1+2+3+4+5+6+7+8 = 36

TRims, atas jawabannya

Reply
avatar
October 6, 2016 at 6:58 PM delete

1. algoritma menghitung berapa siswa yang lulus bila ujian > 60
2. Algoritma mencetak bilangan genap dari n1 sd n2
3. Algoritma menentukan untung rugi dari rata2 pendapatan
bila lebih atau sama dengan 1000 maka untung
bila kurang dari 1000 maka rugi

ada yg tau gmn penyelesaiannya ???

Reply
avatar
October 16, 2016 at 3:47 PM delete

Mohon bantuanya
Tulislah Algoritma yang membaca sebuah karakter digit (0..9) lalu mengonversinya menjadi nilai integer (0..9) misalnya jika dibaca karakter 5 maka nilai konversinya ke integer adalah 5. Buatlah masing masing algoritma untuk dua keadaan berikut :
a. Karakter digit yang di baca diasumsikan sudah benar terletak dalam rentang 0..9
b. Karakter yadibaca mungkin bukan 0..9 jika karakter dibaca bukan karakter digit, maka hasil konversinya diasumsikan bernilai -99

Reply
avatar
November 10, 2016 at 7:17 PM delete

Klo untuk mengetahui hasil output 1, 2, 4, 7, 11, 16, 22,. Dengan mnggunakan while do bgmana kah cara mengerjakan dengan program.. Please help me

Reply
avatar
November 10, 2016 at 7:19 PM delete

Klo untuk mengetahui hasil output 1, 2, 4, 7, 11, 16, 22,. Dengan mnggunakan while do bgmana kah cara mengerjakan dengan program.. Please help me

Reply
avatar
June 3, 2017 at 1:45 AM delete

soal dan jawabn sama persis apa yg saya pelajarin..
thank's min smua nya sangat bermanfaat

My blog



Reply
avatar
August 14, 2017 at 6:02 AM delete

Enggak mudeng blass,,,
Tolong ajarin saya donk?
PIN : 598D6D34

Reply
avatar
August 28, 2017 at 6:17 PM delete

solusi pindahan rumah anda cahayamoving.com

Reply
avatar
October 2, 2017 at 5:39 PM delete

Buatlah algoritma yang menerima dua buah masukan berupa sisi tegak dan sisi alas segitiga dan menampilkan hasil luas segitiga!

Reply
avatar
October 2, 2017 at 5:41 PM delete

Buat algoritma yang menerima sebuah masukan berupa derajat celcius dan menampilkan hasil bilangan masukan itu menjadi derajat fahrenheit! (Rumus Celcius ke Fahrenheit ( ((9 * celcius) / 5) + 32)

Reply
avatar
October 4, 2017 at 6:46 AM delete

thanks gan sangat bermanfaat... :)

thetechid.com

Reply
avatar
October 25, 2017 at 6:25 PM delete

Rumus lagoritmanya udah cukup bagu

Reply
avatar
November 8, 2017 at 6:14 AM delete

https://17416255201075-rifanuralamwijaya.blogspot.co.id/2017/11/latihan-soal-ujian-algoritma.html?m=1

Reply
avatar
November 13, 2017 at 11:28 PM delete

Mohon bantuannya dong
Buatlah program untuk mengalihkan data 1 dan data 2 dimana data 1 diletakkan di reg B dan data 2 diletakkan di reg C hasil perkalian dipindahkan ke reg D

Reply
avatar
September 9, 2018 at 5:21 PM delete

Saya coba jawab karena sya baru belajar dan sangat pemula, jika salah mohon di benarkan ya jgn di bully
1. Read (string, integer)
If integer >=60
String ='lulus'

Reply
avatar
September 9, 2018 at 5:21 PM delete

Saya coba jawab karena sya baru belajar dan sangat pemula, jika salah mohon di benarkan ya jgn di bully
1. Read (string, integer)
If integer >=60
String ='lulus'

Reply
avatar
September 23, 2018 at 3:43 PM delete

Soalx menceritakan seorang yg membawa sayur,kambing n srigala,ingin menyebrang sungai,

Reply
avatar
R
September 30, 2018 at 8:25 AM delete

gimana penjelasan algoritma pseudecode dari :
1. menampilkan "laptop saya bermerk[asus]dengan processor[cpu]" dengan merk dan cpu inputan dari user.
tolong jawab secepatnya soalnya dikumpulkna besok pagi

Reply
avatar
November 4, 2018 at 4:01 PM delete

Tergantung orang nya mau belajar apa tidak :)

Reply
avatar
September 9, 2019 at 8:40 PM delete

Coba jawab menghitung keuntungan penjualan 5 buah TV dengan harga awal 1,5 juta dng keuntungan 10% perbuah

Reply
avatar
October 14, 2019 at 10:09 PM delete

Buatlah algoritma yang menghitung jumlah kuadrat dari bilangan bulat mulai 1 sampai 25,kemudian menampilkan hasilnya

Reply
avatar