Senin, 29 Maret 2010

Bahasa rakitan, 26 maret 2010

Bahasa Rakitan/Assembler

  • Komputer “bicara/berkomunikasi” dgn menggunakan suatu bahasa
  • Bahasa-bahasa pemrograman menyediakan tools u/ mengekspresikan pemrosesan data secara simbolik
  • Setiap bahasa memiliki sintaks dan grammar yang dirumuskan dgn baik
  • Bahasa Assembler/Rakitan adalah bahasa komputer yang mempunyai kedudukan diantara bahasa tingkat tinggi dan bahasa tingkat rendah dan bertugas mengkonversi program source kode ke bahasa mesin.
o Bahasa rakitan merupakan representasi teks dari bahasa mesin
o Satu statement bahasa rakitan merepresentasikan satu instruksi mesin
o Bahasa rakitan merupakan abstarksi antara program tingkat tinggi dan kode mesin
  • Bahasa Tingkat Tinggi/High Level Language adalah bahasa komputer yang menggunakan kata-kata dan pernyataan yang mudah dimengerti oleh manusia, walaupun jauh berbeda dengan bahasa yang digunakan untuk komunikasi sehari-hari. Contoh Java, C++, Pascal, Basic dll
  • Bahasa Tingkat Rendah/Low Level Language/Bahasa Mesin adalah kumpulan kode biner yang hanya bisa di mengerti oleh komputer, kode-kode ini kemudian diterjemahkan sebagai instruksi-instruksi yang harus dijalankan oleh komputer.
  • Bahasa mesin merupakan bahasa ibu/alamiah dari komputer
  • Bahasa mesin merupakan representasi bit dari operasi mesin dieksekusi oleh hardware
  • Hirarki bahasa pemrograman:


Mengapa belajar Bahasa Rakitan?
  • Mengetahui lebih dalam tentang arsitektur komputer dan sistem operasi
  • Mengetahui lebih lanjut tentang komputer dan bagaimana bahasa komputer membangkitkan kode mesin, karena bhs rakitan mempunyai hubungan yang dekat dgn bhs mesin
  • Mempelajari utilitasnya.
Tipe pemrogramman tertentu sulit atau tidak mungkin dilakukan dgn bhs tingkat tinggi. Contoh:
  1. Komunikasi langsung dgn SO komputer
  2. Program color high-speed graphics dgn memori rendah
  3. Program interfacing
  4. Program telekomunikasi
  • Sebagai Solusi akibat batasan-batasan pada bhs tingkat tinggi.
  • Sebagai alat belajar (learning tool) .. terutama menyakut kerja OS

Aplikasi Bahasa Rakitan
  • Digunakan sebagai program subroutine khususnya untuk aplikasi spesifik
  • Program subroutine ini dapat di panggil oleh bahasa tingkat tinggi. Kombinasi ini akan menambah kekuatan bahasa tingkat tinggi
  • Misalnya bahasa pemrograman Borland Delphi ditambah subroutine bahasa assembler yang digunakan untuk mengoperasikan perangkat keras dengan interface program delphi.

Struktur Bahasa Rakitan
  • Struktur dasar bahasa rakitan memiliki 3 komponen dalam mesin Intel dan 4 komponen dalam mesin MIPS:
1. Label/ Nama proses atau operasi
  • Bagian label berfungsi mewakili nomor memori program
  • Apabila ada perintah JUMP(lompat)ke suatu label maka Assembler akan mengingat nomor memori program yang dimaksud dan menjalankan instruksi-instruksi yang terdapat didalam label tersebut
  • Cara penulisan Label, bebas tetapi tidak boleh ada spasi, tidak boleh ada nama label yang sama dan diakhiri tanda titik dua( : )
2. Mnemonic
  • Mnemonik merupakan kode alphabet pendek atau singkatan perintah yang mudah diingat
  • Bagian ini bertugas menginstruksikan suatu program untuk bekerja sesuai perintah
  • Mnemonik terdiri dari dua macam yaitu
  1. Instruksi => instruksi pengendali prosessor misalnya MOV, ADD, JMP
  2. Directive => Pengatur kerja program Assembler misal DB, DW,DD
# Penulisan harus huruf kapital semua atau huruf kecil semua
3. Operand 1
  • Operand merupakan objek dari sebuah instruksi yang harus dieksekusi oleh program assembler sesuai perintah pada bagian Mnemonic
  • Bagian ini bisa berupa register, variabel memory, label atau Immediate value
• Contoh
o AX (register)
o count (variabel memory)
o JMP Mulai (label:lompat ke label Mulai)
o 10 (immediete value)
# Penulisan harus huruf kapital semua atau huruf kecil semua
4. Operand 2 (mesin MIPS)
  • Komentar
  1. Bagian Komentar tidak berpengaruh dengan jalannya program, tetapi sangat pentung untuk mempermudah seseorang mengerti maksud dari program yang di buat
  2. Cara penulisan bebas dan harus didahului tanda titk koma (;) pada mesin intel dan # pada mesin MIPS
  • Hal-Hal yang perlu di perhatikan dalam menulis instruksi bahsa Assembeler:
    • Setiap Bagian-bagian dalam struktur seperti label, komentar tidak harus selalu ada minimal ada bagian mnemonic contohnya instruksi RET
    • Setiap bagian dalm program assembler dipisahkan oleh spasi atau tab, namun untuk bagian menemonik dan operand yang lebih dari satu harus diipisah dengan tanda koma (tanpa spasi)
    • Bagian label ditulis mulai huruf pertama dari baris, jika baris program tidak memili label maka perlu di beri spasi atau tab untuk memisahkan bagian label dengan bagian lainnya
- Contoh
Proses: MOV AX,BX ; Salin register BX ke dlm register AX (intel)


Cara mengkompile program assembler

  • Untuk mengkompile program assembler diperlukan kompiler program asembler, salah satunya Turbo Asembler dengan menjalankan program TASM.EXE dan TLINK.EXE
  • Source kode program disimpan dengan ekstensi .ASM
  • Program dapat ditulis dengan notepad (windows) atau edit(dos)
  • TASM.EXE digunakan mengkompile source code menjadi file object berekstensi .OBJ
  • TLINK.EXE digunakan mengkompile file object menjadi file executable .EXE

  • Komputer “bicara/berkomunikasi” dgn menggunakan suatu bahasa
  • Bahasa-bahasa pemrograman menyediakan tools u/ mengekspresikan pemrosesan data secara simbolik
  • Setiap bahasa memiliki sintaks dan grammar yang dirumuskan dgn baik
  • Bahasa Assembler/Rakitan adalah bahasa komputer yang mempunyai kedudukan diantara bahasa tingkat tinggi dan bahasa tingkat rendah dan bertugas mengkonversi program source kode ke bahasa mesin.
o Bahasa rakitan merupakan representasi teks dari bahasa mesin
o Satu statement bahasa rakitan merepresentasikan satu instruksi mesin
o Bahasa rakitan merupakan abstarksi antara program tingkat tinggi dan kode mesin
  • Bahasa Tingkat Tinggi/High Level Language adalah bahasa komputer yang menggunakan kata-kata dan pernyataan yang mudah dimengerti oleh manusia, walaupun jauh berbeda dengan bahasa yang digunakan untuk komunikasi sehari-hari. Contoh Java, C++, Pascal, Basic dll
  • Bahasa Tingkat Rendah/Low Level Language/Bahasa Mesin adalah kumpulan kode biner yang hanya bisa di mengerti oleh komputer, kode-kode ini kemudian diterjemahkan sebagai instruksi-instruksi yang harus dijalankan oleh komputer.
  • Bahasa mesin merupakan bahasa ibu/alamiah dari komputer
  • Bahasa mesin merupakan representasi bit dari operasi mesin dieksekusi oleh hardware
  • Hirarki bahasa pemrograman:


Mengapa belajar Bahasa Rakitan?
  • Mengetahui lebih dalam tentang arsitektur komputer dan sistem operasi
  • Mengetahui lebih lanjut tentang komputer dan bagaimana bahasa komputer membangkitkan kode mesin, karena bhs rakitan mempunyai hubungan yang dekat dgn bhs mesin
  • Mempelajari utilitasnya.
Tipe pemrogramman tertentu sulit atau tidak mungkin dilakukan dgn bhs tingkat tinggi. Contoh:
  1. Komunikasi langsung dgn SO komputer
  2. Program color high-speed graphics dgn memori rendah
  3. Program interfacing
  4. Program telekomunikasi
  • Sebagai Solusi akibat batasan-batasan pada bhs tingkat tinggi.
  • Sebagai alat belajar (learning tool) .. terutama menyakut kerja OS

Aplikasi Bahasa Rakitan
  • Digunakan sebagai program subroutine khususnya untuk aplikasi spesifik
  • Program subroutine ini dapat di panggil oleh bahasa tingkat tinggi. Kombinasi ini akan menambah kekuatan bahasa tingkat tinggi
  • Misalnya bahasa pemrograman Borland Delphi ditambah subroutine bahasa assembler yang digunakan untuk mengoperasikan perangkat keras dengan interface program delphi.

Struktur Bahasa Rakitan
  • Struktur dasar bahasa rakitan memiliki 3 komponen dalam mesin Intel dan 4 komponen dalam mesin MIPS:
1. Label/ Nama proses atau operasi
  • Bagian label berfungsi mewakili nomor memori program
  • Apabila ada perintah JUMP(lompat)ke suatu label maka Assembler akan mengingat nomor memori program yang dimaksud dan menjalankan instruksi-instruksi yang terdapat didalam label tersebut
  • Cara penulisan Label, bebas tetapi tidak boleh ada spasi, tidak boleh ada nama label yang sama dan diakhiri tanda titik dua( : )
