Top Banner
MODUL 2 PRAKTIKUM DASAR PEMROGRAMAN ELIN DAMAYANTI 135623066 JURUSAN TEKNIK ELEKTRO PRODI D3 MANAJEMEN INFORMATIKA FAKULTAS TEKNIK UNIVERSITAS NEGERI SURABAYA
35

DASPRO MODUL 2 - Elin Damayanti - 135623066.pdf

Oct 25, 2015

Download

Documents

Eliin
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: DASPRO MODUL 2 - Elin Damayanti - 135623066.pdf

MODUL 2

PRAKTIKUM DASAR PEMROGRAMAN

ELIN DAMAYANTI

135623066

JURUSAN TEKNIK ELEKTRO

PRODI D3 MANAJEMEN INFORMATIKA

FAKULTAS TEKNIK

UNIVERSITAS NEGERI SURABAYA

Page 2: DASPRO MODUL 2 - Elin Damayanti - 135623066.pdf

DASAR TEORI

1. Netbeans dan Eclipse

a. Netbeans

Netbeans merupakan sebuah aplikasi Integrated Development Environment

(IDE) yang berbasiskan Java dari Sun Microsystems yang berjalan di atas swing.

Swing merupakan sebuah teknologi Java untuk pengembangan aplikasi desktop

yang dapat berjalan pada berbagai macam platform seperti windows, linux, Mac

OS X dan Solaris. Sebuah IDE merupakan lingkup pemrograman yang di

integrasikan ke dalam suatu aplikasi perangkat lunak yang menyediakan Graphic

User Interface (GUI), suatu kode editor atau text, suatu compiler dan suatu

debugger.

Fitur fitur yang terdapat dalam netbeans antara lain:

1. Smart Code Completion: untuk mengusulkan nama variabel dari suatu tipe,

melengkapi keyword dan mengusulkan tipe parameter dari sebuah method.

2. Bookmarking: fitur yang digunakan untuk menandai baris yang suatu saat

hendak kita modifikasi.

3. Go to commands: fitur yang digunakan untuk jump ke deklarasi variabel,

source code atau file yang ada pada project yang sama.

4. Code generator: jika kita menggunakan fitur ini kita dapat meng-generate

constructor, setter and getter method dan yang lainnya.

5. Error stripe: fitur yang akan menandai baris yang eror dengan memberi

highlight merah.

Kelebihan NetBeand GUI Builder :

Salah satu yang menjadi kelebihan NetBeans GUI Builder adalah yang telah

disebutkan diatas, yaitu GRATIS. Selain itu NetBeans GUI Builder sangat

kompetebel dengan Swing karena memang langsung dikembangkan oleh Sun

yang notabenenya sebagai pengembang Swing.

Kekurangan NetBeans GUI Builder :

NetBeans hanya mensupport 1 pengembangan Java GUI, yaitu Swing, yang

padahal ada Java GUI yang dikembangkan oleh eclipse yang bernama SWT dan

JFace yang sudah cukup populer.

b. 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:

Page 3: DASPRO MODUL 2 - Elin Damayanti - 135623066.pdf

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

2. Penulisan Program di Java, Input, Output

a. 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]); }

}

}

b. OutputStream.java 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 }

}

3. Operator: Assigment, Matematika, Perbandingan, Logika

a. Operator Assigment

Operator assignment dalam Java digunakan untuk memberikan sebuah nilai ke

sebuah variabel. Operator assignment hanya berupa ‘=’, namun selain itu dalam

Java dikenal beberapa shortcut assignment operator yang penting, yang

digambarkan dalam tabel berikut :

Page 4: DASPRO MODUL 2 - Elin Damayanti - 135623066.pdf

b. Operator Matematika / Aritmatika

Operator ini digunakan untuk melakukan matematika dasar.

Contoh Nama Hasil

$a + $b Penjumlahan Jumlah $a dan $b.

$a – $b Pengurangan Selisih $a dan $b.

$a * $b Perkalian Perkalian $a dan $b.

$a / $b Pembagian Pembagian $a dan $b.

$a % $b Modulus Sisa $a dibagi $b.

c. Operator Perbandingan Operator ini digunakan untuk melakukan pembandingan apakah beberapa elemen

sama, identik, kurang dari atau lebih besar dari yang lain.

Contoh Nama Hasil

$x == $y Sama dengan BENAR jika $x sama dengan $y.

$x === $y Identik BENAR jika $x sama dengan $y, dan keduanya memiliki

tipe yang sama.

$x != $y Tidak sama

dengan BENAR jika $x tidak sama dengan $y.

$x <> $y Tidak sama

dengan BENAR jika $x tidak sama dengan $y.

$x !== $y Tidak identik BENAR jika $x tidak sama dengan $y, atau tidak memiliki

tipe yang sama.

$a < $b Kurang dari BENAR jika $a kurang dari $b.

$a > $b Lebih besar dari BENAR jika $a lebih besar dari $b.

$a <= $b Kurang dari atau

sama dengan BENAR jika $a kurang dari atau sama dengan $b.

$a >= $b Lebih besar dari

