KUMPULAN LATIHAN SOAL ALGORITMA dan PEMROGRAMAN
KUMPULAN LATIHAN SOAL
ALGORITMA dan PEMROGRAMAN
Catatan:
Semua Algoritma yang telah
diselesaikan di terjemahkan ke dalam bahasa pemrograman dengan nama program
(termasuk file c nya) harus sesuai dengan nama yang telah dispesifikasikan di
setiap soal.
1. (nama program: BiayaParkir)
Buatlah sebuah teks algoritma untuk menentukan besarnya biaya parkir yang
dihitung berdasarkan lamanya parkir (bilangan integer >0) yang dimasukan
melalui keyboard. Perhitungan biaya parkir berdasarkan aturan sebagai berikut: Biaya
parkir 2 jam pertama Rp. 2000,- dan per jam berikutnya dihitung Rp. 500,-
Contoh:
Lama parkir 1 Jam Biayanya sebesar Rp. 2000,-
Lama parkir 2 Jam Biayanya sebesar Rp. 2000,-
Lama parkir 4 Jam Biayanya sebesar Rp. 3000,-
2. (nama program: HargaDiskon) Buatlah teks algoritma untuk menghitung besarnya harga setelah diberikan diskon, jika diberikan masukan melalui keyboard untuk besaran jenis [hanya terdiri dari ‘A’, ‘B’, dan ‘C’], dan harga (integer > 200 dan < 10.000) . Aturan pemberian berdasarkan jenis , sehingga jenis A diskon 10%, jenis B diskon 15%, dan jenis C diskon 20%.
Contoh:
Jenis=A, Harga =Rp. 5000,- sehingga harga nya sebesar Rp. 4500,-
3. (nama program: UpahKerja) Buatlah teks algoritma, jika diberikan masukan melalui keyboard golongan dalam integer dari 1 s/d 4, dan integer banyaknya jam kerja per minggu > 0, maka hitunglah upah yang diterima dengan menggunakan aturan bahwa jika jam kerja perminggu kurang dari 40 jam maka menggunakan aturan seperti yang diberikan di tabel dibawah ini. Tetapi jika jam kerja per minggu lebih dari 40 jam, maka yang 40 jam dihitung dengan aturan yg diberikan di tabel, dan kelebihannya dihitung untuk setiap kelebihan 1 jam dihitung 1.5 kali dari upah yang diberikan di tabel.
Tabel Upah
Golongan 1 dengan upah per jam 1.000 rupiah
Golongan 2 dengan upah per jam 1.500 rupiah
Golongan 3 dengan upah per jam 2.000 rupiah
Golongan 4 dengan upah per jam 2.500 rupiah
4. (nama program: TunjAnak) Buatlah sebuah teks algoritma, jika diberikan sebuah bilangan integer jumlah anak >= 0, dan integer gaji pokok >0, maka hitunglah besarnya tunjangan anak yang diberikan, dan kemudian tampilkan besarnya tunjangan anak tersebut. Aturan pemberian tunjangan adalah setiap anak akan diberikan tunjangan sebesar 10% dari gaji pokok, dan pemberian tunjangan hanya diberikan kepada 3 anak maksimum.
Contoh:
Jumlah anak=0 dan Gaji pokok = 1000 maka tunjangan anak= 0*(10%xGaji
pokok)= 0
Jumlah anak=2 dan Gaji pokok = 1000 maka tunjangan anak= 2*(10%xGaji
pokok)= 200
Jumlah anak=3 dan Gaji pokok = 1000 maka tunjangan anak= 3*(10%xGaji
pokok)= 300
Jumlah anak=5 dan Gaji pokok = 1000 maka tunjangan anak= 3*(10%xGaji
pokok)= 300
Jumlah anak=10 dan Gaji pokok = 1000 maka tunjangan anak=
3*(10%xGaji pokok)= 300
5. (nama program: TarifPLN) Buatlah sebuah teks algoritma, jika diberikan sebuah bilangan integer 1 s/2 sebagai golongan tarif, dan pemakaian daya listrik (dalam kWH) sebagai integer >0, maka hitunglah besarnya tarif listrik yang dikenakan, kemudian tampilkan besarnya tariff tersebut. Tarif listrik yang yang diberlakukan adalah:
Golongan 1 tarif : Rp 1000/kWh
Golongan
2 tarif : Rp 2000/kWh
Syarat penghitungan: Minimum pembayaran
adalah 100 kWh sedangkan untuk pemakaian 1000 kWh dan seterusnya tarifnya
ditambah 10% dari total pembayaran.
Contoh:
Golongan 1, pemakaian 50 kWH, maka jumlah bayarnya 100.000
Golongan 2, pemakaian 150 kWH, maka jumlah bayarnya 300.000
Golongan 1, pemakaian 1000 kWH, maka jumlah bayarnya
1.100.000
6. (nama program: Tetris) Diberikan sebuah integer N > 0 yang dimasukan melalui keyboard, maka tampilkanlah dilayar susunan karakter ‘*’ sesuai dengan susunan sebagai berikut:
Jika N = 5, maka dilayar
akan ditampilkan:
*
--1
**
--2
***
--3
****
--4
*****
--5
7. (nama program: Tetris1) Diberikan
sebuah integer N > 0 yang dimasukan melalui keyboard, maka tampilkanlah
dilayar susunan karakter ‘*’
sesuai dengan susunan sebagai berikut:
Jika N = 5, maka dilayar
akan ditampilkan:
*****
--5
****
--4
***
--3
**
--2
*
--1
8. (nama program: Tetris2) Diberikan
sebuah integer N > 0 yang dimasukan melalui keyboard, maka tampilkanlah
dilayar susunan karakter ‘*’
sesuai dengan susunan sebagai berikut:
Jika N = 5, maka dilayar
akan ditampilkan:
*
--1
**
--2
***
--3
****
--4
*****
--5
****
--4
***
--3
**
--2
*
--1
9. (nama program: Tetris3) Diberikan
sebuah integer N > 0 yang dimasukan melalui keyboard, maka tampilkanlah
dilayar susunan karakter ‘*’
sesuai dengan susunan sebagai berikut:
Jika N = 5, maka dilayar
akan ditampilkan: (Catatan deret
Un=1/2*n*(n+1))
Banyaknya N =5
*
--1
***
--3
******
--6
**********
--10
***************
--15
10. (nama program: Segitiga) Diberikan
sebuah integer N > 0 yang dimasukan melalui keyboard, maka tampilkanlah
dilayar susunan karakter ‘*’
sesuai dengan susunan sebagai berikut:
Jika N = 5, maka dilayar
akan ditampilkan:
*
* * * * --5
* * * *
--4
* * *
--3
* *
--2
*
--1
11. Diberikan P adalah sebuah Titik yang memiliki elemen X dan Y sebuah integer sembarang, maka buatlah sebuah teks algoritma untuk melakukan pengecekan mengenai kuadran sebuah titik P yang dimasukan melalui keyboard.
Example
P(1,1), maka Kuadran I
P(-11,1), maka Kuadran II
P(-1,-2), maka Kuadran III
12. Diberikan sebuah konstanta
integer Nmin=1 dan dan Nmax=100.
a. Procedure CreateEmpty(T : array [Nmin . .
Nmax])
{IS: Sembarang}
{FS: menghasilkan sebuat
tabel T yang diinisialisasi dengan setiap elemennya bernilai 0}
b. Function IsEmpty(T : array [Nmin . . Nmax]) èBoolean
{Mengirimkan True jika
semua nilai elemennya bernilai 0}
c. Function IsFull(T : array [Nmin . . Nmax]) èBoolean
{Mengirimkan True jika
semua (sama dengan Nmax) nilai elemennya bernilai 1}
d. Function NBElement(T : array [Nmin . . Nmax]) èinteger
{Mengirimkan banyaknya
elemen tabel T yang bernilai 1}
e. Procedure SetElmtTabel(T : array [Nmin . . Nmax], N:integer)
{IS: Tabel masih Kosong
semua elemen bernilai 0}
{FS: Tabel T terisi untuk
setiap elemen sebanyak N dengan nilai 1}
Belum ada Komentar untuk "KUMPULAN LATIHAN SOAL ALGORITMA dan PEMROGRAMAN"
Posting Komentar