2. Mnemonic
  • Mnemonik merupakan kode alphabet pendek atau singkatan perintah yang mudah diingat
  • Bagian ini bertugas menginstruksikan suatu program untuk bekerja sesuai perintah
  • Mnemonik terdiri dari dua macam yaitu
  1. Instruksi => instruksi pengendali prosessor misalnya MOV, ADD, JMP
  2. Directive => Pengatur kerja program Assembler misal DB, DW,DD
# Penulisan harus huruf kapital semua atau huruf kecil semua
3. Operand 1
  • Operand merupakan objek dari sebuah instruksi yang harus dieksekusi oleh program assembler sesuai perintah pada bagian Mnemonic
  • Bagian ini bisa berupa register, variabel memory, label atau Immediate value
• Contoh
o AX (register)
o count (variabel memory)
o JMP Mulai (label:lompat ke label Mulai)
o 10 (immediete value)
# Penulisan harus huruf kapital semua atau huruf kecil semua
4. Operand 2 (mesin MIPS)
  • Komentar
  1. Bagian Komentar tidak berpengaruh dengan jalannya program, tetapi sangat pentung untuk mempermudah seseorang mengerti maksud dari program yang di buat
  2. Cara penulisan bebas dan harus didahului tanda titk koma (;) pada mesin intel dan # pada mesin MIPS
  • Hal-Hal yang perlu di perhatikan dalam menulis instruksi bahsa Assembeler:
    • Setiap Bagian-bagian dalam struktur seperti label, komentar tidak harus selalu ada minimal ada bagian mnemonic contohnya instruksi RET
    • Setiap bagian dalm program assembler dipisahkan oleh spasi atau tab, namun untuk bagian menemonik dan operand yang lebih dari satu harus diipisah dengan tanda koma (tanpa spasi)
    • Bagian label ditulis mulai huruf pertama dari baris, jika baris program tidak memili label maka perlu di beri spasi atau tab untuk memisahkan bagian label dengan bagian lainnya
- Contoh
Proses: MOV AX,BX ; Salin register BX ke dlm register AX (intel)



sumber gambar : http://www.linuxsoft.cz
Bahasa rakitan, 25 maret 2010
  • Untuk mempelajari bahasa rakitan, perlu sekali mengetahui sistem bilangan karena di dalam mikrokomputer semua input, output dan isi memori di lakukan melalui sandi.
  • Sandi-sandi tersebut diubah ke sandi bilangan misalnya biner, oktal, desimal atau heksadesimal
  • Pemahaman terhadap jenis-jenis bilangan ini adalah penting, karena akan sangat membantu kita dalam pemrograman yang sesungguhnya.
  • Sistem bilangan umum dipakai pada komputer antara lain:
o Sistem Bilangan Desimal
o Sistem Bilangan Biner
o Sistem Bilangan Oktal
o Sistem Bilangan Hexadesimal
  • Selain sistem bilangan tersebut diatas, masih banyak sistem bilangan yang diciptakan dan tentunya mempunyai radik(dasar) yang berbeda-beda pula, seperti pada tabel berikut


Sistem Bilangan

radix

Digit mutlak

binary
ternary
quarternary
quinary
senary
septenary
octenary (octal)
nonary
denary (decimal)
undenary
duodenary
tredenary
quatuordenery
quidenery
hexadenery(hexadecimal)

2
3
4
5
6
7
8
9
10
11
12
13
14
15
16

01
012
0123
01234
012345
0123456
01234567
012345678
0123456789
0123456789A
0123456789AB
0123456789ABC
0123456789ABCD
0123456789ABCDE
0123456789ABCDEF


Sistem Bilangan Desimal
  • Sistem bilangan desimal adalah bilangan yang terdiri dari 10 buah angka (berbasis 10) yaitu angka 0-9
  • Dengan basis sepulah ini maka suatu angka dapat dijabarkan dengan perpangkatan sepuluh
  • Sandi bilangan desimal biasanya menggunakan huruf D atau tidak dituliskan sama sekali. Contoh 567D atau 567 artinya bilangan desimal 567
Contoh
Bilangan 567 dengan bilangan dasar 10, maka penjabarannya sebagai berikut :
(5 *102)+(6 * 101)+(7 * 100) = 567

Sistem Bilangan Binar
  • Semua bilangan, baik data maupun program akan diterjemahkan oleh komputer menjadi bentuk biner. Jadi pendefinisian data dengna jenis apapun seperti desimal, oktal, maupun heksadesimal akan selalu diterjemahkan dalam bentuk biner
  • Bilangan biner adalah bilangan yang hanya terdiri atas 2 kemungkinan(berbasis 2) yaitu 0 dan 1.
  • Karena berbasis 2 maka pengkonversian kedala betuk desimal adalah denagn mengkalikan suku ke – N dengan 2N
  • Misalnya pada angka 01112 dijabarkan sebagai berikut:
    • (0 * 23)+(1 * 22)+ (1 * 21) +(1 * 20) = 710
Sistem Bilangan Oktal
  • Bilangan oktal adalah bilangan basis 8, artinya angka yang dipakai hanyalah antar 0-7.
  • Sama seperti bilangan lain, bilangan oktal dapat dikonversi ke bentuk desimal dengan mengalikan suku ke - N dengan 8N
Misalnya angka 128 di (1 * 81) + (2 * 80) = 10
Sistem Bilangan Heksadesimal
  • Bilangan Heksadesimal merupakan bilanagn yang berbasis 16
  • Angka yang digunakan 0 1 2 3 4 5 6 7 8 9 A B C D E F
  • Bilangan heksa desimal dapat dikonversi ke dalam bentuk desimal dengan mengalikan suku ke – N dengan 16N
  • Contoh bilangan
    • 27616 = (2 * 162)+(7*161)+(6*160)=63010

Perubahan dari Basis 10 ke basis N

Perubahan dari basis 10 ke basis N dilakukan dengan operasi division (pembagian bulat) dan modulus (sisa pembagian bulat) N.
Exp:
971 akan diubah menjadi basis 8
971 div 8 = 121, modulus (sisa) = 3
121 div 8 = 15, modulus = 1
15 div 8 = 1, modulus = 7
=> 971 = 17138
29 akan diubah menjadi basis 2
29 div 2 = 14, modulus = 1
14 div 2 = 7, modulus = 0
7 div 2 = 3, modulus = 1
3 div 2 = 1, modulus = 1
=>27 = 111012
500 akan diubah menjadi heksa
500 div 16 = 31, sisa 4
31 div 16 = 1, sisa F
500 = 1F4

Bilangan Pecahan Desimal ke basis N

- Konversi pecahan desimal ke biner
Contoh :
0,125 menjadi biner
0,125 x 2 = 0,250
0,250 x 2 = 0,5
0,5 x 2 = 1,00
= 0,125 =0,001
Ket: hasil dibaca dari langkah satu ke langkah berikutnya

- Konversi pecahan desimal ke oktal
Contoh :
0,375 menjadi oktal
0,375 x 8 = 3,000
=>0,375 = 0,3

- Konversi pecahan desimal ke heksadesimal
Contoh :
0,375 menjadi oktal
0,375 x 16 = 6,000
=>0,375 = 6,00

Pecahan basis N ke desimal
- Konversi pecahan ke desimal
Contoh :
101.011 menjadi desimal
(1 * 22 + 0 * 21 + 1 * 20 + 0 * 2-1 + 1 * 2-2 + 1 * 2-3 ) =
2 + 0 + 1 + 0 + 0,25 + 0,123 = 3,375
ket : basis yang lain caranya sama

Aritmatika Biner
- Penjumlahan biner
Contoh :
1010 + 1111 =

1010
1111+
11001

- Pengurangan biner
Contoh :
1101 -1001 =

1101
1001-
100

- Perkalian biner
Contoh :
10 x 11 =

10
11 x
10
10__+
110

sumber gambar : http://agungnuza.files.wordpress.com
Bahasa rakitan, 25 maret 2010
  1. Register adalah sebagaian memory dari prosessor yang dapat di akses dengan kecepatan sangat tinggi dan selalu digunakan oleh microprosessor sebagai perantara dalam menjalankan pekerjaannya
  2. Register yang digunakan microprosessor di bagi menjadi beberapa bagain antara lain:
    1. General Purpose Register
    2. Pointer dan Index Register
    3. Segmen Register
    4. Flag Register
  3. General Purpose Register merupakan register 16 bit yang terdiri dari AX, BX, CX dan DX. Sebagai pilihan lain dapat digunakan AH, BH, CH dan DH (bagian tertinggi) yang masing-masing 8 bit dan juga bisa digunakan AL, BL, CL, dan DL (bagian terendah) yang masing-masing 8 bit.

Nama Register
(16 bit)

Nama Register
(8 bit)

Fungsi dan Sifat Khusus

AX

AH

AL

Akumulator utama, semua operasi Input-Output dilakukan disini dan dilakukan pula untuk menyimpan operasi dari ALU(Aritmatic Logic Unit) serta hasil perhitungan sementara dari operasi tersebut
Digunakan pula untuk menyimpan data yang akan dikirim ke port atau yang datang dari port untuk diproses lebih lanjut

BX

BH

BL

Base Register, untuk perhitungan memory berbagai adderssing mode, menggunakan DS(data segment) sebagai default segment.
Digunakan pula untuk menyimpan alamat(offset) dari data yang di simpan di memori atau menyimpan alamat tidak langsung (indirect Address)

CX

CH

CL

Count Register, untuk instruksi yang memerlukan hitungan seperti perulanagn(LOOP), operasi string (misalnya menghitung banyaknya karaker), rotate (ROL, ROR) maupun geser atau shift (SHL,SHR)

