Sabtu, 11 Juni 2011

Pemprograman


Pemprograman

Pengertian
Memberikan instruksi kepada komputer agar dapat bekerja seperti yang kita kehendaki.
- Yang ‘dipahami’ atau dijalankan oleh komputer : data dan instruksi dalam bentuk biner (rangkaian bit-bit bernilai ‘0’ atau ‘1’).
- Yang dipahami manusia : logika, aritmetika, algoritma, konsep, model, dan sebagainya.
􀃆 Untuk menjembatani, dibuatlah bahasa pemprograman, yang menerjemahkan dari apa yang dikehendaki / dimengerti manusia menjadi instruksi mesin komputer.


Klasifikasi Pemprograman
Berdasarkan tingkat
Berdasarkan tingkat kedekatannya dengan bahasa mesin dan bahasa manusia, diklasifikasinya menjadi
1. Bahasa tingkat rendah, memetakan setiap instruksi dari kode sumber kedalam satu instruksi bahasa mesin. Biasa disebut juga dengan bahasa assembly. Untuk dapat memprogram dalam bahasa assembly, diperlukan pengetahuan yang benar tentang perangkat keras, representasi data, cara kerja pemprosesan, dan instruksi-instruksi mesin komputer
2. Bahasa tingkat tinggi, memiliki kedekatan dengan bahasa dan cara berpikir manusia. Contoh : bahasa Pascal
3. Bahasa tingkat menengah, antara kedua tingkat di atas. Contoh : bahasa C


Berdasarkan paradigma
Pemprograman komputer dapat diklasifikasikan sebagai berikut
PEMPROGRAMAN PROSEDURAL
Program tersusun atas prosedur-prosedur algoritma. Pemprograman prosedural dicirikan dengan adanya sequence (urutan), branch (pencabangan), dan loop (pengulangan).
- Urutan, berarti bahasa tersebut memiliki urutan pemprosesan tertentu, biasanya dari atas ke bawah dan dari kiri ke kanan.
- Pencabangan, merupakan alternatif alur program berdasarkan evaluasi terhadap kondisi tertentu. Contoh pencabangan adalah beberapa statement berikut
o IF <kondisi> THEN <aksi>
o IF <kondisi> THEN <aksi1> ELSE <aksi2>
o CASE <nilai>
<nilai 1> : <aksi 1>
<nilai 2> : <aksi 2>
<nilai n> : <aksi n>

- Pengulangan terhadap alur program berdasarkan evaluasi terhadap kondisi tertentu. Contoh pengulangan adalah beberapa statement berikut
o REPEAT <aksi> UNTIL <kondisi>
o WHILE <kondisi> DO <aksi>
o FOR <n> DO <aksi>
Contoh bahasa Pemprograman Prosedural : Pascal, C, Basic,

PEMPROGRAMAN FUNGSIONAL,
tersusun atas fungsi-fungsi, baik yang sudah terdefinisi maupun yang dibuat sendiri oleh pengguna. Contoh : LISP

PEMPROGRAMAN DEKLARATIF
Tersusun atas deklarasi-deklarasi logika, berupa fakta, aturan, dan sasaran. Bahasa pemprograman prosedural memiliki mekanisme inferensi, yang memungkinkan komputer ‘menalar’ atau menelusuri berbagai fakta dan aturan yang diberikan untuk mendapatkan hasil / jawaban dari pertanyaan tertentu.
Contoh : Prolog (programming in logic)