atau sama dengan BENAR jika $a lebih besar dari atau sama dengan $b.

Page 5: DASPRO MODUL 2 - Elin Damayanti - 135623066.pdf

Kesalahan yang cukup sering orang lakukan adalah menggunakan operator

assignment (“=”) untuk membandingkan, sehingga untuk mambandingkan apakah 2

variabel sama atau tidak dalam sebuah percabangan menuliskan:

If ($x = $y)

seharusnya

If ($x == $y)

d. Operator Logika

Di sini anda dapat membandingkan elemen-elemen menggunakan pembandingan

logika and dan or.

Contoh Nama Hasil

$a and $b And BENAR jika baik $a dan $b keduanya BENAR.

$a or $b Or BENAR jika salah satu dari $a atau $b BENAR.

$a xor $b Xor BENAR jika salah satu dari $a atau $b BENAR, tetapi tidak

keduanya.

! $a Not BENAR jika $a tidak BENAR.

$a && $b And BENAR jika baik $a dan $b keduanya BENAR.

$a || $b Or BENAR jika salah satu dari $a atau $b BENAR.

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

Page 6: DASPRO MODUL 2 - Elin Damayanti - 135623066.pdf

Sebagai contoh, operator binary + dan - mempunyai kedudukan yang lebih

tinggi dibandingkan dengan operator !=, dan operator & mempunyai kedudukan yang

lebih tinggi dibandingkan dengan operator &&.

5. Percabangan (if, if....else, if...elseif...., switch)

a. if Percabangan if ini digunakan jika kita hanya memiliki satu pernyaatan

yang akan dijalankan dengan syarat tertentu. Sintaks if seperti berikut :

if(kondisi){

pernyataan

}

Jika kondisi benar, maka pernyataan akan dijalankan.

Contoh :

public class coba{

public static void main (String [] args){

int a=0;

if (a==0)

System.out.println("Nilai a = 0");

if (a==1)

System.out.println("Nilai a = 1");

}

}

Output : Program akan menampilkan nilai a = 0 saja, karena pada if yang kedua,

kondisi tidak memenuhi atau salah.

b. if else Percabangan if else digunakan saat kita memiliki dua

pernyataan dengan syarat tertentu. Sintaks if-else seperti berikut :

if(kondisi){

pernyataan1

}else{

pernyataan2

}

Jika hasil dari if benar, maka pernyataan1 yang dijalankan, sedangkan jika salah,

pernyataan dua yang akan dijalankan.

Contoh :

Page 7: DASPRO MODUL 2 - Elin Damayanti - 135623066.pdf

public class coba{

public static void main (String [] args){

int a=0;

if (a==0)

System.out.println("Nilai a = 0");

else

System.out.println("Nilai a = 1");

}

}

Output : program akan menampilkan nilai a = 0, karena kondisi if bernilai benar,

jika pada inisialisasi nilai a tidak bernilai 0, maka program akan menampilkan

nilai a = 1.

c. else -if percabangan yang digunakan saat kita memiliki banyak kondisi (lebih

dari 2) dan banyak pernyataan (lebih dari 2). Sintaks dari else-if seperti berikut :

if(kondisi){

pernyataan1

}elseif(kondisi2){

pernyataan2

}else(kondisi3){

pernyataan3

}

else {

penyataan4

}

jika kondisi1 benar, maka pernyataan1 akan dijalankan, jika kondisi2 benar, maka

penyataan2 akan dijalankan, jika semua kondisi salah, maka penyataan4 yang

akan dijalankan saja.

Contoh :

public class coba{

public static void main (String [] args){

int a=2;

if (a==0)

System.out.println("Nilai a = 0");

Page 8: DASPRO MODUL 2 - Elin Damayanti - 135623066.pdf

else if(a==1)

System.out.println("Nilai a = 1");

else if(a==2)

System.out.println("Nilai a = 2");

}

}

Output : Program akan menampilkan nilai a = 2 saja, karena pada else-if yang

ketiga atau dengan pernyataan a==2 bernilai benar, sedangkan pernyataan yang

lain tidak dijalankan karena kondisi tidak memenuhi.

d. switch-case percabangan yang digunakan saat kita memiliki banyak kondisi

(lebih dari 2) dan banyak pernyataan (ledbih dari 2). Sebenarnya switch-case ini

hampir sama dengan else if, hanya saja sintaksnya yang berbeda. Sintaks dari

switch-case seperti berikut :

switch (variabel) {

case nilai1: pernyataan1;

break; case nilai2: pernyataan2;

break; default: pernyataan3;

}

Jika nilai variabel yang ditunjuk bernilai sesuai nilai1, maka pernyataan1 akan

dijalankan, jika nilai variabel yang ditunjuk bernilai sesuai nilai2, pernyataan2

dijalankan, jika tidak ,maka pernyataan3 yang akan dijalankan.

public class coba{

public static void main (String [] args){

int a=3;

switch (a) {

case 1:

System.out.println("Nilai a=1");break;

case 2:

System.out.println("Nilai a=2"); break;

case 3:

System.out.println("Nilai a=3");break;

default:

System.out.println("Nilai a=4"); break

}

Page 9: DASPRO MODUL 2 - Elin Damayanti - 135623066.pdf

}

}

