50
LAPORAN TUGAS MODUL 2 PRAKTIKUM DASAR PEMROGRAMAN 2013 MUHAMMAD AHDI CAHYA NUGRAHA 135623063 D3 MANAJEMEN INFORMATIK

muhammad ahdi cahya nugraha.docx

Embed Size (px)

DESCRIPTION

h

Citation preview

Page 1: muhammad ahdi cahya nugraha.docx

LAPORAN TUGAS MODUL 2

PRAKTIKUM

DASAR PEMROGRAMAN

2013

MUHAMMAD AHDI CAHYA NUGRAHA

135623063

D3 MANAJEMEN INFORMATIK

Page 2: muhammad ahdi cahya nugraha.docx

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

Page 3: muhammad ahdi cahya nugraha.docx

3.10 Algoritma untuk menghitung cash back yang diterima nasabah berdasarkan

nilai pemakaian kartu kredit.

4. KODE SUMBER (SOURCE CODE) BESERTA OUTPUTNYA

5. REFERENSI

Page 4: muhammad ahdi cahya nugraha.docx

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 OAK Sun

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++] sehingga

menarik 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

appletviewerPenampil applet

javadoc Pembangkit dokumentasi

javah C Pembangkit berkas header

Beberapa editor yang bisa digunakan untuk pemrograman java adalah:

Page 5: muhammad ahdi cahya nugraha.docx

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.

Page 6: muhammad ahdi cahya nugraha.docx

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++) {

Page 7: muhammad ahdi cahya nugraha.docx

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 }

Page 8: muhammad ahdi cahya nugraha.docx

}

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

{

Page 9: muhammad ahdi cahya nugraha.docx

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.

Page 10: muhammad ahdi cahya nugraha.docx

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

variabel lain.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

Page 11: muhammad ahdi cahya nugraha.docx

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

Page 12: muhammad ahdi cahya nugraha.docx

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

Page 13: muhammad ahdi cahya nugraha.docx

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

Page 14: muhammad ahdi cahya nugraha.docx

Operator Deskripsi Contoh Keterangan

==

===

! =

>

sama dengan

adalah persis sama

dengan (nilai dan jenis)

tidak sama

lebih besar dari

x == 8 adalah palsu

x == 5 adalah benar

=== x 5 adalah benar

x === “5″ adalah

palsu

x! = 8 adalah benar

x> 8 adalah palsu

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

Page 15: muhammad ahdi cahya nugraha.docx

<

> =

<=

kurang dari

lebih besar dari atau

sama dengan

kurang dari atau sama

dengan

x <8 adalah benar

x> = 8 adalah palsu

x <= 8 adalah benar

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

Page 16: muhammad ahdi cahya nugraha.docx

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

Page 17: muhammad ahdi cahya nugraha.docx

menggunakan tanda kurung seperti pada bentuk di atas agar memperoleh hasil yang

diinginkan.

Page 18: muhammad ahdi cahya nugraha.docx

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)

Page 19: muhammad ahdi cahya nugraha.docx

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:

Page 20: muhammad ahdi cahya nugraha.docx

statement_3;

}

Page 21: muhammad ahdi cahya nugraha.docx

2. SOAL PRAKTIKUM

2.1 Algoritma untuk mencari sisi miring dari suatu segitiga siku-siku

Algoritma :

a) Input a, dimisalkan 2

b) Input b, dimisalkan 3

c) Proses c=√a2+b2

d) Tampilkan hasil (c)

e) Print

f) Selesai

2.2 Algoritma untuk menampilkan banyaknya pecahan uang paling efisien

Algoritma :

a) menentukan input (uang), dimisalkan uang berjumlah Rp 125.500

b) hitung pecahan 100.000 :125.500100.000

=1

c) hitung pecahan 50.000 :125.500−100.000

50.000=0

d) hitung pecahan 20.000 :125.500−100.000−50.000

20.000=1