DX

DH

DL

Digunakan untuk menyimpan nilai overflow dari suatu operasi aritmatik dan alamat Input-output sehingga sering digunakan untuk mengakses Input-Output Bus melalui instruksi IN atau OUT.
Digunakan pula untuk menampung hasil pembagian 16 bit

  1. Pointer dan Index Register merupakan register yang digunakan sebagai penunjuk(pointer) terhadap suatu lokasi di memory. Register-register ini berukuran 16 bit

Nama Register

Kepanjangan

Fungsi dan Sifat Khusus

SP

Stack Pointer

Berpasangan dengan SS(Stack Segment) -> SS:SP digunakan untuk menunjukkan alamat dari stack, untuk mendapatkan Physical Address (PA=SS * 10H +SP)

BP

Base Pointer

Berpasangan dengan SS(Stack Segment) =>SS:BP digunakan untuk mencatat suatu alamat di memory tempat data.
Digunakan pula untuk mengakses data di SS

SI
DI

Source Index
Destination Index

Digunakan pada operasi string dengan mengakses secara langsung pada alamat di memory yang ditunjukkan oleh kedua memory ini

IP

Instruction Pointer

Berpasangan dengan CS (Code Segment) => CS:IP akan menunjukkan alamat di memory tempat dari perintah selanjutnya yang akan di eksekusi dan untuk mendapatkan offset atau alamat efektif dari instruksi (PA=CS*10H+IP)

  1. Segment Registers merupakan registers 16 bit yang berguna mencatat alamat sebagai penunjuk lokasi data di memory. Registers ini terdiri dari 20 jalur alamat external tetapi memiliki 16 bit alamat internal.

Nama Register

Kepanjangan

Fungsi dan Sifat Khusus

SS

Stack Segment

Menunjukkan letak dari segment yang digunakan oleh stack

CS

Code Segment

Menunjukkan tempat atau segment yang sedang aktif

DS

Data Segment

Menunjukkan alamat atau segment dimana data-data program disimpan

ES

Extra Segment

Register tambahan yang berguna untuk menunjukkan suatu alamat di memory, misalnya alamat memory video

  1. Flag Registers merupakan register berukuran 1 bit yang menunjukkan kondisi dari suatu keadaan (ya/tidak atau 0/1)

Tabel Flag Register pada keluarga mikroprossesor 80286 dan 80386

Flag

Nama

Fungsi dan Sifat Khusus

A

Auxilary

Digunakan untuk menyesuaikan nialai AL pada penjumlahan atau pengurangan suatu Bunary Coded Desimal apakah terjadi carry atau borrow

C

Carry

Bernilai 1 bila terjadi carry pada operasi penjumlahan atau terjadi borrow pada operasi pengurangan

D

Direction

Digunakan pada operasi string untuk menunjukkan arah proses

I

Interrupt

Bila bit bernilai 0 maka CPU akan mengabaikan interrupt yang terjadi

O

Overflow

Bernilai 1 bila terjadi overflow pada operasi aritmatika

P

Parity

Bernilai 1 Jika bilangan yang dihasilkan dalam biner jumlah angka 1 genap

S

Sign

Bernilai 1 bila muncul bilangan yang bertanda negatif pada operasi aritmatika

T

Trap

Digunakan terutama untuk Debugging atau mencari bug atau error pada program langkah demi langkah, bila bernilai 1, maka mikroprosessor akan menghentikan alur program

Z

Zero

Bernilai 1 bila menghasilkan nol

Bahasa rakitan, 24 maret 2010
  • Hal yang tidak dapat dipindahkan dari komputer adalah memory karena setiap komputer memerlukan memory sebagai tempat kerjanya
  • Fungsi memory adalah unuk memuat program dan juga menampung hasil proses
  • Memory terdiri dari
    1. RAM (Random Access Memory) => data-data dapat ditulis maupun di baca pada lokasi manasaja di memory
    2. ROM (Raed Only Memory) => hanya dapat dibaca dan tidak dapat ditulisi biasanya ditujukan untuk mengatur aktivitas komputer pada saat pertama kali dihidupkan(ROM-BIOS). Pengisian ROM dikerjakan oleh Pabrik (AMI BIOS, AWARD dll)
  • Hal yang perlu diperhatikan dalam membuat program dengan bahasa Assembler berkenaan dengan memory adalah Segmentasi memory yaitu pembagian alamat sebagai lokasi suatu data atau instruksi.
  • Ada dua macam alamat memory
    1. Alamat Fisik(Physical Address) => alamat yang ada pada jalur 20 bit. Nilainya antara 00000H – FFFFFH
    2. Alamat Logik(Logical Address) => alamat yang di pakai oleh program yang terdiri dari SEGMENT dan OFFSET. Nilai dasar segment diambil dari salah satu segment register(CS,SS,DS,ES) dan offset nilainya ada pada index register atau pointer register atau juga bisa didapat dari berbagai addressing mode
  • Main Memory/Memory utama terdiri dari sejumlah sel yang masing masing dapat menyimpan informasi sebesar 1 byte(8bit)
  • Masing-masing sel memory diberi satu alamat (address)dimulai dari 0 sampai dengan jumlah memory dikurangi 1
  • Dengan adanya address ini, maka lokasi dari memori dapat dihubungi.
  • Pada mikroprosessor intel 8086/8088 digunakan memory sebesar 1 Mb=1048576 byte, oleh karena itu alamatnya antara 00000 – FFFFF (20 bit)
  • Kemampuan prosessor 8088 memiliki register yang ukurannya 16 bit, berabti masih kekurangan 4 bit lagi untuk menampung satu alamat memory.
  • Untuk menampung kekurangan sebesar 4 bit maka harus dilakukan penomoran dengan 2 register.
    1. Sebuah register berisi 16 bit yang terletak disebelah kiri dan dinamakan register segment
    2. Sebuah register lain berisi 16 bit yang terletak disebelah kanan dan dinamakan register offset
  • Antara segment dan offset ditulis dan dipisahkan oleh tanda titik dua ( : ) seperti berikut
  • SEGMENT : OFFSET
    2845 : FB00

Pengalamatan Memory

  • Cara pengalamatan memory yang dilakukan oleh komputer sering disebut dengan pengalamatan relatif(relatif address), sedangkan yang kita perlukan adalah kemampuan 20 bit sehingga pengalamatan yang dilakukan adalah pengalamatan mutlah atau absolut
  • Memory pada 8088 adalah 1 MB, Perlu diingat bahwa 1 Kb = 1024 byte, 1 Mb = 1024 KB = 1048576 byte (20 bit). Dengan demikian alamat memory dari 0 – 1 MB otomatis memerlukan 5 digit angka desimal 00000 – FFFFF
  • Padahal register pada prosessor 8086/8088 hanya berukuran 16 bit, berarti hanya dapat menampung 4 digit hexadesimal yaitu 0000-FFFF
  • Oleh karena itu, dengan kondisi tersebut perlu aturan penulisan sebagai berikut
  • Pada Segmen register => nilai digit terendah adalah 161 dan digit tertinggi 164 (hal ini mengakibatkan segment register digeser kekiri 1 digit)
  • Pada Offset =>register terendah 160 dan tertinggi 163
  • Tabel Alamat Fisik dan Logic

Alamat Fisik
(dalam Hexadesimal)

Alamat Logik
(dalam Segment:Offset)

Alamat Fisik
(dalam desimal)

00000
00001
00002
00003
00004
...
...
...
7FFFF
...
...
FFFFD
FFFFE
FFFFF

0000:0000
0000:0001
0000:0002
0000:0003
0000:0004
....
....
....
7000:FFFF
....
....
F000:FFFD
F000:FFFE
F000:FFFF

0
1
2
3
4
....
....
....
524288
.....
.....
1048573
1048574
1048575

  • Contoh:
  • Alamat dimemory adalah 2845:FB00, berapakah alamat fisik/absolutnya?
  • Segment => 2845H
    Offset => FB00H
    Cara:
    28450
    FB00 +
    37F50 => Alamat Fisik
  • Catatan:
  • Segment 0 => 0000:0000 s/d 0000:FFFF
  • Segment 1 => 1000:0000 s/d 1000:FFFF

..............

  • Segment F =>F000:0000 s/d F000:FFFF

