Saturday, November 5, 2011

Class dan method

Dari   pengelompokkan   kode­kode   dari   bagian   yang   sebelumnya,   maka   keseluruhan definisi kelas kelihatan seperti ini:

class NewLine {
public static void newLine () {
System.out.println ("");
}
public static void threeLine () {
newLine (); newLine (); newLine ();
}
public static void main (String[] args) {
System.out.println ("First line.");
threeLine ();
System.out.println ("Second line.");
}
}

Baris yang pertama menunjukkan bahwa ini adalah definisi untuk suatu kelas yang baru yang dinamakan Newline. Suatu Class adalah suatu kumpulan dari suatu method yang berelasi.   Dalam   hal   ini,   kelas   yang   bernama   Newline berisi   tiga   metoda,   yang dinamakan newLine, threeLine, dan main.

Class lain yang telah kita lihat adalah Math Kelas. Class itu berisi method yang bernama sqrt, sin, dan banyak yang lain. Ketika kita memanggil suatu fungsi matematika, kita harus   menetapkan   nama   Class   (Math)   dan   nama fungsinya.   Itulah   mengapa   sintak berbeda untuk masing­masing method built­in dan metoda yang kita tulis:

Math.pow (2.0, 10.0);
newLine ();

Statemen yang pertama memanggil method pow didalam Class Math (Yang menaikkan kekuatan argumentasi yang pertama ke argumentasi yang kedua ). Statemen yang kedua meminta method newLine metoda, Java mengasumsikan (dengan tepat) didalam Class Newlines, yang mana sedang kita tulis.

Jika anda mencoba untuk memanggil suatu method dari Class yang salah, compiler akan menghasilkan suatu kesalahan. Sebagai contoh, jika anda ketik:

pow (2.0, 10.0);

Compiler kira­kira akan mengatakan, Tidak bisa menemukan suatu method bernama pow didalam Class Newline." Jika anda sudah melihat pesan ini, anda mungkin heran mengapa compiler mencari pow didalam Class yang didefinisikan. Sekarang anda sudah tahu.

Menambahkan Metode Baru

Sejauh   ini   kita   hanya   menggunakan   metoda   yang   dibangun   dalam java,   tetapi memungkinkan untuk menambahkan metoda baru. Sebenarnya kita melihat satu metoda definisi:   main.   Method   dinamakan   main   khusus menandai   di   mana   pelaksanaan program dimulai, tetapi sintak untuk yang main adalah sama dengan definisi metoda lain:

public static void NAME ( LIST OF PARAMETERS ) {
STATEMENTS
}

Anda dapat membuat nama apapun yang anda butuhkan untuk metoda anda, kecuali nama main atau keyword java lainnya. Daftar yang menginformasikan tipe parameter,bila ada, anda harus menyediakan untuk penggunaan fungsi yang baru.

Parameter tunggal untuk main adalah String[] args, yang menunjukkan bahwa siapapun menggunakan main harus menyediakan suatu array String. Sepasang metoda   yang   pertama   yang   akan   kita   tulis   tidak   punya parameters,sehingga sintaknya kelihatan seperti ini:

public static void newLine () {
System.out.println ("");
}

Method ini dinamai newLine, dan tanda kurung yang kosong menunjukkan bahwa ia tidak mengambil parameter apapun. Method itu hanya berisi statemen tunggal, yang mencetak suatu  string kosong  yang ditandai  oleh"". Pencetakan  suatu string  dengan tidak ada huruf didalamnya tidak akan nampak bermanfaat, kecuali ingat bahwa println melompati baris yang berikutnya setelah itu mencetak, maka statemen ini mempunyai efek melompati baris yang berikutnya.

Didalam main kita dapat membuat method yang baru ini menggunakan sintak yang serupa  dengan memakai perintah Java yang sudah built­in :

public static void main (String[] args) {
System.out.println ("First line.");
newLine ();
System.out.println ("Second line.");
}

Keluaran dari program ini adalah

First line.
Second line.

