You are on page 1of 41

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 1991 Teknologi *7(Star Seven). Mulamula 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) Objek Perpustakaan Kelas yang lengkap Java terkenal dengan kelengkapan library/ semua aspek yang terdapat di Java adalah

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 javac java jdb javap appletviewer

Keterangan Kompiler Interpreter Debugger Disasembler Penampil applet Pembangkit dokumentasi Pembangkit berkas header

javadoc javah C

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 (platformindependent). 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. operator merupakan

Assignment

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 sama dengan Contoh Keterangan

x == 8 adalah palsu disebut juga sebagai operator x == 5 adalah benar Equality. Perbandingan

menggunakan operator ini akan

mengembalikan nilai true jika kedua operand memiliki nilai sama, apabila tidak maka akan mengembalikan nilai false.

===

adalah

persis

sama === x 5 adalah benar disebut juga sebagai operator x === 5 palsu adalah Identical. digunakan Operator ini untuk

dengan (nilai dan jenis)

membandingkan apakah kedua operand identik. Yang

dimaksud dengan identik disini adalah kedua operand memiliki nilai dan tipe data yang sama. != tidak sama x! = 8 adalah benar disebut juga sebagai operator Inequality. Perbandingan

menggunakan operator ini akan mengembalikan nilai true jika kedua operand memiliki nilai berbeda, apabila tidak maka akan false. mengembalikan nilai

>

lebih besar dari

x> 8 adalah palsu

Operator ini digunakan untuk membandingkan apakah

operand yang berada disebelah kiri memiliki nilai lebih besar daripada operand yang

disebelah kanan.

<

kurang dari

x <8 adalah benar

Operator ini digunakan untuk membandingkan apakah

operand yang berada disebelah kiri memiliki nilai lebih kecil

daripada

operand

yang

disebelah kanan.

>=

lebih besar dari atau x> = 8 adalah palsu sama dengan

Operator ini digunakan untuk membandingkan apakah

operand yang berada disebelah kiri memiliki nilai lebih besar sama atau sama dengan

operand yang disebelah kanan.

<=

kurang dari atau sama x <= 8 adalah benar dengan

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 And Or Not Contoh (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 ()[] . ! ~ ++ -- + - * & (type) sizeof * / % + << >> < <= > >= == != & ^ | && || ?: = += -= *= /= %= &= ^= |= <<= >>= , Evaluasi kiri ke kanan 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 , ifelse 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 ifelse 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 ifelse 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

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 : c) hitung pecahan 50.000 d) hitung pecahan 20.000 e) hitung pecahan 10.000 f) hitung pecahan 5.000 g) hitung pecahan 2.000 h) hitung pecahan 1.000 i) hitung pecahan 500 j) hitung : k) hitung : l) Tampilkan hasil (1010100100) m) Print n) Selesai pecahan =0 : : : : : : : pecahan =0 100 =1 =0 =1 =0 =1 =0 =0 =1 200

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:2 = 2 + sisa 1 = 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 jumat = 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 Jumat, 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 Jumat, 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 Jumat, sabtu, mingggu, Libur Rp 35.000* juml.tiket Hari Jumat, 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

3. FLOWCHART ATAU PSOUDOCODE DARI MASING-MASING SOAL 3.1 Flowchart untuk mencari sisi miring dari suatu segitiga siku-siku
START

INPUT NILAI a= 2

INPUT NILAI b= 2

Hasil 2

Print

Selesai

3.2 Flowchart untuk menampilkan banyaknya pecahan uang paling efisien

START

INPUT UANG = 125.500

PROSES

a) b) c) d) e) f) g) h) i) j)

hitung 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

: : : : : : : : : :

Tampilkan hasil 1010100100 Print

Selesai

3.3 Flowchart untuk mengkonversi bilangan dalam format desimal menjadi biner
START

Input desimal = 45 10

Proses 45 10 = 45 : 2 = 22 + sisa 22 : 2 = 11 + sisa 11 : 2 = 5 + sisa 5 : 2 = 2 + sisa 2 : 2 = 1 + sisa

1 0 1 1 0

Tampilkan hasil 01101 10

Print

Selesai

3.4 Flowchart untuk bonus pegawai


START

Input Select Case StatusPegawai, Input Case StatusStaff

Read Select Case StatusPegawai,Case StatusStaff

IF((p==staf)&&(k >=5)&& (u>=5)) TIDAK Else if ((p == staf) && (k<5)) TIDAK Else if ((p== staf) && (u,50)) TIDAK Else if ((p== non staf) && (k>5) && (u>50))

YA Print Bonus Rp 1.000.000

YA Print Bonus Rp 500.000

YA Print Bonus Rp 300.000

YA Print Bonus Rp 400.000

TIDAK Else if ((p== non staf) (u>50)) YA Print Bonus Rp 250.000

End

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

Start

Input Hari Minggu, Senin, Selasa, Rabu, Kamis, Jumat Rp 33.000 Input Hari Sabtu Rp 40.000

Input jml baris minggu s/d jumat = 50 Input jml baris, Hari Sabtu =12

Minggu, Senin, Selasa, Rabu, Kamis, Jumat

YA Harga Rp 33.000

TIDAK Proses Sabtu Harga Rp 40.000 Harga *50 baris

Proses Harga *12baris

Hasil

PRINT

SELESAI

3.6 Flowchart Algoritma untuk menghitung total biaya tiket .

Start

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

YA Senin, Selasa, Rabu, Kamis Harga 33.000

TIDAK Proses Jumat, Sabtu, Minggu, Libur Jml.tiket * Harga 20* 33.000

Proses Jml.tiket * Harga 15* 35.000

Harga 35.000

Tampilkan hasil 825.000

PRINT

SELESAI

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,-

YA Diskon 10%

TIDAK YA Diskon 15%

Diatas Rp 275.000,-

TIDAK Diatas Rp 300.000,YA Diskon 20%

Diatas Rp 400.000,Diskon 25 %

Total Bayar Subtotal- potongan Print 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

AB

dan <=80

If nilai > 65

dan <=70

If nilai > 55

dan <=60 > 40 dan <=55 > 0 dan <=40

BC

If nilai > 40

dan <=55 > 0 dan <=40 If nilai > 0 dan <=40

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-padajava/ 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-kontrolselection.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-1standard-inputoutput/

You might also like