Organisasi Memory IBM PC

  • Seperti yang telah disebutkan di atas bahwa prosesor 8088 secara langsung dapat berhubungan dengan lokasi memory sebanyak 1 Mb, yang di mulai 00000H sampai dengan FFFFFH dan keseluruhan lokasi memory tersebut terdapat pada dua jenis memory yaitu RAM dan ROM.
  • Seperempat memory paling di atas, terdiri dari segment paragraf 0000H sampai FFFFH disediakan untuk ROM dan ROM BIOS menempati 8 KB lokasi memory yang diawali dari paragraf FE00H.
  • ROM BASIC menempati 32 KB sebelumnya, yang dimulai dari segment paragraf F600H dan berakhir pada awal lokasi ROM BIOS. Sisa lokasi ROM yang ada dapat digunakan untuk ROM tambahan dan diletakkan diatas paragraf 0000H.
  • Di bawah area ROM terdapat area sebesar 64 Kb yang secara khusus di sediakan untuk menunjang keperluan layar tampilan. Area memory tersebut di bagi menjadi 2 bagian yaitu bagian pertama pada paragraf B000H digunakan untuk monochrom display yang kedua diguanakan unuk color graphics display pada paragraf B800H. Monochrome display hanyan menempati 4 Kb, sedangkan color grafics display menggunakan 16 Kb. Lokasi yang tersisa tidak digunakan atau digunakan untuk pengembangan berikutnya.
  • Untuk display adapter, sebenarnya tidak hanya 64 Kb saja yang disediakan melainkan 64 Kb di bawahnya juga dapat digunakan sesuai dengan dokumentasi IBM ( A000H – B000H ). Lokasi memory 64 Kb tersebut dibagi menjadi 2 bagian yaitu 16 Kb pertama (paragraf A000–A400H ) digunakan secara tidak menentu (tidak ada indikasi maksud kegunaannya ) sedangkan 48 Kb sisanya ( dari paragraf A400H sampai dengan B000H ) merupakan bagian dari seluruh 112 Kb memory yang disediakan untuk high resolution display baru, yang membutuhkan memory yang lebih besar dari pada memory monochrome display dan color grafics display. Jadi alokasi memory seluruhnya yang disediakan untuk tampilan dimulai dari segment paragraf A400H sampai dengan 0000H.
  • Lokasi memory yang terletak dibawah paragraf A000H dapat digunakan seperti penggunaan memory biasa. Memory yang sebesar 16 Kb pertama diatas 1000H terletak pada board sistem dan memory tambahan diletakkan pada expansion board.
  • IBM-PC sebenarnya hanya ditunjang dengan memory sebesar 256 K dan memungkinkan untuk dikembangkan lebih besar dari 256 Kb yang akan di cek oleh program poweron self test dari ROM BIOS. Semua RAM yang dipasang pada komputer ini diletakkan pada lokasi terendah ari memory yang ada.
  • Peta Memory IBM PC

Alamat fisik (heks)

Keterangan

00000 - 0007F
00000 – 003FF
00400 – 004FF
00500 – 005FF
00600 – 9CFFF
A0000 – A3FFF

BIOS Interupt Vektor
DOS Interupt Vektor
BIOS Data Area
DOS dan Basic data area
RAM Working Space
Cadangan

A4000 – AFFFF
B0000 – B1000
B1001 – B7FFF
B8000 – BBFFF
BC000 - BFFFF

Monochrome Adapter
Video Buffer
Color/Grafics Adapter

C0000 – C7FFF
C8000 – F3FFF
CC000 – F3FFF
F4000 – F5FFF
F6000 – FDFFF
FE000 - FFFFF

Ekpansi Memory
Harddisk
Cadangan
User ROM (8K)
ROM BASIC (32K)
ROM BIOS (8K)


sumber gambar :The Computer language. co.inc


Bahasa rakitan, 23 maret 2010
  • Interrupt adalah suatu permintaan khusus untuk melakukan suatu dan harus segera dipenuhi oleh mikroprosesor, apapun yang sedang dikerjakannya harus dihentikan dahulu untuk memenuhi interrupt ini.
  • Pada IBM PC dan kompetibelnya disediakan 256 buah interupsi yang diberi nomor 0 sampai 255.
  • Interrupt yang berjumlah 256 ini dibagi kedalam 2 macam yaitu:
    • Interupt 00H – 1FH (0 -31) adalah interrupt BIOS, interrupt ini standart disemua computer apapun system operasinya, baik dos atau bukan. Lokasi Interrupt Vektor Tablenya pada alamat absolute/mutalak 000H – 007FH
    • Interupt 20H – FFH (32 -255) adalah interrupt dos. Interrupt ini hanya pada computer yang menggunakan system operasi dos dan interrupt handlernya di load ke memori oleh DOS pada saat DOS digunakan. Lokasi Interrupt Vector Tablenya ada di alamat absolute 07FH – 3FFH
  • Setiap Interrupt akan mengeksekusi interrupt handlernya(program yang melayani suatu interupsi) masing-masing berdasarnkan nomornya.
  • Penulisan interrupt sebagai berikut :

INT ‘NomorInterrupt’

  • Tabel BIOS INTERRUPT

Nomor

Nama

Nomor

Nama

*00H

Divide By Zero
(Pembagian dengan Nol)

10H

Video Service

*01H

Single Step (Langkah Tunggal)

11H

Equipment Check
(Pemeriksaan Perlengkapan)

*02H

Non Maskable interrupt
(NMI) (Interrupt yang Tidak Dapat Dicegah)

12H

Memory Size (Ukuran Memory)

*03H

Break Poin

13H

Disk Servis

04H

Arithmetic Overflow
(Overflow pada operasi Aritmetik)

14H

Communication Rs-232
(Komunikasi dengan RS-232)

05H

Print Screen (cetak Layar)

15H

Casette Service

06H

Reserved (Cadangan)

16H

Keyboard Service

07H

Reserved (Cadangan)

17H

Printeer Service

08H

Clock Tick/Timer
(Petunjuk Waktu)

18H

ROM Basic (Dasar dari ROM)

09H

Keyboard

19H

Bootstrap Loader (Loader pada Saat Pertmakali Booting)

0AH

I/O Channel Action
(Aktivitas Channel Input/Output)

1AH

BIOS Time & Date (Waktu dan Tanggal System pada BIOS)

0BH

COM 1 (Serial Port 1)

1BH

Control Break

0CH

COM 2 (Serial Port 2)

1CH

Timer Tick (Detikan Waktu)

ODH

Fixed Disk (Disk
Tetap/Harddisk)

1DH

Video Initialization

0EH

Diskette (Disket/Floppy Disk)

1EH

Disk Parameter

0FH

LPT 1 (Parallel Port 1)

1FH

Graphics Char (Karakter Grafik)

Ket:
*Interrupt tersebut telah dipastikan kegunaannya oleh system untuk keperluan khusus, tidak boleh dirubah oleh pemrogram

  • Devide By Zero => Jika terjadi pembagian dengan nol maka proses akan segera dihentikan
  • Singgle Step => untuk melakasanakan/mengeksekusi instruksi satu persatu
  • NMI => Pelayanan terhadap NMI(Non Maskable Interrupt) yaitu interupsi yang tidak dapat dicegah
  • Break Point => Jika suatu program menyebabkan overflow flag menjadi 1 maka interrupt ini akan melayani pencegahannya dan memberi tanda error.

  • Tabel DOS Interrupt

Nomor

Nama

Nomor

Nama

20H

Terminate Program
(Hentikan Program)

24H

Critical Error Handler
(Penanganan Error Kritis)

21H

DOS Function Services
(Servis-servis Fungsi dalam DOS)

25H

Absolute Disk Read (Membaca isi disk Secara Mutlak)

22H

Terminate Code
(Hentikan Kode)

26H

Absolute Disk Write (Menulis ke dalam disk secara mutlak)

23H

Control-Break Code(Keluar dari Kode)

27H

Terminate But Stay Resident(Hentikan Tapi Tetap Tinggal)

  • Beberapa Interrupt baik bios maupun dos memiliki nomor service sbb:
    • Interrupt Bios
      • INT 10 => Layanan Video Service/layanan monitor

Memiliki nomor service sbb:
0 => Atur mode video
1 => Mengubah ukuran kursor
2 => Ubah posisi kursor
3 => Mencari posisi kursor
5 => Memilih halama video
6 => Menggulung keatas
7 => Menggulung ke bawah
8 => Membaca karakter dan atributnya
9 => Menulis karakter dan atributnya
Ah => Menulis karakter
Fh => Mencari mode video

      • INT 13 => Layanan disket

Memiliki nomor service 0 yang dihunakan untuk mereset disk, 0 dimasukkan pada register AH

    • Interrupt Dos
      • INT 21 => Dos Function Service

Memiliki beberapa service yang diletakkan pada register AH antara lain:
1 => Input papan ketik
2 => Tampilkan karakter
3 => Input port serial
4 => Output port serial
5 => Output pencetak
6 => Input atau output langsung
7 => input tanpa tampilan
8 => input papan-ketik tanpa tab
9 => Tampilkan string
A => Baca buffer papan ketik
B => Status input
25 => Ubah vector interrupt
30 => Cari nomor versi DOS
31 => program tetap tinggal dimemori
35 => cari vector interrupt
3C => Buat berkas
3D =>Buka berkas
3E => Tutup berkas
3F => Baca berkas atau piranti
40 => Tulis berkas atau piranti
41 => Hapus berkas
43 => Atribut berkas
4A => Ubah memory yang disisihkan
4B => Muat dan jalankan Program
4C =>Hentikan program
4D => tentukan sandi kesalahan
56 => Ganti nama berkas

  • Contoh Program penggunaan interrrupt

.MODEL SMALL
.CODE
ORG 100H

Start: MOV CL,26 ;isi CL dengan 26(A-Z = 26 karakter)
MOV AH,2H ;service untuk mencetak karakter
MOV DL,'A' ;isi DL dengan karakter pertama uang akan di cetak

Ulang: INT 21H ;Cetak karakternya
INC DL ;DL=DL+1
LOOP Ulang ;Lompat ke label Ulang sebanyak CL
INT 20H ;Interrupt Hentikan Program

END Start

http://www.winsystems.com

Bahasa Rakitan, 30 maret 2010