e) hitung pecahan 10.000 :125.500−100.000−50.000−20.000

10.000=0

f) hitung pecahan 5.000 :125.500−100.000−50.000−20.000−10.000

5.000

=1

g) hitung pecahan 2.000 :125.500−100.000−50.000−20.000−10.000−5.000

2.000

=0

h) hitung pecahan 1.000 :

125.500−100.000−50.000−20.000−10.000−5.000−20001.000

=0

i) hitung pecahan 500 :

125.500−100.000−50.000−20.000−10.000−5.000−2000−1000500

=1

j) hitung pecahan 200 :

125.500−100.000−50.000−20.000−10.000−5.000−2000−1000−500200

=0

Page 22: muhammad ahdi cahya nugraha.docx

k) hitung pecahan 100 :

125.500−100.000−50.000−20.000−10.000−5.000−2000−1000−500−200100

=0

l) Tampilkan hasil (1010100100)

m) Print

n) Selesai

2.3 Algoritma untuk mengkonversi bilangan dalam format desimal menjadi biner

Algoritma :

a) input desimal, dimisalkan desimal 4510

b) Proses bagi dua ambil sisa pembagian

45 10    =

45 : 2  = 22 + sisa    1

22 : 2  = 11 + sisa    0

11 : 2 = 5    + sisa    1

5 : 2     = 2  + sisa    1

2 : 2     = 1  + sisa    0

c) Tampilkan hasil  011012 (ditulis dr bawah ke atas)

d) Print

e) Selesai

2.4 Algoritma untuk bonus pegawai

Algoritma :

a) Input Select Case StatusPegawai

b) Input Case StatusStaff

c) If MasaKerja >= 5 Then

d) If Umur >= 50 Then

e) Bonus = 1000000

f) Else

g) Bonus = 300000

h) End If

i) Else

j) Bonus = 500000

k) End IF

Page 23: muhammad ahdi cahya nugraha.docx

l) Case Else

m) If MasaKerja >= 5 Then

n) If Umur >= 50 Then

o) Bonus = 400000

p) Else

q) Bonus = 250000

r) End If

s) Else

t) Bonus = 250000

u) End IF

v) End Select

2.5 Algoritma untuk menghitung total biaya iklan baris yang harus dibayar oleh pengiklan

Algoritma :

a) Input Hari Minggu, Senin, Selasa, Rabu, Kamis, Jumat Rp 33.000/ baris

b) Input Hari Sabtu Rp 40.000/ baris

c) Input jml baris minggu s/d jum’at = 50

Input jml baris, Hari Sabtu =12

d) Proses, Jika Hari Minggu, Senin, Selasa, Rabu, Kamis, Jumat Rp 33.000/ baris

Jika Hari Sabtu Rp 40.000/ baris

e) Harga*jml baris

f) Tampilkan hasil

g) Print

h) Selesai

2.6 Algoritma untuk menghitung total biaya tiket .

a) Input Hari Senin, Selasa, Rabu, Kamis Rp 15.000

b) Input Hari Jum’at, sabtu, mingggu, Libur Rp 35.000

c) Input Jumlah tiket yang dibeli,

Dimisalkan juml.tiket Hari Senin, Selasa, Rabu, Kamis = 20

Dimisalkan juml.tiket Hari Jum’at, sabtu, mingggu, Libur = 15

d) Proses, jika Hari Senin, Selasa, Rabu, Kamis Rp 15.000* juml.tiket Hari Senin,

Selasa, Rabu, Kamis (20)

Page 24: muhammad ahdi cahya nugraha.docx

Jika Hari Jum’at, sabtu, mingggu, Libur Rp 35.000* juml.tiket Hari Jum’at, sabtu,

mingggu, Libur = 15

e) Tampilkan hasil (825000)

f) Print

g) Selesai

2.7 Algoritma untuk menghitung berapa nilai yang harus dibayar oleh pelanggan dengan

total nilai belanja tertentu bila disertakan pula perhitungan diskonnya. Ketentuan :

