Minggu, 26 Oktober 2014

Tugas Algoritma

1. Algoritma adalah metode efektif diekspresikan sebagai rangkaian terbatas [1] dari instruksi-instruksi yang telah didefinisikan dengan baik [2] untuk menghitung sebuah fungsi.
Pada contoh ini, ada dua percabangan. Yang pertama adalah pemeriksaan apakah nilai UTS siswa lebih dari 70. Kedua, apabila nilai UTS tidak lebih dari 70, maka dilakukan pemeriksaan apakah nilai akhir lebih dari 60. Input yang dibutuhkan untuk permasalahan ini adalah NIM, nama siswa, nilai UTS, dan nilai UAS. Sehingga variable input yang digunakan adalah: NIM untuk Nomor induk siswa, nama untuk nama siswa, NUTS untuk nilai ujian tengah semester, dan NUAS untuk nilai ujian akhir semester. Sedangkan variabel ouput terdiri dari NA yang digunakan untuk menyimpan nilai akhir, dan Status untuk menyimpan status kelulusan.
 
2. Sebuah flowchart adalah jenis diagram yang mewakili suatu algoritma, alur kerja atau proses, menunjukkan langkah-langkah sebagai kotak dari berbagai jenis, dan ketertiban mereka dengan menghubungkan mereka dengan panah.
3.Buatlah       H flowchart untuk menghitung:a. volume balokb. luas lingkaranPenyelesaian:Soal ini merupakan permasalahan dengan algoritma struktur berurutan karena tidak ada proses pemilihanatau pengulangan. Untuk volume balok, kita harus menentukan variabel input dan output yangdibutuhkan. Untuk menghitung volume balok dibutuhkan variabel input panjang, lebardan tinggi. Sedangkan variabel outputnya adalah volume. Pada luas lingkaran dibutuhkan variabel input radius dan 
variabel output luas. Untuk menghitung luas lingkaran ini kita juga membutuhkan konstantaphi.  
4. Sebuah usaha fotokopi mempunyai aturan sebagai berikut:
  • Jika yang fotokopi statusnya adalah langganan, maka berapa lembar pun dia fotokopi, harga perlembarnya Rp. 75,-
  • Jika yang fotokopi bukan langganan, maka jika dia fotokopi kurang dari 100 lembar harga perlembarnya Rp. 100,-. Sedangkan jika lebih atau sama dengan 100 lembar maka harga perlembarnya Rp. 85,-.
Buatlah flowchart untuk menghitung total harga yang harus dibayar jika seseorang memfotokopi sejumlah X lembar.

Penyelesaian:
Pada contoh ini, masalah terlihat lebih rumit. Ada dua percabangan yang terjadi. Yang pertama adalah pemeriksaan apakah status seseorang pelanggan atau bukan. Kedua, apabila status seseorang bukan pelanggan, maka dilakukan pemeriksaan berapa jumlah lembar fotokopi, apakah lebih dari 100 lembar atau tidak.

Pada soal ini kita juga menjumpai apa yang disebut sebagai nested. Perhatikan pernyataan pada syarat kedua dari persoalan di atas.

'Jika yang fotokopi bukan langganan, maka jika dia fotokopi kurang dari 100 lembar harga perlembarnya Rp.100'

pernyataan jika yang kedua berada di dalam jika yang pertama.

Input yang dibutuhkan untuk permasalahan ini adalah status orang yang fotokopi, dan jumlah lembar yang difotokopi. Sehingga variable input yang digunakan adalah:
  • Status untuk status orang yang fotokopi
  • JLF untuk jumlah lembar yang difotokopi
Selain itu, terdapat variable dengan nama HPP yang digunakan untuk menyimpan harga per lembar, dan TH untuk menyimpan nilai total harga. Perhatikan, variable Status bertipe data char, sehingga penulisannya harus menggunakan tanda " ".


5. FOR
Algoritma cetak_angka
a. Deklarasi
b. Angka : integer
c. Deskripsi
d. For angka ← 1 to 10 do
e. Write (angka)
f. Endfor
WHILE
Tuliskan algoritma untuk mencetak banyak HALO sebanyak 10 kali .
Algoritma cetak_banyak_halo
a. Deklarasi
b. K : integer {pencacah pengulangan}
c. Deskripsi
d. K ← 1 {inisialisasi}
e. While k ≤ 10 do
f. Write (‘HALO’)
g. K ←K+1
h. Endwhile