Monday, August 21, 2017

Soal dan Jawaban Algoritma dan Pemograman 1 .

Assalamu'alaikum ..
Berikut saya akan share soal dan jawaban Algoritma dan Pemograman .


1.Apa defnisi algoritma dan contohnya !

Jawab :

(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. ertimbangan 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.

Untuk contoh algoritma dalam matematika seperti di bawah ini:
Algoritma untuk menghitung nilai y dari persamaan y = 3x + 8
Algoritmanya adalah:
  • ·         Mulai
  • ·         Tentukan nilai x
  • ·         Hitung nilai y = 3x + 8
  • ·         Cetak nilai x dan y
  • ·         Selesai.

2. Apa definisi psedocode dan contohnya !

Jawab :

Pseudo-code adalah kode atau tanda yang menyerupai (pseudo) atau merupakan penjelasan cara menyelesaikan suatu masalah. Pseudo-code sering digunakan oleh seseorang untuk menuliskan algoritma dari suatu permasalahan. Pseudo-code berisikan langkah-langkah untuk menyelesaikansuatu permasalahan [hampir sama dengan algoritma], hanya saja bentuknya sedikit berbeda dari algoritma .

Contohnya :
Pseudocode menghitung luas persegi panjang

{
            double luas
            double panjang
            double lebar

            panjang = 10.5
            lebar = 2

            luas = panjang * lebar

            print Luas Persegi Panjang  = Luas
}

3. Apa definisi flowchart dan contohnya !

Jawab :

Flowchart adalah representasi grafik dari langkah-langkah yang harus diikuti dalam menyelesaikansuatu permasalahan yang terdiri atas sekumpulan simbol, dimana masing-masing symbol merepresentasikan suatu kegiatan tertentu. Flowchart diawali dengan penerimaan input,pemrosesan input, dan diakhiri dengan penampilan output.Simbol-simbol Flowchart : 

Contohnya :

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

Jawab

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. Jelaskan dengan contoh kasus algoritma yang memiliki struktur percabangan.!

Jawab:

Contoh kasus algoritma yang memiliki struktur percabangan:

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

 kasus algoritma yang memiliki struktur percabangan

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

    a. for

    b. while

Jawab:

 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> doAksi
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}.





0 comments:

Post a Comment

Silahkan berkomentar secara bijak dan sesuai dengan topik pembahasan .

Arsitektur Komputer

Assalamu'alaikum kali ini saya akan share materi Arsitektur Komputer, semoga bermanfaat . Arsitektur Komputer Komponen2 Kompu...

 
Design by Wordpress Theme | Bloggerized by Free Blogger Templates | coupon codes