PEMPROGRAMAN BERORIENTASI OBJEK
Dalam pemprograman berorientasi objek, persoalan dan solusinya dimodelkan sebagai objek. Objek adalah segala sesuatu di alam semesta (lahiriah) yang dapat diamati. Setiap objek merupakan anggota, atau merupakan instance dari kelas objek tertentu. Setiap kelas objek minimal memiliki :
1. nama kelas objek yang unik, membedakannya dengan kelas objek yang lain
2. atribut-atribut, atau data, atau properti-properti, atau sifat-sifat yang melekat pada kelas objek tersebut
3. perilaku, atau kemampuan, atau operasi, atau method, atau tanggung jawab yang melekat pada kelas objek tersebut
Ciri utama dari pemprograman berorientasi objek adalah adanya encapsulation (pembungkusan), inheritance (penurunan sifat), dan polymorphism (perubahan bentuk).
- Encapsulation, merupakan pembungkusan suatu kelas objek dengan atribut-atribut dan perilaku-perilaku yang dimilikinya. Contoh kelas objek sederhana
- Inheritance, merupakan penurunan sifat dari kelas objek induk kepada kelas objek anaknya, dari suatu kelas objek yang lebih general / umum kepada kelas objek yang lebih spesifik / khusus.
- Polymorphism, berarti objek yang berbeda-beda yang diturunkan dari induk yang sama mendukung antarmuka properti dan method yang sama. (dapat dipahami jika telah terlibat lebih lanjut dengan pemprograman berorientasi objek)
Contoh : Object Pascal, C++, Eiffel, SmallTalk, Java, C#

Cara Kerja
Penerjemahan dari kode sumber dalam bahasa tingkat tinggi kedalam instruksi mesin dilakukan dengan dua macam cara, yaitu kompilasi dan interpretasi
1. kompilasi, merupakan penerjemahan keseluruhan kode sumber menjadi kode biner, yang selanjutnya dieksekusi oleh mesin / komputer
2. interpretasi, merupakan penerjemahan baris per baris kode sumber kedalam instruksi komputer yang bersesuaian

klasifikasi jaringan


Klasifikasi Jaringan Komputer

Berdasarkan luas area
Berdasarkan luas areanya, jaringan komputer dapat diklasifikasikan menjadi
1. LAN atau Local Area Network, mencakup satu tempat tertentu (lab, ruang kantor, kampus, lokasi pabrik, dsb. Komputer dari 2 sd 500)
2. MAN atau Metropolitan Area Network, mencakup luas satu kota
3. WAN atau Wide Area Network, mencakup seluruh dunia
Berdasarkan Topologi Jaringan
Terdapat beberapa macam topologi jaringan, dengan keunggulan dan kelemahan masig-masing, sebagai berikut
1. Bus. Seluruh komputer berkomunikasi melalui satu jalur yang sama, yang dipergunakan bergantian.
o Keunggulan : paling murah dan mudah diimplementasikan
o Kelemahan : performansi paling rendah, karena pada setiap saat bus hanya dapat melayani satu transmisi. Semakin banyak komputer yang terhubung ke jaringan, akan semakin berat beban bus sehingga performansi semakin menurun. Keamanan juga paling rendah.
2. Ring. Terdapat jalur berupa cincin yang terhubung, dengan arah rotasi transmisi tertentu.
o Keunggulan : performansi dan keamanan lebih baik
o Kelemahan : lebih mahal
3. Star. Terdapat satu komputer atau hub yang berfungsi sebagai sentral, seluruh komputer dalam jaringan terhubung langsung ke sentral tersebut
o Keunggulan : mudah diimplementasikan
o Kelemahan : performansi hanya sedikit lebih baik dari Bus
4. Meshed. Setiap komputer terhubung langsung satu sama lain
o Keunggulan : performansi dan keamanan paling baik
o Kelemahan : sangat mahal, jalur yang harus disediakan bertambah secara eksponensial oleh penambahan komputer
5. Kombinasi berbagai topologi di atas

Transmisi Data

Media Transmisi
Macam-macam media transmisi
A. Kabel (wired), jenis-jenisnya :
a. Kabel pilin, terdapat dua macam yaitu UTP (unshielded twisted pair) dan STP (shielded twisted pair).
b. Koaksial. Contoh : kabel TV
c. Serat optik, memiliki kapasitas paling besar
B. Nirkabel (wireless), bisa dengan
a. Radio
b. Microwave. Contoh : WaveLAN
c. Infra Merah

