kelompok07itbseamolec.files.wordpress.com€¦ · web viewcpu :processor merupakan “otak”...
TRANSCRIPT
Seesion I : Pengenalan Pemrograman
Komponen Dasar Pada Komputer Terbagi Menjadi 3 :
CPU :Processor merupakan “otak” pada komputery ang melakukan komputasi dasar dalam sistem
Memori :Tempat dimana dapat ditemukannya data dan perintah yang dibutuhkan oleh CPU untuk melakukan tugas-tugas yang ditetapkan
I/O Device : Digunakan supaya sistem komputer dapat berinteraksi dengan dunia luar dengan cara memindahkan data ke dalam dan keluar sistem
Beberapa Tipe Program Komputer antara lain
Program Sistem :Program yang diperlukan untuk menyimpan semua sistem hardware dan software yang berjalan secara bersamaan. Seperti OS Linux, Windows
Program Aplikas : Program yang digunakan user untuk menyelesaikan tugas mereka. Seperti Game progams, word processors
Compiler :Menerjemahkan program komputer ke dalam bahasa mesin
Secara umum pengertian dari bahasa pemrograman adalah Suatu teknik komunikasi yang distandarisasi untuk menyatakan instruksi pada komputer. Bahasa pemrograman sendiri terbagi menjadi dua yaitu bahasa pemrograman tingkat tinggi dan tingkat rendah. Contoh bahasa pemrograman tingkat tinggi antara lain Java, C, C++, Basic dan Fortran, sedangkan contoh bahasa pemrograman untuk tingkat rendah antara lain bahasa assembly.
Secara umum langkah-langkah dalam hal menyelesaikan masalah antara lain :
1. Mendefinisikan masalah
2. Menganalisa masalah
3. Mendesain algoritma dan representasi atau penyajian (Pseudocode atau flowchart)
4. Coding dan debugging
Tipe-tipe error yang sering ditemukan pada developping program Java antara lain Compile-time error (syntax error) dan Runtime Error. Syntax error disebabkan adanya kesalahan syntax pada code program. compiler akan mendeteksi error dan program tidak akan melakukan kompilasi. Dalam hal ini, programmer tidak dapat menghasilkan program eksekusi yang user dapat jalankan hingga error diperbaiki, sedangkan penyebab ternyadinya runtime error dikarenakan tidak sempurnanya compiler sehingga tidak dapat menangkap semua error pada waktu proses kompilasi.
Sistem Bilangan adalah Representasi dari bilangan yang umum digunakan antara lain, Bilangan Desimal (basis 10), Bilangan Biner (basis 2), Oktal (basis 8), Heksadesimal (basis 16)
Seesion II : Pengenalan Java
Java pertama kali diciptakan pada tahun 1991 oleh James Gosling et al. Teknologi yang tergolong java antara lain seperti Bahasa pemrograman, Development Environment, Application Environment, Deployment Environment.
Beberapa Fitur yang terdapat di Java antara lain :
Java Virtual Machine : JVM adalah mesin virtual yang diimplementasikan oleh software sehingga menyamai mesin yang sebenarnya. Bahasa mesin khusus yang dimengerti oleh JVM adalah Bytecode
Garbage Collection : Fungsi garbage collection antara lain bertanggung jawab untuk mengosongkan memori. Pengosongan memori terjadi otomatis selama masa aktif dari progam java
Code Security : Code securitydisampaikan di Java melaluiimplementasi dari Java Runtime Environment (JRE). JRE mempunyai tugas menjalankan kode yang telah ter-compile pada JVM dan menampilkan class loading (melalui class loader), memverifikasi kode (melalui bytecode verifier) dan yang terakhir adalah mengeksekusi kode
Session III : Memahami Ruang Lingkup Pemrograman
Sebelum mengetahui lebih jauh tentang proses develop program baik itu menggunakan text editor maupun proses compile menggunakan console, alangkah lebih baik untuk mengenal dua item yang disebutkan seperti diatas terlebih dahulu. Console adalah tempat menulis perintah (command), contoh compile antara lain terminal (under linux) dan Command Prompt (under windows), sedangkan contoh-contoh dari text editor antara lain ada notepad, Wordpad dan Vi.
Pada pemrograman Java juga dikenal dengan istilah IDE. IDE adalah environment pemrograman yang terintegrasi ke aplikasi
Contoh Scripting program java
1 public class Hello {23 /**4 * Program Java Pertama Saya5 */6 public static void main( String[] args ){78 //menampilkan string “Hello world” pada layar9 System.out.println(“Hello world”);1011 }12 }
Error syntax ialah error yang dihasilkan ketika terjadi kesalahan pengetikan, sedangkan Runtime Error merupakan error yang tidak akan ditampilkan sampai program dijalankan atau dieksekusi. Meskipun program dapat di compile, tetapi progam akan menampilkan jawaban yang salah, jika logika proses dan struktur program tidak benar-benar diperhatikan oleh programmer
Session IV :Dasar Pemrograman
Java comment merupakan catatan yang ditulis pada sebuah code untuk tujuan dokumentasi. 3 tipe comment java antara lain C++ Style Comment, C Style Comment dan special Javadoc Comment. Java identifier merupakan tanda (token) yang mewakili nama dari variable, metho, class. Contoh dari identifier adalah hello, main, system, out. Java identifier bersifat case sensitive
Statement adalah satu atau beberapa baris code yang diakhiri dengan tanda titik koma. Block merupakan satu atau beberapa statement yang berada diantara tanda kurung kurawal buka dan tanda kurung kurawal tutup, yang mengelompokkan beberapa statement ke dalam sebuah unit.
Java Keyword merupakan identifier khusus yang sudah disediakan oleh java untuk tujuan tertentu. Java literal merupakan tanda (token) yang tidak berubah (kosntan). Beberapa tipe literal dari java adalah Integer literal, Floating-Point Literal, Boolean Literal, Character Literal dan String literal
Kedelapan tipe data pada tabel di dibawah dapat dikelompokan menjadi empat kolompok:
Integer : merupakan tipe data bilangan bulat yang terdiri atas byte,short, int, dan long.Floating-Point : merupakan tipe data bilangan pecahan yang terdiri ata float dan double.Karakter : mewakili simbol dari sebuah karakter yang terdiri ata char.Boolean : merupakan tipe data yang menunjukan nilai true atau false, yang terdiri atas
boolean
Variabel merupakan item dari data yang digunakan untuk menyimpan sebuah nilai dari objek. Variabel memiliki tipe data dan nama.
Contoh-contoh Operator
Arithmetic Operator
Operator Increment & Decrement
Relational Operator
Logical Operator
Tabel kebenaran untuk && dan &
Tabel kebenaran II dan I
Tabel kebenaran ^
Tabel kebenaran !
Session V :Mendapatkan Inputan dari keyboard
Terdapat dua cara untuk mendapatkan inputan dari keyboard antara lain menggunakan Buferred Reader dan JOptionPane
Contoh Program dengan memanfaatkan buffered reader
import java.io.BufferedReader; import java.io.InputStreamReader; import java.io.IOException; public class GetInputFromKeyboard {
public static void main( String[] args ){BufferedReader dataIn = new BufferedReader(new
InputStreamReader( System.in) );String name = ""; System.out.print("Please Enter Your Name:");try{
name = dataIn.readLine();}catch( IOException e ){
System.out.println("Error!");}
System.out.println("Hello " + name +"!");}
}
Contoh Program dengan memanfaatkan JOptionPane
import javax.swing.JOptionPane;public class GetInputFromKeyboard { public static void main( String[] args ){
String name = ""; name=JoptionPane.showInputDialog(“Please enter your name"); String msg = "Hello " + name + "!"; JOptionPane.showMessageDialog(null, msg);
}}
Session VI :Struktur Kontrol
Struktur kontrol adalah kontrol yang digunakan untuk mengatur susunan proses eksekusi statement-statement dalam program. Ada 2 struktur kontrol yaitu Struktur kontrol keputusan (if-else, switch-case) dan Struktur kontrol pengulangan (while, for).Contoh penggunaan kontrol keputusan:
- Form statement-if:if( boolean_ekspresi )
statement; atau
if( boolean_ekspresi ){ statement ;
} else if(boolean_ekspresi){statement ;
}else{statement ;
}- Form statement-switch:
switch( switch_ekspresi ){ case case_pilihan1:
statement1;statement2;//blok 1 break;
case case_pilihan2: statement1; statement2;//blok 2 break;
default: statement1;
statement2;//blok n }
Contoh penggunaan control pengulangan:- Form pengulangan while:
while( boolean_ekspresi ){ statement1; statement2; . . .
}- Form pengulangan-for:
for(InisialisasiEkspresi;KondisiPengulangan;StepEkspresi){
statement1; statement2; . . .
} statement branching adalah statement yang dapat digunakan untuk mengatur flow dari pengeksekusian program. Java menyediakan tiga statement branching:
◦ break◦ continue◦ return.
Session VII :Java Array
Array adalah sebuah tipe data yang memiliki kemampuan untuk menggunakan satu variabel yang dapat menyimpan sebuah data list, kemudian memanipulasinya dengan lebih efektif. Sebuah array akan menyimpan beberapa item data dengan tipe data yang sama di dalam sebuah blok memori yang berdekatan yang kemudian dibagai menjadi beberapa slot.Contoh pendeklarasian Array:
int []ages; atau
int ages[];Untuk menginstansiasi Array, contohnya sebagai berikut:
//deklarasi int ages[]; //instantiate objectages = new int[100];
atau, juga dapat ditulis, //declare and instantiate object int ages[] = new int[100];
Untuk mengakses sebuah elemen dalam array , atau mengakses sebagian elemen dari array , Anda menggunakan penomoran yang disebut sebagai index atau subscript. Index dimulai dari nol dan kemudian akan terus bertambah sampai list value dari array tersebut berakhir. Contohnya “System.out.print(ages[99]);”Untuk mengetahui jumlah elemen di dalam sebuah array, Anda dapat menggunakan length (panjang) field pada array. Contohnya: “arrayName.length”.
Array MultidimensiArray multidimensi diimplementasikan sebagai array di dalam array . Array multidimensi dideklarasikan dengan menambahkan jumlah tanda kurung setelah nama array.
// Elemen 512 x 128 dari integer array
int[][] twoD = new int[512][128];
// karakter array 8 x 16 x 24
char[][][] threeD = new char[8][16][24];
// String array 4 baris x 2 kolom
String[][] dogs = {{ "terry", "brown" }, { "Kristin", "white" }, { "toby", "gray"}, { "fido", "black"}};
Session VIII : Command Line Argumentation
Sebuah aplikasi Java dapat menerima berapapun jumlah argumen dari command-line. Dengan menggunakan command-line argument, user dapat memanipulasi operasi sebuah aplikasi dalam satu pemanggilan. User memberikan argumen dari command-line pada saat melakukan pemanggilan terhadap aplikasi dan menjalankannya dengan cara menuliskannya setelah nama class.
Cara mengakses argumen
Di Java, pada saat Anda akan melakukan pemanggilan terhadap suatu aplikasi, JRE melakukan passing argument menuju method main() pada aplikasi melalui array String.public static void main( String[] args )Setiap String dalam array mengandung salah satu dari argumen yang diberikan.
Cara mengkonversi argumen String menjadi integer menggunakan method Integer.parseInt()
Supaya program Anda mendukung argumen numerik, program tersebut harus mengkonversi argumen dalam String menjadi bentuk numeric. Berikut ini adalah potongan kode yang mengkonversi sebuah argumen menjadi sebuah integer. Method parseInt() dari class Integer akan menyebabkan NumberFormatException (ERROR) jika format args[0] tidak valid (bukan bentuk numerik).
Cara memberikan command-line argument dalam NetBeans
- Click Node Project (daerah yang dilingkari).
- Click kanan pada CommandLineExample, kemudian pilih Properties
- Dialog Project Properties akan muncul
- Kemudian click Run > Running Project
- Dalam textbox argumen, ketik argumen yang ingin dimasukkan dalam program. Dalam hal ini 5 4 3 2 1. Kemudian tekan OK.
- Cobalah untuk Run program
Session IX : Bekerja dengan java class library
Class dan Object
Class diasumsikan sebagai template, sebuah prototype dari object, merupakan struktur dasar dari
OOP. Dua tipe class member: Field (property atau attribute) untuk menentukan tipe data yang digunakan oleh class dan Method untuk menentukan jalan operasional.
Object terdiri dari: kumpulan data (property) berupa variabel yang menentukan karakteristik sebuah object dan beberapa method (behavior) yang menjelaskan bagaimana bentuk object. Object adalah sebuah instance dari Class.
Instance variable Untuk membuat sebuah object atau instance dari class, digunakan operator new. Operator new. Mengalokasikan memory untuk object dan membuat sebuah reference dari alokasi memory tersebut. Pada saat pembuatan object, class constructor dipanggil.
Class variable Class terdiri dari : Instance variable, Instance method, dan Class Variable (static member variable) atau variabel yang dimiliki oleh keseluruhan class Variabel tersebut memiliki nilai (value) yang sama untuk semua object dalam class yang sama.
Method merupakan bagian code yang dapat dipanggil oleh program utama atau method lain untuk melakukan suatu fungsi tertentu.
◦ Pemberian variabel pada Method(Pass-by-value,Pass-by-reference)
Pass-by value pada saat sebuah pass-by-value muncul, method tersebut membuat copy dari value variabel yang di-passing ke method. Method tersebut tidak dapat langsung mengubah argumen awal, meskipun dapat mengubah parameter pada saat proses perhitungan. Seluruh tipe data primitif pada saat ditujukan ke method merupakan pass-by-value.
Pass-by-Reference pada saat pass-by-reference muncul, reference untuk sebuah object di-passing untuk memanggil sebuah method. Method tersebut membuat sebuah copy reference dari variabel yang ditujukan ke method. Namun, tidak seperti pass-by-value, method tersebut dapat memodifikasi object sebenarnya yang ditunjuk oleh reference, meskipun dua reference yang berbeda digunakan dalam method, lokasi data yang ditunjuk adalah sama.
◦ Static method Method yang dapat dipanggil tanpa penginstansiasian class (tanpa menggunakan keyword new). Static method tidak hanya dimiliki oleh instance atau object tertentu dari class, tetapi oleh class secara keseluruhan. Keyword static digunakan oleh static method di dalam sebuah class, untuk membedakannya dengan instance method.
Jangkauan variabel adalah Menentukan pada bagian mana dalam program, suatu variabel tersebut dapat diakses. Menentukan lifetime variabel, atau lamanya variabel bertahan dalam memory. Jangkauan ditentukan oleh penempatan deklarasi variabel dalam program.
Casting adalah Mengkonversi tipe data dari satu tipe ke tipe yang lain.
Konversi tipe primitif ke Object dan sebaliknya merupakan Satu hal yang yang tidak dapat dilakukan dalam proses casting adalah mengcasting sebuah object menjadi tipe data primitif atau sebaliknya.
Sebagai alternatif, package java.lang memiliki class yang mendukung setiap tipe data primitif : Float, Boolean, Byte dan lainnya.
Membandingkan object
Hampir seluruh operator digunakan pada tipe primitif, bukan object. Kecuali pada operator equal (==) dan not equal (!=). Kedua operator tersebut berfungsi untuk :
◦ memeriksa apakah object memiliki value yang sama dengan object yang dibandingkan
◦ menentukan apakah kedua operator menunjuk object yang sama.
Menentukan class dari sebuah Object
Method getClass() digunakan untuk menentukan Class object (dimana Class adalah class) yang memiliki sebuah method getName(). Dalam hal ini, getName() menghasilkan sebuah string yang merepresentasikan nama dari class Sebagai contoh:
String name = key.getClass().getName();
Session X : Membuat Class Sendiri
Mendefinisikan class-class
Gunakan nama yang sesuai untuk penamaan class. Disarankan untuk tidak menggunakan XYZ sebagai nama class atau nama asal-asalan lainnya. Nama class harus diawali dengan huruf KAPITAL. Penamaan file harus tepat sama dengan nama yang digunakan oleh class ber-modifier public.
Untuk mendefinisikan sebuah class, kita tuliskan :
<modifier> class <name> {
<attributeDeclaration>*
<constructorDeclaration>*
<methodDeclaration>*
}
<modifier> adalah sebuah modifier bertipe access yang dapat dikombinasikan dengan modifier bertipe lainnya.
Contoh:
public class StudentRecord {//kita akan tambahkan kode di sini
}
Mendeklarasikan Fields (instance, static/class)
◦ Semua instance variable dideklarasikan pada deklarasi class.
◦ Deklarasikan satu variabel untuk setiap baris.
◦ Instance variable, seperti variabel lainnya, penamaannya harus dimulai dengan huruf kecil.
◦ Gunakan tipe data yang sesuai untuk setiap variabel yang dideklarasikan.
◦ Deklarasikan instance variable sebagai private sehingga hanya class method yang dapat mengaksesnya secara langsung.
Mendeklarasikan Method (accessor, mutator, static)
Pendeklarasian method dapat ditulis dengan menggunakan sintaks seperti di bawah ini,
<modifier> <returnType> <name>(<parameter>*) {
<statement>*
}
Method Accessor digunakan untuk membaca value dari class (instance/static) variable. Ditulis dengan menggunakan sintaks berikut: get<NameOfInstanceVariable>. Dapat me-return value.
Me-return value dan multiple return statement
Multiple return statement dapat digunakan dalam sebuah method selama tidak berada pada block yang sama. Konstanta dapat digunakan untuk me-return value sebuah variable.
public String getNumberInWords( int num ){String defaultNum = "zero";if( num == 1 ){return "one"; //return a constant}else if( num == 2){return "two"; //return a constant}//return a variablereturn defaultNum;}
Reference ‘this’
Kata kunci this digunakan untuk mengakses instance variable yang dibayangi oleh parameterReference ‘this’, dapat ditulis dengan menggunakan sintaks berikut ini:
this.<namaInstanceVariable>catatan : Reference ‘this’ hanya dapat digunakan untuk instance variable ,bukan untuk static atau class variable
Method overloading adalah penggunaan method dengan nama yang sama, parameter berbeda, dan me-return value dengan return type yang berbeda. Dapat digunakan ketika operator yang sama memiliki implementasi yang berbeda.
Method overloading memiliki properti-properti berikut:− Nama yang sama − Parameter/argument berbeda (jumlah dan Type)− Return type dapat berbeda atau samaConstructor Constructor sangat penting dalam meng-instatiate sebuah object. Constructor merupakan sebuah method yang digunakan untuk menempatkan semua penginisialisasian.Constructor memiliki properti-properti, sbb:− Sebuah constructor seperti method yang lain, bagaimanapun hanya informasi berikut yang
dapat ditempatkan dalam kepala constructor, lingkup atau kemampuan identifier mengakses (seperti public...), nama constructor dan parameter.
− Constructor tidak memiliki return value.− Constructor tidak dapat dipanggil langsung. Constructor hanya dapat dipanggil dengan
menggunakan operator new pada saat class instantiation.
Package merupakan pengelompokan class dan interface, yang memiliki relasi dalam satu unit. Package menyediakan mekanisme pengaturan kelompok class dan interface untuk menghindari konflik penamaan.
Untuk dapat menggunakan class-class di luar package yang sedang Anda kerjakan, Anda perlu meng-import package dari class-class tersebut. Program Java secara otomatis akan meng-import package java.lang.*, sehingga class String dan Integer dapat langsung digunakan dalam program. Suatu package dapat di-import dengan menggunakan sintaks:
import <nameOfPackage>;
Access Modifier (default, public, private, protected)
Ada 4 tipe access modifier dalam Java:− public− private− protected− defaultDefault merupakan default access modifier, yang tidak menggunakan keyword. public, private, dan protected merupakan access modifier tipe akses, yang secara eksplisit harus ditulis.
Session XI : Inheritance, Polymorphism dan Interface
Inheritance: pewarisan.
Superclass: class yang terletak di atas class tertentu dalam hirarki. Pada gambar: Class Object
Subclass: class yang terletak di bawah class tertentu dalam hirarki. Pada gambar: Class A, Class B subclass dari class A.
Keuntungan penggunaan Inheritance: REUSABILITY:
◦ Ketikabehavior(method) dideklarasikandalam superclass, behaviortersebutotomatisdiwariskankeseluruh subclass
◦ Jadi, Andadapatmeng-enkode method hanyasekalidan method tersebutdapatdigunakanolehseluruh subclass
◦ Sebuah subclass hanyaperlumengimplementasikanperbedaanantaradirinyasendiridan parent-nya
Keybowrd extends didunakan uantuk mengambil atau mewarisi class tertentu. Misalnya, class B menjadi subclass dari Class A. Maka: class B extends class A.
Keyword superuntukmengakses field dan constructor dari superclass.
Meng-override method.
Maksudnyabegini, subclass akanmewarisisifatdariparentclassnya. Nah, ketika subclass inginberbedadengan parent/superclassnya, makadilakukan overriding.Jadi overriding itu, menggunakannama method yang sama.
Namun, jikasuatu method diberi keyword final, (Method final), maka method itutidakdapat di-override.Method static itusecaraotomatismerupakan method final.
Polymorphism
Adalahkemampuansuatu variable reference untukmengubah behavior sesuaidenganapa yang dipunyai object.
Interface
Interface hampersamadengan class, yaitusama-samasebauh type. Bedanya, kitaitdakbisamembuatinsancedarisuatu interface.
Interface method tidakmemiliki body.
Beberapa Abstract class memiliki method denganimplementasi
Sebuah interface hanyadapatdidefinisikan constant
Sebuah abstract class tampakseperti class biasa yang dapatmendeklarasikanvariabel.
Interface tidakmemilikihubungan inheritance secaralangsungdengansetiap class tertentu, merekadidefinisikansecaraindependen.
Abstract class dapat di-subclass-kan
Session XII : Dasar Exception Handling
Exception itu adalah event yang menyela alur proses yang normal suatu program. Event yang disela itu biasanya beberapa error yang menyebabakan program berhenti tidak normal.
Contoh exception:
ArrayIndexOutOfBounds Exception
terjadi pada saat pengaksesan elemen array yang tidak ada
Untuk menanganinya menggunakan: try-catch-finally.
Yang perlu diperhatikan pada sintak try-catch-finnaly:
Wajib membuat notasi blok
Setiap blok try boleh memiliki lebih dari satu blok catch dan hanya boleh memiliki satu blok finally
Blok catch dan blok finally harus muncul bersama blok try
Blok try harus diikuti minimal satu blok catch, atau satu blok finally, atau kedua blok catch dan finally
Setiap blok catch mendefinisikan penanganan exception. Di dalam header blok catch terdapat satu argumen yang akan ditangani oleh blok exception. Exception harus berasal dari class Throwable atau dari class turunannya
Contoh:public class ExceptionExample {
public static void main( String[] args ){ try{
System.out.println( args[1] ); }catch( ArrayIndexOutOfBoundsException exp ){
System.out.println("Exception caught!"); }
} }