Output : Program akan menampilkan nilai a = 2 saja, karena kondisi bernilai

benar, perhatika break dibelakang pernyataan, jika break ini dihapus, maka semua

pernyataan akan dijalankan. Break digunakan untuk keluar dari switch-case saat 1

pernyataan sudah dijalankan.

SOAL PRAKTIKUM

1. Tuliskan algoritma untuk mencari sisi miring dari suatu segitiga siku-siku jika

diketahui diketahui panjang dua sisi yang membentuk sudut siku-siku.

Petunjuk : sisi miring segitiga siku-siku dapat dihitung dengan rumus pythagoras,

2. Tuliskan algoritma untuk menampilkan banyaknya pecahan uang paling efisien dari

sejumlah uang yang di inputkan oleh pengguna.

Pecahan uang yang digunakan: 100.000, 50.000, 20.000, 10.000, 5.000, 2.000, 1.000,

500, 200, dan 100.

Contoh : untuk uang Rp 12.500, diperlukan 1 lembar 10.000, 1 lembar 2.000, dan 1

koin 500.

Input : jumlah uang

Output : banyaknya pecahan uang

3. Buat algoritma untuk mengkonversi bilangan dalam format desimal menjadi biner.

Input : bilangan desimal

Output : bilangan biner

Ilustrasi :

4. Untuk menentukan bonus pegawai, berdasarkan ketentuan yang diberikan oleh bagian

personalia dan keuangan sebagai berikut : Pegawai perusahaan digolongkan menjadi

dua golongan, yaitu staf dan non staf. Staf akan mendapatkan bonus sebesar 1 juta

rupiah dengan syarat bahwa ia telah bekerja paling tidak 5 tahun dan umurnya sudah

mencapai 50 tahun; staf yang bekerja kurang dari 5 tahun dan berapapun umurnya,

hanya mendapat bonus sebesar Rp. 500.000. Pegawai non staf yang telah bekerja

lebih dari 5 tahun akan mendapat bonus sebesar Rp. 400.000 jika berumur lebih dari

50 tahun sedangkan pegawai non staf yang berumur kurang dari 50 tahun hanya

Page 10: DASPRO MODUL 2 - Elin Damayanti - 135623066.pdf

mendapat bonus Rp. 250.000. Pegawai staf yang umurnya kurang dari 50 tahun akan

mendapat bonus Rp. 300.000.

Buat algoritmanya !

5. Tarif pemasangan iklan baris di sebuah Surat Kabar ditentukan sebagai berikut :

Hari : Minggu, Senin, Selasa, Rabu, Kamis dan Jumat, per baris Rp.

33.000,-

Hari : Sabtu, per baris Rp. 40.000,-

Buatlah algoritma untuk menghitung total biaya iklan baris yang harus dibayar oleh

pengiklan.

Input : - Hari (Minggu, Senin, Selasa, Rabu, Kamis, Jumat atau Sabtu)

- Jumlah baris yang dipakai

Output : Total biaya iklan yang harus dibayar pengiklan

Tuliskan algoritma untuk kasus diatas dalam bentuk flowchart !

6. Info Harga Tiket Masuk bioskop Surabaya City adalah sebagai berikut :

Senin – Kamis : Rp 15.000,-

Jumat s/d Minggu : Rp 35.000,-

Hari Libur : Rp 35.000,-

Input : - Hari (Minggu, Senin, Selasa, Rabu, Kamis, Jumat atau Sabtu)

- Libur atau Tidak Libur

- Jumlah tiket yang dibeli

Output : Total biaya tiket

Buat algoritma untuk menghitung total biaya tiket !

7. Di sebuah perbelanjaan di Surabaya diadakan Pekan Diskon, dimana perhitungan

bonus dihitung bertingkat untuk total belanja senilai :

Rp. 150.000,- diskonnya : 10%

Rp. 275.000,- diskonnya : 15%

Rp. 300.000,- diskonnya : 20%

Rp. 400.000,- ke atas diskonnya : 25% Diskon tidak dihitung sebagai akumulasi dari diskon nilai belanja dibawahnya.

Buatlah algoritma untuk menghitung berapa nilai yang harus dibayar oleh

pelanggan dengan total nilai belanja tertentu bila disertakan pula perhitungan

diskonnya !

Input : Total nilai belanja.

Output : Nilai Diskon (dalam rupiah/bukan persen), Nilai yang harus dibayar

8. Berikut ini adalah ketentuan untuk menghitung nilai, dan konversi menjadi nilai

huruf.

Ketentuannya:

Page 11: DASPRO MODUL 2 - Elin Damayanti - 135623066.pdf

Nilai=((rata-rata tugas*30%)+(UTC*30%)+(UAC*40%))

Input = tugas1,tugas2,tugas3,UTC,UAC

Output = Nilai Akhir dan Nilai Huruf.

‘A’ jika nilai > 80 dan nilai <= 100

‘AB’ jika nilai > 70 dan nilai <= 80