Kapasitas transmisi
Bandwidth : banyaknya bit data yang dapat ditransmisikan per satuan waktu, dinyatakan dalam bps (bit per second)

Jenis transmisi
1. Transmisi satu arah (simplex). Contoh : radio
2. Transmisi dua arah bergantian (half duplex). Contoh : HT
3. Transmisi dua arah bersamaan (full duplex). Contoh : telepon
Arah transmisi
1. Unicast, dari satu titik ke satu titik. Contoh : telepon
2. Multicast, dari satu titik ke beberapa titik. Contoh : server internet
3. Broadcast, dari satu titik ke semua arah. Contoh : pemancar televisi

Protokol Komunikasi
Protokol merupakan sekumpulan aturan yang memungkinkan berbagai media, platform, atau aplikasi yang berbeda-beda dapat saling berkomunikasi dengan benar. Beberapa contoh protokol komunikasi :
1. TCP/IP (Transfer Control Protocol / Internet Protocol), merupakan protokol yang digunakan di internet. Dalam TCP/IP tersedia juga beberapa jasa, seperti HTTP (hypertext transfer protocol), FTP (file transfer protocol), e-mail, telnet (remote login), dll.
2. SPX/IPX, digunakan pada LAN sistem operasi jaringan Novel Netware
3. X25, biasa digunakan oleh jaringan perbankan (cabang online, ATM, dll).

ULTILITAS DI LINUX


-> Utilitas Aritmatika.

1)   expr
Merupakan utilitas yang biasa dipakai untuk melakukan perhitungan bilangan bulat dan operasi perbandingan . Operator yang digunakan:
·      +,  penjumlahan
·      -, pengurangan
·      \*, perkalian
·      /, pembagian
·      %, sisa pembagian
·      =, sama dengan
·      \<, kurang dari
·      \<=, kurang dari atau sama dengan
·      \>,  lebih dari
·      \>=, lebih dari atau sama dengan
·      !=, tidak sama dengan
·      \|, operator or
·      \&, operator and
·      :, operator match (digunakan untuk mencocokkan string operand kedua terhadap string operand pertama). Pencocokan dimulai dari karakter pertama dan hasilnya berupa jumlah karakter yang cocok.

2)   bc
Merupakan utilitas yang sangat bermanfaat untuk membantu melakukan perhitungan aritmatika, baik bilangan bulat maupun pecahan.
Operator yang ada di antaranya:
·      +, penjumlahan
·      -, pengurangan
·      *, perkalian
·      /, pembagian
·      %, sisa pembagian
·      ++, menaikkan nilai variabel sebesar satu
·      --, menurunkan nilai

3)   dc
Merupakan utilitas yang sama dengan bc, perbedaannya hanya pada bentuk notasi ekspresi aritmatikanya. Jika pada bc ekspresi aritmatika dinyatakan dengan operasi infix (operator berada di antara operand) maka pada dc dinyatakan dengan operasi postfix (operator berada di akhir dari dua operand).
Contoh:

bc (INFIX)
dc (POSTFIX)
2 + 3
2 3 +
a + b ^ c
a b c ^ +

->  Utilitas Teks.

1)   pg
·      Bentuk umum:
pg [ file…]
·      Merupakan perintah untuk menampilkan isi satu file atau lebih per layar.
·      Setiap data satu layar ditandai dengan simbol : pada bagian bawah layar.
·      Tombol <enter> digunakan untuk berpindah  layar.
·      Untuk keluar dari pg, digunakan tombol q <enter>.
·      Akhir file ditandai dengan (EOF): singkatan dari end of file.


2)   more
·      Bentuk umum:
more [ file…]
·      Digunakan untuk menampilkan isi satu file atau lebih per layar.
·      Setiap data satu layar ditandai dengan simbol -more pada bagian bawah layar dan diikuti dengan prosentase data yang telah ditampilkan ke layar.
·      Tombol <enter> digunakan untuk menggeser satu baris ke atas.
·      Untuk berpindah layar digunakan tombol <spasi>.
·      Untuk keluar dari more, digunakan tombol q.

