modul2-daspro (135623001-Taufiqurrohman).doc

57
TUGAS MODUL II PRAKTIKUM DASAR PEMROGRAMAN Oleh : Taufiqurrohman Nim : 135623001 D3 MANAJEMEN INFORMATIKA UNIVERSITAS NEGERI SURABAYA TAHUN 2013

description

modul praktikum daspro

Transcript of modul2-daspro (135623001-Taufiqurrohman).doc

TUGAS MODUL II

PRAKTIKUM DASAR PEMROGRAMAN

Oleh :

Taufiqurrohman

Nim : 135623001

D3 MANAJEMEN INFORMATIKA

UNIVERSITAS NEGERI SURABAYA

TAHUN 2013

1. Dasar Teori

A. Penngertian Netbeans dan Eclipse

1) Netbeans

Netbeans merupakan sebuah aplikasi Integrated Development Environment

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

merupakan sebuah teknologi Java untuk pengembangan aplikasi desktop yang dapat

berjalan pada berbagai macam platform seperti windows, linux, Mac OS X dan

Solaris. Sebuah IDE merupakan lingkup pemrograman yang di integrasikan ke dalam

suatu aplikasi perangkat lunak yang menyediakan Graphic User Interface (GUI), suatu

kode editor atau text, suatu compiler dan suatu debugger.

Netbeans juga digunakan oleh sang programmer untuk menulis, meng-

compile, mencari kesalahan dan menyebarkan program netbeans yang ditulis dalam

bahasa pemrograman java namun selain itu dapat juga mendukung bahasa

pemrograman lainnya dan program ini pun bebas untuk digunakan dan untuk

membuat professional desktop, enterprise, web, and mobile applications dengan

Java language, C/C++, dan bahkan dynamic languages seperti PHP, JavaScript,

Groovy, dan Ruby.

NetBeans merupakan sebuah proyek kode terbuka yang sukses dengan

pengguna yang sangat luas, komunitas yang terus tumbuh, dan memiliki hampir 100

mitra (dan terus bertambah!). Sun Microsystems mendirikan proyek kode terbuka

NetBeans pada bulan Juni 2000 dan terus menjadi sponsor utama. Dan saat ini pun

netbeans memiliki 2 produk yaitu Platform Netbeans dan Netbeans IDE. Platform

Netbeans merupakan framework yang dapat digunakan kembali (reusable) untuk

menyederhanakan pengembangan aplikasi deskto dan Platform NetBeans juga

menawarkan layanan-layanan yang umum bagi aplikasi desktop, mengijinkan

pengembang untuk fokus ke logika yang spesifik terhadap aplikasi.

A. Fitur-fitur dari Platform Netbeans antara lain:

Manajemen antarmuka (misal: menu & toolbar)

Manajemen pengaturan pengguna

Manajemen penyimpanan (menyimpan dan membuka berbagai macam data)

Manajemen jendela

Wizard framework (mendukung dialog langkah demi langkah)

Netbeans IDE merupakan sebuah IDE open source yang ditulis sepenuhnya

dengan bahasa pemrograman java menggunakan platform netbeans. NetBeans IDE

mendukung pengembangan semua tipe aplikasi Java (J2SE, web, EJB, dan aplikasi

mobile). Fitur lainnya adalah sistem proyek berbasis Ant, kontrol versi, dan

refactoring.

Versi terbaru saat ini adalah NetBeans IDE 5.5.1 yang dirilis Mei 2007

mengembangkan fitur-fitur Java EE yang sudah ada (termasuk Java Persistence

support, EJB-3 dan JAX-WS). Sementara paket tambahannya, NetBeans Enterprise

Pack mendukung pengembangan aplikasi perusahaan Java EE 5, meliputi alat

desain visual SOA, skema XML, web service dan pemodelan UML. NetBeans C/C++

Pack mendukung proyek C/C++.

Modularitas: Semua fungsi IDE disediakan oleh modul-modul. Tiap modul

menyediakan fungsi yang didefinisikan dengan baik, seperti dukungan untuk

bahasa pemrograman Java, editing, atau dukungan bagi CVS. NetBeans memuat

semua modul yang diperlukan dalam pengembangan Java dalam sekali download,

memungkinkan pengguna untuk mulai bekerja sesegera mungkin. Modul-modul

juga mengijinkan NetBeans untuk bisa dikembangkan. Fitur-fitur baru, seperti

dukungan untuk bahasa pemrograman lain, dapat ditambahkan dengan menginstal

modul tambahan. Sebagai contoh, Sun Studio, Sun Java Studio Enterprise, dan Sun

Java Studio Creator dari Sun Microsystem semuanya berbasis NetBeans IDE.

B. Fitur fitur yang terdapat dalam netbeans antara lain:

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

melengkapi keyword dan mengusulkan tipe parameter dari sebuah method.

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

hendak kita modifikasi.

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

code atau file yang ada pada project yang sama.

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

constructor, setter and getter method dan yang lainnya.

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

merah.

C. Paket-Paket Tambahan NetBeans IDE

I. NetBeans Mobility Pack

NetBeans Mobility Pack adalah alat untuk mengembangkan aplikasi yang

berjalan pada perangkat bergerak (mobile), umumnya telepon seluler, tetapi juga

mencakup PDA, dan lain-lain.

NetBeans Mobility Pack dapat digunakan untuk menulis, menguji, dan

debugging aplikasi untuk perangkat bergerak yang menggunakan teknologi

berplatform Java Micro Edition (platform Java ME). Paket ini mengintegrasikan

dukungan terhadap Mobile Information Device Profile (MIDP) 2.0, Connected

Limited Device Configuration (CLDC) 1.1, dan Connected Device Configuration

(CDC). Emulator dari pihak ketiga dapat diintegrasikan dengan mudah untuk

lingkungan pengujian yang lebih kokoh. NetBeans Mobility Pack saat ini tersedia

dalam dua klaster yang berbeda, yang satu memuat CDC dan yang lainnya CLDC.

II. NetBeans Profiler

NetBeans Profiler adalah alat untuk mengoptimalkan aplikasi Java, membantu

menemukan kebocoran memori dan mengoptimalkan kecepatan.