‘B’ jika nilai > 65 dan nilai <= 70

‘BC’ jika nilai > 60 dan nilai <= 65

‘C’ jika nilai > 55 dan nilai <= 60

’D’ jika nilai > 40 dan nilai <= 55

’E’ jika nilai > 0 dan nilai <= 40

9. Berikut ini adalah tarif pemakaian Air PDAM Kota Surabaya

Jumlah Pemakaian (m3) Harga/m

3

Pemakaian I ( < 50 m3) Rp. 200,-

Pemakaian II ( 51 – 150 ) Rp. 500,-

Pemakaian III ( 151 – 300 ) Rp. 1.000,-

Pemakaian I V ( > 300 m3 ) Rp.1.500,-

Input : Jumlah Pemakaian

Output : Besar biaya yang harus dibayar

Jumlah Pemakaian = 500 m3

Pemakaian I ( s/d 50 m3) Rp. 200,- * 50 = Rp. 10.000,-

Pemakaian II ( 51 – 150 ) Rp. 500,- * 100 = Rp. 50.000,-

Pemakaian III ( 151 – 300 ) Rp. 1.000,- * 150 = Rp. 150.000,-

Pemakaian IV ( > 300 m3 ) Rp.1.500,- * 200 = Rp. 300.000,-

Biaya Total Rp. 510.000,-

Buat algoritma untuk kasus diatas !

10. Sebuah perusahaan kartu kredit memberikan cash back kepada nasabahnya

berdasarkan jumlah nilai pemakaian kartu kredit selama sebulan.

Nilai pemakaian cash back

--------------------- ----------

s.d 1.000.000 5%

1.000.000 – 10.000.000 6%

10.000.000 – 25.000.000 7%

Diatas 25.000.000 8%

Ilustrasi : seorang nasabah yang total pemakaian selama sebulan 18.000.000, maka

cash backnya= 5%x1.000.000+6%x9.000.000+7%x8.000.000 = 160.000

Buat algoritma untuk menghitung cash back yang diterima nasabah

berdasarkan nilai pemakaian kartu kredit !

Page 12: DASPRO MODUL 2 - Elin Damayanti - 135623066.pdf

FLOWCHART ATAU PSOUDOCODE

SOAL NO.1

Algoritma : Flowchart : a. Tentukan nilai a, b

b. Hitung C =

c. Tampilkan C

Psoudocode :

a. Input (a,b)

b. C

c. Output (c)

SOAL NO.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

Page 13: DASPRO MODUL 2 - Elin Damayanti - 135623066.pdf

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 :

SOAL NO.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)

Page 14: DASPRO MODUL 2 - Elin Damayanti - 135623066.pdf

g. Else kembali ke b

flowchart :

SOAL NO.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

Page 15: DASPRO MODUL 2 - Elin Damayanti - 135623066.pdf

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 :

SOAL NO.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

Page 16: DASPRO MODUL 2 - Elin Damayanti - 135623066.pdf

f. Total jml*hrghari

g. Output (total)

Flowchart :

SOAL NO.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

Page 17: DASPRO MODUL 2 - Elin Damayanti - 135623066.pdf

d. Jika tidak harga = 15.000

e. Jika hari = sabtu& minggu

f. Harga = 35.000

g. Total jml*harga

h. Output(total)

Flowchart :

SOAL NO.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

Page 18: DASPRO MODUL 2 - Elin Damayanti - 135623066.pdf

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 :

SOAL NO.8

Algoritma :

a. Masukkan 5 nilai (nilai tugas1,tugas2,tugas3,UTC,UAC)

b. Hitung nilai rata - rata tugas =

nilai tugas1+tugas2+tugas3 / 3.

c. Lalu hitung semua nilai :

Nilai=((rata-rata tugas*30%)+(UTC*30%)+(UAC*40%))

a. Jika nilai akhir :

> 80 dan <=100

maka nilai huruf = A

> 70 dan <=80

maka nilai huruf = AB

> 65 dan <=70

maka nilai huruf = B

> 60 dan <=65

maka nilai huruf = BC

> 55 dan <=60

Page 19: DASPRO MODUL 2 - Elin Damayanti - 135623066.pdf

maka nilai huruf = C

> 40 dan <=55

maka nilai huruf = D

> 0 dan <=40

maka nilai huruf = E

d. Seleksi nilai akhir.

e. Output : hasil nilai akhir dan hasil seleksi nilai huruf

Psoudecode :

b. Input (5 nilai)

c. Jika nilai akhir > 80 dan <=100

maka nilai huruf A

Jika nilai akhir > 70 dan <=80

maka nilai huruf AB

Jika nilai akhir > 65 dan <=70

maka nilai huruf B

Jika nilai akhir > 60 dan <=65

maka nilai huruf BC

Jika nilai akhir > 55 dan <=60

maka nilai huruf C

Jika nilai akhir > 40 dan <=55

maka nilai huruf D

Jika nilai akhir > 0 dan <=40

maka nilai huruf E

d. Output (hasil nilai akhir dan hasil seleksi nilai huruf)

Flowchart :

Page 20: DASPRO MODUL 2 - Elin Damayanti - 135623066.pdf