Perhatikan spasi antara kedua bentuk. Akibatnya bagaimana jika kita ingin menambah spasi antara dua baris? Kita bisa memanggil method yang sama berulang­kali:

public static void main (String[] args) {
System.out.println ("First line.");
newLine ();
newLine ();
newLine ();
System.out.println ("Second line.");
}

Atau kita bisa menulis suatu metoda baru yang dinamakan threeLine yang mencetak tiga bentuk baru:

public static void threeLine () {
newLine (); newLine (); newLine ();
}
public static void main (String[] args) {
System.out.println ("First line.");
threeLine ();
System.out.println ("Second line.");
}
Anda perlu memperhatikan beberapa hal sekitar program ini:

Anda dapat memanggil prosedur yang sama berulang­kali. Sebenarnya, itu umumnya berguna bagi mekannya.

Anda   bisa   mempunyai   satu   method   memanggil   metoda   lain.   Dalam   hal   ini,   main meminta   threeLine   dan   threeLine   meminta   newLine.   Lagi­lagi   ini   umumnya bermanfaat.

Didalam threeLine saya menulis tiga statemen semua pada baris yang sama, yang mana secara   yg   sintak   benar   (ingat   bahwa   spasi   dan   baris   baru pada umumnya   tidak mengubah  arti dari  suatu  program). Di sisi lain, itu  suatu gagasan  yang baik  untuk menaruh  statemen   masing­masing   sejajar   dengan barisnya,   untuk   membuat   program anda   mudah   dibaca.   Saya   terkadang menggunakan   aturan   dalam   buku   ini   untuk menghemat ruang.

Sejauh ini, mungkin belum begitu jelas kenapa begitu berharga ini untuk menciptakan semua  metoda baru ini . sebenarnya, ada banyak pertimbangan, tetapi contoh ini hanya mempertunjukkan dua hal:
  1. Menciptakan suatu method baru memberi anda suatu kesempatan untuk memberi suatu   nama   kepada   satu   kelompok   statemen.   Method dapat   menyederhanakan   suatu program dengan menyembunyikan suatu perhitungan kompleks di belakang perintah tunggal, dan dengan penggunaan kata Bahasa Inggris sebagai pengganti kode. Lebih jelasnya , newLine atau System.Out.Println("")?
  2. Menciptakan suatu method baru yang dapat membuat suatu program yang lebih kecil dengan menghilangkan kode berulang. Sebagai contoh, bagaimana cara anda mencetak sembilan baris baru berurutan? Anda bisa memanggil method threeLine tiga kali.


Composition

Sama   halnya   dengan   fungsi   matematika,   Method   Java   dapat  composed, maksudnya anda menggunakan satu ekspresi sebagai bagian dari yang lain. Sebagai contoh, anda dapat menggunakan ekspresi manapun sebagai suatu argumentasi ke suatu metoda:

double x = Math.cos (angle + Math.PI/2);

Statemen   ini   mengambil  nilai   Math.Pi,   membaginya   dengan   dua   dan  menambahkan hasilnya   kepada   nilai   variabel   angle.   Penjumlahan  kemudian   melewatkan   suatu argumentasi untuk method cos.(ingat PI (22:7) itu adalah nama suatu variabel, bukan method , maka tidak ada argumentasi, bukan pula argumentasi yang kosong()).

Anda dapat juga mengambil satu method dan melewatkannya pada argumentasi ke lain:

double x = Math.exp (Math.log (10.0));

Didalam   Java,   log   berfungsi   selalu   menggunakan   dasar   e,   maka statemen   ini mengartikan dasar log e 10 dan kemudian menaikkan e. Hasilnya di assign ke x; saya berharap anda mengetahui apa artinya.

Friday, October 21, 2011

Method Matematika

Di dalam matematika, anda mungkin sudah melihat fungsi seperti sin dan log, dan anda sudah mempelajari ekspresi seperti sin(∏/2) dan log(1/x). Pertama, anda mengevaluasi ekspresi didalam tanda kurung, yang mana disebut argumentasi fungsi. Sebagai contoh, 