Proses Pembuatan Program

  • Dalam proses pembuatan program bahasa rakitan terdapat 5 langkah yang harus diketahui:
    • Desain Algoritma:
      • Penetapan masalah
      • Pengusulan solusi yang terbaik
      • Pembuatan diagram skematik yang digunakan agar usulan solusi lebih baik (berupa flowchart)
    • Pengkodean algoritma
      • Penulisan program dalam bahasa pemrograman tertentu
    • Penerjemaahan ke bahasa mesin
      • Pembuatan program obyek, atau dgn kata lain,program ditulis dalam suatu deret/urutan 0 dan 1 yang dapat diinterpretasi oleh prosessor
    • Test program
      • Eksekusi program pada mesin komputer
    • Mengeliminasi kesalahan yang terdeteksi
      • Koreksi kesalahan umumnya memerlukan pengulangan seluruh langkah-2 dari langkah 1 atau 2
  • Untuk membuat program dlm bahasa rakitan tersedia dua option:
    • Debugger (Menggunakan DEBUG)
      • Hanya dapat membuat program dgn extension *.COM => karena karakteristik sifat program ini :
        • Program tidak lebih besar 64 K dan
        • Program harus dimulai dgn displacment, offset, atau 0100H memory direction didalam segment tertentu(spesific)
      • Kumpulan perintah DEBUG antara lain:
        • A: Assemble => merakit intruksi simbolik =>kode mesin
        • D: Dump =>menampilkan isi suatu daerah memori
        • E: Enter =>memasukan data ke memori, dimulai pada lokasi tertentu
        • G: Go =>run executable program ke memori
        • N: Name =>menamai program
        • P: Proceed =>ekskusi sekumpulan instruksi yang terkait
        • Q: quit
        • R: Register =>menampilkan isi satu atau lebih registers
        • T: Trace =>menjalankan program sambil menampilkan register yang dipakai
        • U: Unassembled =>Tampilkan program yang sudah ada
        • W: Write => menulis program ke disk
      • Bagaimana memulai DEBUG?
        • C:/>debug[enter]
        • -r[enter]

Muncul tampilan sbb
AX=0000 BX=0000 CX=0000 DX=0000 SP=FFEE BP=0000 SI=0000 DI=0000 DS=0D62 ES=0D62 SS=0D62 CS=0D62 IP=0100 NV EI PL NZ NA PO NC 0D62:0100 2E CS:0D62:0101 803ED3DF00 CMP BYTE PTR [DFD3],00CS:DFD3=03

Kalo mau menampilkan mengunakan parameter sbb:

-rbx [enter]
Muncul tampilan sbb:
BX 0000
:
(apabila muncul tanda “:” kita bisa mengisi nilai dari BX)

Bagaimana membuat program bahasa rakitan dasar dengan debug:

        • Memulai Debug dengan mengetik sbb

C:/>Debug[enter]

        • Assemble suatu program dgn perintah “a” dengan format sbb:

a parameter[enter]
- A 100[enter]
Ket:
Parameter => alamat awal proses perakitan
Jika tanpa parameter => diinisialisasi pada posisi (locality) yang dispesifikasikan
oleh CS:IP(biasanya100h)

        • Contoh program lengkap sbb:

- a 100[enter]
0B42:0100 mov ax,0002[enter] ; move nilai 0002 ke AX
0B42:0100 mov bx,0004[enter] ; move nilai 0004 ke BX
0B42:0100 add ax,bx[enter] ; tambahkan nilai bx ke ax
0B42:0100 nop[enter][enter] ; tidak ada program=>finish the program

        • Untuk mengetahui hasil perogram ketik “t”sbb:

- t [enter]
Muncul tampilan sbb:
AX=0002 BX=0000 CX=0000 DX=0000 SP=FFEE BP=0000 SI=0000 DI=0000 DS=0D62 ES=0D62 SS=0D62 CS=0D62 IP=0103 NV EI PL NZ NA PO NC 0D62:0103 BB0400 MOV BX,0004

        • Menyimpan Program
          • Cek panjang prorgram dgn perintah “h”

-h 10a 100 (alamat akhir 10a)
020a 000a

          • Memberi nama

-n test.com

          • Gunakan perintah “rcx” untuk mengubah nilai registes CX dgn nilai yg diperoleh dari ukuran file => 000a

-rcx
CX 0000
:000a

          • Terakhir, gunakan perintah “w” u/ menyimpan

– w
Writing 000A bytes

        • MeLoad Program
          • Berikan nama file yang akan diload
          • Load dgn perintah “l”

-n test.com
-l
-u 100 109

0C3D:0100 B80200 MOV AX,0002
0C3D:0103 BB0400 MOV BX,0004
0C3D:0106 01D8 ADD AX,BX
0C3D:0108 CD20 INT 20

Ket:
=>Perintah “u” digunakan memverifikasikan bhw program telah diloaded ke memori. Ini berarti dgn perintah ini: kode di unassemble, kemudian meanmpilakn hasil unassemble. Parameter mengindikasi Debug dari mana dan disassamble ke mana.
=> Debug selalu meload program ke memori pada alamat 100h, kecuali digunakan paramater lain.

    • Mengunakan Turbo Assembler (TASM, Borland)
      • Dalam membuat program menggunakan Turbo Assembler diperlukan software sbb:
        • Editor => menulis souurce code (Notepad, SK dll)
        • Compiler => menerjemahkan source code ke program objek (TASM)
        • Linker => Menggenerate program objek ke executable file.
      • Langkah-langkahnya
        • Simpan file dengan ekstensi .asm
        • Compile => c:\>TASM coba.asm
        • Link => c:\>TLINK coba

Pola Susunan Pemrograman

  • Program Bahasa Rakitan dapat berekstensi .COM maupun .EXE
  • Perbedaan antara .COM dan .EXE adalah sbb:

Perbedaan

Program .EXE

Program .COM

Kecepatan

Lebih lambat dari file .COM karena program lebih panjang

Lebih cepat dari .EXE karena program lebih pendek

Ukuran

Tidak terbatas sesuai dengan ukuran memory

Maksimal 64KB

Segmen

Mengenal adanya segmentasi, sehingga terdapat Code Segment, Data Segment dan Stack Segment

Hanya memiliki satu segment yaitu Code Segment yang ditempati oleh program data dan stack

Akses data pada segmen lain

Mudah mengakses data atau procedure pada segment lain

Sulit mengakses data atau procedure pada segmen lain

Debug mode

Tidak dapat dibuat dengan DEBUG

Dapat dibuat dengan DEBUG

Awal Program

Diawali dengan Stack Segment atau Data Segment kemudian diikuti dengan Code Segment

100H byte pertama merupakan PSP(Program Segment Prefix)dari program tersebut, sehingga instruksi assembler biasanya dimulai pada CS:0100

Akhir Program

Diakhiri dengan Instruksi Assembler fungsi 4CH Interrupt 21H

Diakhiri dengan Interrupt 20H

  • Perbedaan pola susunan bahasa rakitan antara .EXE dengan .COM dalah sbb:

Program .EXE

Program .COM

Sseg SEGMENT
............... (Stack Segment)
Sseg ENDS
Dseg SEGMENT
................(Data Segment)
Dseg ENDS
Cseg SEGMENT
ASSUME CS:Cseg,DS:Dseg,SS:Sseg
..................(Code Segment)
MOV 1H,4CH
INT 21H
Cseg ENDS
END

.MODEL SMALL
.CODE
ORG 100H
Data: JMP Proses
...............
...............(Tempat data Program)
Proses: ..............
..............
INT 20H
END Data

  • Pada program .COM digunakan perintah yang merupakan sebuah tanda langsung atau Directive Sign yang digunakan untuk memberi informasi kepada Assembler tentang bentuk memory yang akan digunakan pada program misalnya .MODEL SMALL
  • Ada enam model program yang bisa digunakan yaitu:
    • .MODEL TINY => Program dengan model ini hanya menggunakan 1 segment (Model ini disediakankhusus untuk program berekstensi .COM)
    • .MODEL SMALL =>Program model ini menggunkan ukuran data-data dan kode kurang dari 1 segment atau 64KB
    • .MODEL MEDIUM => Program model ini menggunakan ukuran data kurang dari 64KB namun ukuran kode bisa lebih dari 64KB
    • .MODEL COMPACT => Program model ini menggunkan ukuran data lebih kecil dari 64KB namum ukuran kode lebih kecil atau sama dengan 64KB
    • .MODEL LARGE => Program model ini menggunkan ukuran data dan kode lebih dari 64 KB (lebih dari 1 segment)
    • .MODEL HUGE => Program model ini menggunkan ukuran data, kode dan array lebih besar dari 64KB

Jenis Angka dan Penulisan Karakter

  • Dalam bahasa rakitan diijinkanpenggunaan beberapa bentuk angka yaitu
    • Desimal => 0, ...,9 (bisa ditulis langsung atau diberi tanda ‘D’ contoh: 777 atau 777D)
    • Biner => 0, 1 (harus diberi tanda ‘B’ contoh: 1011B)
    • Heksadesimal =>0,.....F (bila 0...9 harus ditambah ‘H’ dan bila angka pertama A, ....,F harus ditambah 0 didepannya. Contoh: 123BH, 0A12F)
  • Penulisan karakter atau string di dalam bahasa rakitan biasanya diapit oleh tanda petik(‘) atau tanda kutip (“) Misalnya “Bahasa rakitan” atau ‘STMIK Pradnya Paramita’


Menentukan Variabel atau Konstanta

  • Dalam bahasa rakitan sebuah variabel atau konstanta harus didefinisikan terlebih dahulu.
  • Ada beberapa instruksi untu mendefinisikan variabel atau konstanta yaitu:
    • DD (Define Byte) => untuk ukuran 1 Byte
    • DW (Define Word) => untuk ukuran 1 Word atau 2 Byte
    • DD (Define Double Word) => untuk ukuran 2 Word atau 4 Byte
    • DF (Define Far Word) => untuk ukuran 4 Word atau 8 Byte
    • DQ (Define Ten Byte) => untuk ukuran 5 Word atau 10 Byte
    • EQU (Equate) => Untuk menyamakan nilai suatu konstanta dengan nilai tertentu
  • Yang perlu di ingat dalam menuliskan konstanta atau variabel adalah penulisan variabel atau konstanta tidak boleh ada spasi tetapi cara penulisan bebas
  • Contoh penulisan variabel dan konstanta
    • Angka DW ? ;variabel inputan
    • Var DB ? ;variabel ukuran 1 byte, isi tidak diketahui
    • Kata1 DB ‘STMIK’ ;konstanta STMIK
    • Kons1 DB EQU 13H ;konstanta bernilai 13H