Profiler ini berdasarkan sebuah proyek riset Sun Laboratories yang dahulu

bernama Jfluid. Riset tersebut mengungkap teknik tertentu yang dapat digunakan

untuk menurunkan overhead proses profiling aplikasi Java. Salah satu dari teknik

tersebut adalah instrumentas i kode byte dinamis, yang berguna untuk profiling

aplikasi Java yang besar. Dengan menggunakan instrumentasi kode byte dinamis

dan algoritma-algoritma tambahan, Netbeans Profiler mampu mendapatkan

informasi runtime aplikasi yang terlalu besar atau kompleks bagi profiler lain.

NetBeans IDE 6.0 akan mendukung Profiling Point yang memungkinkan kita

memprofilkan titik yang tepat dari eksekusi dan mengukur waktu eksekusi.

III. NetBeans C/C++ Pack

NetBeans C/C++ Pack menambahkan dukungan terhadap pengembang C/C++

ke NetBeans IDE 5.5. Paket ini memperbolehkan pengembang menggunakan

sekumpulan kompiler dan alat sendiri bersama dengan NetBeans IDE untuk

membangun aplikasi native untuk MS Windows, Linux, dan Solaris. Paket ini

membuat editor mengenali bahasa C/C++ dan menyediakan project template,

browser kelas yang dinamis, dukungan pembuatan file dan fungsionalitas

debugger. Para pengembang juga dapat mengembangkan paket tersebut dengan

fungsionalitas tambahan mereka sendiri.

IV. NetBeans Enterprise Pack

NetBeans Enterprise Pack memperluas dukungan terhadap pengembangan

aplikasi perusahaan dan web service di NetBeans IDE 5.5.

Enterprise Pack ini mengembangkan kemampuan untuk menulis, menguji, dan

debug aplikasi dengan arsitektur berorientasi layanan (Service-Oriented Architecture)

menggunakan XML, BPEL, dan Java web service. Paket ini menambahkan alat desain

visual untuk pemodelan UML, skema XML, dan web service orchestration, juga

dukungan untuk web service dengan menggunakan identitas yang aman. Paket ini juga

menginstal dan mengkonfigurasi runtime yang diperlukan, termasuk mesin BPEL dan

server manajemen identitas yang terintegrasi dengan Sun Java System Application

Server.

V. NetBeans Ruby Pack

Versi NetBeans 6.0 mendatang akan mengijinkan pengembangan IDE

menggunakan Ruby dan Jruby, sebagaimana Rails untuk dua implementasi Ruby yang

lain. Preview NetBeans Ruby Pack tersedia sejak rilis Milestone 7 NetBeans 6.

Ruby Pack memasukkan fungsionalitas editor seperti:

pengeditan dasar

pewarnaan sintaks untuk Ruby

pelengkapan kode

occurence highlighting

pop-up dokumentasi yang terintegrasi untuk pemanggilan Ruby API

analisis semantik dengan highlighting parameter dan variabel lokal yang tidak

terpakai

D. NetBeans JavaScript Editor

NetBeans JavaScript Editor menyediakan perluasan dukungan terhadap

JavaScript dan CSS. Fitur-fiturnya antara lain:

1. Editor JavaScript

syntax highlighting

pelengkapan kode untuk objek dan fungsi native

semua fitur dalam editor NetBeans

pembuatan kerangka kelas JavaScript secara otomatis

pembuatan pemanggilan AJAX dari template

2. Ekstensi editor CSS

pelengkapan kode untuk nama-nama style

navigasi cepat melalui panel navigator

penampilan deklarasi aturan CSS di List View

penampilan struktur file di Tree View

mengurutkan outline view berdasarkan nama, tipe, atau urutan deklarasi (List

& Tree)

pembuatan deklarasi aturan (hanya Tree)

pemfaktoran kembali sebagian nama rule (hanya Tree)

3. Database yang didukung oleh Netbeans antara lain:

1. JDBC merupakan spesifikasi standar dari JavaSoft API (Aplication

Programming Interface) yang memungkinkan program Java untuk mengakses

sistem database manajemen. JDBC API terdiri dari satu set interface dan kelas

yang ditulis dalam bahasa pemrograman Java. JDBC API Menggunakan

interface standar dan kelas, programmer dapat menulis aplikasi yang

terhubung ke database, mengirimkan pertanyaan ditulis SQL (Structured

Query Language), dan memproses hasilnya.

2. ORACLE merupakan sebuah aplikasi basisdata yang didukung oleh NetBeans,

Oracle secara umum hampir sama dengan MySQL namun yang membedakan

adalah oracle dapat digunakan dan dihubungkan dengan netbeans dan harus

menggunakan drivers untuk menyimpan data-data yang telah dibuat. Oracle

merupakan salah satu dari beberapa aplikasi basisdata yang sering digunakan

untuk koneksi ke basisdata pada NetBeans karena relatif mudah dan cepat.

3. MySQL merupakan sebuah aplikasi basisdata yang didukung oleh NetBeans,

MySQL memilki Fitur Yang ada sudah lumayan lengkap, dari input, update,

delete serta Search. Sebuah antarmuka ODBC memanggil MyODBC yang

memungkinkan setiap bahasa pemrograman yang mendukung ODBC untuk

berkomunikasi dengan basis data MySQL. Kebanyakan kode sumber MySQL

dalam ANSI C.

Berikut sekilas mengenai beberapa syntaks SQL yang digunakan pada

NetBeans:

1. Interface :

java.sql.Statement Interface yang digunakan untuk mengirim laporan statis

SQL ke server database dan memperoleh hasilnya.

javax.sql.ConnectionEventListener Menerima event atau kejadian bahwa

obyek PooledConnection digeneralisasi.

2. Classes :

java.sql.Date Subclass dari java.util.Date digunakan untuk tipe data SQL

DATE.

java.lang.DriverManager Class yang digunakan untuk mengelola satu set

JDBC drivers.

3. Exception Classes:

java.sql.SQLException Eksepsi yang menyediakan informasi tentang

Database error

java.sql.SQLWarning Eksepsi yang menyediakan informasi tentang

peringatan Database.

4. DataBase Access (Microsoft Access)