Diskon tidak dihitung sebagai akumulasi dari diskon nilai belanja dibawahnya.

Algoritma :

a) Input Total nilai belanja

b) Subtotal, jml* harga barang

c) Proses, Jika Rp. 150.000,- ke atas diskonnya : 10%,

Jika Rp. 275.000,- ke atas diskonnya : 15%,

Jika Rp. 300.000,- ke atas diskonnya : 20%,

Jika Rp. 400.000,- ke atas diskonnya : 25%

d) Hitung total bayar subtotal- potongan

e) Tampilkan total bayar

f) Print

g) Selesai

2.8 Algoritma nilai

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%))

d) Seleksi nilai akhir.

e) 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

Page 25: muhammad ahdi cahya nugraha.docx

> 55 dan <=60 maka nilai huruf = C

> 40 dan <=55 maka nilai huruf = D

> 0 dan <=40 maka nilai huruf = E

f) Output : hasil nilai akhir dan hasil seleksi nilai huruf

2.9 Algoritma tarif pemakaian Air PDAM Kota Surabaya

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 Biaya Total = ((50 * 200) + (100 * 500) + (150 *

1000) + ((jumlah - 300) * 1500))

c. Output : Biaya Total

2.10 Algoritma untuk menghitung cash back yang diterima nasabah berdasarkan

nilai pemakaian kartu kredit.

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 variabel

c) int jml_pemakaian,memberikan nilai default pada variabel pemakaian1 dengan,

pemakaian1= 1000.000.Jika nilai pada variabel jml_pemakaian <= 1.000.000.

d) Memberikan nilai pada variabel pemakaian1 dengan,pemakaian1= e.

jml_pemakaian.

e) Atau jika nilai pada variabel jml_pemakaian > 1.000.000, dan nilaipada variabel

jml_pemakaian <= 10.000.000

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

Page 26: muhammad ahdi cahya nugraha.docx

g) Memberikan nilai pada variabel pemakaian2 dengan,pemakaian2= jml_pemakaian

– 1.000.000 atau jika nilai pada variabel jml_pemakaian > 10.000.000, dan nilai

pada 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.000

m) Memberikan nilai pada variabel cash_back_total dengan,cash_back_total=

(pemakaian1*5/100)+(pemakaian2*6/100)+(pemakaian3*7/100)+

(pemakaian4*8/10)

n) Cetak output dengan format, "Seorang nasabah yang total selama sebulan

"+jml_pemakaian+", maka total cash backnya="+cash_back_total.Atau Jika

panjang inputan tidak lebih dari 0, atau dengan kata lain user belum menginputkan

value

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

p) Stop proses

Page 27: muhammad ahdi cahya nugraha.docx

START

INPUT NILAI a= 2

INPUT NILAI b= 2

Print

Selesai

Hasil 2

3. FLOWCHART ATAU PSOUDOCODE DARI MASING-MASING SOAL

3.1 Flowchart untuk mencari sisi miring dari suatu segitiga siku-siku

Page 28: muhammad ahdi cahya nugraha.docx

START

INPUT UANG = 125.500

PROSEShitung pecahan 100.000:hitung pecahan 50.000:hitung pecahan 20.000:hitung pecahan 10.000:hitung pecahan 5.000:hitung pecahan 2.000:hitung pecahan 1.000:hitung pecahan 500:hitung pecahan 200:hitung pecahan 100:

Print

Selesai

Tampilkan hasil 1010100100

3.2 Flowchart untuk menampilkan banyaknya pecahan uang paling efisien

Page 29: muhammad ahdi cahya nugraha.docx

START

Input desimal = 45 10

Proses45 10    =

45 : 2  = 22 + sisa    122 : 2  = 11 + sisa    011 : 2 = 5    + sisa    15 : 2     = 2  + sisa    12 : 2     = 1  + sisa    0

Print

Selesai

Tampilkan hasil 01101 10