SOAL NO.9

Algoritma :

a. Masukkan Jumlah Pemakaian Air.

b. Hitung jumlah nilai/pemakaian yang dimasukkan :

1. Seleksi jika pemakaian <0, maka

Biaya total = Jumlah * 0.

2. Seleksi jika pemakaian <= 50, maka

Biaya total = Jumlah * 200

3. Seleksi jika pemakaian <= 150, maka

Biaya total = ((50 * 200) + ((jumlah - 50) * 500))

4. Seleksi jika pemakaian <= 300, maka

Biaya Total = ((50 * 200) + (100 * 500) + ((jumlah - 150) * 1000)).

5. Seleksi jika pemakaian > 300, maka

6. Biaya Total = ((50 * 200) + (100 * 500) + (150 * 1000) + ((jumlah - 300) *

1500))

c. Output : Biaya Total

Flowchart :

Page 21: DASPRO MODUL 2 - Elin Damayanti - 135623066.pdf

SOAL NO.10

Algoritma :

a. Ambil input user untuk memasukkan jumlah pemakaian Kartu Kredit

1. Masukkan ke variabel string pemakaian

2. Jika panjang inputan string pemakaian lebih dari 0, atau dengan kata lain

b. User telah menginputkan value,ubah input string pemakaian menjadi bilangan

dengan nama variable

c. Int jml_pemakaian,memberikan nilai default pada variabel pemakaian1 dengan,

d. Pemakaian1= 1000.000.Jika nilai pada variabel jml_pemakaian <= 1.000.000

Memberikan nilai pada variabel pemakaian1 dengan,pemakaian1

e. Jumlah pemakaian.Atau jika nilai pada variabel jml_pemakaian > 1.000.000, dan

nilai pada variabel jml_pemakaian <= 10.000.000

f. Memberikan nilai pada variabel pemakaian1 dengan,pemakaian1= 1.000.000

g. Memberikan nilai pada variabel pemakaian2 dengan,pemakaian2=

jml_pemakaian– 1.000.000 atau jika nilai pada variabel jml_pemakaian >

10.000.000, dan nilaipada variabel jml_pemakaian <= 25.000.000

h. Memberikan nilai pada variabel pemakaian2 dengan,pemakaian2= 10.000.000

i. Memberikan nilai pada variabel pemakaian3 dengan,pemakaian3=

jml_pemakaian - 25.000.000.Atau jika nilai pada variabel jml_pemakaian >

25.000.000

j. Memberikan nilai pada variabel pemakaian2 dengan,pemakaian2= 10.000.000

k. Memberikan nilai pada variabel pemakaian3 dengan,pemakaian3= 25.000.000

l. Memberikan nilai pada variabel pemakaian4 dengan,pemakaian4=

jml_pemakaian – 25.000.000Memberikan nilai pada variabel cash_back_total.

m. Dengan,cash_back_total=(pemakaian1*5/100)+(pemakaian2*6/100)+(pemakaian

3*7/100)+(pemakaian4*8/10)Cetak output dengan format, "Seorang nasabah

yang total.

n. Selama sebulan "+jml_pemakaian+", maka total cash

backnya="+cash_back_total.Atau Jika panjang inputan tidak lebih dari 0, atau

dengan kata lain userbelum menginputkan value

o. Cetak output “Ada salah satu masukan yang kosong”

p. Stop pros

Flowchart :

Page 22: DASPRO MODUL 2 - Elin Damayanti - 135623066.pdf

SOURCE CODE & OUTPUT PROGRAM

SOAL NO.1

Source Code :

package dasprogg;

import java.util.*;

/**

* * @author hendrys

*/

public class segitiga1 {

public static void main(String[] args) {

// TODO code application logic here Scanner masuk = new Scanner(System.in);

int sisi1,sisi2,c;

Page 23: DASPRO MODUL 2 - Elin Damayanti - 135623066.pdf

System.out.println("Mengitung Panjang sisi miring Segitiga siku-siku");

System.out.print("Masukan Nilai Sisi 1 : "); sisi1 = masuk.nextInt();

System.out.print("Masukan Nilai Sisi 2 : ");

sisi2 = masuk.nextInt();

c=((sisi1*sisi1)+(sisi2*sisi2)); System.out.println("Panjang sisi miring segitiga siku-siku adalah = "+(Math.sqrt(c)));

}

}

Output :

SOAL NO.2

Source Code :

package dasprogg;

import java.util.*;

/**

*

* @author hendrys

*/