merupakan sebuah aplikasi basis data yang didukung oleh NetBeans, data

dapat disimpan di dalam format Microsoft Access, Microsoft Jet Database

Engine, Microsoft SQL Server, Oracle Database, atau semua kontainer basis

data yang mendukung standar ODBC. Access juga mendukung teknik-teknik

pemrograman berorientasi objek.

Kelebihan dan Kekurangan Netbeans

Kelebihan NetBeans GUI Builder :

Salah satu yang menjadi kelebihan NetBeans GUI Builder adalah yang telah disebutkan

diatas, yaitu GRATIS. Selain itu NetBeans GUI Builder sangat kompetebel dengan Swing

karena memang langsung dikembangkan oleh Sun yang notabenenya sebagai

pengembang Swing.

Kekurangan NetBeans GUI Builder :

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

Java GUI yang dikembangkan oleh eclipse yang bernama SWT dan JFace yang sudah

cukup populer.

Pengertian Eclipse

Menurut Nasruddin Safaat h (Pemrograman aplikasi mobeli smartphone dan tablet PC

berbasis android 2012:16) Eclipse adalah sebuah IDE (Integrated Development Environment)

untuk mengembangkan perangkat lunak dan dapat dijalankan di semua platform (platform-

ndependent). Berikut ini adalah sifat dari Eclipse:

a. Multi-platform: Target sistem operasi Eclipse adalah Microsoft Windows, Linux, Solaris,

AIX, HP-UX dan Mac OS X.

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

c. 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.

Eclipse dibuat dari kerja sama antara perusahaan-perusahaan anggota 'Eclipse

Foundation' (beserta individu-individu lain). Banyak nama besar yang ikut dalam 'Eclipse

Foundation', termasuk IBM, BEA, Intel, Nokia, Borland. Eclipse bersaing langsung dengan

Netbeans IDE. Plugin tambahan pada Eclipse jauh lebih banyak dan bervariasi dibandingkan IDE

lainnya.

1. IntelliJ IDEA (commercial, free 30-day trial)

2. Oracle JDeveloper (free)

3. Xinox JCreator (ada versi berbayar maupun free)

Eclipse awalnya dikembangkan oleh IBM untuk menggantikan perangkat lunak IBM

Visual Age for Java 4.0. Produk ini diluncurkan oleh IBM pada tanggal 5 November 2001, yang

menginvestasikan sebanyak US$ 40 juta untuk pengembangannya. Semenjak itu konsursium

Eclipse Foundation mengambil alih untuk pengembangan Eclipse lebih lanjut dan pengaturan

organisasinya. Sejak versi 3.0, Eclipse pada dasarnya merupakan sebuah kernel, yang

mengangkat plug-in. Apa yang dapat digunakan di dalam Eclipse sebenarnya adalah fungsi dari

plug-in yang sudah diinstal. Ini merupakan basis dari Eclipse yang dinamakan Rich Client

Platform (RCP).

Berikut ini adalah komponen yang membentuk RCP:

1. Core platform

2. OSGi

3. SWT (Standard Widget Toolkit)

4. JFace

5. Eclipse Workbench

Secara standar Eclipse selalu dilengkapi dengan JDT (Java Development Tools), plug-in yang

membuat Eclipse kompatibel untuk mengembangkan program Java, dan PDE (Plug-in

evelopment Environment) untuk mengembangkan plug-in baru. Eclipse beserta plug-in-nya

diimplementasikan dalam bahasa pemrograman Java. Konsep Eclipse adalah IDE yang terbuka

(open), mudah iperluas (extensible) untuk apa saja, dan tidak untuk sesuatu yang spesifik. Jadi,

Eclipse tidak saja untuk mengembangkan program Java, akan tetapi dapat digunakan untuk

berbagai macam keperluan, cukup dengan menginstal plug-in yang dibutuhkan.

Apabila ingin mengembangkan program C/C++ terdapat plug-in CDT (C/C++ Development

Tools). Selain itu, pengembangan secara visual bukan hal yang tidak mungkin oleh Eclipse, plug-

in UML2 tersedia untuk membuat Diagram UML. Dengan menggunakan PDE setiap orang bisa

membuat plug-in sesuai dengan keinginannya. Salah satu situs yang menawarkan plug-in

secara gratis seperti Eclipse downloads by project.

Sejak tahun 2006, Eclipse Foundation mengkoordinasikan peluncuran Eclipse secara rutin

dan simultan yang dikenal dengan nama Simultaneous Release. Setiap versi peluncuran terdiri

dari Eclipse Platform dan juga sejUMLah proyek yang terlibat dalam proyek Eclipse. Tujuan dari

sistem ini adalah untuk menyediakan distribusi Eclipse dengan fitur-fitur dan versi yang

terstandarisasi. Hal ini juga dimaksudkan untuk mempermudah Deployment dan maintenance

untuk sistem enterprise, serta untuk kenyamanan.Peluncuran simultan dijadwalkan pada bulan

Juni setiap

tahunnya.

Pedoman Penulisan Program:

1. Program Java yang anda buat harus selalu diakhiri dengan ekstensi file .java.

2. Nama File seharusnya sesuai/sama dengan nama class public nya. Sebagai contoh,

jika nama class public anda adalah Hello, anda harus menyimpan file tersebut dengan

nama Hello.java.

3. Anda harus menulis komentar sebagai penjelasan pada kode yang anda tulis, yaitu

komentar yang berisi keterangan mengenai baris perintah pada class atau apa yang

dijalankan oleh method yang anda tulis tersebut.

Untuk menampilkan data ke layar mirip dengan C/C++, sedikit beda sintaks.

Code: java

1. System.out.println ("Hi, Informatika!\nSelamat datang di rumahku.");

atau

Code: java

1. private String nama;

2. nama="Informatika";

3.

4. System.out.printf("Hi, %s!\nSelamat datang di rumahku.", nama);

Outputnya:

Hi Informatika!

Selamat datang di rumahku.

Untuk menerima input, salah satu caranya adalah dengan memanfaatkan package yang

disediakan oleh Java, yaitu: java.util.Scanner;

Sehingga dalam kode, harus kita sertakan (impor).

Code: java

1. import java.util.Scanner;