3)   head
·      Bentuk umum:
head [-n] [ file ]
·      Digunakan untuk mendapatkan baris yang merupakan bagian awal dari suatu file.
·      Option -n digunakan jika hanya n baris pertama dari file yang akan ditampilkan ke standar output, jika tidak diberikan maka hanya 10 baris pertama dari file yang akan ditampilkan.

4)   tail
·      Bentuk umum:
tail [-n] [ file ]
·      Digunakan untuk mendapatkan bagian akhir dari suatu file, kebalikan dari head.
·      Option -n digunakan jika hanya n baris terakhir dari file yang akan ditampilkan ke standar output, jika tidak diberikan maka hanya 10 baris terakhir dari file yang akan ditampilkan.
·      Simbol + dapat digunakan untuk menggantikan simbol -, jika data yang ingin ditampilkan dimulai dari baris ke-n sampai ke akhir file.

5)   line
·      Bentuk umum:
line [ < file ]
·      Digunakan untuk membaca baris pertama dari standar input ke standar output.
·      line < file sama dengan head -1 file.
6)   cmp
·      Bentuk umum:
cmp [ -l  | -s ]  file1  file2
·      Digunakan untuk membandingkan isi file1 dengan file2, terutama file biner.
·      Tidak akan memberikan keluaran apapun jika kedua file yang  dibandingkan ternyata sama.
·      Jika file1 dan file2 berbeda, maka karakter/byte dan nomor baris yang berbeda ditampilkan.
·      Option -s digunakan untuk memperoleh nilai exit saja ( 0 jika sama dan 1 jika tidak sama) dan option -l digunakan untuk menampilkan nomor baris dalam bentuk desimal dan karakter kedua file yang berbeda dalam kode oktal.

7)   diff
·      Bentuk umum:
diff [ -b | -e | -f | -h ]  file1  file2
·      Digunakan untuk memberitahukan perbedaan dari dua file teks, dimana pembandingan dilakukan perbaris.
·      Setelah perintah ini digunakan, ada beberapa karakter yang perlu diperhatikan. Di antaranya adalah < (menyatakan file1), > (menyatakan file2), a (append), c (change) dan d (delete).
·      Option:
-     b, Untuk mengabaikan seluruh karakter whitespace (spasi dan tab)
-     e, Digunakan untuk membangkitkan perintah a, c, atau d guna menciptakan file2 dari file1
-     f, Untuk menghasilkan perintah dalam urutan terbalik.
-     h, Untuk file yang berukuran besar.

8)   diff3
·      Bentuk umum:
diff3 [ -e | -x ]  file1  file2  file3
·      Digunakan untuk membandingkan isi dari 3 file dan memberitahukan perbedaannya ke standar output.
·      Setelah perintah ini dijalankan ada beberapa karakter yang perlu diperhatikan, yaitu: ==== (ketiga file berbeda), ====n  (file ke-n berbeda)
·      Setelah itu ada format yang perlu diperhatikan, yaitu:
a)    f:n a, teks perlu ditambahkan setelah baris n pada file f.
b)   f:n1 n2 c, teks perlu  diubah dari baris n1 sampai n2 pada file f.
·      Option:
-     e, keluarannya berisi langkah untuk mengubah file1 dan file2 agar menjadi file3 (hanya untuk pembandingan file yang menghasilkan kode “====” atau “====3”.
-     x, serupa dengan -e namun hanya berlaku khusus untuk kondisi “====”

9)   comm3
·      Bentuk umum:
comm [ -123 ] file1  file2
·      Digunakan untuk memberitahukan perbedaan atau persamaan baris dari dua buah file.
·      File1 dan file2 merupakan dua buah file yang telah diurutkan.
·      Jika tanpa option, laporan yang dihasilkan dalam bentuk tiga kolom  (kolom ke-1 memberitahukan isi yang hanya terdapat pada file1 dan kolom ke-2 pada file2 dan kolom ke-3 adalah isi yang terdapat pada file1 dan file2).
·      Apabila option disebutkan, maka kolom yang bersesuaian dengan option tidak akan ditampilkan.

