Modul Proyek Dasar Pemrograman
Modul Proyek Dasar Pemrograman
PRAKTIKUM 01
BAHASA PEMPROGRAMAN JAVA
I. Tujuan Instruksional
Setelah mengikuti praktikum ini, Mahasiswa diharapkan mampu untuk :
1. Mengenal dan memahami fungsi dasar dalam Bahasa java.
2. Mengerti dan memahami struktur program Bahasa java.
3. Dapat menggunakan fungsi-fungsi dasar pemrograman java.
4. Dapat menuliskan source code menggunakan terminal(nano)
5. Mengenal dan mengerti pengenal dan Kata Kunci dalam Bahasa java.
6. Mengenal dan mengerti Variabel, Tipe Data dalam Bahasa java.
7. Dapat menggunakan Variabel dan Tipe Variabel dalam program.
8. Dapat menggunakan Inputan dari Keyboard
Bahasa pemrograman Java terlahir dari The Green Project, yang berjalan selama 18
bulan, dari awal tahun 1991 hingga musim panas 1992. Proyek tersebut belum menggunakan
versi yang dinamakan Oak. Proyek ini dimotori oleh Patrick Naughton, Mike Sheridan, James
Gosling dan Bill Joy, beserta sembilan pemrogram lainnya dari Sun Microsystems. Salah satu
hasil proyek ini adalah maskot Duke yang dibuat oleh Joe Palrang.
Pertemuan proyek berlangsung di sebuah gedung perkantoran Sand Hill Road di Menlo Park.
Sekitar musim panas 1992 proyek ini ditutup dengan menghasilkan sebuah program Java Oak
pertama, yang ditujukan sebagai pengendali sebuah peralatan dengan teknologi layar sentuh
(touch screen), seperti pada PDA sekarang ini. Teknologi baru ini dinamai "*7" (Star Seven).
Setelah era Star Seven selesai, sebuah anak perusahaan Tv kabel tertarik ditambah
beberapa orang dari proyek The Green Project. Mereka memusatkan kegiatannya pada sebuah
ruangan kantor di 100 Hamilton Avenue, Palo Alto.
Perusahaan baru ini bertambah maju: jumlah karyawan meningkat dalam waktu
singkat dari 13 menjadi 70 orang. Pada rentang waktu ini juga ditetapkan pemakaian Internet
sebagai medium yang menjembatani kerja dan ide di antara mereka. Pada awal tahun 1990-an,
Internet masih merupakan rintisan, yang dipakai hanya di kalangan akademisi dan militer.
Multiplatform. Kelebihan utama dari Java ialah dapat dijalankan di beberapa platform
/ sistem operasi komputer, sesuai dengan prinsip tulis sekali, jalankan di mana saja.
Dengan kelebihan ini pemrogram cukup menulis sebuah program Java dan dikompilasi
(diubah, dari bahasa yang dimengerti manusia menjadi bahasa mesin / bytecode)
sekali lalu hasilnya dapat dijalankan di atas beberapa platform tanpa perubahan.
Kelebihan ini memungkinkan sebuah program berbasis java dikerjakan diatas
operating system Linux tetapi dijalankan dengan baik di atas Microsoft Windows.
Platform yang didukung sampai saat ini adalah Microsoft Windows, Linux, Mac OS dan
Sun Solaris. Penyebanya adalah setiap sistem operasi menggunakan programnya
sendiri-sendiri (yang dapat diunduh dari situs Java) untuk meninterpretasikan
bytecode tersebut.
OOP (Object Oriented Programming - Pemrogram Berorientasi Objek)
Perpustakaan Kelas Yang Lengkap, Java terkenal dengan kelengkapan
library/perpustakaan (kumpulan program program yang disertakan dalam
pemrograman java) yang sangat memudahkan dalam penggunaan oleh para
pemrogram untuk membangun aplikasinya. Kelengkapan perpustakaan ini ditambah
dengan keberadaan komunitas Java yang besar yang terus menerus membuat
perpustakaan-perpustakaan baru untuk melingkupi seluruh kebutuhan pembangunan
aplikasi.
Bergaya C++, memiliki sintaks seperti bahasa pemrograman C++ sehingga menarik
banyak pemrogram C++ untuk pindah ke Java. Saat ini pengguna Java sangat banyak,
sebagian besar adalah pemrogram C++ yang pindah ke Java. Universitas-universitas di
Amerika Serikat juga mulai berpindah dengan mengajarkan Java kepada murid-murid
yang baru karena lebih mudah dipahami oleh murid dan dapat berguna juga bagi
mereka yang bukan mengambil jurusan komputer.
Pengumpulan sampah otomatis, memiliki fasilitas pengaturan penggunaan memori
sehingga para pemrogram tidak perlu melakukan pengaturan memori secara langsung
(seperti halnya dalam bahasa C++ yang dipakai secara luas).
3. Konstanta
Adalah nilai numeris/karakter yang tetap atau tidak berubah. Dalam java ada 4
kelas konstanta, yaitu:
1. Konstanta integer, berupa integer biasa, integer panjang (long)
2. Konstanta floating, dapat mengandung nilai pecahan, yang biasa ditulis dalam bentuk
pecahan biasa maupun bentuk eksponensial dan selalu dinyatakan dalam double, kecuali
jika diakhiri dengan F atau f (menyatakan konstanta float).
3. Konstanta string, merupakan deretan karakter yang diawali dan diakhiri dengan tanda
petik ganda (“...“). Juga dapat mengandung karakter yang menggunakan tanda \ yang
disebut karakter escape (escape sequence).
4. Konstanta karakter, selalu diawali dan diakhiri dengan tanda petik tunggal (‘...’). beberapa
konstanta karakter dapat diawali dengan tanda \ (penempatannya setelah tanda petik
tunggal).
Tabel rangkaian karakter escape
Sequence Karakter Deskripsi
\b BS Backspace (mundur 1 karakter)
\f FF Form feed (berganti halaman)
\n LF New line (berganti baris baru)
\r CR Carriage return (kembali ke kolom 1)
\t HT Horizontal Tab (tabulasi horizontal)
\v VT Vertical Tab (tabulasi vertikal)
\\ \\ Backslash
\’ ‘ Petik tunggal
\” “ Petik ganda
\ddd Apapun DDD adalah digit nilai oktal
\xdd Apapun HHH adalah digit nilai heksadesimal
\udddd Null Karakter ASCII = 0
4. Pengenal (identifier)
Adalah nama-nama yang ditentukan sendiri oleh pembuat program (harus berbeda dengan
kata-kata kunci) untuk pemberian nama variable, konstanta, fungsi atau label dengan
ketentuan sebagai berikut:
a. java membedakan antara huruf kecil dan huruf besar. Jadi:
Harga Kuadrat
HARGA KUADRAT
harga kuadrat
adalah tiga variable yang berlainan.
b. Karakter yang boleh digunakan untuk identifier adalah abjad bilangan, dan tanda
garis bawah, dengan ketentuan tidak boleh di awali suatu bilangan, namun boleh di
awali tanda garis bawah.
Contoh boleh:
Halo_123 _123halo halo123
Contoh tidak boleh
123 halo %keseluruhan
c. Karakter-karakter khusus lainnya dan blank kecuali garis bawah tidak dapat
digunakan.
Contoh boleh:
Rata_rata AdaSpasi
Contoh tidak boleh
Rata-rata Ada Spasi
d. Tidak boleh sama dengan kata-kata kunci
5. Tipe data
Adalah suatu nilai yang dapat dinyatakan dalam bentuk konstanta atau variabel dan
operator. Konstanta menyatakan nilai yang tetap, sedangkan variabel menyatakan nilai yag
dapat berubah-ubah selama eksekusi berlangsung. Pada dasarnya tipe data terdiri dari:
bilangan bulat (integer), bilangan pecahan/desimal (float), karakter(char),double,
teks(String).
6. Inisialisasi variabel
nama_tipe nama_variabel;
Selain di deklarasikan, variable kadangkala perlu diberikan nilai awal atau inisialisasi dengan
suatu konstanta. Pada contoh di atas dalam main () terjadi inisialisasi bil = 20 dan num = 25.
Inisialisasi juga dapat dilakukan bersamaan dengan deklarasi. Misalkan :
Untuk mendeklarasikan suatu nilai yang konstan ke dalam suatu variable dapat dilakukan
sebagai berikut:
selanjutnya nilai pi dalam program tak dapat di ubah, Pi disebut konstanta yaitu suatu nilai
yang tidak berubah selama proses program.
Jenis-jenis Variabel
Java memiliki beberapa jenis variabel yang dapat dikelompokkan sebagai berikut :
Instance Variables (tidak statis). Dalam bahasa pemrograman berorientasi objek, objek
menyimpan variabel yang tidak dideklarasikan dengan kata kunci static dalam kategori
non-statis, atau dapat berubah-ubah. Suatu kelas dapat dijelmakan ke dalam beberapa
objek. Nilai yang terkandung dalam variabel tak-statis ini berbeda untuk setiap
objeknya.
Class Variables (statis). Variabel ini merupakan bagian integral dari suatu kelas, dan
tidak ada satu objek pun yang dapat menyatakan kepemilikan atas variabel ini.
Variabel yang dideklarasikan sebagai statis digunakan bersama oleh semua objek.
Variabel ini lebih bersifat global yang nilainya sama untuk setiap objek pada kelas yang
bersangkutan.
Local Variables. Variabel ini didefinisikan di dalam suatu metoda (method) atau dalam
suatu prosedur. Variabel ini bersifat lokal karena hanya dapat diakses oleh metoda
atau prosedur tersebut.
Parameter. Paramater atau argumen adalah variabel yang digunakan pada saat suatu
metoda atau prosedur dipanggil. Parameter berguna untuk memberikan nilai awal
untuk diteruskan (pass) ke dalam suatu prosedur atau metoda.
7. Format data
Adalah suatu kombinasi tanda-tanda khusus berupa karakter yang dipakai untuk mengatur
bentuk data tampilan. Format data bisa lebih dari satu sesuai dengan banyak data yang ingin
ditampilkan. Format data yang dipakai disesuaikan dengan jenis data tampilan. Daftar
spesifikasi format data:
8. Operator-operator
Operator adalah simbol atau tanda yang jika diletakkan pada dua buah operan dapat
menghasilkan sebuha hasil, contohnya pada matematika yakni yanda penjumlahan (’+’) jika
diletakkan diantara dua buah angka akan menghasilkan lain hasil penjumlahan dua angka
tersebut.
8.1Operator Aritmatika
Operator Keterangan Contoh
+ Penjumlahan x+y
- Pengurangan x–y
* Perkalian x*y
/ Pembagian x/y
% Modulo (sisa pembagian) X%y
8.2Assignment Operator
Operator Contoh Maksud / Ekivalen dg
= A=B+C Mengerjakan B + C ke A
+= A += 1 A=A+1
-= A -= B A=A–B
*= A *= B A=A*B
/= A /= B A=A/B
%= A %= B A=A%B
8.3Operator Logika
Operator hubungan (relational operator) digunakan untuk menunjukkan hubungan
antara dua buah operand.
Operator Arti
< Lebih kecil dari
<= Lebih kecil atau sama dengan
> Lebih besar dari
>= Lebih besar atau sama dengan
== Sama dengan
!= Tidak sama dengan
8.4operator hubungan
Operator logika digunakan untuk membandingkan dua atau lebih ekspresi relasional
dalam ekspresi logika
Operator Keterangan
&& Operasi logika AND
|| Operasi logika OR
! Operasi logika NOT
-- --b Decremen by 1 …
-- b-- Use the current …
| Bitwise OR
^ Bitwise XOR
~ Bitwise complement
x|=y OR assignment (x = x | y)
Operator Keterangan
. [] () Tanda kurung, (), digunakan untuk
mengumpulkan ekspresi dalam satu group;
tanda titik, ., digunakan untuk mengakses
metode dan variabel dalam sebuah objek atau
kelas; tanda kurung siku, [], digunakan dalam
array.
+- Penambahan, pengurangan
== != Persamaan
& AND
^ XOR
| OR
|| Logical OR
?: if...else
= += -= *= /= %= ^= Assignment
message : merupakan message yang akan ditampilkan dalam dialog box. Message bisa
berupa String. Tapi type sebenarnya dari parameter ini adalah Object class.
title : merupakan title untuk dialog box
initialValue : merupakan input value
messageType : mendefinisikan style dari message. Jenis dari messageType sebagai
berikut ERROR_MESSAGE, INFORMATION_MESSAGE, WARNING_MESSAGE,
QUESTION_MESSAGE, PLAIN_MESSAGE
optionType : mendefinisikan kumpulan button option yang muncul pada dialog box.
Nilai dari parameter sebagai berikut. DEFAULT_OPTION, YES_NO_OPTION,
YES_NO_CANCEL_OPTION, OK_CANCEL_OPTION ( Nilai dari variable ini dapat di-
customize)
2. Scanner
Untuk mendapatkan inputan dari pengguna, kita harus meng-import file
java.util.Scanner yang dimiliki oleh Java. Pada konsepnya nanti inputan yang dimasukan oleh
pengguna dapat terbaca oleh java sesuai dengan tipe data yang sudah diinisialisasi dan untuk
sementara waktu akan ditampung dahulu di file temp abstrak, kemudian nanti akan dibaca
ulang untuk ditampilkan sesuai dengan method yang dibuat dalam Sub-Class nya. Untuk
langsung memahami pemakaian Scanner dalam pemrograman java, kita langsung membuat
coding dari awalnya.
Sebuah objek scanner dapat mengurai input yang dimasukkan melalui keyboard atau
dari sebuah file. Scanner memisahkan inputnya menjadi menjadi token terpisah (yang biasanya
dipisahkan dengan spasi), dan kemudian mengembalikannya pada satu waktu. Scanner
menyediakan metode untuk mengubah token menjadi nilai dari tipe yang berbeda.
Kita dapat menggunakan utility scanner dalam dua cara, yaitu :
1. Untuk membaca dari keyboard, menggunakan perintah di bawah ini
Scanner input = new Scanner(System.in);
2. Untuk membaca dari sebuah file, menggunakan perintah di bawah ini
Scanner input = new Scanner(new FileStream(“filename.txt”));
3. DataInputStream
Adalah suatu inputan keyboard. Untuk penggunaan nya kita harus mengimport file
java.io.*; yang dimiliki oleh java. Untuk lebih jelas, silahkan melakukan latihan pada program
praktikum.
IV. Pratikum
//Program 1.1
/*Latihan
autor : Lab TI
versi : 12 September 2012 */
public class Main1
{
public static void main(String[] args)
{
System.out.println("BELAJAR BAHASA JAVA");
System.out.print("Dengan OS ubuntu 10.10 \n");
//Program 1.2
/*Latihan deklarasi variabel
berkas perkalian.java
autor : Lab TI
versi : 12 September 2012 */
public class Main2
{
public static void main(String[] args)
{
String NPM = "G1A011001";
String nama = "Sastrawan";
double nilai = 90.5;
System.out.println("NPM : "+NPM);
System.out.println("Nama : "+nama);
System.out.println("Nilai : "+nilai);
}
}
//Program 1.3
/*Penggunaan inputan import java.util.Scanner
autor : Lab TI
versi : 12 September 2012 */
import java.util.*;
public class Main3
{
public static void main(String[] args)
{
Scanner show = new Scanner(System.in);
System.out.print("Masukan nilai a : ");
int a = show.nextInt();
System.out.print("Masukan nilai b : ");
int b = show.nextInt();
int hasil = a * b;
System.out.println("Hasil perkalian a x b adalah "+
hasil);
}
}
//Program 1.4
/*Penggunaan inputan import javax.swing.JOptionPane
autor : Lab TI
versi : 12 September 2012 */
import javax.swing.JOptionPane;
public class Main4
{
public static void main(String[] args)
{
String nama;
String npm;
nama = JOptionPane.showInputDialog("Ketik Nama Anda :
");
npm = JOptionPane.showInputDialog("Ketik NPM Anda :
");
}
}
//Program 1.5
/*Latihan Menggunakan konstanta dengan inputan import java.io.*
autor : Lab TI
versi : 12 September 2012 */
import java.io.*;
public class Main5
{
public static void main(String[] args)
{
DataInputStream show = new
DataInputStream(System.in);
try
{
final float phi = 3.14f; //nilai phi tidak dapat
berubah
String rad;
float rads, luas, kel;
System.out.print("Masukan Nilai Radius : ");
rad = show.readLine();
rads = Float.parseFloat(rad);
luas = phi * rads;
kel = 2 * phi * rads;
System.out.println("Hasil Perhitungan");
System.out.println("Luas Lingkaran :" + luas);
System.out.println("Keliling Lingkaran :" +
kel);
}
catch(IOException ioe)
{
System.out.println("System error");
}
}
}
//Program 1.6
/*Penggunaan inputan import java.io.*;
mencari Luas persegi panjang
autor : Lab TI
versi : 12 September 2012 */
import java.io.*;
public class Main6
{
luas = p * l;
keliling = 2 *(p + l);
System.out.println("Hasil Perhitungan");
System.out.println("Luas persegi panjang : "+
luas);
System.out.println("Keliling persegi panjang :
"+ keliling);
}
catch(IOException ioe)
{
System.out.println("System error");
}
}
}
//Program 1.7
/*Penggunaan inputan import java.Swing.JOptionPane
mencari Luas segitiga
autor : Lab TI
versi : 12 September 2012 */
import javax.swing.*;
public class Main7
{
public static void main(String[] args)
{
String bil1, bil2;
double alas, tinggi,luas;
JOptionPane.showMessageDialog(null,"Alas = "+alas +
"\n"+"Tinggi = "+tinggi+"\n"+"Luas segitiga = " + luas);
}
}
//Program 1.8
/*Mengetahui ukuran suatu tipe data
autor : Lab TI
versi : 12 September 2012 */
public class Main8
{
public static void main(String[] args)
{
System.out.println("integer memakai memori = "+
Integer.SIZE);
System.out.println("double memakai memori = "+
Double.SIZE);
System.out.println("float memakai memori = "+
Float.SIZE);
System.out.println("short memakai memori = "+
Short.SIZE);
System.out.println("long memakai memori = "+
Long.SIZE);
System.out.println("Byte memakai memori = "+
Byte.SIZE);
}
}
//Program 1.9
/*untuk variabel konversi
autor : Lab TI
versi : 12 September 2012 */
public class Main9
{
public static void main(String[] args)
{
String kata = "123";
char uji = 'A';
System.out.println("String to integer =
"+Integer.parseInt(kata));
System.out.println("String to double =
"+Double.parseDouble(kata));
System.out.println("String to float =
"+Float.parseFloat(kata));
System.out.println("String to byte =
"+Byte.parseByte(kata));
System.out.println("char to String =
"+String.valueOf(uji));
V. Laporan
Soal #1
Cari letak kesalahan dari listing program dibawah ini, kemudian betulkan sehingga
menghasilkan tampilan seperti dibawah.
//Soal 1
import java.util.*;
public class Soal1
{
public static void main(String[] args)
{
Scanner show = new scanner(System.in);
System.out.print("Masukan nilai a : ");
int a = sow.nextInt();
System.out.print("Masukan nilai b : ");
int b = show.nextInt();
float hasil2 = b;
float hasil = a + b;
float hasil2 += hasil;
System.out.println("Hasil adalah "+ hasil2);
}
}
Soal #2
Buatlah program untuk menampilkan biodata diri anda secara lengkap dan sebenarnya,
dengan variabel yang ditampilkan adalah npm, nama, Jenis Kelamin, program studi, alamat,
telepon selular, kota, asal sekolah, hobby, agama, tempat tgl/lahir, status keluarga.
Tampilan Output :
BIODATA PRIBADI
============================================
NPM : G1A011001
Nama : SASTRAWAN HADINATA Jenis kelamin : Laki-Laki
Program Studi : TEKNIK INFORMATIKA / S1
Alamat : jalan kalimantan merpati 23 Rawa makmur
Telpon Selular: 085769284799
Kota : BENGKULU
Asal Sekolah : SMAN 5 BENGKULU
Hobby : Tidur
Agama : ISLAM
Tempat Tgl/Lahir : Tanjung Iman, 12 Februari 1993
Status Keluarga : Anak
============================================
Soal #3
Buatlah program untuk mencari sisi miring segitiga, keliling dan luas lingkaran dan volume
kubus,prisma,kerucut menggunakan input masukan Scanner.
Soal #4
Buatlah sebuah program untuk menghitung volume bola dengan menyertakan tipe data dari
float menggunakan input masukan JOptionPane.
Soal #5
Buatlah program untuk menghitung kapasitansi, C dalam farad.
INPUT = Banyaknya muatan(Q), Tegangan(V)
PROSES =
Kapasitas = Muatan / tegangan diantara keping dalam volt
Menggunakan input masukan DataInputStream
Soal#6
Jelaskan apa yang kalian dapat pada Praktikum 01 ini
Soal#7
1. Apa yang membedakan antara inputan Keyboard :
1. JoptionPane
2. Scanner
3. DataInputStream
NIM