Dalam kode (class) utama, jangan lupa untuk disisipkan:

Code: java

1. Scanner input = new Scanner( System.in );

Kemudian kita gunakan misalnya variabel nama sebagai penerima inputan.

Code: java

1. String nama = input.nextLine();

untuk tipe data string, atau:

Code: java

1. double bilangan1 = input.nextDouble();

Code: java

1. int bilangan2 = input.nextInt();

secara berturut-turut untuk float (data real) dan integer.

Baiklah, berikutnya contoh lengkap source code-nya:

Code: java

1. import java.util.Scanner;

2.

3. public class test {

4.

5. public static void main(String[] args) {

6.

7. //Menampilkan insialisasi nilai awal

8. Scanner input = new Scanner( System.in );

9.

10. //Pertanyaan untuk menerima inputan

11. System.out.print ("Masukkan nama Anda: ");

12. String nama = input.nextLine();

13. System.out.print ("Masukkkan bilangan bulat: ");

14. int bilangan1 = input.nextInt();

15. System.out.print ("Masukkkan bilangan pecahan: ");

16. double bilangan2 = input.nextDouble();

17.

18. //Tampilkan isi inputan dalam variabel

19. System.out.printf( "\nNama Anda adalah %s.",nama );

20. System.out.printf( "\nBilangan pertama adalah %d.",bilangan1 );

21. System.out.printf( "\nBilangan kedua adalah %.2f.",bilangan2 );

22.

23. }

24.

25. }

Setelah dikompilasi dan dieksekusi (run), akan muncul hasil sbb:

Masukkan nama Anda: Taufiq

Masukkkan bilangan bulat: 56

Masukkkan bilangan pecahan: 45.7357

Nama Anda adalah Taufiq.

Bilangan pertama adalah 56.

Bilangan kedua adalah 45.74.

Operators

Dalam Java, ada beberapa tipe operator. Ada operator arithmatika, operator relasi, operator logika, dan operator kondisi. Operator ini mengikuti macam-macam prioritas yang pasti jadi compilernya akan tahu yang mana operator untuk dijalankan lebih dulu dalam kasus beberapa operator yang dipakai bersama-sama dalam satu pernyataan.

Operator Assignment ( Penugasan )

Operator assignment dalam Java digunakan untuk memberikan sebuah nilai ke

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

beberapa shortcut assignment operator yang penting, yang digambarkan dalam tabel

berikut :

Operator Penggunaan Ekuivalen Dengan

+= Op1 += Op2 Op1 = Op1 + Op2

-= Op1 -= Op2 Op1 = Op1 – Op2

*= Op1 *= Op2 Op1 = Op1 * Op2

/= Op1 /= Op2 Op1 = Op1 / Op2

%= Op1 %= Op2 Op1 = Op1 % Op2

&= Op1 &= Op2 Op1 = Op1 & Op2

¦= Op1 ¦= Op2 Op1 = Op1 ¦ Op2

^= Op1 ^= Op2 Op1 = Op1 ^ Op2

<<= Op1 <<= Op2 Op1 = Op1 << Op2

>>= Op1 >>= Op2 Op1 = Op1 >> Op2

>>>= Op1 >>>= Op2 Op1 = Op1 >>> Op2

Latihan 6. Assignment.java

class Assignment {

public static void main(String[] args) {

int var = 10;

int a,b,c;

a = b = c = 100;

int d,e,f; f = 200; e = f;

d = e;

System.out.println("Nilai var : " + var);

System.out.println("Nilai a : " + a);

System.out.println("Nilai b : " + b);

System.out.println("Nilai c : " + c);

System.out.println("Nilai f : " + f);

System.out.println("Nilai e : " + e);

System.out.println("Nilai d : " + d);

int z;

char Teks1 = 'a'; // dalam Unicode karakter 'a' direpresentasikan dengan angka 97

z = Teks1 * 100; // z = 97 * 10; System.out.println("Nilai

Teks1 : " + Teks1); System.out.println("Nilai z : " + z);

}

}

Operator Aritmatika

Sama halnya dengan semua bahasa pemrograman, Java menyediakan operator-

operator aritmatika untuk manipulasi variabel data numerik.

Operator-operator tersebut antara lain :

Operator Penggunaan Deskripsi

+ Op1 + Op2 Menambahkan Op1 dengan Op2

- Op1 – Op2 Mengurangkan Op1 dengan Op2

* Op1 * Op2 Mengalikan Op1 dengan Op2

/ Op1 / Op2 Membagi Op1 dengan Op2

% Op1 % Op2 Menghasilkan sisa hasil bagi Op1 dengan Op2

Latihan 4. Aritmatika.java

class Aritmatika{

public static void main(String[] args) {

int a = 20;

int b = 10;

System.out.println("Penggunaan Operator Aritmatika ");

System.out.println("Nilai awal a adalah : "+a); System.out.println("Nilai

awal b adalah : "+b); System.out.println("Hasil dari a + b = " +(a + b));

System.out.println("Hasil dari a - b = " +(a - b)); System.out.println("Hasil

dari a / b = " +(a / b)); System.out.println("Hasil dari a * b = " +(a * b));

System.out.println("Hasil dari a % b = " +(a % b));

}

}

Operator Relasi

Operator relasi dalam Java digunakan untuk menghasilkan nilai boolean yang

sering digunakan untuk mengatur alur jalannya sebuah program.

Operator Penggunaan Deskripsi

> Op1 > Op2 Menghasilkan true jika Op1 lebih besar dari Op2

< Op1 < Op2 Menghasilkan true jika Op1 lebih kecil dari Op2

>= Op1 >= Op2 Menghasilkan true jika Op1 lebih besar atau sama

dengan Op2

<= Op1 <= Op2 Menghasilkan true jika Op1 lebih kecil atau sama

dengan Op2

== Op1 == Op2 Menghasilkan true jika Op1 sama dengan Op2

!= Op1 != Op2 Menghasilkan true jika Op1 tidak sama dengan Op2

Latihan 7. Relasi.java

class Relasi{

public static void main(String[] args) {

int x,y,z; x = 100; y = 99;

z = 99;

System.out.println("Nilai x = "+x);

System.out.println("Nilai y = "+y);

System.out.println("Nilai z = "+z);

// operator sama dengan if(y == z ){

System.out.println("y sama dengan z");

}else {

System.out.println("y tidak sama dengan z");

}

// operator tidak sama dengan if(x != y ){

System.out.println("x tidak sama dengan y");

}else {

System.out.println("x sama dengan y");

}

// operator lebih besar dari if(x > y ){

System.out.println("x lebih besar dari y");

}else {

System.out.println("x lebih kecil dari y");

}

// operator lebih kecil dari if(y < x ){

System.out.println("y lebih kecil dari x");

}else {

System.out.println("y lebih besar dari x");

}