sumber : http://school.anhb.uwa.edu.au
Linux, 30 maret 2010

Jenis partisi Windows berbeda dengan partisi Linux, Windows memiliki jenis partisi FAT 16 (pada DOS dan NT4), FAT32 (pada Win98), dan NTFS (pada NT, XP dan Win2k), sedangkan pada Linux memiliki jenis partisi ex2, dan ex3. Sistem Windows tidak dapat membaca dan mengakses partisi Linux. Sebaliknya, sistem Linux dapat dengan leluasa mengakses partisi Windows. Sebelum membahas partisi drive di Linux, perlu kiranya pembahasan pada bab ini didahului dengan pembahasan mengenai struktur harddisk, jenis-jenis partisi harddisk dan aturan penamaan disk dan partisi.


Struktur Harddisk
Pemahaman tentang struktur harddisk tidak hanya pada pemahaman istilah sector. Sector merupakan bagian unit data terkecil dari harddisk, ukurannya adalah 512 bites. Sector pada harddisk ditandai dengan nomor dari 0 sampai dengan n-1. Selain istilah sector, struktur harddisk juga terdiri dari beberapa partisi (bagian). Secara umum struktur harddisk dibagi dalam dua partisi, yaitu partisi primer dan partisi sekunder.

1. Partisi Primer
Sector pertama, misalnya nomor 0, disebut juga dengan MBR (Master Boot Record) yang berisi antara lain tabel partisi. Seperti sebutannya, tabel ini berisi informasi mengenai partisi yang ada pada harddisk. Berisi maksimum 4 entry, dan dibagi dalam 4 partisi, yang disebut dengn partisi primer (primary partitions). Setiap entry pada tabel partisi berisi bermacam informasi, terutama nomor sector saat dimulainya partisi, nomor akhir sector, dan juga tipe partisi. Biasanya tipe partisi berisi spesifikasi dari system file.


Setiap system operasi mengenalinya namun tidak selain itu. Sebagai contoh, Windows mengangap bahwa setiap partisi yang dinyatakannya sebagai FAT (File Alocation Table) pasti berisi system file FAT. Hal ini berbeda dengan linux. Kita dapat meletakan system file ext2 pada partisi berlabel FAT, dan melakukan setting tanpa masalah. Jika itu terjadi pada Windows pasti bisa menghancurkan struktur harddisk secara keseluruhan. Pada Windows partisi pendek ini menjadi drive, tapi ada bentuk khusus yang bisa menjadikan partisi primer menjadi partisi sekunder atau partisi tambahan (extended partitions)

2 Partisi Sekunder
Hanya ada satu partisi sekunder/partisi tambahan (extended partitions) pada setiap harddisk. Kehadiran partisi sekunder ini pada dasarnya adalah agar bisa membagi ruang harddisk yang berkapasitas besar menjadi lebih dari 4 partisi. Hal ini juga karena keterbatasan program fdisk pada DOS/Windows yang hanya bisa membuat satu pertisi primer pada setiap harddisk. Keterbatasan system operasi Window yang lain adalah pada saat Windows 95 pertama kali diluncurkan, ternyata FAT 16 tidak bisa mengantisipasi kehadiran harddisk berkapasitas lebih dari 2 GB. Pada saat itu harddisk berkapasitas lebih dari 2 GB sudah ada. Sejak saat itulah digunakan partisi sekunder. Kehadiran FAT 32 memperbaiki kelemahan tersebut.


Terlepas dari jenisnya, yang membuatnya istmewah adalah partisi sekunder yang mempunyai kesamaan fitur dengan partisi primer, dari awal sampai akhir nomor sector. Tempat partisi sekunder berada ini kemudian dibagi lagi menjadi partisi logica (logical partitions) dengan menggunakan format lain yang berbeda dengan tabel partisi primer, semenjak nomor partisi logika hanya dibatasi oleh ruangan pada disk. Entri pertama pada tabel partisi logika dapat ditemukan pada sektor pertama pada partisi sekunder. Sector awal dan akhir dari partisi logika pada setiap entri yang ada adalah sama, seperti bentuk dan nomor sector dari entry tabel yang bersangkutan berada. Kita dapat mempartisi harddisk pada bagian pertama dan meletakkan pada bagian kedua. Terakhir kita menambahkan partisi pada harddisk yang tidak bisa mencakup seluruh kapasitas yang ada. Anda bisa membiarkan ruangan harddisk yang tidak terpakai dan menggunakannya nanti.

Aturan Penamaan Disk dan Partisi
Penamaan disk dan partisi pada system operasi Windows dan Linux sangat berbeda. Perbedaan mendasar terletak pada kenyataan bahwa Window tergantung pada bentuk partisi yang mengalokasikan huruf pada drive. Sedangkan Linux tergantung pada posisi disk dalam jalurnya (IDE, SCSI), dan pada partisi setiap disk, namun tidak mengambil bentuk pertisi dalam perhitungan keseluruhan. Berikut akan dijelaskan penamaan disk dan partisi pada sistem operasi Windows dan Linux.

1 Penamaan Disk dan Partisi Pada Sistem Operasi Windows
Windows mengalokasikan huruf pada drive dan tergantung pada bentuk partisi yang ikenali. Windows hanya memberi nama partisi dan tidak pernah memberi nama disk. Ini berarti bahwa Windows tidak pernah memberi nama harddisk yang ada dengan C:, tetapi drive-lah (partisi) yang bernama C:.
Drive C: merupakan subjek pembatasan yang nyata, sebagai pertisi primer yang dikenali oleh Windows, dan disk pertama yang dikenal oleh BIOS, sehingga partisi ini harus diaktifkan. Hal ini merupakan aturan umum, bahwa harddisk IDE pertama pada PC hanya bisa dipasang harddisk IDE, atau Harddisk SCSI pertama pada PC hanya bisa diinstal SCSI. Aturan penamaan drive pada Windows agak aneh antara lain:

  • Windows akan selalu mencari partisi primer pada harddisk dan memberinya nama untuk ditampilkan. Kemudian akan memindai (scanning) seluruh harddisk, dan mencari partisi sekunder serta memberinya nama, kemudian ditampilkan (tentu saja jika ada partisi logikanya).
  • Apapun yang terjadi seluruh disk yang bukan merupakan harddisk, seperti: CD-ROOM, ZIP dan lainnya, akan diberi nama setelah Drive pada harddisk selesai diinisialisasi, keculai disk floppy yang diberi nama A: dan B:. Hal ini merupakan jawaban dari pertanyaan mengapa nama drive pada CD-ROOM anda selalau berubah, jika ada penambahan partisi atau Hard disk .


2 Penamaan Disk dan Partisi Pada Sistem Operasi Linux
Linux menggunakan lebih banyak metode logika untuk Penamaan partisi, yaitu: pertama, penamaan partisi tidak diletakan pada account type partisi yang ada. Kedua, penamaan pada pertisi tergantung pada keberadaan disk. Untuk lebih jelasnya, perhatikan keterangan beikut ini:


• Primary master dan primary slave, pada peralatan IDE, tidak membedakan harddisk, CD-ROOM atau yang lain. Masing-masing disebut dengan /dev/had dan /dev/hdb.
• Pada interface kedua, masing-msing disebut dengan /dev/hdc dan /dev/hdd untuk master dan slave
• Jika komputer yang ada menggunkan peralatan IDE lainnya, misalnya, kartu suara IDE, maka akan disebut dengan /dev/hde, dev/hdf, dan lainnya
• Harddisk SCSI disebut dengan /dev/sda, /dev/sdb, dan seterusnya, sesuai dengan penampilan SCSI terkait (tergantung pada penambahn ID). CD-ROOM SCSI disebut dengan /dev/sd0/dev/scd1, selalu terkait pada jalur SCSI yang ada.
• Partisi diberi nama dengan nama sesudah disk, atau tempat ditemukannya. Misalnya, partisi pada disk primary master IDE
• Partisi pimer (partisi sekunder),jika ada, diberi nama /dev/hda1 sampai dengan /dev/hda4
• Partisi logika, jika ada, diberi nama /dev/hda5, /devhda6, dan seterusnya tergantung pada tabel partisi logika.


Sistem File Pada Sistem Operasi Linux
Sistem file pada system operasi Linux (ext3), seperti sistem file UNIX pada umumnya,yaitu tidak mengenal istilah drive seperti di DOS atau Windows (contoh: drive C:, drive D:, dan seterusnya). System file pada system operasi Linux menggunakan sistem hirarki dan penyatuan (directory dalam directory). Hal inilah yang memperlakukan semua file, directory dan device driver (termasuk disk-drive, floppy disk dan CD-ROOM drive) sebagai file. Terminology ini dikenal sebagai ‘everything is file’ dalam system operasi UNIX dan LINUX.


Sistem file pada system operasi Linux ataupun UNIX, mendukung nama file sebanyak 256 karekter, tidak termasuk tanda symbol dan tanda kutip kecuali titik (.), dan tanda minus (-). Titik dapat digunakan berkali-kali satu nama file, contoh: ini.nama.file. Hal tersebut dimungkinkan karena system operasi Linux maupun Unix tidak mengenal istilah ekstention seperti di Windows (sebagai warisan DOS).


Semua perintah dilinux bersifat case-sensitive (huruf besar dan kecil diartikan berbeda), dan menggunakan tanda slash (/) untuk menyatakan directory: berbeda dengan DOS/Windows yang menggunakan tanda backslash (\). Ada 6 kategori file dalam sistem file UNIX/Linux yaitu:


 File biasa yang terdiri dari:
