Pengenalan Bahasa Pemrograman
Program Memasak
Merupakan bahasa manusia yang sehari hari kita pakai
Contoh nya sebagaimana saya akan berikan di bawah ini.
- Iris bawang bombay dan bawang putih kecil-kecil
- Potong potong semua bahan sayuran.
- Siapkan pengorengan dan masukkan mentega dengan nyala api kompor kecil hingga sedang.
- Tumis bawang bombay, bawang putih, hingga harum
- Tambahkan sedikit air sekitar 200 ml.
- Tunggu hingga mendidih, selanjutnya masukkan bahan sayurannya dan tunggu hingga matang, lantas masukkan juga irisan bakso sapi
- ... dan seterus nya
Dalam kalimat yang saya sebutkan di atas terdapat unsur sebagai berikut:
- Rangkaian LAMBANG (Huruf dan Angka),
- Disusun membentuk PERINTAH (Kata Kerja)
- Dengan URUTAN tertentu
- Untuk mengolah SESUATU (Kata Benda)
- Yang DITUJUKAN ke seseorang (Koki)
- Dengan MEMANFAATKAN RESOURCE yang dipunyai (Kompor, Panci, Penggorengan, Ketrampilan, dsb)
- Untuk suatu TUJUAN (Memasak)
Program Bermain Musik
Biasanya kita berpikir langsung merujuk kepada Bahasa Musik seperti not nda dan lainnya seperti pada gambar di bawah ini.
Dalam bahasa musik terdapat beberapa unsur sebagai berikut:- Rangkaian LAMBANG (Notasi Not Balok),
- Disusun membentuk PERINTAH (Mengeluarkan Bunyi)
- Dengan URUTAN tertentu
- Untuk mengolah SESUATU (Partitur)
- Yang DITUJUKAN ke seseorang (Pemusik/Pianis)
- Dengan MEMANFAATKAN RESOURCE yang dipunyai (untuk Piano dengan Tuts, Pedal, dsb)
- Untuk suatu TUJUAN (Main Musik) Ditulis dalam bahasa music (NOTE BALOK)
Program Menulis Hello World
Jika kita menuliskan Hello World dengan bahasa mesin maka mesin akan menggunakan bahasa biner atau yang biasa di sebut Bahasa Mesin untuk merepresentasikan apa yang kita tulis dan kemudian akan di terjemahkan sehingga mesin dapat mengerti apa yang kita ketikan dan dapat menjalankan perintah yang sesuai dengan apa yang kita ketikan.
Dalam program atau bahasa mesin :
- Rangkaian LAMBANG (BINER atau HEKSADESIMAL untuk computer)
- Disusun membentuk PERINTAH (STATEMENT)
- Dengan URUTAN tertentu (ALGORITMA)
- Untuk mengolah SESESUATU (DATA)
- DITUJUKAN ke
seseorangmesin (KOMPUTER) - Dengan MEMANFAATKAN RESOURCE yang dipunyai (CPU, RAM, Monitor, dsb)
- Untuk suatu TUJUAN (Menulis Hello, World...) Ditulis dalam bahasa Pemrograman, yang kemudian diubah ke dalam bahsa mesin (biner)
Sistem / Lambang Bilangan
- Satu simbol biner biasa disebut bit
- Bilangan 1 bit è 0 atau 1
- Bilangan 2 bit è 00 atau 01 atau 10 atau 11
- Bilangan 3 bit è 000, 001, 010, 011 ... 111
- Bilangan 8 bit 0000 0000 ..s/d.. 1111 1111 => Byte
- Bentuk Heksa 0 0 ..s/d.. F F
Lambang Manusia
- BUKAN HANYA Integer / Bilangan bulat positif (Desimal 0 s/d 9)
- TETAPI JUGA :
- Bilangan Negatif contoh : -3 Jadi lambang negatif (-) juga harus diterjemahkan ke dalam sistem biner
- Bilangan Pecahan contoh : 3,14 Jadi lambang koma (,) juga harus diterjemahkan ke dalam sistem biner
- Huruf dan tanda baca yang juga harus ditermahkan ke dalam sistem biner / digital. Bahkan ada gambar, video, audio dsb.
- JUGA ADA PERINTAH (dalam bahasa Inggris) contoh
: print, add, load, dsb
Bahasa Manusia vs Mesin
Jika manusia berinteraksi dengan mesin maka manusia butuh Penterjemah
Manusia | Komputer |
---|---|
Huruf : ABCDEFG ... XYZ | Biner : 01 |
Angka : 01..9 | Heksa : 0123456789ABCDEF |
TandaBaca : .,+-<spasi>!?% | |
Kalimat : | Kalimat : |
Tumis Bawang | 0101011000111010101011 |
Tambahkan 2 Sedok Gula | 01Afd2345DE7800315FBA3 |
Tipe Data Huruf / Karakter
Unicode (16 bit) è Java, C
ASCII (7 bit) è Pascal, C
Interpreter vs Compiler
Interpreter / Compiler adalah program aplikasi yang bertugas “menterjemahkan” bahasa level tinggi (Basic, C, Pascal, dll) ke bahasa mesin
Interpreter :
- menerjemahkan perintah bahasa tingkat
tinggi satu (baris) per satu (baris) sesuai dengan alur perintah
- Untuk menjalankan aplikasi interpreter
harus jalan
- Kekurangan Lambat
- Contoh: Basic
Compiler:
- Menterjemahkan seluruh source code bahasa
level tinggi ke dalam bahasa mesin.
- Bahasa mesin yang dihasilkan sesuai dengan
platform harware / system operasi
yang dituju
- Hasil terjemahan langsung menjadi
aplikasi dan bisa dijalankan / dieksekusi oleh sistem operasi
- Pada Linux ditandai dengan atribut
“Execute” atau pada Windows file berekstensi *.exe
- Contoh: Pascal, C, Assembly
Java
- Java adalah interpreter
- Untuk mempercepat proses dari source code (*.java) dicompile dengan java-compiler (jdk è javac) dulu menjadi bytecode (*.class)
- Setelah menjadi bytecode (*.class), maka bisa di jalankan oleh jre è java
- Keuntungan : Cross Platform è Selama ada java (jre) maka
Pemrograman
- Aplikasi dapat dibuat dengan cara membuat program komputer
- Program Komputer : adalah rangkaian perintah kepada komputer untuk menyelesaikan suatu masalah
- dengan suatu bahasa programan tertentu (Basic, Pascal, C, Java,dll)
- yang kemudian diterjemahkan ke dalam bahasa mesin
- Selanjutkan akan dikerjakan oleh komputer dengan sumber daya yang dimiliki I/O, Memory dan CPU (ALU, Reigster, Controll Unit)
- Pada program yang dibuat dapat memberikan perintah secara langsung ke Hardware, atau memanfaatkan fasilitas / Library yang disiapkan oleh BIOS ata Sistem Operasi
Bahasa Pemrograman
- Bahasa Pemrograman hanya sebuah tools untuk membantu menterjemahkan Bahas Mesin
- Tiap Bahasa (Basic, Pascal, C, Java, dll) mempunyai keunikan
- Struktur è (Object Oriented Program)
- Cara Penulisan / Sintaks
- Reserved Word / Kosa kata
- Type Data (Primitive)
- Library / collection Perintah / Code
Perintah Dasar
- Data Type è Variabel (Data Storage)
- Numerical
- Character / String
- Logic
- Data Manipulation (Numerical, Character, Logic)
- Branching (IF ... Else)
- Looping (For, Do-While, While-Do)
- Output
- Sub Rutin / Function / Object
Contoh Program ...
- Dalam bahasa Visal BASIC (VB) :
10 PRINT "Hello, World..."
- Dalam bahasa Python :
print "Hello, World..."
- Dalam bahasa Pascal :
program Hello;
beginwriteln ('Hello, world...'); end.
- Dalam bahasa C :
#include<stdio.h>
int main(int argc, char** argv){
printf("Hello, World...\n");
}
- Dalam bahasa Java :
public class Hello {
public static void main(String[] args) {
System.out.println("Hello, World...");
}
}
Case Sensitive
- Pada beberapa bahasa huruf besar dan huruf kecil mempunya arti yang berbeda
- Contoh case senstifive
- Agung != AGUNG != agung
- Contoh case in-senstive
- Agung == AGUNG == agung
- Java, C è case sensitive
- Basic, Pascal è case in-sensitive
Warning & Error
- Warning : Peringatan yang dapat diabaikan
- Error : Kesalahan yan perlu diperbaiki agar aplikasi dapat jalan dengan baik
- Sintax : Biasanya kesalahan ketik perintah / tanda baca. Diketahui pada saat di-compile / di-edit dengan ide
- Run Time : Diketahui paa saat program berjalan. Contohnya ada pembagian dengan nilai 0 (nol)
- Logic / Semantik : Kesalahan pemrogram yang memberikan perintah dengan logika yang terbalik-balik.
Data Type
- Data biner 8 bit : 0101 0011 è Apa ???
- Numeris
- Bilangan cacah è (sign / unsigned) (short / long) Integer
- Bilangan nyata è real, float, double
- Operasi Matematika : + - / *
- Huruf
- ASCII (8 bit)
- Unicode (16 bit)
- Operasi Huruf/Kata : Gabung, Mirip, Selisih
- Boolean 2 Keadaan è True (1) atau False (0)
- Operasi Logika : AND, OR, NOT
Tipe Data Numeris
C | Java | Bit | Range |
---|---|---|---|
(signed) char | byte | 8 | -128 ... +127 |
unsigned char | - | 8 | 0 ... 255 |
(signed) short (int) | - | 16 | −32.768 ... +32.767 |
unsigned short | - | 16 | 0 ... 65.535 |
(signed) int | int | 32 | -2,147,483,648 ... +2,147,483,647 |
unsigned int | - | 32 | 0 ... 4.294.967.295 |
float | float | 32 | 1e-37 ... 1e37 |
double | double | 64 | |
long double | - | 128 |