∏/2 kira­kira 1.571, dan 1/x adalah 0.1 ( diasumsikan bahwa x 10).

Kemudian anda dapat mengevaluasi fungsi itu dengan menggunakan tabel  atau dengan mekan berbagai perhitungan. Sin 1.571 adalah 1, dan log 0.1 adalah ­1 ( diasumsikan bahwa log mengindikasikan bilangan pokok 10).

Proses ini dapat diterapkan berulang­kali untuk mengevaluasi ekspresi yang lebih rumit seperti   log(1/   sin(∏/2)).   pertama   kita   mengevaluasi   argumentasi   function,   lalu mengevaluasi  fungsi yang paling dalam, dan seterusnya.

Java   menyediakan   satu   set   built­in   fungsi   yang   mengandung   kebanyakan   operasi matematikan   yang   anda   tahu.   Fungsi   ini   disebut  methods.   Kebanyakan   method matematika beroperasi pada double.

Method   matemmatika   dilibatkan   menggunakan   suatu   sintaksis   yang   serupa   dengan perintah print yang kita lihat:

double root = Math.sqrt (17.0);
double angle = 1.5;
double height = Math.sin (angle);
Contoh yang pertama akar 17. 

Contoh yang kedua sinus 1.5, yang mana adalah nilai sudut variabel. Java berasumsi bahwa   nilai­nilai yang anda gunakan dengan sin dan fungsi trigonometric lain  ( cos, Tan) adalah didalam radian. Untuk mengkonversi dari derajat   ke   radian,   anda   dapat   membagi   dengan   360   dan   mengalikan   dengan Untungnya, Java menyediakan ∏ sebagai nilai yang built­in:

PI (22:7) adalah dalam huruf besar. Java tidak mengenali Pi (22:7), Pi (22:7), atau pie. Metoda bermanfaat lain didalam Claas adalah putaran, yang mengelilingi suatu nilai floating­point kepada bilangan bulat yang paling dekat dan kembalikan ke suatu int.

double degrees = 90;
double angle = degrees * 2 * Math.PI / 360.0;
int x = Math.round (Math.PI * 20.0);

Dalam hal ini perkalian dikan terlebih dulu, sebelum method dilibatkan. hasilnya adalah 63 ( yang dibulatkan dari 62.8319).

Mengkonversi double ke int

Seperti saya sebutkan, Java mengkonversi  int  ke  double  secara otomatis jika perlu, sebab   tidak   ada   informasi   hilang   dari   konversi   itu.   Pada   sisi   lain,   mengubah   suatu double  ke suatu  int  memerlukan   penyelesaian.  Java tidak melaksanakan  operasi ini secara otomatis, sebagai programmer, anda  menyadari hilangnya sebagian jumlah dari angka itu.

Cara yang paling sederhana untuk mengkonversi suatu floating­point ke suatu bilangan 

bulat adalah menggunakan typecast. Dinamakan typecasting karena mengijinkan anda untuk mengambil suatu tipe nilai dan mengubahnya kedalam tipe lain (dalam pengertian mengubah tidak melempar). Sayangnya, sintaks  untuk typecasting jelek:  anda menaruh nama  tipe didalam  tanda kurung dan menggunakannya sebagai suatu operator. Sebagai contoh,

int x = (int) Math.PI;

Operator int mempunyai efek mengikuti bilangan bulat, maka x menghasilkan nilai 3. Typecasting  harus   didahulukan   sebelum   operasi   perhitungan,   maka   didalam   contoh yang berikut, nilai PI (22:7) menghasilkan pertama dikonversi ke suatu bilangan bulat , dan hasilnya adalah 60, bukan 62.

int x = (int) Math.PI * 20.0;

Mengubah ke suatu bilangan bulat selalu dibulatkan kebawah, sekalipun pecahannya 0.99999999. Dua properties ini  (precedence dan pembulatan) dapat membuat typecast kurang bagus.