3.3 Flowchart untuk mengkonversi bilangan dalam format desimal menjadi biner

Page 30: muhammad ahdi cahya nugraha.docx

START

Input Select Case StatusPegawai, Input Case StatusStaff

Read Select Case StatusPegawai,Case StatusStaff

IF((p==”staf)&&(k>=5)&& (u>=5))

Else if ((p == “staf”) && (k<5))

3.4 Flowchart untuk bonus pegawai

Print “Bonus Rp 1.000.000”

Print “Bonus Rp 500.000”

Else if ((p== “staf”) && (u,50))

Else if ((p== “non staf”) && (k>5) &&

(u>50))

Else if ((p== “non staf”) (u>50))

Print “Bonus Rp 300.000”

Print “Bonus Rp 400.000”

Print “Bonus Rp 250.000”

End

YA

YA

YA

YA

YA

TIDAK

TIDAK

TIDAK

TIDAK

Page 31: muhammad ahdi cahya nugraha.docx

PRINT

SELESAI

ProsesHarga *12baris

Hasil

Sabtu

Minggu, Senin, Selasa, Rabu, Kamis, Jum’at

Start

Input Hari Minggu, Senin, Selasa, Rabu, Kamis, Jum’at Rp 33.000Input Hari Sabtu Rp 40.000

Input jml baris minggu s/d jum’at = 50Input jml baris, Hari Sabtu =12

ProsesHarga *50 baris

3.5 Flowchart untuk menghitung total biaya iklan baris yang harus dibayar oleh pengiklan

YAHarga Rp 33.000

TIDAK

Harga Rp 40.000

Page 32: muhammad ahdi cahya nugraha.docx

Start

Input Hari Senin, Selasa, Rabu, Kamis Rp 15.000Input Hari libur atau tidak libur, jumat, sabtu, minggu Rp 35.000

Senin, Selasa, Rabu, Kamis

ProsesJml.tiket * Harga

20* 33.000

PRINT

SELESAI

Tampilkan hasil825.000

ProsesJml.tiket * Harga

15* 35.000

3.6 Flowchart Algoritma untuk menghitung total biaya tiket .

YA

Harga 33.000

Harga 35.000

TIDAK

Jum’at, Sabtu, Minggu, Libur

Page 33: muhammad ahdi cahya nugraha.docx

3.7 Flowchart untuk menghitung berapa nilai yang harus dibayar oleh pelanggan dengan

total nilai belanja tertentu bila disertakan pula perhitungan diskonnya.

START

Input barang, jumlah

Subtotal, jumlah* harga barang

Diatas Rp 150.000,-

Diatas Rp 275.000,-

Diatas Rp 300.000,-

YA

YA

YA

TIDAK

TIDAK

Diatas Rp 400.000,-

Diskon 25 %

Diskon 10%

Diskon 15%

Diskon 20%

Total Bayar

Subtotal- potongan

Print

Selesai

Page 34: muhammad ahdi cahya nugraha.docx

3.8 Flowchart nilai

START

INPUT nilai Tugas1,tugas2,tugas3,UTC,UAC

READ nilai tugas1,tugas2,tugas3,UTC,UAC

Jml. nilai Nilai=((rata-rata tugas*30%)+(UTC*30%)+

(UAC*40%))

If nilai > 80 dan <=100

If nilai > 70 dan <=80

If nilai > 65 dan <=70

If nilai > 55 dan <=60

A

AB

B

BC

Page 35: muhammad ahdi cahya nugraha.docx

C

D

If nilai > 40 dan <=55

If nilai > 0 dan <=40

A

AB

B

BC

PRINT, END

Page 36: muhammad ahdi cahya nugraha.docx

3.9 Flowchart tarif pemakaian Air PDAM Kota Surabaya

Page 37: muhammad ahdi cahya nugraha.docx

3.10 Flowchart untuk menghitung cash back yang diterima nasabah berdasarkan