public class pecahan2 {

public static void main(String[] args) {

long bil1, uang;

do

{

//inputan dari keyboard

System.out.print("Jumlah uang = ");

Scanner obj = new Scanner(System.in);

uang = obj.nextLong();

if (uang<100)

{

System.out.println("Maaf, tidak ada nominal uang "+

"sebesar "+uang+" rupiah");

continue;

}

else

{

// besar 100000

if (uang >= 100000)

{

bil1 = uang / 100000;

Page 24: DASPRO MODUL 2 - Elin Damayanti - 135623066.pdf

System.out.println("Diperlukan " + bil1 +" lembar 100000");

}

// antara 50000-100000

uang = uang % 100000;

if ((uang >= 50000) && (uang <100000))

{

bil1 = uang / 50000;

System.out.println("Diperlukan " + bil1 +" lembar 50000");

}

// antara 20000-50000

uang = uang % 50000;

if ((uang >= 20000) && (uang <50000))

{

bil1 = uang / 20000;

System.out.println("Diperlukan " + bil1 +" lembar 20000");

}

// antara 10000-20000

uang = uang % 20000;

if ((uang >= 10000) && (uang <20000))

{

bil1 = uang / 10000;

System.out.println("Diperlukan " + bil1 +" lembar 10000");

}

// antara 5000-10000

uang = uang % 10000;

if ((uang >= 5000) && (uang <10000))

{

bil1 = uang / 5000;

System.out.println("Diperlukan " + bil1 +" lembar 5000");

}

// antara 2000-5000

uang = uang % 5000;

if ((uang >= 2000) && (uang <5000))

{

bil1 = uang / 2000;

System.out.println("Diperlukan " + bil1 +" lembar 2000");

}

// antara 1000-2000

uang = uang % 2000;

if ((uang >= 1000) && (uang <2000))

{

bil1 = uang / 1000;

System.out.println("Diperlukan " + bil1 +" lembar 1000");

}

// antara 500-1000

Page 25: DASPRO MODUL 2 - Elin Damayanti - 135623066.pdf

uang = uang % 1000;

if ((uang >= 500) && (uang <1000))

{

bil1 = uang / 500;

System.out.println("Diperlukan " + bil1 +" koin 500");

}

// antara 200-500

uang = uang % 500;

if ((uang >= 200) && (uang <500))

{

bil1 = uang / 200;

System.out.println ("Diperlukan " + bil1 +" koin 200");

}

// antara 100-200

uang = uang % 200;

if ((uang >= 100) && (uang <200))

{

bil1 = uang / 100;

System.out.println ("Diperlukan " + bil1 +" koin 200");

}

}

}while(uang!=0);

}

}

Page 26: DASPRO MODUL 2 - Elin Damayanti - 135623066.pdf

Output :

SOAL NO.3

Source Code :

package dasprogg; import java.util.*;

import java.io.*;

/** *

* @author hendrys

*/

public class desimal3 {

public static void main(String[] args) {

int angka; Scanner obj = new Scanner(System.in);

System.out.print('\n'+"Masukkan Bilangan Desimal: ");

angka = obj.nextInt();

DesToBin(angka); }

static void DesToBin(int bil){ int mod=0,sisa=0, i=0; boolean loop=true; int[] zz = new int[1000];

sisa=bil;

while (loop==true){ sisa = bil%2; bil= bil/2; zz[i]=sisa; i++;

if((bil==0)||(bil==1)){ loop=false; zz[i]=bil; }

} //Cetak Bilangan Biner

System.out.print("Dikonversi ke Bilangan Biner : "); for (int a=i; a>=0;a--){ System.out.print(zz[a]);

} System.out.print('\n');

} }

Output :

Page 27: DASPRO MODUL 2 - Elin Damayanti - 135623066.pdf

SOAL NO.4 Source Code :

package dasprogg;

import java.io. *;

import java.util.*;

/** *

* @author hendrys

*/ public class pegawai4 {

public static void main(String[] args) {

BufferedReader dataIn = new BufferedReader(new InputStreamReader( System.in) );

String kerja= "";

String usia= "";

String pegawai= ""; try{

System.out.print("Masukkan Lama Kerja : ");

kerja = dataIn.readLine(); System.out.print("Masukkan Usia : ");

usia = dataIn.readLine();

System.out.print("staff atau non staff : ");

pegawai = dataIn.readLine(); }

catch( IOException e ){ System.out.println("Error!");

}

int massa = Integer.parseInt(kerja);

int umur = Integer.parseInt(usia);

if ("staff".equals(pegawai) && (massa>=5) && (umur>=50)){ System.out.println("Bonus anda Rp. 1.000.000");

}

else if ("staff".equals(pegawai) && (massa<5)){ System.out.println("Bonus anda Rp. 500.000");

}

else if ("staff".equals(pegawai) && (umur < 50)){ System.out.println("Bonus anda Rp. 300.000");

}

else if ("non staff".equals(pegawai) && (massa>5) && (umur>50)){

System.out.println("Bonus anda Rp. 400.000"); }

else if ("non staff".equals(pegawai) && (massa<5)){

System.out.println("Bonus anda Rp. 250.000"); }

else if ("non staff".equals(pegawai) && (umur<50)){

System.out.println("Bonus anda Rp. 250.000");

} else {

System.out.println("Maaf, format status pegawai anda salah. Contoh = staff / non staff");

}

Page 28: DASPRO MODUL 2 - Elin Damayanti - 135623066.pdf

}

}

Output :

SOAL NO.5 Source Code :

package dasprogg;

import java.io.*; /**

*

* @author hendrys */

