LAPORAN
TUGAS
MODUL 2
PRAKTIKUM
DASAR PEMROGRAMAN
AHMAD
SHOLEHUDIN
135623025
MANAJEMEN
INFORMATIKA A
UNIVERSITAS
NEGERI SURABAYA
DAFTAR ISI
1. DASAR
TEORI
1.1 Netbeans
dan Eclipse
1.2 Penulisan
Program di Java, Input, Output
1.3 Operator:
Assigment, Matematika, Perbandingan, Logika
1.4 Tingkatan
Operator
1.5 Percabangan
(if, if....else, if...elseif...., switch)
2. SOAL
PRAKTIKUM
2.1 Algoritma
untuk mencari sisi miring dari suatu segitiga siku-siku
2.2 Algoritma
untuk menampilkan banyaknya pecahan uang paling efisien
2.3 Algoritma
untuk mengkonversi bilangan dalam format desimal menjadi biner
2.4 Algoritma
untuk bonus pegawai
2.5 Algoritma
untuk menghitung total biaya iklan baris yang harus dibayar oleh pengiklan
2.6 Algoritma
untuk menghitung total biaya tiket .
2.7 Algoritma
untuk menghitung berapa nilai yang harus dibayar oleh pelanggan dengan total
nilai belanja tertentu bila disertakan pula perhitungan diskonnya.
2.8 Algoritma
nilai
2.9 Algoritma
tarif pemakaian Air PDAM Kota Surabaya
2.10
Algoritma untuk
menghitung cash back yang diterima nasabah berdasarkan nilai pemakaian kartu
kredit.
3. FLOWCHART
ATAU PSOUDOCODE DARI MASING-MASING SOAL
3.1 Flowchart
untuk mencari sisi miring dari suatu segitiga siku-siku
3.2 Flowchart
untuk menampilkan banyaknya pecahan uang paling efisien
3.3 Flowchart
untuk mengkonversi bilangan dalam format desimal menjadi biner
3.4 Flowchart
untuk bonus pegawai
3.5 Flowchart
untuk menghitung total biaya iklan baris yang harus dibayar oleh pengiklan
3.6 Flowchart
untuk menghitung total biaya tiket .
3.7 Flowchart
untuk menghitung berapa nilai yang harus dibayar oleh pelanggan dengan total
nilai belanja tertentu bila disertakan pula perhitungan diskonnya.
3.8 Algoritma
nilai
3.9 Algoritma
tarif pemakaian Air PDAM Kota Surabaya
3.10
Algoritma untuk
menghitung cash back yang diterima nasabah berdasarkan nilai pemakaian kartu
kredit.
4. KODE
SUMBER (SOURCE CODE) BESERTA
OUTPUTNYA
5.
REFERENSI
1.
DASAR TEORI
1.1
NETBEANS DAN ECLIPSE
Netbeans. Bahasa
pemrograman Java lahir pertama kali dari The
Green Project (James Gosling dkk dari sun microsystems) pada tahun 1991Teknologi
“*7”(Star Seven). Mula-mula James Gosling
menyebut bahasa pemrograman yang dihasilkannya dengan OAKSun mengubahnya
menjadi Java.Sun merilis versi awal java secara resmi pada awal 1996 yg
kemudian terus berkembang hingga muncul JDK 1.1 kmd JDK 1.2 shg mulai versi ini
java disebut java 2. Pada tahun 1998-1999 lahirlah teknologi J2EE(Java 2 Enterprise Edition).
Terakhir Teknologi Java melahirkan J2ME(Java 2 Micro Edition) yang sudah
diadopsi oleh Nokia, Siemens, SonyEricsson, Motorola untuk menghasilkan
aplikasi mobile baik games maupun software lainnya yang dpat dijalankan
diperalatan mobile seperti handphone.
Ø Kelebihan
java:
ü Multiplatform,
dapat dijalankan di beberapa platform / sistem operasi komputer
ü OOP
(Object Oriented Programming) semua aspek yang terdapat di Java
adalah Objek
ü Perpustakaan
Kelas yang lengkap Java
terkenal dengan kelengkapan library/ perpustakaan (kumpulan program yang
disertakan dalam pemrograman java) yang sangat memudahkan dalam penggunaan oleh
para pemrogram untuk membangun aplikasinya.
ü Bergaya
C++ memiliki
sintaks seperti bahasa pemrograman [C++] sehinggamenarik banyak pemrogram C++
untuk pindah ke Java.
J2SDK adalah seperangkat tool (kit) yang berisi
kompiler dan interpreter java yang direlease oleh sun dan bersifat free.
Nama Program
|
Keterangan
|
javac
|
Kompiler
|
java
|
Interpreter
|
jdb
|
Debugger
|
javap
|
Disasembler
|
appletviewer
|
Penampil
applet
|
javadoc
|
Pembangkit
dokumentasi
|
javah C
|
Pembangkit berkas header
|
Ø Beberapa
editor yang bisa digunakan untuk pemrograman java adalah:
ü Notepad,
editor standard yang disediakan oleh windows. Tidak dilengkapi dengan utilitas
jumlah baris (berpengaruh pada pelacakan baris program yang menyebabkan error
kompilasi)
ü Netbean,
salah satu editor yang dilengkapi dengan pelacakan baris program yang
menyebabkan error kompilasi
ü Editor-editor
lain: Eclipse, Gel, JBuilder, Jcreator dll
Eclipse.
Eclipse adalah sebuah IDE (Integrated Development Environment) untuk
mengembangkan perangkat lunak dan dapat dijalankan di semua platform (platform-independent).
Berikut ini adalah sifat dari Eclipse:
ü Multi-platform:
Target sistem operasi Eclipse adalah Microsoft Windows, Linux, Solaris, AIX,
HP-UX dan Mac OS X.
ü Mulit-language:
Eclipse dikembangkan dengan bahasa pemrograman Java, akan tetapi Eclipse
mendukung pengembangan aplikasi berbasis bahasa pemrograman lainnya, seperti
C/C++, Cobol, Python, Perl, PHP, dan lain sebagainya.
ü Multi-role:
Selain sebagai IDE untuk pengembangan aplikasi, Eclipse pun bisa digunakan
untuk aktivitas dalam siklus pengembangan perangkat lunak, seperti dokumentasi,
test perangkat lunak, pengembangan web, dan lain sebagainya.
Eclipse pada
saat ini merupakan salah satu IDE favorit dikarenakan gratis dan open source,
yang berarti setiap orang boleh melihat kode pemrograman perangkat lunak ini.
Selain itu, kelebihan dari Eclipse yang membuatnya populer adalah kemampuannya
untuk dapat dikembangkan oleh pengguna dengan komponen yang dinamakan plug-in.
1.2
PENULISAN PROGRAM DI
JAVA, INPUT, OUTPUT
Proses penulisan dan pembacaan data sering kita
sebut dengan proses input dan
output, dimana penulisan
data berarti mengalirkan data ke output dan menerima atau mendapatkan data dari
input.
A. Stream
Stream merupakan
dasar operasi input-output ( I/O ) dalam Java yang menggunakan package java.io
sebagai package utama. Stream adalah
representasi abstrak dari input dan output device, dimana aliran bytes akan
ditransfer seperti file dalam harddisk, file pada sistem remote atau printer.
Kita dapat membaca data dari input stream, yang dapat berupa file, keyboard
atau komputer remote. Sedangkan untuk operasi penulisan berarti menulis data
pada output stream. Package java.io mendukung dua tipe stream, yaitu binari dan karakter stream. Binari merupakan data berupa bit
atau data binari, sedangkan karakter
adalah tipe khusus untuk pembacaan dan penulisan teks/karakter.
B. Input Stream
Ø Subclass-subclass
dari inputStream adalah :
·
AudioInputStream,
·
ByteArrayInputStream,
·
FileInputStream,
·
FilterInputStream,
·
PipedInputStream,
·
SequenceInputStream,
dan
·
StringBufferInputStream.
Ø Dua
method utama dari InputStream adalah :
·
Read. Method ini
digunakan untuk membaca stream.
·
Close. Method ini
digunakan untuk menutup koneksi input stream.
Ø
InputStream.java
import java.io.*;
class InputStream {
public static void main(String[] args) throws
IOException {
byte[] data = new byte[10];
System.out.print("Ketik 10 buah karakter
:");
System.in.read(data);
System.out.print("Karakter yang Anda ketik
yaitu : ");
for(int i=0;i<data.length;i++) {
System.out.print((char)data[i]);
}
C. Output Stream
Ø Subclass-subclass
dari outputStream adalah :
·
ByteArrayOutputStream :
digunakan untuk menuliskan stream menjadi byte array.
·
FileOutputStream :
digunakan untuk menulis pada file
·
FilterOutputStream :
merupakan superclass dari subclass-subclass seperti DataOutputStream,
BufferOutputStream, PrintStream, CheckedOutputStream
·
ObjectOutputStream :
digunakan untuk menuliskan objek pada OutputStream.
·
PipedOutputStream :
digunakan untuk menjadi output dari PipedInputStream.
Ø Sebagian
method-method OutputStream adalah :
·
Voidclose()
·
Menutup output stream
yang aktif dan melepaskan sumber daya terkait dengan
·
stream tersebut
·
Void flush()
·
Melakukan flush output
stream dan memaksa semua byte buffer untuk dituliskan
·
keluar
·
Void write(byte[] b)
·
Menulis sebanyak b.length
dari byte array ke output stream
·
Void write(byte[] b,
int off, int len)
·
Menuliskan sebanyak len
byte dari byte array b dimulai dari index off
import
java.io.*;
class
OutputStream {
public
static void main(String[] args) throws IOException {
byte[]
data = {'a','b','c','d','e','f','g'};
System.out.write(data,3,4);
System.out.write('\n');
//pindah baris
System.out.write(data);
//tulis semua isi array data }
}
D. DataOutputStream
·
DataOutputStream
merupakan class yang menyediakan cara praktis untuk menuliskan
·
tipe data primitif ke
output stream. Sebagian method DataOutputStream adalah :
·
writeDouble : berfungsi
menuliskan data bertipe double ke output stream
·
writeInt : berfungsi
menuliskan data bertipe integer ke output stream
·
writeBoolean :
berfungsi menuliskan data boolean ke output stream
·
writeUTF : berfungsi
menuliskan data string menggunakan encoding UTF-8 yang
·
tidak tergantung pada
mesin.
E. DataInputStream
·
DataInputStream
berfungsi untuk saling melengkapi dengan DataOutputStream, yaitu
·
untuk mendapatkan data
yang ditulis dengan DataOutputStream. Sebagian method
·
DataInputStream adalah
:
·
ReadDouble() : membaca
data bertipe double
·
readInt() : membaca
data bertipe integer
·
readBoolean() : membaca
data Boolean
·
readUTF() : membaca data dengan encoding UTF-8
F. Statement
Masukan (Input)
Untuk meng-input sebuah nilai ke
variabel di java menggunakan kelas Scanner. kelas ini sudah disediakan mulai
dari JAVA versi 1.5
contoh cari menggunakan
kelas Scanner :
import java.util.Scanner;
public class Masukan
{
public static void main (String args[])
{
Scanner input = new Scanner(System.in);
int a;
System.out.print(“Masukkan Angka : “);
a=input.nextInt();
System.out.println(“Hasil :”+a);
}
}
G. Statement
Keluaran (Output)
Statement keluaran pada JAVA
menggunakan :
” System.out.print”
catatan : untuk menampilkan kelayar
setelah selesai tidak akan berpindah baris, akibatnya perintah keluaran akan
ditampilkan pada baris yang sama.
“System.out.println”
catatan : untuk menampilkan kelayar
juga fungsinya hanya perintah keluarannya saja saat ditampilkan , akan
ditampilakn pada baris berikutnya.
1.3
OPERATOR: ASSIGMENT,
MATEMATIKA, PERBANDINGAN, LOGIKA
A.
Assignment Operator.
Assignment operator merupakan operator yang digunakan untuk memberi
nilai ke suatu variabel atau variabel ke variabellain.menggunakan simbol titik
dua diikuti oleh tanda sama dengan (:=).
B. Operator
Aritmatika
Operator
Matematika yaitu operator yang digunakan untuk operasi matematis terhadap suatu
nilai data. Ada beberapa operator aritmatika yang dapat digunakan dalam
pemrograman antara lain :
a)
Pangkat (
Eksponen) Pemangkatan atau eksponen banyak digunakan dalam operasi
komputer, eksponen mempunyai operator carret(^) dan sintaksnya adalah sebagai
berikut :
Eksponen =
bilanngan1^bilangan2
Contoh :
Eksponen = 5^2
hasilnya = 25
Eksponen = 3^2
hasilnya = 9
Eksponen = 2^-2
hasilnya = 0,25
b)
Perkalian.
Perkalian digunakan untuk mengalikan dua buah bilangan atau lebih, simbolnya
(*) dan sintaksnya dalam pemrograman adalah :
Perkalian =
bilangan1 * bilangan2
Contoh :
Perkalian = 2 *
2 hasilnya = 4
Perkalian = 5 *
5 hasilnya = 25
c)
Pembagian.
Pembagian digunakan untuk melakukan operasi pembagian terhadap bilangan,
simbolnya (/) dan sintaksnya :
Pembagian =
bilangan1 / bilangan2
Contoh :
Pembagian = 4 /
2 hasilnya = 2
Pembagian = 5 /
2 hasilnya = 2,5
d) Pembagian Integer. Pembagian Integer
pada dasarnya sama dengan pembagian biasa, tetapi hasil yang diperoleh adalah
bilangan integer atau bilangan bulat. Simbolnya (\) dan sintksnya :
PembagianInt =
bilangan1 \ bilangan2
Contoh :
PembagianInt =
4 \ 2 hasilnya = 2
PembagianInt =
5 \ 2 hasilnya = 2
e)
Sisa Bagi
(Modulus). Sisa bagi (Mod) digunakan untuk mendapatkan sisa dari
pembagian dua buah bilangan, sintaksnya :
Sisa =
bilangan1 Mod bilangan2
Contoh :
Sisa = 4 Mod 2
hasilnya = 0
Sisa = 5 Mod 2
hasilnya = 1
f)
Penjumlahan.
Penjumlahan (+) digunakan untuk melakukan operasi penjumlahan pada bilangan,
sintaksnya :
Penjumlahan =
bilangan1 + bilangan2
Contoh :
Penjumlahan = 4
+ 2 hasilnya = 6
Penjumlahan = 5
+ 5 hasilnya = 10
g)
Pengurangan.
Pengurangan (-) digunakan untuk melakukan operasi pengurangan terhadap
bilangan, sintaksnya :
Pengurangan =
bilangan1 – bilangan2
Contoh :
Pengurangan = 4
– 2 hasilnya = 2
Pengurangan = 5
– 2 hasilnya = 3
h)
Penggabungan
String ( Concat ). Penggabungan string, simbolnya (&) digunakan
untuk menggabungkan dua buah string. sintaksnya :
String =
string1 & string2
Contoh :
String = harry
& potter hasilnya = harrypotter
String = 5
& 6 hasilnya = 56
C. OPERATOR
PERBANDINGAN
Operator
perbandingan berguna untuk membandingkan dua nilai atau lebih, atau bisa juga
digunakan untuk membandingkan nilai antar variabel, dimana hasil perbandingan
tersebut akan menghasilkan nilai true atau false. Nilai variabel atau nilai
yang dibandingkan pada kondisi if atau statement condition ini disebut dengan
operand. Supaya lebih jelas saya akan memberikan contoh.
<?php
$a = 10;
$b = 5;
if ($a > $b)
{
……
}
?>
Yang dimaksud
dengan operand adalah $a dan $b. Kedua variabel tersebut disebut operand karena
kedua variabel tersebut digunakan untuk melakukan perbandingan. Perintah if
tersebut dapat dibaca apakah variabel $a lebih besar dari variabel $b ?. Jika
iya maka jalankan perintah dibawah perintah if. Nach gimana udah jelas kan
mengenai apa yang dimaksud dengan operand.
Berikutnya saya
akan menjelaskan operator apa saja yang dapat digunakan untuk melakukan
perbandingan pada perintah if di php. Sebenarnya operator perbandingan ini
tidak saja dapat digunakan untuk melakukan perbandingan pada perintah if di
php. Operator perbandingan ini juga dapat digunakan pada perintah perulangan
pada php. Namun untuk lebih mudahnya kita pelajari dulu penerapan operator ini
pada perintah if di php. Berikut ini merupakan operator perbandingan yang dapat
digunakan di php
Operator
|
Deskripsi
|
Contoh
|
Keterangan
|
==
===
! =
>
<
> =
<=
|
sama dengan
adalah persis sama dengan (nilai dan
jenis)
tidak sama
lebih besar dari
kurang dari
lebih besar dari atau sama dengan
kurang dari atau sama dengan
|
x == 8 adalah palsu
x == 5 adalah benar
=== x 5 adalah benar
x === “5″ adalah palsu
x! = 8 adalah benar
x> 8 adalah palsu
x <8 adalah benar
x> = 8 adalah palsu
x <= 8 adalah benar
|
disebut juga sebagai operator Equality.
Perbandingan menggunakan operator ini akan mengembalikan nilai true jika
kedua operand memiliki nilai sama, apabila tidak maka akan mengembalikan
nilai false.
disebut juga sebagai operator
Identical. Operator ini digunakan untuk membandingkan apakah kedua operand
identik. Yang dimaksud dengan identik disini adalah kedua operand memiliki
nilai dan tipe data yang sama.
disebut juga sebagai operator
Inequality. Perbandingan menggunakan operator ini akan mengembalikan nilai
true jika kedua operand memiliki nilai berbeda, apabila tidak maka akan
mengembalikan nilai false.
Operator ini digunakan untuk
membandingkan apakah operand yang berada disebelah kiri memiliki nilai lebih
besar daripada operand yang disebelah kanan.
Operator ini digunakan untuk
membandingkan apakah operand yang berada disebelah kiri memiliki nilai lebih
kecil daripada operand yang disebelah kanan.
Operator ini digunakan untuk
membandingkan apakah operand yang berada disebelah kiri memiliki nilai lebih
besar sama atau sama dengan operand yang disebelah kanan.
Operator ini digunakan untuk
membandingkan apakah operand yang berada disebelah kiri memiliki nilai lebih
besar atau sama dengan operand yang disebelah kanan.
|
D.
OPERATOR LOGIKA
Operator
logika digunakan untuk menentukan logika antara variabel atau nilai.Mengingat
bahwa x = 6 dan y = 3, tabel di bawah ini menjelaskan operator logika:
Operator
|
Deskripsi
|
Contoh
|
&&
||
!
|
And
Or
Not
|
(x < 10 && y > 1) is true
(x==5 || y==5) is false
!(x==y) is true
|
1.4
TINGKATAN OPERATOR
Tabel pada halaman berikut akan memperlihatkan
kedudukan dari setiap operator terhadap operator lainnya, dan bagaimana arah
pengeksekusian dari suatu pernyataan yang mengandung operator tersebut
Operator
|
Evaluasi
|
( ) [ ] .
|
kiri ke kanan
|
! ~ ++ --
+ - * & (type) sizeof
|
kanan ke kiri
|
* / %
|
kiri ke kanan
|
+ -
|
kiri ke kanan
|
<< >>
|
kiri ke kanan
|
< <= >
>=
|
kiri ke kanan
|
== !=
|
kiri ke kanan
|
&
|
kiri ke kanan
|
^
|
kiri ke kanan
|
|
|
kiri ke kanan
|
&&
|
kiri ke kanan
|
||
|
kiri ke kanan
|
? :
|
kanan ke kiri
|
= += -= *=
/= %= &= ^= |= <<= >>=
|
kanan ke kiri
|
,
|
kiri ke kanan
|
Sebagai contoh, operator binary +
dan - mempunyai kedudukan yang lebih tinggi dibandingkan dengan operator !=,
dan operator & mempunyai kedudukan yang lebih tinggi dibandingkan dengan
operator &&.
Catatan :
Operator unary +, -, dan *
mempunyai kedudukan yang lebih tinggi dibandingkan dengan bentuk binary-nya.
Kedudukan operator bitwise &,
^, dan | lebih rendah dibandingkan dengan operator == dan !=.
Dengan demikian, pernyataan seperti :if ( (x & MASK) == 0 )
......harus menggunakan tanda kurung seperti pada bentuk di atas agar
memperoleh hasil yang diinginkan.
1.5
PERCABANGAN (IF,
IF....ELSE, IF...ELSEIF...., SWITCH)
Struktur
Selection / Percabangan adalah struktur yang dihadapkan pada proses pemilihan
untuk menentukan instruksi berdasarkan syarat atau kondisi tertentu . Struktur Selection merupakan penguji yang dilakukan untuk
memilih salah satu atau beberapa alternative yang tersedia . Struktur Selection
dua buah kondisi yaitu benar ( True ) dan salah ( False) . Struktur Selection
mempunyai 4 perintah percabangan , yaitu : if
, if…..else , if…else if, dan switch.
Untuk lebih jelasnya silakan lihat penjabaran masing – masing perintah
percabangan dibawah ini :
Ø Perintah if
:
Perintah if digunakan untuk menjalankan
satu atau lebih perintah berdasarkan suatu kondisi. Contoh penulisan:
if (kondisi)
{
Statement;
}
Ø
Perintah if….else :
Perintah
if…else digunakan untuk memilih salah
satu dari 2 pernyataan yang ditentukan . Perintah ini akan menjalankan perintah
tertentu jika TRUE dan akan menjalankan perintah tertentu jika FALSE .Contoh
penulisan :
if (kondisi)
{
Statement_1;
}
else
{
Statement_2;
}
Ø Perintah if
….else if:
Perintah else if digunakan untuk menjalankan suatu
pernyataan dengan melibatkan lebih dari satu kondisi ( banyak kondisi)
Contoh penulisan :
if (kondisi_1)
{
Statement_1;
}
else if (kondisi_2)
{
Statement_2;
}
else
{
Statement_3;
}
Ø
Perintah switch :
Perintah switch digunakan sebagai
alternative lpengganti dari perintah if…else if . perintah switch akan
menyeleksi kondisi yang diberikan dan membandingkan hasilnya dengan konstanta –
konstanta yang ada pada case . Jika case sama dengan kondisi , maka system akan
menjalankan perintah tersebut dan akan berhenti pada perintah break.
Contoh penulisan :
switch
(kondisi)
{
case konstanta_1:
statement_1;
break;
case konstanta_2:
statement_2;
break;
default:
statement_3;
}
1. Algoritma:
a. Tentukan
nilai a, b
b. Hitung
C =
c. Tampilkan
C
Psuodocode
a. Input
(a,b)
b. C
ß
c. Output
(c)
Flowchart
2.
Algoritma
a.
Tentukan uang
b.
Hitung p100r = uang/100000
Hitung sp100r = uang – p100r*100000
Hitung p50r = sp100r/50000
Hitung sp50r = sp100r – p50r*50000
Hitung p20r = sp50r/20000
Hitung sp20r = sp50r – p20r*20000
Hitung p10r = sp20r/10000
Hitung sp10r = sp20r – p10r*10000
Hitung p5r = sp10r/5000
Hitung sp5r = sp10r – p5r*5000
Hitung p1r = sp5r/1000
Hitung sp1r = sp5r – p1r*1000
Hitung p0,5r = sp1r/500
Hitung sp0,5r = sp1r – p0,5r*500
Hitung p0,1r = sp0,5r/100
Hitung sp0,1r = sp0,5r – p0,1r*100
c.
Tampilkan p100r, p50r, p20r, p10r,
p5r, p1r, p0,5r, p0,1r
Pseudocode
a.
Input (uang)
b.
p100r ß
uang/100000
sp100r ß uang – p100r*100000
p50r ß sp100r/50000
sp50r ß sp100r – p50r*50000
p20r ß sp50r/20000
sp20r ß sp50r – p20r*20000
p10r ß sp20r/10000
sp10r ß sp20r – p10r*10000
p5r ß sp10r/5000
sp5r ß sp10r – p5r*5000
p1r ß sp5r/1000
sp1r ß sp5r – p1r*1000
p0,5r ß sp1r/500
sp0,5r ß sp1r – p0,5r*500
p0,1r ß sp0,5r/100
sp0,1 ß sp0,5r – p0,1r*100
c.
output (p100r, p50r, p20r, p10r,
p5r, p1r, p0,5r, p0,1r)
flowchart
3.
Algoritma
a.
Baca des
b.
1.
Desimal=des/2
2. Sisa= desimal%2
3. d= d*2
4. biner= biner +
sisa * d
5. jika desimal 0
pergi ke c
6. pergi ke 1
c.
cetak
desimal
Pseudocode
a.
input (des)
b.
Desimal ß des/2
c.
Sisa ß desimal%2
d.
D= d*2
e.
Biner ß
biner+sisa*d
f.
If desimal == 0 output (desimal)
g.
Else kembali ke b
Flowchart
4.
Algoritma
a.
Tentukan l,u,s,ns
b.
Bonus =
1. Jika ns
2. Jika l <= 5 & u <=50
3. cetak bonus 400
4. jika l>= 5
5. cetak bonus 250
6. jika s
7. Jika l <= 5 & u <=50
8. Cetak bonus 1jt
9. jika l<= 5 & u >= 50
10. cetak bonus 500
11. else s u>=50
12. cetak bonus 300
c. tampilkan
bonus
pseudocode
a.
Input (l,u,s,ns)
b.
Bonus =
1. Jika ns
2. Jika l <= 5 & u <=50
3. cetak bonus 400
4. jika l>= 5
5. cetak bonus 250
6. jika s
7. Jika l <= 5 & u <=50
8. Cetak bonus 1jt
9. jika l<= 5 & u >= 50
10. cetak bonus 500
11. else s u>=50
12. cetak bonus 300
c. Output
(bonus)
Flowchart
5.
Algoritma
a.
Tentukan hari, jml
b.
Jika hari minggu- jum’at
c.
Cetak hrg hari = 33000
d.
Total = jml*hrghari
e.
Jika tidak
f.
Cetak hrghari 40000
g. Total
= jml*hrghar
Pseudocode
a.
Input (hari,jml)
b.
Jika hari = minggu, senin, selasa, rabu, kamis,
jum’at
c.
Hrghari = 33000
d.
Jika tidak
e.
Hrghari = 40000
f.
Total ßjml*hrghari
g.
Output (total)
Flowchart
6.
Algoritma
a.
Tentukan hari,jml,libur, tidak
libur
b.
Jika hari = senin, selasa,
rabu,kamis, jum’at
c.
Jika libur harga = 35.000
d.
Jika tidak harga = 15.000
e.
Jika hari = sabtu& minggu
f.
Harga = 35.000
g.
Total = jml*harga
h.
Tampilkan total
Pseudocode
a.
Input (hari,jml,libur, tidak libur)
b.
Jika hari = senin, selasa,
rabu,kamis, jum’at
c.
Jika libur harga = 35.000
d.
Jika tidak harga = 15.000
e.
Jika hari = sabtu& minggu
f.
Harga = 35.000
g.
Total ß jml*harga
h.
Output(total)
Flowchart
7. Algoritma
a.
Tentukan harga
b.
Jika harga<=400000
c.
Hitung disc = harga*25/100
d.
Jika harga <=300000
e.
Hitung disc = harga*20/100
f.
Jika harga <= 275000
g.
Hitung disc = harga*15/100
h.
Hitung disc harga<=
150000*10/100
i.
Tampilkan disc
Pseudocode
a.
Input (harga)
b.
Jika harga<=400000
c.
disc ß
harga*25/100
d.
Jika harga <=300000
e.
disc ß
harga*20/100
f.
Jika harga <= 275000
g.
disc ß
harga*15/100
h.
disc ß harga<=
150000*10/100
i.
output (disc)
flowchart
8.
algoritma
a.
tentukan
tugas1,tugas2,tugas3,UTC,UAC
b.
hitung nilai =
((tugas1+tugas2+tugas3)/3*30/100) +(UTC*30/100)+(UAC*40/100)
c.
jika nilai > 80 dan
nilai <= 100
d.
cetak A
e.
jika nilai > 70 dan
nilai <= 80
f.
cetak AB
g.
jika nilai > 65 dan
nilai <= 70
h.
cetak B
i.
jika nilai > 60 dan
nilai <= 65
j.
cetak BC
k.
jika nilai > 55 dan
nilai <= 60
l.
cetak C
m.
jika nilai > 40 dan
nilai <= 55
n.
cetak D
o.
Cetak E
Pseudocode
a.
Input (tugas1,tugas2,tugas3,UTC,UAC)
b.
nilai ß
(((tugas1+tugas2+tugas3)/3*30/100) +(UTC*30/100)+(UAC*40/100)
c.
jika nilai > 80 dan
nilai <= 100
d.
output (A)
e.
jika nilai > 70 dan
nilai <= 80
f.
output (AB)
g.
jika nilai > 65 dan
nilai <= 70
h.
output (B)
i.
jika nilai > 60 dan
nilai <= 65
j.
output (BC)
k.
jika nilai > 55 dan
nilai <= 60
l.
output
(C)
m.
jika nilai > 40 dan
nilai <= 55
n.
output (D)
o.
output (E)
flowchart
9.
algoritma
a.
tentukan pemakaian air
b.
jika pemakaian air <=50
c.
hitung biaya = 200* pemakaian air
d.
jika pemakaian air <50 dan
pemakaian air >=150
e.
hitung biaya = 50*200 + (pemakaian
air-50)*500
f.
jika pemakaian air <150 dan
pemakaian air >= 300
g.
hitung biaya = 50*200 +
100*500+(pemakaian air-150)*1000
h.
hitung biaya =
50*200+100*500+150*100(pemakaian air-300)*1500
i.
tampilkan biaya
pseudocode
a.
input (pa)
b.
jika pa<= 50
c.
biaya ß 200* pa
d.
jika pa <50 dan pa >=150
e.
biayaß 50*200 +
(pa-50)*500
f.
jika pa <150 dan pa >= 300
g.
biaya ß 50*200 +
100*500+(pa-150)*1000
h.
biayaß
50*200+100*500+150*100(pa-300)*1500
i.
output(biaya)
flowchart
10. algoritma
a.
tentukan total
b.
jika total >= 1000000
c.
hitung cb = 5/100*total
d.
jika total <1000000 dan total
>= 10000000
e.
hitung cb = 5/100*1000000 + 6/100* (total-1000000)
f.
jika total < 10000000 dan total >= 25000000
g.
hitung cb = 5/100*1000000 + 6/100*9.000.000+7/100*(total-10000000)
h.
hitung cb =5/100*1000000 + 6/100*9.000.000+7/100*10000000+8/100*(total-20000000)
i.
tampilkan cb
pseudocode
a.
input (total)
b.
jika total >= 1000000
c.
cb ß
5/100*total
d.
jika total <1000000 dan total
>= 10000000
e.
cbß 5/100*1000000 + 6/100*
(total-1000000)
f.
jika total < 10000000 dan total >= 25000000
g.
cb ß 5/100*1000000 + 6/100*9.000.000+7/100*(total-10000000)
h.
cb ß5/100*1000000 + 6/100*9.000.000+7/100*10000000+8/100*(total-20000000)
i.
output(cb)
flowchart