Floating­ point

Di  dalam bab  yang terakhir  kita mempunyai beberapa permasalahan  dengan  angka­ angka yang bukanlah bilangan bulat. Kita disibukkan dengan masalah untuk mengukur  persentase   sebagai   pecahan,   tetapi   suatu   solusi   yang   lebih   umum   adalah   untuk  menggunakan   angka­angka   floating­point,   yang   dapat   mempresentasikan   pecahan seperti halnya bilangan bulat. Didalam Java, tipe floating­point disebut double. Anda dapat menciptakan variabel floating dan memberikan nilai dengan menggunakan Sintak yang sama yang]kita gunakan untuk tipe lain . Sebagai contoh:

double pi :

pi = 3.14159;

Ini juga benar untuk mempresentasikankan suatu variabel dan menugaskan suatu nilai kepadanya pada waktu yang sama:

int x = 1;
String empty = "";
double pi = 3.14159;

Sebenarnya, sintak ini adalah secara umum. Suatu kombanisi assigment dan deklarasi terkadang disebut suatu initialisasi. 


Sebenarnya, sintak ini adalah secara umum. Suatu kombanisi assigment dan deklarasi terkadang disebut suatu initialisasi. 

Walaupun   angka­angka   floating­point   bermanfaat,   namunn   sering   suatu   source membingungkan karena sepertinya ada tumpang­tindih antara bilangan bulat dan angka­ angka floating­point. Sebagai contoh, jika anda mempunyai nilai 1, yang merupakan suatu bilangan bulat, bilangan floating­point, atau kedua­duanya? 

Pada   dasarnya,   Java   menilai  integer  itu   1   dan  floating­point  1.0,   sungguhpun sepertinya adalah jumlahnya sama. Tetapi tipenya berbeda, dan pada dasarnya, anda tidaklah diijinkan untuk meng assign  antara tipe. Sebagai contoh, yang berikut adalah tidak benar:

int x = 1.1;

Sebab variabel pada sisi kiri adalah suatu int dan nilai pada sisi kanan adalah suatu double. maka mudah untuk melupakan aturan ini, kususnya karena ada tempat dimana java akan secara otomatis mengkonversi dari satu tipe ke lain. Sebagai contoh:

double y = 1;

seharusnya secara teknis tidak benar, tetapi Java mengijinkan dengan mengubah int itu kepada suatu double secara otomatis. Kemudahan ini sangat menyenangkan, tetapi itu dapat menyebabkan permasalahan; sebagai contoh:

double y = 1 / 3;

Anda   mungkin   mengharapkan   variabel   y   diberi   nilai     0.333333,   benar,   tetapi sesungguhnya  akan  menghasilkan  nilai  0.0. Alasan  adalah  bahwa  ekspresi  pada  sisi kanan   nampak   seperti   perbandingan   dua   bilangan   bulat,   maka   Java   mengerjakan pembagian bilangan bulat, yang menghasilkan bilangan bulat  0. yang dikonversi Untuk floating­point hasilnya 0.0.

Satu   cara   untuk   memecahkan   masalah   ini   (   saat   anda   menggambarkan   apa   artinya) adalah untuk ekspresi floating­point dari kanan. 

double y = 1.0 / 3.0;

disini y diset menjadi 0.333333, yang diharapkan. Semua operasi yang telah kita lihat sejauh ini penambahan, pengurangan, perkalian, dan pembagian juga ada pada nilai floating­point, walaupun anda mungkin tertarik untuk mengetahui   bahwa   mekanisme   dasarnya   berbeda   sepenuhnya.   Pada   kenyataanya, prosesor mempunyai perangkat keras khusus hanya untuk mekan operasi floating­point.

Monday, October 17, 2011

Assigments

Sejak kita sudah menciptakan beberapa variabel, kita ingin menyimpan suatu nilai pada variabel tersebut. Kita akan mekannya dengan Assignmen Statement.