public class iklan5 {

public static void main(String[] args) {

BufferedReader dataIn = new BufferedReader(new

InputStreamReader( System.in) );

String hari= ""; String baris= "";

try{

System.out.print("Masukkan Hari : ");

hari = dataIn.readLine(); System.out.print("Masukkan Jumlah Baris : ");

baris = dataIn.readLine();

} catch( IOException e ){

System.out.println("Error!");

}

int total = Integer.parseInt(baris);

if("Minggu".equals(hari) || "Senin".equals(hari) ||

"Selasa".equals(hari) || "Rabu".equals(hari) || "Kamis".equals(hari) || "Jumat".equals(hari))

{

System.out.println("Total Biaya = "+total * 33000); }

else if("Sabtu".equals(hari)){

System.out.println("Total Biaya = "+total * 40000); }

else {

System.out.println("Maaf, format hari anda salah. Awali huruf kapital. Contoh =

Senin "); }

}

}

Page 29: DASPRO MODUL 2 - Elin Damayanti - 135623066.pdf

Output :

SOAL NO.6 Source Code :

package dasprogg; import java.util.*;

/**

* * @author hendrys

*/

public class bioskop6 {

public static void main(String[] args) {

Scanner dino = new Scanner(System.in);

Scanner jumlah = new Scanner(System.in); Scanner libur = new Scanner(System.in);

int tiket,hari,lib,a,b,c; System.out.println("Harga tiket bioskop di Surabaya City");

System.out.println("- Senin – Kamis : Rp 15.000,-");

System.out.println("- Jumat s/d Minggu : Rp 35.000,-");

System.out.println("- Hari Libur : Rp 35.000,-"); System.out.println("\nINPUT"); System.out.println("1 = Senin | 2 = Selasa | 3 = Rabu");

System.out.println("4 = Kamis | 5 = Jumat | 6 = Sabtu | 7 = Minggu ");

System.out.println("8 = Hari Libur | 9 = Bukan Hari Libur"); System.out.print("\nMasukan Hari = ");

hari = dino.nextInt();

System.out.print("Jumlah Tiket = ");

tiket = jumlah.nextInt(); System.out.print("Apakah hari libur = ");

lib = libur.nextInt();

a = tiket * 15000; b = tiket * 35000;

if (hari == 1 && lib != 8 || hari == 2 && lib != 8 || hari == 3 && lib != 8 || hari == 4 &&

lib != 8 ) {

System.out.println("Total yang harus dibayar adalah = "+a);

}

else if (hari == 1 && lib == 8 || hari == 2 && lib == 8 || hari == 3 && lib == 8 || hari == 4 && lib == 8){

System.out.println("Total yang harus dibayar adalah = "+b);

} else if (hari == 5 || hari == 6 || hari == 7)

{

System.out.println("Total yang harus dibayar adalah = "+b); }

}

}

Page 30: DASPRO MODUL 2 - Elin Damayanti - 135623066.pdf

Output :

SOAL NO.7 Source Code :

package dasprogg; import java.util.*;

/**

* * @author hendrys

*/

public class belanja7 { public static void main(String[] args) {

Scanner belanja = new Scanner(System.in);

double total,diskon,bayar;

System.out.print("Total Belanja : "); total = belanja.nextInt();

if(total<150000){

diskon= total * 0; bayar=total-diskon;

System.out.print("Diskon = "+diskon);

System.out.print("\nYang harus dibayar = "+bayar); System.out.print("\n");

}

else if(total<275000){

diskon= total * 0.1;

bayar=total-diskon;

System.out.print("Diskon = "+diskon); System.out.print("\nYang harus dibayar = "+bayar);

System.out.print("\n");

}

else if(total<300000){

diskon= total * 0.15;

Page 31: DASPRO MODUL 2 - Elin Damayanti - 135623066.pdf

bayar=total-diskon;

System.out.print("Diskon = "+diskon);

System.out.print("\nYang harus dibayar = "+bayar); System.out.print("\n");

}

else if(total<400000){

diskon= total * 0.20;

bayar=total-diskon;

System.out.print("Diskon = "+diskon); System.out.print("\nYang harus dibayar = "+bayar);

System.out.print("\n");

}

else {

diskon= total * 0.25;

bayar=total-diskon; System.out.print("Diskon = "+diskon);

System.out.print("\nYang harus dibayar = "+bayar);

System.out.print("\n"); }

}

}

Output :

SOAL NO.8 Source Code :

package dasprogg;

import java.util.*; /**

*

* @author hendrys */

public class tugas8 {

public static void main(String[] args) {

Scanner tugas1 = new Scanner(System.in);

Scanner tugas2 = new Scanner(System.in);

Scanner tugas3 = new Scanner(System.in); Scanner yutc = new Scanner(System.in);

Scanner yuac = new Scanner(System.in);

int tgs1,tgs2,tgs3,utc,uac,rata;

Page 32: DASPRO MODUL 2 - Elin Damayanti - 135623066.pdf

double nilai;

System.out.print("\nMasukkan Nilai Tugas 1 = "); tgs1 = tugas1.nextInt();

System.out.print("Masukkan Nilai Tugas 2 = ");

tgs2 = tugas2.nextInt(); System.out.print("Masukkan Nilai Tugas 3 = ");

tgs3 = tugas3.nextInt();

System.out.print("Masukkan Nilai UTC = ");

utc = yutc.nextInt(); System.out.print("Masukkan Nilai UAC = ");

uac = yuac.nextInt();

rata = (tgs1+tgs2+tgs3)/3;

nilai=((rata*0.3)+(utc*0.3)+(uac*0.4));

if (nilai > 80 && nilai <=100){ System.out.println("Nilai anda adalah A");

}

else if (nilai > 70 && nilai <=80){ System.out.println("Nilai anda adalah AB");

}

else if (nilai > 65 && nilai <=70){ System.out.println("Nilai anda adalah B");

}

else if (nilai > 60 && nilai <=65){

System.out.println("Nilai anda adalah BC"); }

else if (nilai > 55 && nilai <=60){

System.out.println("Nilai anda adalah C"); }

else if (nilai > 40 && nilai <=50){

System.out.println("Nilai anda adalah D"); }

else if (nilai > 0 && nilai <=40){

System.out.println("Nilai anda adalah E");

} }

}

Output :

SOAL NO.9 Source Code :

Page 33: DASPRO MODUL 2 - Elin Damayanti - 135623066.pdf

package dasprogg;

import java.util.*;

/** *

* @author hendrys

*/ public class air9 {

public static void main(String[] args) {

Scanner pemakaian = new Scanner(System.in);

double air;

System.out.print("Jumlah Pemakaian : ");

air = pemakaian.nextInt();

if (air < 0){

System.out.print("Biaya total : "+air*0+"\n"); }

else if (air <= 50){

System.out.print("Biaya total : "+air*200+"\n"); }

else if (air <= 150){

System.out.print("Biaya total : "+((50*200)+((air-50)*500))+"\n"); }

else if (air <= 300){

System.out.print("Biaya total : "+((50*200)+(100*500)+((air-150)*1000))+"\n");

} else {

System.out.print("Biaya total : "+((50*200)+(100*500)+(150 * 1000)+((air-

300)*1500))+"\n"); }

}

}

Output :

SOAL NO.10 Source Code :

package dasprogg;

import java.io.*;

import java.text.*; /**

*

* @author hendrys */

Page 34: DASPRO MODUL 2 - Elin Damayanti - 135623066.pdf

public class kredit10 {

public static void main(String[] args) {

String str_pemakaian ="";

int pemakaian1=0; int pemakaian2=0;

int pemakaian3=0;

int pemakaian4=0;

int cash_back_total=0;

BufferedReader dataIn = new BufferedReader(new InputStreamReader(System.in) );

System.out.print("Masukkan jumlah pemakaian Kartu Kredit : "+str_pemakaian+""); try{

str_pemakaian = dataIn.readLine();

}

catch( IOException e ){ System.out.println("Error!");

}

if(str_pemakaian.length()>0){

int jml_pemakaian = Integer.parseInt(str_pemakaian);

pemakaian1=1000000; if(jml_pemakaian<=1000000){

pemakaian1=jml_pemakaian;

} else if(jml_pemakaian>1000000 && jml_pemakaian<=10000000){

pemakaian1=1000000;

pemakaian2=jml_pemakaian-1000000; }

else if(jml_pemakaian>10000000 && jml_pemakaian<=25000000){ pemakaian2=10000000;

pemakaian3=jml_pemakaian-25000000;

}

else if(jml_pemakaian>25000000){

pemakaian2=10000000;

pemakaian3=25000000; pemakaian4=jml_pemakaian-25000000;

}

cash_back_total = (pemakaian1*5/100)+(pemakaian2*6/100)+(pemakaian3*7/100)+(pemakaian4*8/100);Deci

malFormat df = (DecimalFormat) DecimalFormat.getCurrencyInstance();

DecimalFormatSymbols dfs = new DecimalFormatSymbols(); dfs.setCurrencySymbol("");

dfs.setMonetaryDecimalSeparator(',');

dfs.setGroupingSeparator('.'); df.setDecimalFormatSymbols(dfs);

String jumlah_pemakaian = "Rp. " + df.format(jml_pemakaian);

String hsl_biaya_total = "Rp. " + df.format(cash_back_total);

System.out.println("Seorang nasabah yang total pemakaian selama sebulan "+jumlah_pemakaian+", "

+ "\n\nMaka total cash backnya= "+hsl_biaya_total);

}

Page 35: DASPRO MODUL 2 - Elin Damayanti - 135623066.pdf

else{

System.out.println("\nAda salah satu masukan yang kosong!"); return;

}

} }

Output :

RESENSI https://www.google.co.id/search?output=search&sclient=psy-ab&q=-

%09Dasar+Teori+tentang+algoritma+dan+pemrograman&btnG=#q=-

%09Flowchart

http://blog.greyterminal.net/2010/04/program-java-input-output-if-equals.html

http://en.wikipedia.org/wiki/NetBeans

http://en.wikipedia.org/wiki/Eclipse_%28software%29

http://zuriatiskom.tripod.com/operator.html