o File teks dalam format standar ASCII
o File data dalam format bukan ASCII(karakter khusus)
 File teks perintah dalam format ASCII tetapi merupakan sekumpulan perintah otomatis
(script)
 File perintah dalam format biner (binary)
 Directory
 Kaitan (links)
 Perangkat kendali (device driver) khusus perangkat keras

Secara keseluruhan susunan hirarki dalam system file UNIX/Linux pada umumnya adalah sebagai berikut :
Directory Keterangan
/ Directory root
/bin Berisi file-file perintah dasar dalam bentuk biner
/boot Berisi file-file dan informasi yang dibutuhkan dalam proses booting
awal
/dev Berisis file-file perangkat pengendali(device driver)
/etc Berisi file-file tambahan yang rata-rata adalah untuk administrasi dan
konigurasi system
/home Directory untuk pengguna(user)
/lib Berisi file-file kepustakaan(library)
/sbin Berisi file-file untuk super-user, atau root dan file biner untuk starup
system
/tmp Berisi file-file sementara(temporer)
/usr Berisi file dan directory untuk perintah tambahan, baik dalam bentuk
biner ataupun script
/var Berisi file-file variable (misalnya spooling untuk system, pencetak,
mail) dan juga berisikan log
Masing-masing distribusi mempunyai sedikit perbedaan terutama dibagian mounting directory
seperti:
 RedHat /Caldera / Mandrake
Floppy disk dan CD drive diletakan pada directory /mnt/floppy, dan /mnt/Cdroom  Slackware / SuSE
Floppy disk dan CD drive diletakan pada directory /floppy ,dan /cdroom
Tetapi sebenarnya untuk urusan mounting directory tergantung pada system administrator untuk meletakannya, sehingga perbedaan ini sebenarnya bukanlah masalah yang besar.

sumber : linux.or.id


Linux, 30 maret 2010

Dalam konfigurasi jaringan di slackware, sebenarnya udah ada program exstra pada paket instalasi slackware 12.1/2.. Jika ente blum install paket exstra jaringan contohnya wicd.. Dapat juga dilakukan konfigurasi via konsole. Dikonsole ini, ada juga 2 cara yang dapat dilakukan.. yaitu semi gui dengan netconfig atau bahkan anda langsung edit manual file config jaringannya..

Saya akan mencoba share pengalaman tentang setting jaringan pada slackware.

Cara Pertama :

File configurasi card jaringan berada pada /etc/rc.d/rc.inet1.conf, tinggal edit aja dengan editor kesayangan anda sendiri.. saya pakai vim aja yach..

#vim /etc/rc.d/rc.inet1.conf

Contoh isi file rc.inet1.conf ane adalah :

# =============================================================================

# Config information for eth0:

IPADDR[0]=”192.168.1.156″
NETMASK[0]=”255.255.255.240″
USE_DHCP[0]=”"
DHCP_HOSTNAME[0]=”"

# Config information for eth1:
IPADDR[1]=”"
NETMASK[1]=”"
USE_DHCP[1]=”"
DHCP_HOSTNAME[1]=”"

# Config information for eth2:
IPADDR[2]=”"
NETMASK[2]=”"
USE_DHCP[2]=”"
DHCP_HOSTNAME[2]=”"

# Config information for eth3:
IPADDR[3]=”"
NETMASK[3]=”"
USE_DHCP[3]=”"
DHCP_HOSTNAME[3]=”"

# Default gateway IP address:
GATEWAY=”192.168.1.145″

Yang perlu anda perhatikan adalah tulisan yang diberi tanda tebal diatas. Jika card anda dideteksi sebagai eth0, maka yang diconfig yaitu IPADDR[0] dan jika dideteksi sebagai eth1, maka yang di configurasi dibagian IPADDR[1]. Gantilah Ip adress dan netmask sesuai dengan IP jaringan anda. Kemudian masukkan IP GATEWAY jaringan anda untuk akses keluar jariangan, misalnya internet.

Terakhir, tinggal isi DNS servernya yang berada di /etc/resolv.conf, berikut contoh pengisian DNS server di kos saya yang menggunakan ISP pesat Jakarta.

nameserver 202.95.156.6
nameserver 202.95.156.13

DNS server diisi apabila ingin terhubung ke internet dan telah ditentukan oleh ISP yang anda gunakan..

Sampe disini setingan jaringan sudah beres dilakukan, selanjutnya tinggal restart card LAN anda untuk melihat perubahan dan langsung menikmati kompie anda terhubung dengan jaringan. Pertama hidupkan dulu card LAN anda jika belum aktif :

#ifconfig eth0 up

restart service jaringannya dengan :

#/etc/rc.d/rc.inet1 restart

Selesai de configurasi jaringan dengan cara IP statis.. Selanjutnya car setting jaringan dengan semi GUI.. he.. masih konsole blue screen.

Cara kedua

Cara ini lebih simple dari pada cara pertama, karena hanya membutuhkan 1 command console doang… Command yang dibutuhkan adalah “netconfig” dengan akses root:

#netconfig

Enter Host Name –> Isi dengan nama komputer anda, misalnya juanitaoke (he..he..)

Enter DomainName For …… (host name) –> masukin domain anda kalau ada, misalnya isi dengan juanitaoke.co.cc.. he.

Set IP Address For …… (Doamin name) –> Sesuaikan dengan jaringan anda.. misalnya anda ipnya statis.. pilih static IP.

Enter IP Address For …… (Doamin name) –> Masukan IP address yang akan anda gunakan…

Enter Netmask For Local Network –> Masukan Netmasknya.. yang sering digunakan adalah kelas C dengan netmask 255.255.255.0 yang berfungsi sebagai penentu banyak host yang terhubung ke jaringan.

Enter Gateway Address –> Masukan Gateway Address jaringan anda..

Nah, selanjutnya anda akan ditanyain “Use A Name Server” ??? Jika anda terhubung ke internet menggunakan DNS server, tinggal pilih yes dan masukin DNS servernya..

Nah, sampe disini lo selesai de.. ntar diperlihatkan dalam sebuah form tentang semua konfigurasi yang telah kita masukan.. jika sudah sesuai.. tinggal di “Accept” aja / atau restart langsung hasil perubahannya biar langsung bisa dilihat perubahannya… Disini ada kekurangannya, soalnya DNS server hanya bisa dimasukkin satu saja… sedangkan biasanya ada lebih dari satu DNS server yang disediakan oleh ISP sebagai cadangan koneksi… Untuk itu kita harus menambahkan DNS-nya pada /etc/resolv.conf seperti cara pertama… Setelah ntu restart lagi de card lan andauntuk melihat hasil perubahannya seperti cara pertama….

Tinggal anda pilih suka yang mana?? Intinya hanya satu, sama2 configurasi jaringan.. he… Untuk meyakinkan bahwa configurasi anda udah jalan, coba check dengan command “ifconfig” (tanpa tanda kutip) dengan akses root.


Linux. 30 maret 2010

Sistem Berkas Virtual

Objek dasar dalam layer-layer virtual file system

  1. File

    File adalah sesuatu yang dapat dibaca dan ditulis. File ditempatkan pada memori. Penempatan pada memori tersebut sesuai dengan konsep file deskriptor yang dimiliki unix.

  2. Inode

    Inode merepresentasikan objek dasar dalam file sistem. Inode bisa saja file biasa, direktori, simbolik link dan lain sebagainya. Virtual file sistem tidak memiliki perbedaan yang jelas di antara objek, tetapi mengacu kepada implementasi file sistem yang menyediakan perilaku yang sesuai. Kernel tingkat tinggi menangani objek yang berbeda secara tidak sama.

    File dan inode hampir mirip diantara keduanya. Tetapi terdapat perbedaan yang penting diantara keduanya. Ada sesuatu yang memiliki inode tetapi tidak memiliki file, contohnya adalah simbolik link. Ada juga file yang tidak memiliki inode seperti pipes dan socket.

  3. File sistem

    File system adalah kumpulan dari inode-inode dengan satu inode pembeda yaitu root. Inode lainnya diakses mulai dari root inode dan pencarian nama file untuk menuju ke inode lainnya.

    File sistem mempunyai beberapa karakteristik yang mencakup seluruh inode dalam file sistem. Salah satu yang terpenting adalah blocksize.

  4. Nama inode

    Semua inode dalam file sistem diakses melalui namanya. Walau pun pencarian nama inode bisa menjadi terlalu berat untuk beberapa sistem, virtual file sistem pada linux tetap memantau cache dan nama inode yang baru saja terpakai agar kinerja meningkat. Cache terdapat di memori sebagai tree, ini berarti jika sembarang inode dari file terdapat di dalam cache, maka parent dari inode tersebut juga terdapat di dalam cache.

Virtual file system layer menangani semua pengaturan nama path dari file dan mengubahnya menjadi masukan di dalam cache sebelum mengizinkan file sistem untuk mengaksesnya. Ada pengecualian pada target dari simbolik link, akan diakses file sistem secara langsung. File sistem diharapkan untuk menginterpretasikannya.

Operasi-operasi Dalam Inode

Linux menyimpan cache dari inode aktif mau pun dari inode yang telah terakses sebelumnya. Ada 2 path dimana inode ini dapat diakses. Yang pertama telah disebutkan sebelumnya, setiap entri dalam cache menunjuk pada suatu inode dan menjaga inode tetap dalam cache. Yang kedua melalui inode hash table. Setiap inode mempunyai alamat 8 bit sesuai dengan alamat dari file sistem superblok dan nomor inode. Inode dengan nilai hash yang sama kemudian dirangkai di doubly linked list.