fred = "Hello."; // give fred the value "Hello."
hour = 11; // assign the value 11 to hour
minute = 59; // set minute to 59
Contoh ini menunjukkan tiga assignment, dan komentar menunjukkan tiga perbedaan cara orang menyatakan tentang assignment statement. Kosa katanya jadi meragukan di sini, tetapi gagasan secara langsung:


  • ketika anda mendeklarasikan suatu variabel, anda menciptakan suatu nama untuk lokasi penyimpanan.
  • Ketika anda mekan assignment terhadap suatu variabel, anda memberinya suatu nilai.

Suatu cara umum untuk mempresentasikan suatu variabel secara tertulis adalah dengan menggambarkan suatu kotak dengan nama variabel diluarnya dan nilai variabel pada didalamnya. Gambar ini  menunjukkan efek dari ke tiga assignment statemen :



Untuk masing­ - masing variabel, nama variabel nampak di luar kotak itu dan nilai  nampak di dalam.

Pada umumnya, suatu variabel harus mempunyai tipe yang sama seperti meng assign nilai. Anda tidak bisa menyimpan suatu string didalam minute atau suatu bilangan bulat didalam fred.

Di sisi lain, aturan itu bisa meragukan, karena ada banyak cara yang dapat anda kan

dalam mengkonversi nilai­nilai dari satu tipe ke tipe lain, dan Java kadang­ - kadang mengkonversi berbagai hal secara otomatis. Maka sekarang anda perlu ingat aturan yang umum, dan kita akan memperbicangkannya secara khusus nanti. 

Hal lain yang meragukan adalah bahwa beberapa string kelihatan seperti bilangan bulat, tetapi  sesungguhnya bukan. Sebagai contoh, fred mengandung string " 123", yang mana terdiri dari karakter 1, 2 dan 3, tapi itu tidak sama halnya seperti nomor 123. 

fred = "123"; // legal
fred = 123; // not legal

Variabel

Salah satu keunggulan fitur suatu bahasa pemrograman adalah kemampuan untuk memanipulasi variabel. Suatu variabel adalah lokasi yang menyimpan suatu nilai. Nilai adalah berbagai hal yang dapat dicetak dan disimpan (kita akan lihat kemudian) yang dioperasikan.String yang telah kita cetak (" Hello, World.", " Goodbye", dll.) adalah nilai.

Dalam menyimpan suatu nilai, anda harus menciptakan suatu variabel. Karena nilai yang ingin kita simpan adalah string, maka kita akan mendeklarasikan variabel baru sebagai suatu string :

String fred; 

Statemen ini merupakan suatu deklarasi, karena mendklarasikan variabel bernama fred yang bertipe string. Masing­masing variabel mempunyai suatu tipe yang menentukan tipe nilai apa yang akan   disimpan. Sebagai contoh, tipe int dapat menyimpan bilangan bulat, dan tidak mungkin akan menyimpan tipe string.

Anda akan melihat bahwa beberapa tipe dimulai dengan huruf besar dan beberapa dengan huruf kecil.. Kita akan belajar arti dari perbedaan ini nanti, tetapi untuk sekarang anda benar­benar perlu untuk berhati­hati. Ada tipe selain Int atau string, dan compiler akan menolak jika anda mencoba membuat sendiri tipe data.

Untuk membuat suatu variabel bilangan bulat, sintaknya seperti int bob; , dimana bob adalah nama yang dapat anda tulis sembarang. Secara umum, anda akan menulis suatu nama variabel yang  mengindikasikan variabel yang ingin anda bentuk. Sebagai contoh, jika anda melihat deklarasi variabel ini:

String firstName;
String lastName;
int hour, minute;

Anda mungkin bisa menerka­nerka tentang nilai apa yang akan disimpan oleh tipe tersebut. Contoh ini memperlihatkan sintak untuk medemonstrasikan berbagai variabel dengan tipe yang sama: hour dan minute kedua­duanya merupakan bilangan bulat ( tipe int).

Sunday, October 16, 2011

