- Free Documents

advertisement
Algoritma dan Dasar Pemrograman Java
Algoritma merupakan langkah detail yang ditujukan untuk komputer guna menyelesaikan
satu masalah. Namun algoritma berbeda dengan program, karena algoritma bersifat bebas
terhadap bahasa pemrograman. Istilah algoritma berasal dari nama seorang pengarang
berkebangsaan Arab bernama Abu Jafar Mohammed ibn Musa al Khowarizmi tahun , yang
sangat terkenal sebagai Bapak Aljabar. Contoh kasus algoritma sederhana Menghitung nilai
keliling persegi panjang Algoritmanya seperti berikut . Peroleh nilai panjang dan lebar
persegi panjang. . Hitung keliling persegi panjang dengan menggunakan rumus x panjang
lebar. . Tampilkan nilai keliling persegi penjang. Adakalanya suatu algoritma disajikan dalam
bentuk diagram alir flowchart
mulai
Panjang lt dan lebar lt
Kel lt x panjang lebar
Tampilkan keliling
selesai
Java adalah bahasa pemrograman yang banyak digunakan untuk membangun program,
dirilis pertama kali pada tahun oleh Sun Microsystems. Penciptanya adalah James Gosling.
Java berorientasi objek OOP yang mana maksuknya adalah suatu pendekatan yang
memungkinkan suatu kode yang digunakan untuk menyusun program menjadi lebih mudah
untuk digunakan kembali, lebih handal, lebih mudah dipahami. Sebuah contoh program java
sederhana cari contoh algoritma di atas
//Berkas KelilingPersegiPanjang.java Class KelilingPersegiPanjang public static void
mainStringargs int panjang, lebar, keliling System.out.printlnMenghitung keliling persegi
panjang Panjang Lebar Keliling x panjang lebar System.out.printlnKelilingkeliling
Tipetipe data pada Java Seperti bahasa pemrograman lainnya, Java mempunyai tipe data
primitif, yang mana bertipe integerbilangan bulat , bertipe floatingpointbilangan pecahan dan
yang terakhir bertipe boolean dan char.Tipe data tersebut antara lain Integer . byte Memiliki
nilai integer dari sampai dan menempati byte bits di memori. . short Memiliki nilai integer dari
sampai dan menempati bytes bits di memori. . int Memiliki nilai integer dari sampai dan
menempati bytes bits di memori.
. long Memiliki nilai dari dan menempati bytes bits di memori.
sampai
Bilangan integer biasanya menggunakan int, dan bukan byte,short maupun long. Bilangan
integer juga mengenal nilai positif dan negatif signed number . Tipe data byte dan short
hanya digunakanpada aplikasi khusus yang memperhatikan penggunaan memori.
Sedangkan long jarang digunakan karena jarang memerlukan bilangan sebesar kapasitas
long. Floating Point . float memiliki nilai .pangkat sampai .pangkat dan menempati byte di
memori . double memiliki nilai .pangkat sampai .pangkat .
Semua bilangan pecahan atau desimal dalam Java tanpa diakhiri huruf f akan dianggap
sebagai double. Sedangkan bilangan yang ingin dikategorikan sebagai float harus diakhiri
dengan huruf F. Misalnya . F atau .f. Sedangkan untuk bilangan double, bisa menambah
dengan huruf D, karena secara default bilangan dengan koma atau pecahan atau desimal
akan dianggap sebagai double Boolean Dan Char . boolean Dalam Java dikenal tipe data
boolean yang terdiri dari dua nilai saja, yaitu true dan false. Boolean sangat penting dalam
mengevaluasi suatu kondisi, dan sering digunakan untuk menentukan alur program. . char
Char adalah karakter tunggal yang didefinisikan dengan diawali dan diakhiri dengan tanda
petik tunggal . Char berbeda dengan String, karena String bukan merupakan tipe data
primitif, tetapi sudah merupakan sebuah objek.
A. Variable dalam Java
Variable merupakan container yang digunakan untuk menyimpan suatu nilai pada sebuah
program dengan tipe tertentu. Pada dasarnya ada dua macam tipe variabel data dalam
bahasa Java, yakni tipe primitif dan tipe reference.
Adapun tipe primitif meliputi
Tipe boolean
Tipe numeric Byte, Short, Int, Long, Char, Float, Double
Tipe data variabel reference terdiri
Tipe class
Tipe array
Tipe interface
B. Konstanta dalam Java
Variabel dalam Java bisa dijadikan konstanta, sehingga nilainya tidak akan dapat
diubahubah dengan mendeklarasikannya sebagai variabel final seperti ini
final int dataInt
final char charData u
final float x ,
final byte y
C.
Penamaan variabel dan scope variabel dalam java
Harus terdiri atas sedereten karakter unicode yang diawali oleh karekter huruf atau garis
bawah. Unicode merupakan sistem pengkodean karekter yang dapat dibaca oleh
berbagai bahasa manusia Jepang, Yunani, Cyrillic, dan Hebrew. ASCII hanya terbatas pada
karkter latin.
Tidak boleh berupa keyword kata yang dicadangkan, null, atau literatur true/false.
Harus unik dalam suatu scope
Contoh pendeklarasian variabel yang salah
Int k
/ salah, karena nama variabel diawali dengan angka /
Char null
/ salah, karena nama variabel null /
String public
/ salah, karena public merupakan keyword dalam Java /
D. Tipe Boolean
Dalam Java, setiap variabel yang bertipe boolean hanya akan memiliki nilai true atau false.
E.
Tipe Numerik
Adapun tipe numerik dalam Java ada tujuh macam seperti yang telah dijelaskan sebelumnya
yakni
Nama Type
Ukuran
Range nilai
Byte
bit
.
Short bit Int bit
Long bit Char bit .. u uffff
Float bit IEEE Double bit IEEE F. Operator Aritmatika
Operator
penggunaan
Deskripsi
Op Op
Menambahkan Op dengan Op
Op Op
Mengurangkan Op dengan Op
Op Op
Mengalikan Op dengan Op
/
Op Op
Membagi Op dengan Op
Op Op
Menghasilkan sisa hasil bagi antara Op dengan Op
Operator
Penggunaan
Deskripsi
Op
Op dinaikkan nilainya setelah dilakukan operasi pada Op
Op
Op dinaikkan nilainya sebelum dilakukan operasi pada Op
Op
Op diturunkan nilainya setelah dilakukan operasi pada Op
Op
Op diturunkan nilainya sebelum dilakukan operasi pada Op
Op
Mengubah nilai Op menjadi negasinya, jika Op positif maka menjadi negatif, jika Op negatif
menjadi positif
G. Operator relasional
Operator relasional digunakan untuk membandingkan antara dua variabel data.
Operator
Penggunaan
Deskripsi
gt
Op gt Op
Menghasilkan true jika Op lebih besar dari Op
lt
Op lt Op
Menghasilkan true jika Op lebih kecil dari Op
gt
Op gt Op
Menghasilkan true jika Op lebih besar atau sama Op
lt
Op lt Op
Menghasilkan true jika Op lebih kecil atau sama dengan Op
Op Op
Menghasilkan true jika Op sama dengan Op
Op Op
Menghasilkan true jika Op tidak sama dengan Op
H. Operator kondisional
Operator kondisional dalam Java ada enam macam
Operator
Penggunaan
Deskripsi
ampamp
Op ampamp Op
Menghasilkan true jika Op dan Op, keduanya bernilai boolean true
Op Op
Menghasilkan true jika Op atau Op, salah satunya bernilai boolean true
Op
Menghasilkan true jika Op bernilai boolean true
amp
Op amp Op
Bitwise AND, menghasilkan true jika Op dan Op, bernilai true
Op Op
Bitwise OR, menghasilkan true jika Op atau Op, salah satunya bernilai boolean true
Op Op
Menghasilkan true jika salah satu diantara Op atau Op bernilai true, namun tidak keduanya.
I. Operator shift
Operator shift dalam Java digunakan untuk manipulasi bit. Operator shift digunakan untuk
menggeser bitbit sesuai dengan yang diinginkan. Ada tiga operator shift dalam Java, yakni
Operator gtgt ltlt gtgtgt
Penggunaan
Deskripsi
Op gtgt Op Menggeser bit Op ke kanan sejauh Op Op ltlt Op Menggeser bit Op ke kiri sejauh
Op Op gtgtgt Op Menggeser bit Op ke kanan sejauh Op
J. Operator bitwise
Operator
Penggunaan
Deskripsi
amp
Op amp Op Op Op Op Op
Bitwise AND Bitwise OR Bitwise XOR
Op
Bitwise Complement
K. Operator assignment
Operator asignment dalam Java digunakan untuk memberikan sebuah nilai ke sebuah
variabel. Operator asignment hanya berupa , namun selain itu dalam Java dikenal beberapa
shortcut asignment operator yang penting, yang digambarkan dalam tabel berikut
Operator
Penggunaan
Ekivalen dengan
/ amp ltlt gtgt
Op Op Op Op Op Op Op Op Op Op
Op Op Op Op Op Op / Op Op Op / Op
Op Op Op Op Op Op amp Op Op Op amp Op Op Op Op Op Op Op Op Op Op Op
Op ltlt Op Op Op ltlt Op Op gtgt Op Op Op gtgt Op Op Op gtgtgt Op
gtgtgt Op gtgtgt Op L. Operator lain
Operatoroperator yang tidak termasuk dalam golongan operatoroperator yang disebutkan
diatas adalah
operator ini merupakan operator pendek untuk pernyataan if..else.
M. Urutan Precedence Operator
Operasioperasi yang menggunakan operator dapat melibatkan lebih dari operator dan
operand.
Postfix operators Unary operators Creation or cast Multiplicative / Additive Shift
. params expr expr expr expr expr expr New typeexpr
ltltgtgt gtgtgt ltgt lt gt instanceof
Relational Equality
Bitwise AND amp Bitwise exclusive OR Bitwise exclusive OR Logical AND ampamp Logical
OR
Conditional Assignment N. Array
/ amp ltlt gtgt gtgtgt
Array merupakan tipe khusus yang menyatukan sekelompok variabel dengan tipe yang
sama. Tipe array bersifat ortogonal terhadap sistem tipe. Maksudnya, array dapat
dideklarasikan menjadi array dari beberapa integer dengan menciptakan tipe baru, yaitu
array of int. Tipe ini berbeda dengan array of double, sebagai contoh. Tanda kurung siku
digunakan untuk mendeklarasikan tipe array.
Contoh yang menunjukkan deklarasi variabel monthdays dengan tipe array of int
Int monthdays
Seperti dalam deklarasi variabel lainnya, nilai monthdays awalnya diisi dengan nol. Untuk
array, ada besaran khusus yang disebut null, yang merepresentasikan array tanpa isi.
Untuk mengisi nilainilai array tersebut dapat menggunakan operator khusus new, new
digunakan untuk mengalokasikan ruang array. Untuk menggunakan operator new, harus
menyediakan sebuah tipe dan bilangan integer positif untuk menyatakan alokasinya. Contoh
ini mengalokasikan integer dalam array yang berkaitan dengan monthdays.
monthdays new int
Jadi sekarang array monthdays terdiri dari array buah integer. Tanda kurung siku digunakan
untuk menunjuk unsurunsur array. Diawali dengan nol, setiap unsur array dapat diakses
seakanakan unsur tersebut merupakan tipe yang dideklarasikan ketika array dibuat. Dalam
hal ini, setiap unsur array adalah bertipe int.
Contoh berikut menghasilkan array jumlah hari dalam satu bulan
class arraycara
public static void mainString args
int monthdays new int
monthdays
monthdays
monthdays
monthdays
monthdays
monthdays
monthdays
monthdays
monthdays
monthdays
monthdays
monthdays
System.out.printlnBulan April monthdays hari.
Jika program ini dijalankan, akan ditampilkan jumlah hari dibulan April. Array Java dimulai
dengan nol, jadi jumlah hari di bulan April adalah monthdays.
Selain menginisialiasi array seperti diatas, dapat juga menginisialiasi array dengan cara yang
lebih sederhana yaitu dengan auto array
class arraycara
public static void main String args
int montdays , , , , , , , , , , ,
System.out.printlnBulan April monthdays hari.
Program ini menghasilkan keluaran yang sama seperti program sebelumnya.
O. Array Multi Dimensi
Pada dasarnya tidak ada array multidimensi pada Java, array yang ada adalah array dari
array, yang sifatnya mirip dengan array multidimensi, dengan beberapa perbedaan kecil.
Array multidimensi biasanya dialokasikan dalam blok. Jika ada matriks XYZ tiga dimensi,
maka kapasitas yang diperlukan adalah X kali Y kali Z ukuran tipe yang disimpan pada tiap
sel. Pada Java, dapat dideklarasikan variabel sebagai tiga dimensi, tetapi dengan
mengabaikan dimensi kedua dan ketiga, lalu mengalokasikan Y dan Z secara terpisah.
Program berikut menghasilkan matriks tradisional buah double, masingmasing diset nol.
Secara internal matriks ini diimplementasikan sebagai array dari array double.
double matrix new double
Program ini menginisialisasi jumlah memori yang sama, hanya di sini kita melakukan lebih
banyak kerja untuk menunjukkan bagaimana dimensi yang berbeda ternyata hanya
bersusun nested array array.
double matriks new double
matriks new double
matriks new double
matriks new double
matriks , , ,
Program berikut menghasilkan matriks double yang diinisialisasi dengan nilai di diagonal xY
yang dibuat , dan sisanya dibuat nol.
class matriks
public static void mainString args
double m
m
m
m
m
System.out.printlnm m m m
System.out.printlnm m m m
System.out.printlnm m m m
System.out.printlnm m m m
Jika program dijalankan, akan keluar tampilan seperti ini.
Berikut contoh lain dalam penginisialisasi array
class AutoMatrix
public static void mainString args
double m
,,,,
,,,,
,,,,
,,,,
System.out.printlnm m m m
System.out.printlnm m m m
System.out.printlnm m m m
System.out.printlnm m m m
Program tersebut akan menghasilkan keluaran berikut
Download