Perubahan pada cache melibatkan penambahan dan penghapusan entri-entri dari cache itu sendiri. Entri-entri yang tidak dibutuhkan lagi akan di unhash sehingga tidak akan tampak dalam pencarian berikutnya.

Operasi diperkirakan akan mengubah struktur cache harus dikunci selama melakukan perubahan. Unhash tidak memerlukan semaphore karena ini bisa dilakukan secara atomik dalam kernel lock. Banyak operasi file memerlukan 2 langkah proses. Yang pertama adalah melakukan pencarian nama di dalam direktori. Langkah kedua adalah melakukan operasi pada file yang telah ditemukan. Untuk menjamin tidak terdapatnya proses yang tidak kompatibel diantara kedua proses itu, setelah proses kedua, virtual file sistem protokol harus memeriksa bahwa parent entry tetap menjadi parent dari entri childnya. Yang menarik dari cache locking adalah proses rename, karena mengubah 2 entri dalam sekali operasi.

Sistem Berkas Linux

Sistem Berkas EXT2

  1. Keterangan

    EXT2 adalah file sistem yang ampuh di linux. EXT2 juga merupakan salah satu file sistem yang paling ampuh dan menjadi dasar dari segala distribusi linux. Pada EXT2 file sistem, file data disimpan sebagai data blok. Data blok ini mempunyai panjang yang sama dan meski pun panjangnya bervariasi diantara EXT2 file sistem, besar blok tersebut ditentukan pada saat file sistem dibuat dengan perintah mk2fs. Jika besar blok adalah 1024 bytes, maka file dengan besar 1025 bytes akan memakai 2 blok. Ini berarti kita membuang setengah blok per file.

    EXT2 mendefinisikan topologi file sistem dengan memberikan arti bahwa setiap file pada sistem diasosiasiakan dengan struktur data inode. Sebuah inode menunjukkan blok mana dalam suatu file tentang hak akses setiap file, waktu modifikasi file, dan tipe file. Setiap file dalam EXT2 file sistem terdiri dari inode tunggal dan setiap inode mempunyai nomor identifikasi yang unik. Inode-inode file sistem disimpan dalam tabel inode. Direktori dalam EXT2 file sistem adalah file khusus yang mengandung pointer ke inode masing-masing isi direktori tersebut.

    Gambar 7-3. Struktur Sistem Berkas EXT2. Sumber: . . .

  2. Inode dalam EXT2

    Gambar 7-4. Inode Sistem Berkas EXT2. Sumber: . . .

    Inode adalah kerangka dasar yang membangun EXT2. Inode dari setiap kumpulan blok disimpan dalam tabel inode bersama dengan peta bit yang menyebabkan sistem dapat mengetahui inode mana yang telah teralokasi dana inode mana yang belum. MODE: mengandung dia informasi, inode apa dan izin akses yang dimiliki user. OWNER INFO: user atau grop yang memiliki file atau direktori SIZE: besar file dalam bytes TIMESTAMPS: kapan waktu pembuatan inode dan waktu terakhir dimodifikasi. DATABLOKS: pointer ke blok yang mengandung data.

    EXT2 inode juga dapat menunjuk pada device khusus, yang mana device khusus ini bukan merupakan file, tatapi dapat menangani program sehingga program dapat mengakses ke device. Semua file device di dalam drektori /dev dapat membantu program mengakses device.

  3. Superblok dalam EXT2

    Superblok mengandung informasi tentang ukuran dasar dan bentuk file sistem. Informasi di dalamnya memungkinkan file sistem manager untuk menggunakan dan merawat file sistem. Biasanya, hanya superblok di blok group 0 saat file sistem di-mount tetapi setiap blok grup mengandung duplikatnya untuk menjaga jika file sistem menjadi rusak. Informasi yang dikandung adalah:

    1. Magic Number

      meyakinkan software bahwa ini adalah superblok dari EXT2 file sistem.

    2. Revision Level

      menunjukkan revisi mayor dan minor dari file sistem.

    3. Mount Count dan Maksimum Mount Count

      menunjukkan pada sistem jika harus dilakukan pengecekan dan maksimum mount yang diijikan sebelum e2fsck dijalankan.

    4. Blocks per Size

      besar blok dalam file sistem, contohnya 1024 bytes.

    5. Blocks per Group

      benyaknya blok per group.

    6. Block Group Number

      nomor blok group yang mengadung copy dari superblok.

    7. Free Blocks

      banyaknya blok yang kosong dalam file sistem.

    8. Free Inode

      banyak inode kosong dalam file sistem.

    9. First Inode

      nomor inode dalam inode pertama dalam file sistem, inode pertama dalam EXT2 root file sistem adalah direktori "/".

Sistem Berkas EXT3

EXT3 adalah peningkatan dari EXT2 file sistem. Peningkatan ini memiliki beberapa keuntungan, diantaranya:

  1. Setelah kegagalan sumber daya, "unclean shutdown", atau kerusakan sistem, EXT2 file sistem harus melalui proses pengecekan dengan program e2fsck. Proses ini dapat membuang waktu sehingga proses booting menjadi sangat lama, khususnya untuk disk besar yang mengandung banyak sekali data. Dalam proses ini, semua data tidak dapat diakses.

    Jurnal yang disediakan oleh EXT3 menyebabkan tidak perlu lagi dilakukan pengecekan data setelah kegagalan sistem. EXT3 hanya dicek bila ada kerusakan hardware seperti kerusakan hard disk, tetapi kejadian ini sangat jarang. Waktu yang diperlukan EXT3 file sistem setelah terjadi "unclean shutdown" tidak tergantung dari ukuran file sistem atau banyaknya file, tetapi tergantung dari besarnya jurnal yang digunakan untuk menjaga konsistensi. Besar jurnal default memerlukan waktu kira-kira sedetik untuk pulih, tergantung kecepatan hardware.

  2. Integritas data

    EXT3 menjamin adanya integritas data setelah terjadi kerusakan atau "unclean shutdown". EXT3 memungkinkan kita memilih jenis dan tipe proteksi dari data.

  3. Kecepatan

    Daripada menulis data lebih dari sekali, EXT3 mempunyai throughput yang lebih besar daripada EXT2 karena EXT3 memaksimalkan pergerakan head hard disk. Kita bisa memilih tiga jurnal mode untuk memaksimalkan kecepatan, tetapi integritas data tidak terjamin.

  4. Mudah dilakukan migrasi

    Kita dapat berpindah dari EXT2 ke sistem EXT3 tanpa melakukan format ulang.

Sistem Berkas Reiser

Reiser file sistem memiliki jurnal yang cepat. Ciri-cirinya mirip EXT3 file sistem. Reiser file sistem dibuat berdasarkan balance tree yang cepat. Balance tree unggul dalam hal kinerja, dengan algoritma yang lebih rumit tentunya.

Reiser file sistem lebih efisien dalam pemenfaatan ruang disk. Jika kita menulis file 100 bytes, hanya ditempatkan dalam satu blok. File sistem lain menempatkannya dalam 100 blok. Reiser file sistem tidak memiliki pengalokasian yang tetap untuk inode. Resier file sistem dapat menghemat disk sampai dengan 6 persen.

Sistem Berkas X

X file sistem juga merupakan jurnaling file sistem. X file sistem dibuat oleh SGI dan digunakan di sistem operasi SGI IRIX. X file sistem juga tersedia untuk linux dibawah lisensi GPL. X file sistem mengunakan B-tree untuk menangani file yang sangat banyak. X file sistem digunakan pada server-server besar.

Sistem Berkas Proc

Sistem Berkas Proc Proc File Sistem menunjukkan bagaimana hebatnya virtual file sistem yang ada pada linux. Proc file sistem sebenarnya tidak ada secara fisik, baik subdirektorinya, mau pun file-file yang ada di dalamnya. Proc file sistem diregister oleh linux virtual file sistem, jika virtual file sistem memanggilnya dan meminta inode-inode dan file-file, proc file sistem membuat file tersebut dengan informasi yang ada di dalam kernel. Contohnya, /proc/devices milik kernel dibuat dari data struktur kernel yang menjelaskan device tersebut.

Pembagian Sistem Berkas Secara Ortogonal

Shareable dan Unshareable

  1. Shareable

    Isinya dapat dishare (digunakan bersama) dengan sistem lain, gunanya untuk menghemat tempat.

  2. Unshareable

    Isinya tidak dapat dishare(digunakan bersama) dengan sistem lain, biasanya untuk alasan keamanan.

Variabel dan Statik

  1. Variabel

    Isinya sering berubah-ubah.

  2. Statik

    Sekali dibuat, kecil kemungkinan isinya akan berubah. Bisa berubah jika ada campur tangan sistem admin.

sumber : linux.or.id

BTemplates.com

Diberdayakan oleh Blogger.

Pages

Profil

Foto saya
Jakarta, jakarta selatan, Indonesia
Remaja. Tinggal di Jakarta. Sedang berusaha menemukan jawaban dari "Siapa saya?". Mencintai binar mata kanak-kanak, langit senja, aroma tanah basah, gelembung sabun, cokelat panas, tertawa keras-keras, dan berpelukan. Tergila-gila pada blog, humor, dan segala jenis buku. Teman yang menyenangkan dan menyebalkan, tergantung suasana hati. Baginya, menulis adalah terapi sekaligus sarana pencarian jati diri. Jadi, jangan tertipu oleh tulisan. Sapa dia jika bertemu di jalan, karena dia akan menyapa balik. Tapi jangan coba-coba menginjak kakinya di dalam angkot, atau menghembuskan asap rokok tepat di mukanya.

Followers

Total Tayangan Halaman

Popular Posts