// operator lebih besar dari atau sama dengan if(x >= y ){

System.out.println("x lebih besar dari atau sama dengan y");

else {

System.out.println("x lebih kecil dari atau sama dengany");

}

// operator lebih kecil dari atau sama dengan if(y <= x ){

System.out.println("y lebih kecil dari atau sama dengan x");

}else {

System.out.println("y lebih besar dari atau sama dengan x");

}

}

}

Operator logika

Operator logika memiliki satu atau lebih operand boolean yang menghasilkan nilai boolean.Ada enam operator logika yaitu: && (logika AND), & (boolean logika AND), || (logika OR), | (boolean logika inclusive OR), ^ (boolean logika exclusive OR), dan ! (logika NOT).

Pernyataan dasar untuk operasi logika adalah,

x1 op x2

Dimana x1, x2 dapat menjadi pernyataan boolean.Variabel atau konstanta, dan op adalah salah satu dari operator &&, &, ||, | atau ^. Tabel kebenaran yang akan ditunjukkan selanjutnya, merupakan kesimpulan dari hasil dari setiap operasi untuk semua kombinasi yang mungkin dari x1 dan x2.

4.10.4.1 && (logika AND) dan & (boolean logika AND)

Berikut ini adalah tabel kebenaran untuk && dan &,

x1 x2 ResultTRUE TRUE TRUETRUE FALSE FALSEFALSE TRUE FALSEFALSE FALSE FALSE

Table 6: Truth table for & and &&

Perbedaan dasar antara operator && dan & adalah bahwa && mensupports short-circuit evaluations (atau evaluasi perbagian), sementara operator & tidak. Apa arti dari pernyataan tersebut?

Diberikan suatu pernyataan,

exp1 && exp2

&& akan mengevaluasi pernyataan exp1, dan segera mengembalikan nilai false dan menyatakan bahwa exp1 bernilai false. Jika exp1 bernilai false, operator tidak akan pernah mengevaluasi exp2 karena hasil operasi operator akan menjadi false tanpa memperhatikan nilai dari exp2. Sebaliknya, operator & selalu mengevaluasi kedua nilai dari exp1 dan exp2 sebelum mengembalikan suatu nilai jawaban.

Berikut ini adalah suatu contoh source code yang menggunakan logika dan boolean AND,

public class TestAND{

public static void main( String[] args ){

int i = 0;int j = 10;

boolean test= false;

//demonstrasi &&test = (i > 10) && (j++ > 9);

System.out.println(i); System.out.println(j); System.out.println(test);

//demonstrasi &test = (i > 10) & (j++ > 9);System.out.println(i); System.out.println(j);System.out.println(test);

}}

The output of the program is,

010 false011false

Catatan, Bahwa j++ pada baris yang mengandung operator && tidak dievaluasi sejak pernyataan pertama (i>10) yaitu telah bernilai sama dengan false.

4.10.4.2 || (logika OR) dan | (boolean logika inclusive OR)

Berikut ini adalah tabel kebenaran untuk || dan |,

x1 x2 ResultTRUE TRUE TRUETRUE FALSE TRUEFALSE TRUE TRUEFALSE FALSE FALSE

Table 7: Table Kebenaran untuk | dan

||

Perbedaan dasar antara operator || dan | adalah bahwa || mendukung short-circuit evaluations (atau proses evaluasi sebagian),sementara | tidak. Apa maksud dari pernyataan tersebut?

diberikan suatu pernyataan,

exp1 || exp2

|| akan mengevaluasi pernyataan exp1, dan segera mengembalikan nilai true dan menyatakan bahwa exp1 bernilai true. Jika exp1 bernilai true, operator tidak akan pernah mengevaluasi exp2 karena hasil dari operasi operator akan bernilai true tanpa memperhatikan nilai dari exp2. Sebaliknya,operator | selalu mengevaluasi kedua nilai dari exp1 and exp2 sebelum mengembalikan suatu jawaban suatu nilai.

Berikut ini sebuah contoh source code yang menggunakan operator logika dan boolean OR,

public class TestOR{

public static void main( String[] args ){

int i = 0;int j = 10;

boolean test= false;

//demonstrasi ||test = (i < 10) || (j++ > 9); System.out.println(i); System.out.println(j); System.out.println(test);

//demonstrasi |test = (i < 10) | (j++ > 9);System.out.println(i); System.out.println(j);

System.out.println(test);}

}Hasil keluaran dari program ini adalah,

010 true011 true

Catatan, bahwa j++ pada baris yang terdiri atas operator || tidak dievaluasi sejak pernyataan pertama (i<10) yaitu telah bernilai sama dengan true.4.10.4.3 ^ (boolean logika ExclusiveOR )

Berikut ini adalah tabel kebenaran untuk ^,

x1 x2 ResultTRUE TRUE FALSETRUE FALSE TRUEFALSE TRUE TRUEFALSE FALSE FALSE

Table 8: Tabel kebenaran untuk ^

Hasil operasi operator exclusive OR adalah TRUE, jika dan hanya jika satu operand bernilai TRUE dan yang lain bernilai False. Catatan jika kedua operand harus selalu dievaluasi untuk menjumlahkan hasil dari suatu exclusive OR.

Berikut ini adalah contoh source code yang menggunakan operator logika exclusive OR,

public class TestXOR

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

boolean val1 = true; boolean val2 = true; System.out.println(val1 ^ val2);

val1 = false; val2 = true; System.out.println(val1 ^ val2);

val1 = false; val2 = false; System.out.println(val1 ^ val2);