nilai pemakaian kartu kredit.

Page 38: muhammad ahdi cahya nugraha.docx

5.SOURCE KODE BESERTA OUTPUT

Pada kode ini, saya mengasumsikan bahwa Anda telah punya source Java sendiri yang kira-kira struktur umumnya adalah sebagai berikut:

package PackageName;

// import statement here

public class MainClassName { public static void main(String[] args) { // Your code here }}

Kode-kode yang ada di artikel ini bisa langsung digunakan di dalam method main.

Mencetak Keluaran dari Standard Output

Untuk mencetak keluaran, bisa menggunakan:System.out.println("Hai!");

Untuk menggabungkan keluaran biasa dengan suatu variabel, Anda dapat menggunakan operator ‘+’int i = 0;System.out.println("Isi variabel i adalah " + i + ".");

Untuk yang membutuhkan keluaran dengan format, Java juga memilikinya:int i = 0;System.out.printf("Isi variabel i adalah %i.\n", i);

Membaca Masukan dari Standard Input

Ini adalah cara yang cukup mudah untuk digunakan. Pada bagian import, jangan lupa definisikan:

import java.util.Scanner;

Penggunaan Scanner adalah sebagai berikut:

Scanner inputScanner = new Scanner(System.in);String masukan = inputScanner.next();System.out.println(masukan);

Untuk tipe data lain, ada juga caranya. Misal untuk membaca sebuah bilangan bulat:

Scanner inputScanner = new Scanner(System.in);int angka = inputScanner.nextInt();System.out.println(angka);

Jika Anda menggunakan Integrated Development Environment (IDE) seperti NetBeans, maka Anda bisa mengeksplorasi sendiri methods yang ada dengan mengetik “inputScanner” dan diakhiri dengan tanda titik. Anda akan dibantu dengan fitur Code Completion dari IDE ini.

Page 39: muhammad ahdi cahya nugraha.docx

Coba saja, ada banyak method yang dapat Anda gunakan. Hal yang sama juga bisa Anda lakukan, misalnya dengan mengetik “System.out” diakhiri dengan tanda titik. Anda akan melihat method yang begitu banyak.

Ini adalah cara yang mudah untuk mencoba belajar sendiri, tanpa harus capek-capek browsing.

Fitur Code Completion pada NetBeans ketika Anda mengetik "inputScanner" diakhiri dengan tanda titik.

Page 40: muhammad ahdi cahya nugraha.docx

6. REFERENSI

http://agungbudisantoso24.wordpress.com/2012/02/06/statementi-input-dan-output-pada-

java/

http://abdublog92.wordpress.com/2011/10/01/assignment-operator/

http://matematika-website.blogspot.com/2008/04/operator-matematika.html

http://tutorial.belajarweb.net/javascript/javascript-perbandingan-dan-operator-logika.html

http://www.indrabt.com/operator-perbandingan-pada-perintah-if-di-php.html

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

http://www.books.google.com/books?isbn=9792078525

http://rodelaide.blogspot.com/2013/02/struktur-percabangan-kontrol-

selection.html#chitika_close_button

http://rfetricia.blogspot.com/2012/12/algoritma-dan-flowchart-sisi-miring.html

http://unoguys.blogspot.com/2013/02/percabangan-atau-pemilihan-pada-java.html

http://id.answers.yahoo.com/question/index?qid=20101117223748AAt1JjC

http://murnia-wiyoto.blogspot.com/2011/12/konversi-bilangan-biner-dan-bilangan.html

http://id.wikipedia.org/wiki/Kode_sumber

http://id.wikipedia.org/wiki/Pemrograman

http://rofidahsadiyah.blogspot.com/2012/10/fungsi-input-output-kode-format-contoh.html

http://bugspin.blogspot.com/2011/01/contoh-source-code-sederhana-bahasa-c.html

http://henryzzzgadget.blogspot.com/2013/10/tugas-modul-2-praktikum-dasar.html