muhammad ahdi cahya nugraha.docx
-
Upload
muhammad-ahdi-cahya-nugraha -
Category
Documents
-
view
181 -
download
0
description
Transcript of muhammad ahdi cahya nugraha.docx
LAPORAN TUGAS MODUL 2
PRAKTIKUM
DASAR PEMROGRAMAN
2013
MUHAMMAD AHDI CAHYA NUGRAHA
135623063
D3 MANAJEMEN INFORMATIK
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 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:
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
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
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
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
<
> =
<=
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
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;
}
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
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
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)
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
> 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
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
START
INPUT NILAI a= 2
INPUT NILAI b= 2
Selesai
Hasil 2
3. FLOWCHART ATAU PSOUDOCODE DARI MASING-MASING SOAL
3.1 Flowchart untuk mencari sisi miring dari suatu segitiga siku-siku
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:
Selesai
Tampilkan hasil 1010100100
3.2 Flowchart untuk menampilkan banyaknya pecahan uang paling efisien
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
Selesai
Tampilkan hasil 01101 10
3.3 Flowchart untuk mengkonversi bilangan dalam format desimal menjadi biner
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
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
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
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
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
Selesai
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
C
D
If nilai > 40 dan <=55
If nilai > 0 dan <=40
A
AB
B
BC
PRINT, END
3.9 Flowchart tarif pemakaian Air PDAM Kota Surabaya
3.10 Flowchart untuk menghitung cash back yang diterima nasabah berdasarkan
nilai pemakaian kartu kredit.
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.
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.
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
http://imamhidayatsite.wordpress.com/2011/03/06/inputoutput-dengan-java-bagian-1-
standard-inputoutput/