val1 = true; val2 = false; System.out.println(val1 ^ val2);

}}

Hasil keluaran program tersebut adalah,false true false true

4.10.4.4 ! (logika NOT)

logika NOT digunakan dalam satu argumen, dimana argumen tersebut dapat menjadi suatu pernyataan, variabel atau konstanta. Berikut ini adalah tabel kebenaran untukoperator not!,

x1 ResultTRUE FALSEFALSE TRUE

Table 9: Tabel Kebenaran untuk !

Berikut ini adalah contoh source code yang menggunakan operator logika NOT,

public class TestNOT{

public static void main( String[] args ){

boolean val1 = true; boolean val2 = false; System.out.println(!val1); System.out.println(!val2);

}}

Hasil keluaran program adalah sebagai berikut,

false true

Percabangan

Percabangan adalah suatu pilihan atau opsi dengan kondisi tertentu. Jika kondisi yang

menjadi syarat terpenuhi, maka opsi atau pilihan dijalankan, jika tidak maka sebaliknya.

Dalam java terdapat 4 macam jenis percabangan, if, if-else, else-if, dan juga switch. Keempat

jenis ini memiliki penggunaan masing-masing. Berikut penjelasan mengenai penggunaan

tiap-tiap percabangan :

Percabangan IF

if : Percabangan if ini digunakan jika kita hanya memiliki satu pernyaatan yang akan

dijalankan dengan syarat tertentu. Sintaks if seperti berikut :

if(kondisi){

pernyataan

}

Jika kondisi benar, maka pernyataan akan dijalankan.

Contoh :

public class coba{

public static void main (String [] args){

int a=0;

if (a==0)

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

if (a==1)

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

}

}

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

tidak memenuhi atau salah.

Percabangan IF Else

if else : Percabangan if else digunakan saat kita memiliki dua pernyataan dengan

syarat tertentu. Sintaks if-else seperti berikut :

if(kondisi){

pernyataan1

}else{

pernyataan2

}

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

dua yang akan dijalankan.

Contoh :

public class coba{

public static void main (String [] args){

int a=0;

if (a==0)

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

else

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

}

}

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

inisialisasi nilai a tidak bernilai 0, maka program akan menampilkan nilai a = 1.

Percabangan Else IF

else -if : percabangan yang digunakan saat kita memiliki banyak kondisi (lebih dari 2)

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

if(kondisi){

pernyataan1

}elseif(kondisi2){

pernyataan2

}else(kondisi3){

pernyataan3

}

else {

penyataan4

}

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

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

dijalankan saja.

Contoh :

public class coba{

public static void main (String [] args){

int a=2;

if (a==0)

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

else if(a==1)

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

else if(a==2)

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

}

}

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

dengan pernyataan a==2 bernilai benar, sedangkan pernyataan yang lain tidak dijalankan

karena kondisi tidak memenuhi.

Percabangan Switch