Program Java : Selamat Belajar Java

Program Java : Selamat Belajar Java - Untuk Postingan Pertama ini sebuah contoh sederhana dari program Java berikut kode programnya :


package selamatbelajar;
public class SelamatBelajar {
    public static void main(String[] args) {
        // TODO code application logic here
        System.out.println("Hi, Aidiel ");
        System.out.println("Selamat Belajar Java");
    }
}

Program Java : Selamat Belajar Java 

Kelebihan Bahasa Pemrograman Java

Bahasa Pemrograman Java Memiliki beberapa kelebihan dari bahasa pemrograman lain di antaranya adalah sebagai berikut ini :

Platform Independent

Platform independent berarti program yang ditulis dalam bahasa Java dapat dengan mudah dipindahkan antar berbagai jenis sistem operasi dan berbagai jenis arsitektur komputer. Aspek ini sangat penting untuk dapat mencapai tujuan Java sebagai bahasa pemrograman Internet di mana sebuah program akan dijalankan oleh berbagai jenis komputer dengan berbagai jenis sistem operasi. Sifat ini berlaku untuk level source code dan binary code dari program Java. Berbeda dengan bahasa C dan C++, semua tipe data dalam bahasa Java mempunyai ukuran yang konsisten di semua jenis platform. Source code program Java sendiri tidak perlu dirubah sama sekali jika Anda ingin mengkompile ulang di platform lain. Hasil dari mengkompile source code Java bukanlah kode mesin atau instruksi prosesor yang spesifik terhadap mesin tertentu, melainkan berupa bytecode yang berupa file berekstensi .class. Bytecode tersebut dapat langsung Anda eksekusi di tiap platform yang dengan menggunakan Java Virtual Machine (JVM) sebagai interpreter terhadap bytecode tersebut.

JVM sendiri adalah sebuah aplikasi yang berjalan di atas sebuah sistem operasi dan menerjemahkan bytecode program Java dan mengeksekusinya, sehingga secara konsep bisa dianggap sebagai sebuah interpreter. Proses pengeksekusian program Java dapat dilukiskan seperti di Gambar 1. Dengan cara ini, sebuah program Java yang telah dikompilasi akan dapat berjalan di platform mana saja, asalkan ada JVM di sana.

Kompiler dan interpreter untuk program Java berbentuk Java Development Kit (JDK) yang diproduksi oleh Sun Microsystems. JDK ini dapat didownload gratis dari situs java.sun.com. Interpreter untuk program Java sendiri sering juga disebut Java Runtime atau Java Virtual Machine. Interpreter Java, tanpa kompilernya, disebut Java Runtime Environment (JRE) dapat didownload juga di situs yang sama. Untuk mengembangkan program Java dibutuhkan JDK, sementara jika hanya ingin menjalankan bytecode Java cukup dengan JRE saja. Namun untuk mengeksekusi applet (sebuah bytecode Java juga) Anda biasanya tidak perlu lagi mendownload JRE karena browser yang Java-enabled telah memiliki JVM sendiri.

Library

Selain kompiler dan interpreter, bahasa Java sendiri memiliki library yang cukup besar yang dapat mempermudah Anda dalam membuat sebuah aplikasi dengan cepat. Library ini sudah mencakup untuk grafik, desain user interface, kriptografi, jaringan, suara, database, dan lain-lain.


OO (Object Oriented)

Java adalah bahasa pemrograman berorientasi objek. Pemrograman berorientasi objek secara gamblang adalah teknik untuk mengorganisir program dan dapat dilakukan dengan hampir semua bahasa pemrograman. Namun Java sendiri telah mengimplementasikan berbagai fasilitas agar seorang programer dapat mengoptimalkan teknik pemrograman berorientasi objek.
Sedikit perbandingan tambahan dengan bahasa C dan C++, Java banyak mewarisi konsep orientasi objek dari C++ namun dengan menghilangkan aspek-aspek kerumitan dalam bahasa C++ tanpa mengurangi kekuatannya. Hal ini mempermudah programer pemula untuk mempelajari Java namun mengurangi keleluasaan programer berpengalaman dalam mengutak-atik sebuah program. Di balik kemudahan yang ditawarkan Java, luasnya fasilitas library Java sendiri membuat seorang programer membutuhkan waktu yang tidak singkat untuk dapat menguasai penggunaan library-library tersebut.