10) grep (global regular expression printer)
·      Bentuk umum:
grep [ option ]  ‘regular_ekspresi’ [ file… ]
·      Digunakan untuk mencari string pada suatu file dengan melibatkan regular ekspresi.
·      Regular ekspresi yang ada:
a)    . Sebarang karakter tunggal.
b)   * Nol atau sejumlah karakter apa saja.
c)    [] Sebuah karakter yang terletak di dalam tanda [].
d)   [^…] Selain karakter yang terletak sesudah tanda ^ dan sebelum ].
e)    ^ Terletak di awal baris.
f)    $ Terletak di akhir baris.
g)   \(expr\) Cocok dengan ekspresi expr.
h)   \n Cocok dengan n ekspresi (n berupa bilangan bulat).

11) fgrep (fixed grep atau fast grep)
·      Bentuk umum:
fgrep [ option ] [ file… ]
·      Digunakan untuk mencari beberapa string  tetapi pemakaian regular ekspresi tidak didukung.
·      Di antara keluarga grep, fgrep merupakan program yang menggunakan memori paling sedikit.
·      Pencarian beberapa string harus diletakkan pada baris yang berlainan. Dimana target  awal  diawali  dengan ‘  atau “ dan target terakhir diakhiri dengan ‘ atau “.

12) egrep (extended grep)
·      Bentuk umum:
egrep [ option ]  ‘regular_ekspresi’ [ file… ]
·      Digunakan untuk mencari beberapa string dan dapat melibatkan regular ekspresi.
·      Perintah ini menggunakan memori lebih banyak daripada dua perintah lainnya, namun memberikan kecepatan yang paling tinggi.
·      Regular ekspresi \( dan \) tidak ada pada egrep.
·      Regular ekspresi tambahan:
a)    + Cocok dengan satu atau beberapa karakter yang terletak di depan tanda ini.
b)   ? Cocok dengan nol atau beberapa karakter yang terletak di depan tanda ini.
c)    | atau.
d)   ( ) Penggolongan.

13)  sort
·      Bentuk umum:
sort [ option ] [ file… ]
·      Digunakan untuk mengurutkan data yang terdapat pada satu atau beberapa file, dan hasilnya  diletakkan ke standar output.
·      File yang akan diurutkan memiliki organisasi seperti: record, field, dan kunci.
·      Secara default, hasil pengurutan dalam bentuk ascending.

14) cut
·      Bentuk umum:
cut -clist [ file… ]
cut -list [ -d char ] [ -s ] [ file…]
·      Digunakan untuk mengambil data tertentu berdasarkan kolom atau field dari suatu file.
·      list digunakan untuk menyatakan range, seperti:1,4,7,1-3.
·      clist digunakan jika kolom yang dijadikan sebagai patokan pengambilan data.
·      list digunakan jika data yang diambil ditampilkan perbaris.
·      Option:
-     d diikuti sebuah karakter menyatakan karakter yang dipakai sebagai pembatas antarfield, jika tidak disertakan maka karakter tab yang dijadikan sebagai pemisah field.
-     s akan mengabaikan baris yang tidak punya pembatas.

15) paste
·      Bentuk umum:
paste [ -s ] [ -dlist ] [ file… ]
·      Digunakan untuk merekatkan sejumlah baris dari beberapa file, yang dilakukan baris perbaris. Baris pertama file ke-1 direkatkan dengan baris pertama file ke-2.
·      Option:
-s, digunakan untuk menggabungkan isi file secara sekuensial, -dlist, lihat perintah cut.