switch-case : percabangan yang digunakan saat kita memiliki banyak kondisi (lebih

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

sama dengan else if, hanya saja sintaksnya yang berbeda. Sintaks dari switch-case

seperti berikut :

switch (variabel) {

case nilai1: pernyataan1;

break;

case nilai2: pernyataan2;

break;

default: pernyataan3;

}

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

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

tidak ,maka pernyataan3 yang akan dijalankan.

public class coba{

public static void main (String [] args){

int a=3;

switch (a) {

case 1:

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

case 2:

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

case 3:

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

default:

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

}

}

}

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

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

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

dijalankan.

PRAKTIKUM DASAR PEMROGRAMAN

1. Tuliskan algoritma untuk mencari sisi miring dari suatu segitiga siku-siku jika diketahui diketahui panjang dua sisi yang membentuk sudut siku-siku.

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

2. Tuliskan algoritma untuk menampilkan banyaknya pecahan uang paling efisien dari sejumlah uang yang di inputkan oleh pengguna.Pecahan uang yang digunakan: 100.000, 50.000, 20.000, 10.000, 5.000, 2.000, 1.000, 500, 200, dan 100. Contoh, untuk uang Rp 12.500, diperlukan 1 lembar 10.000, 1 lembar 2.000, dan 1 koin 500.Input : jumlah uangOutput : banyaknya pecahan uang

3. Buat algoritma untuk mengkonversi bilangan dalam format desimal menjadi biner. Input : bilangan desimalOutput : bilangan binerIlustrasi:

4. Untuk menentukan bonus pegawai, berdasarkan ketentuan yang diberikan oleh bagian personalia dan keuangan sebagai berikut : Pegawai perusahaan digolongkan menjadi dua golongan, yaitu staf dan non staf. Staf akan mendapatkan bonus sebesar 1 juta rupiah dengan syarat bahwa ia telah bekerja paling tidak 5 tahun dan umurnya sudah mencapai 50 tahun; staf yang bekerja kurang dari 5 tahun dan berapapun umurnya, hanya mendapat bonus sebesar Rp. 500.000. Pegawai non staf yang telah bekerja lebih dari 5 tahun akan mendapat bonus sebesar Rp. 400.000 jika berumur lebih dari 50 tahun sedangkan pegawai non staf yang berumur kurang dari 50 tahun hanya mendapat bonus Rp. 250.000. Pegawai staf yang umurnya kurang dari 50 tahun akan mendapat bonus Rp. 300.000.

Buat algoritmanya?

5. Tarif pemasangan iklan baris di sebuah Surat Kabar ditentukan sebagai berikut :- Hari : Minggu, Senin, Selasa, Rabu, Kamis dan Jumat, per baris Rp. 33.000,-- Hari : Sabtu, per baris Rp. 40.000,-

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

Input : - Hari (Minggu, Senin, Selasa, Rabu, Kamis, Jumat atau Sabtu)- Jumlah baris yang dipakai

Output : Total biaya iklan yang harus dibayar pengiklan

Tuliskan algoritma untuk kasus diatas dalam bentuk flowchart.

6. Info Harga Tiket Masuk bioskop Surabaya City adalah sebagai berikut :- Senin – Kamis : Rp 15.000,-- Jumat s/d Minggu : Rp 35.000,-- Hari Libur : Rp 35.000,-

Input : - Hari (Minggu, Senin, Selasa, Rabu, Kamis, Jumat atau Sabtu)- Libur atau Tidak Libur- Jumlah tiket yang dibeli

Output : Total biaya tiket

Pertanyaan: Buat algoritma untuk menghitung total biaya tiket .

7. Di sebuah perbelanjaan di Surabaya diadakan Pekan Diskon, dimana perhitungan bonus dihitung bertingkat untuk total belanja senilai :

- Rp. 150.000,- diskonnya : 10%- Rp. 275.000,- diskonnya : 15%- Rp. 300.000,- diskonnya : 20%- Rp. 400.000,- ke atas diskonnya : 25%

Diskon tidak dihitung sebagai akumulasi dari diskon nilai belanja dibawahnya.

Buatlah algoritma untuk menghitung berapa nilai yang harus dibayar oleh pelanggan dengan total nilai belanja tertentu bila disertakan pula perhitungan diskonnya.

Input : Total nilai belanja.Output : Nilai Diskon (dalam rupiah/bukan persen), Nilai yang harus dibayar

8. Berikut ini adalah ketentuan untuk menghitung nilai, dan konversi menjadi nilai huruf.Ketentuannya:Nilai=((rata-rata tugas*30%)+(UTC*30%)+(UAC*40%))Input = tugas1,tugas2,tugas3,UTC,UACOutput = Nilai Akhir dan Nilai Huruf.

‘A’ jika nilai > 80 dan nilai <= 100‘AB’ jika nilai > 70 dan nilai <= 80‘B’ jika nilai > 65 dan nilai <= 70‘BC’ jika nilai > 60 dan nilai <= 65‘C’ jika nilai > 55 dan nilai <= 60’D’ jika nilai > 40 dan nilai <= 55’E’ jika nilai > 0 dan nilai <= 40

9. Berikut ini adalah tarif pemakaian Air PDAM Kota SurabayaJumlah Pemakaian (m3) Harga/m3

Pemakaian I ( < 50 m3) Rp. 200,-Pemakaian II ( 51 – 150 ) Rp. 500,-Pemakaian III ( 151 – 300 ) Rp. 1.000,-Pemakaian I V ( > 300 m3 ) Rp. 1.500,-

Input : Jumlah PemakaianOutput : Besar biaya yang harus dibayar

Jumlah Pemakaian = 500 m3

Pemakaian I ( s/d 50 m3) Rp. 200,- * 50 = Rp. 10.000,-Pemakaian II ( 51 – 150 ) Rp. 500,- * 100 = Rp. 50.000,-

Pemakaian III ( 151 – 300 ) Rp. 1.000,- * 150 = Rp. 150.000,-Pemakaian IV ( > 300 m3 ) Rp. 1.500,- * 200 = Rp. 300.000,-

Biaya Total Rp. 510.000,-

Pertanyaan: Buat algoritma untuk kasus diatas.

10. Sebuah perusahaan kartu kredit memberikan cash back kepada nasabahnya berdasarkan jumlah nilai pemakaian kartu kredit selama sebulan. Nilai pemakaian cash back--------------------- ----------s.d 1.000.000 5%1.000.000 – 10.000.000 6%10.000.000 – 25.000.000 7%Diatas 25.000.000 8%

Ilustrasi: seorang nasabah yang total pemakaian selama sebulan 18.000.000, maka cash backnya= 5%x1.000.000+6%x9.000.000+7%x8.000.000 = 160.000

Buat algoritma untuk menghitung cash back yang diterima nasabah berdasarkan nilai pemakaian kartu kredit.

Flowchart dan Psudoucode

1. Algoritma:a. Tentukan nilai a, b

b. Hitung C =

c. Tampilkan C

Psuodocode

a. Input (a,b)

b. C

c. Output (c)

Flowchart

2. Algoritmaa. Tentukan uangb. Hitung p100r = uang/100000

Hitung sp100r = uang – p100r*100000Hitung p50r = sp100r/50000

Hitung sp50r = sp100r – p50r*50000Hitung p20r = sp50r/20000Hitung sp20r = sp50r – p20r*20000Hitung p10r = sp20r/10000Hitung sp10r = sp20r – p10r*10000Hitung p5r = sp10r/5000Hitung sp5r = sp10r – p5r*5000Hitung p1r = sp5r/1000Hitung sp1r = sp5r – p1r*1000Hitung p0,5r = sp1r/500Hitung sp0,5r = sp1r – p0,5r*500Hitung p0,1r = sp0,5r/100Hitung sp0,1r = sp0,5r – p0,1r*100

c. Tampilkan p100r, p50r, p20r, p10r, p5r, p1r, p0,5r, p0,1r

Pseudocode

a. Input (uang)b. p100r uang/100000

sp100r uang – p100r*100000p50r sp100r/50000sp50r sp100r – p50r*50000p20r sp50r/20000sp20r sp50r – p20r*20000p10r sp20r/10000sp10r sp20r – p10r*10000p5r sp10r/5000sp5r sp10r – p5r*5000p1r sp5r/1000sp1r sp5r – p1r*1000p0,5r sp1r/500sp0,5r sp1r – p0,5r*500p0,1r sp0,5r/100sp0,1 sp0,5r – p0,1r*100

c. output (p100r, p50r, p20r, p10r, p5r, p1r, p0,5r, p0,1r)

flowchart

3. Algoritmaa. Baca des

b. 1. Desimal=des/2

2. Sisa= desimal%23. d= d*24. biner= biner + sisa * d5. jika desimal 0 pergi ke c6. pergi ke 1

c. cetak desimal

Pseudocode

a. input (des)b. Desimal des/2c. Sisa desimal%2d. D= d*2e. Biner biner+sisa*df. If desimal == 0 output (desimal)g. Else kembali ke b

Flowchart

4. Algoritmaa. Tentukan l,u,s,nsb. Bonus =

1. Jika ns2. Jika l <= 5 & u <=503. cetak bonus 4004. jika l>= 55. cetak bonus 2506. jika s7. Jika l <= 5 & u <=508. Cetak bonus 1jt9. jika l<= 5 & u >= 5010. cetak bonus 50011. else s u>=5012. cetak bonus 300

c. tampilkan bonus

pseudocodea. Input (l,u,s,ns)b. Bonus =

1. Jika ns2. Jika l <= 5 & u <=503. cetak bonus 4004. jika l>= 55. cetak bonus 2506. jika s7. Jika l <= 5 & u <=508. Cetak bonus 1jt9. jika l<= 5 & u >= 5010. cetak bonus 50011. else s u>=5012. cetak bonus 300

c. Output (bonus)

Flowchart

5. Algoritmaa. Tentukan hari, jmlb. Jika hari minggu- jum’atc. Cetak hrg hari = 33000d. Total = jml*hrgharie. Jika tidakf. Cetak hrghari 40000g. Total = jml*hrghar

Pseudocode

a. Input (hari,jml)b. Jika hari = minggu, senin, selasa, rabu, kamis, jum’atc. Hrghari = 33000d. Jika tidake. Hrghari = 40000f. Total jml*hrgharig. Output (total)

Flowchart

6. Algoritmaa. Tentukan hari,jml,libur, tidak liburb. Jika hari = senin, selasa, rabu,kamis, jum’atc. Jika libur harga = 35.000d. Jika tidak harga = 15.000e. Jika hari = sabtu& mingguf. Harga = 35.000

g. Total = jml*hargah. Tampilkan total

Pseudocode

a. Input (hari,jml,libur, tidak libur)b. Jika hari = senin, selasa, rabu,kamis, jum’atc. Jika libur harga = 35.000d. Jika tidak harga = 15.000e. Jika hari = sabtu& mingguf. Harga = 35.000g. Total jml*hargah. Output(total)

Flowchart

7. Algoritmaa. Tentukan hargab. Jika harga<=400000c. Hitung disc = harga*25/100d. Jika harga <=300000e. Hitung disc = harga*20/100f. Jika harga <= 275000g. Hitung disc = harga*15/100h. Hitung disc harga<= 150000*10/100i. Tampilkan disc

Pseudocode

a. Input (harga)b. Jika harga<=400000c. disc harga*25/100d. Jika harga <=300000e. disc harga*20/100f. Jika harga <= 275000g. disc harga*15/100h. disc harga<= 150000*10/100i. output (disc)

flowchart

8. algoritmaa. tentukan tugas1,tugas2,tugas3,UTC,UACb. hitung nilai = ((tugas1+tugas2+tugas3)/3*30/100) +(UTC*30/100)+(UAC*40/100)c. jika nilai > 80 dan nilai <= 100

d. cetak A

e. jika nilai > 70 dan nilai <= 80

f. cetak AB

g. jika nilai > 65 dan nilai <= 70

h. cetak B

i. jika nilai > 60 dan nilai <= 65

j. cetak BC

k. jika nilai > 55 dan nilai <= 60

l. cetak C

m. jika nilai > 40 dan nilai <= 55

n. cetak D

o. Cetak E

Pseudocode

a. Input (tugas1,tugas2,tugas3,UTC,UAC)b. nilai (((tugas1+tugas2+tugas3)/3*30/100) +(UTC*30/100)+(UAC*40/100)c. jika nilai > 80 dan nilai <= 100

d. output (A)

e. jika nilai > 70 dan nilai <= 80

f. output (AB)

g. jika nilai > 65 dan nilai <= 70

h. output (B)

i. jika nilai > 60 dan nilai <= 65

j. output (BC)

k. jika nilai > 55 dan nilai <= 60

l. output (C)

m. jika nilai > 40 dan nilai <= 55

n. output (D)

o. output (E)

flowchart

9. algoritmaa. tentukan pemakaian airb. jika pemakaian air <=50c. hitung biaya = 200* pemakaian aird. jika pemakaian air <50 dan pemakaian air >=150e. hitung biaya = 50*200 + (pemakaian air-50)*500f. jika pemakaian air <150 dan pemakaian air >= 300g. hitung biaya = 50*200 + 100*500+(pemakaian air-150)*1000h. hitung biaya = 50*200+100*500+150*100(pemakaian air-300)*1500i. tampilkan biaya

pseudocode

a. input (pa)b. jika pa<= 50c. biaya 200* pad. jika pa <50 dan pa >=150e. biaya 50*200 + (pa-50)*500f. jika pa <150 dan pa >= 300g. biaya 50*200 + 100*500+(pa-150)*1000h. biaya 50*200+100*500+150*100(pa-300)*1500i. output(biaya)

flowchart

10. algoritmaa. tentukan totalb. jika total >= 1000000c. hitung cb = 5/100*totald. jika total <1000000 dan total >= 10000000e. hitung cb = 5/100*1000000 + 6/100* (total-1000000)f. jika total < 10000000 dan total >= 25000000g. hitung cb = 5/100*1000000 + 6/100*9.000.000+7/100*(total-10000000)

h. hitung cb =5/100*1000000 + 6/100*9.000.000+7/100*10000000+8/100*(total-20000000)

i. tampilkan cb

pseudocode

a. input (total)b. jika total >= 1000000c. cb 5/100*totald. jika total <1000000 dan total >= 10000000e. cb 5/100*1000000 + 6/100* (total-1000000)f. jika total < 10000000 dan total >= 25000000g. cb 5/100*1000000 + 6/100*9.000.000+7/100*(total-10000000)h. cb 5/100*1000000 + 6/100*9.000.000+7/100*10000000+8/100*(total-20000000)i. output(cb)

flowchart

Source Code dan Output

Soal No. 1

Soal No. 3

REFERENSI

http://tokotuawonuangku.blogspot.com/2012/04/macam-macam-operator-pemrograman-

java.html

http://susi.staff.jak-stik.ac.id/files/pemrograman-java%5B2%5D.pdf

http://dosen.narotama.ac.id/wp-content/uploads/2011/12/Mastering-Java.pdf

http://julio.staff.ipb.ac.id/files/2011/12/JENI-Intro1-Bab04-Dasar-Dasar-Pemrograman.pdf

http://csyarah.staff.gunadarma.ac.id/Downloads/files/10135/dasar+Pemrograman+Java.pdf

http://www.isomwebs.net/2012/09/pengertian-netbeans/