Sejarah Singkat Pemrograman Java

Java Adalah bahasa pemrograman berorientasi objek yang diperkenalkan pertama kali oleh tim Sun Microsystem yang dipimpin oleh Patrick Naughton dan James Gosling tahun 1991 dengan nama proyek Green. Proyek Green membuat bahasa pemrograman berbasis C++ yang diberi nama OAK untuk membuat alat-alat elektronik yang menggunakan CPU sebagai controllernya, seperti seperti microwave, remote control, telepon, card reader, dll.

Tahun 1995 OAK diganti menjadi Java karena terinspirasi oleh kopi Java yang enak. Produk pertama proyek Green adalah Star 7 (*7), sebuah kendali jarak jauh yang sangat cerdas, tapi kurang laku di pasaran.

Pada saat yang sama implementasi WWW dan Internet sedang mengalami perkembangan pesat. Java dapat digunakan pada pemrograman internet, sehingga penerapan selanjutnya mengarah menjadi teknologi yang berperan di web. 



Saturday, October 15, 2011

Daftar Istilah Pemrograman Java

  • Problem­solving: Proses merumuskan suatu masalah,menemukan suatu solusi, dan menyatakan solusi itu.
  • High­level language: Suatu bahasa program seperti bahasa Java yang dirancang untuk memudahkan manusia untuk membaca dan menulis.
  • Low­level language: Suatu bahasa program yang dirancang untuk memudahkan komputer untuk melaksanakannya. Juga disebut ”bahasa mesin" atau ”bahasa assembly”.
  • Bahasa formal: Bahasa yang sudah dirancang untuk mempresentasikan suatu gagasan matematika atau program komputer. Semua bahasa program adalah bahasa formal.
  • Bahasa alami: Bahasa orang yang manapun itu sudah terbentuk secra alami. 
  • Portabilitas: Suatu properti dari suatu program yang dapat berjalan lebih dari satu macam komputer.
  • Interpreted: Untuk mengeksekusi suatu program di dalam suatu high­level language menterjemahkannya perbaris pada waktu yang sama.
  • Compile: Untuk menterjemahkan suatu program di dalam suatu high­level language ke dalam suatu low­level­language, untuk kemudian di eksekusi.
  • Source program: Suatu program di dalam suatu high­level language sebelum di­ compile.
  • Object Code: Keluaran compiler, setelah menterjemahkan program itu.
  • Executable: Nama lain untuk object code yang siap untuk dieksekusi.
  • ByteCode: Semacam object code khusus digunakan untuk Program Java. Byte Code serupa dengan suatu low­level language, tetapi portable sama seperti high­level language.

  • Statement: Bagian dari suatu program yang merupakan sesuatu yang akan dikan ketika program berjalan. Suatu cetakan statemen menyebabkan keluaran pada layar.
  • Comment: Bagian dari suatu program yang berisi informasi tentang program, tetapi itu tidak mempunyai efek ketika program berjalan.
  • Algorithm: Suatu proses umum untuk memecahkan suatu kategori permasalahan. Bug: Suatu kesalahan di dalam suatu program. 
  • Syntax: Struktur suatu program.
  • Semantic: Arti dari suatu program.
  • Parse: Untuk menguji dan menganalisis suatu struktur syntax sebuah program.
  • Syntax error: Suatu kesalahan di dalam suatu program yang membuatnya mustahil untuk di parsing.
  • Exception: Suatu kesalahan di dalam suatu program yang membuatnya gagal pada waktu dijalankan. Biasa disebut run­time error.
  • Debugging: Proses untuk menemukan dan membuang ke tiga macam kesalahan.