Sebarkan Ilmu Untuk Indonesia Yang Lebih Maju
Tampilkan postingan dengan label desainer. Tampilkan semua postingan
Tampilkan postingan dengan label desainer. Tampilkan semua postingan

Analisis Algoritma Clipping, Rasterization, dan Hidden Surface Removal


Analisis Algoritma Clipping, Rasterization, dan Hidden Surface Removal

Suci Istachotil Jannahh

5108100131

Kelas C

ABSTRAK

Di dalam makalah ini terdapat analisis algoritma-algoritma yang terbaik untuk diimplementasikan dalam library OpenGL. Dalam implementasinya untuk dapat menampilkan suatu objek dari titik-titik kordinat pixel hingga menjadi objek yang siap untuk ditampilkan dengan sempurna, dalam artian kadangkala saat menampilkan objek tersebut ada sedikit masalah misalnya objek tersebut berpotongan, koordinatnya melebihi batas window. Untuk mengatasinya diperlukan algoritma clpping, rasterization, dan Hidden Surface Remove.

Metode clipping adalah metode yang digunakan untuk menentukan garis yang perlu digambar atau tidak.Alasan dilakukanna clpping adalah untuk menghindari perhitungankoordinat pixel yang rumit dan interpolasi parameter. Clpping dilakuakn sebelum proses rasterization. Setelah proses clipping selanjutnya dilakukan proses rasterization yang mana dilakukan pengkonversian suatu citra vektor ke citra bitmap. Sedangkan Hidden Surface Removal merupakan suatu algoritma yang digunakan untuk menghilangkan penampilan bagian yang tertutup oleh objek di depannya. Apabila ada dua bidang yang berpotongan, jika objek tersebut ditampilkan biasa tanpa menggunakan algoritma Hidden surface removal maka bagian yang berpotongan itu akan tidak kelihatan. Algoritma Hidden Surface Removal ini perlu dilakukan untuk menampilkan bidang perpotongan tersebut.

Tiap metode mempunya beberapa algoritma dan tentunya tiap algoritma memiliki kelebihan dan kekurangan untuk dianalisis. Contohnya pada algoritma clpping didapatkan algoritma Liang-Barsky yang terbaik karena kecepatan waktu yang efisien dan juga stabil. Untuk metode rasterization didapat algoritma Midpoint yang terbaik karena operasi bilangan pada Midpoint dilakukan dengan cara menghilangkan operasi bilangan riel dengan bilangan integer yang mana bilangan integer jauh lebih cepat dibandingkan dengan operasi bilangan riel. Oleh karena itu, komputasi midpoint lebih cepat delapan kali pada pembuatan garis lurus dan lima belas kali pada penggambaran lingkaran. Sedangkan pada metode Hidden Surface Remove, algoritma yang terbaik adalah algoritma scan Line karena pada algoritma ini menggunakan memori yang lebih sedikit dan dari segi kecepatan juga lebih unggul.

Kata kunci: clipping, rasterization, hidden surface removal (hsr)

PENDAHULUAN

Pada bidang ilmu Grafika Komputer tentunya tidak dapat terlepas dari pembuatan dan manipulasi gambar (visual) secara digital. Bentuk sederhana dari grafika komputer adalah grafika komputer 2D yang kemudian berkembang menjadi grafika komputer 3D, pemrosesan citra (image processing), dan pengenalan pola (pattern recognition). Grafika komputer sering dikenal juga dengan istilah visualisasi data.

Dalam makalah ini akan dijelaskan tiga metode tentang optimasi atau citra komputer. Metode-metode tersebut adalah clipping, rasterization, dan hidden surface removal. Ketiga metode ini tentu memiliki beberapa algoritma yang dapat dibandingkan algoritma mana yang terbaik. Pada metode clipping dilakukan pemrosesan untuk menentukan bagian mana yang perlu ditampilkan dalam clipping window. Clipping perlu dilakukan untuk menghindari perhitungan koordinat pixel yang rumit dan interpolasi parameter. Setelah itu dilakukan proses rasterization untuk mengkonversi suatu citra vektor ke citra bitmap. Pada langkah rasretization ini, koordinat dalam bentuk geometri dikonversi atau diubah kedalam fragmen pada koordinat screen. Setelah langkah ini, tidak ada lagi kata “poligon”. Semua geometri yang membentuknya ke dalam proses rasretization adalah dengan dinormalisasikan pembagian wilayah. Pada proses ini perlu mengkonversi kontinu (floating pixel) geometri ke dalam diskrit (integer). Setelah itu ada metode Hidden Surface removal yang digunakan untuk menghilangkan penampilan bagian yang tertutup oleh objek yang didepannya. Apabila ada dua bidang yang berpotongan, apabila ditampilkan biasa tanpa menggunakan algoritma Hidden surface removal maka bagian yang berpotongan itu akan tidak kelihatan. Algoritma Hidden Surface Removal ini perlu dilakukan untuk menampilkan bidang perpotongan tersebut.

Dari beberapa analisis nanti diharapkan mendapatkan algoritma terbaik dari masing-masing metode yang nantinya akan digunakan untuk pengimplementasian ke dalam library OpenGL.

METODE CLIPPING

Ada beberapa teknik yang dapat digunakan untuk melakukan proses clipping, diantaranya adalah

1.        Vertex Clipping

Untuk menentukan letak suatu titik di dalam clipping window dapat digunakan rumus

Xmin ≤ x ≤ Xmax

Ymin ≤ y ≤ Ymax

Dimana Xmin, Ymin, Xmax, Ymax merupakan batas clip window untuk clipping window yang berbentuk persegi empat dengan posisi standar. Kedua kondisi di atas harus terpenuhi agar teknik ini dapat dijalankan. Jika salah satu tidak terpenuhi maka titik tersebut tidak berada dalam clipping window.

Contoh kasus :

Terdapat dua buah titik, yaitu P1(2,2) dan P2(3,6) dengan Xmin = 1, Xmax = 5, Ymin = 1, dan Ymax = 5

Dari gambar di atas, dapat dilihat bahwa titik P2 berada diluar area Clipping Window karena titik P2 koordinat y-nya melebihi Ymax dari clipping window sehingga titik P2 tidak akan ditampilkan.

Metode Clipping titik ini dapat diaplikasikan pada scene yang menampilkan ledakan atau percikan air pada gelombang laut yang dibuat model dengan mendistribusikan beberapa partikel.

2.        Line Clipping

Line clipping atau clipping garis diproses dengan inside-outside test dengan memeriksa endpoint dari garis tersebut. Berdasarkan test tersebut garis dapat dikategorikan menjadi empat jenis

Nama
   

Kondisi

Invisible (garis 1)
   

Tidak keliatan, terletak di luar clipping window

Visible (garis 2)
   

Terletak di dalam clipping window

Half partial (garis 3)
   

Terpotong sebagian oleh clipping window

Full partial (garis 4)
   

Terpotong penuh oleh clipping window

Untuk garis yang invisible dan visible tidak perlu dilakukan aksi clipping karena pada kondisi invisible, garis tidak perlu ditampilkan sedangkan pada kondisi visible garis bisa langsung ditampilkan. Untuk segmen garis dengan endpoint (x1,y1) dan (x2,y2) serta keduanya terletak di luar clipping window memiliki persamaan,

x = x1 + u(x2 – x1)

y = x1 + u(x2 – x1)

0 ≤ u ≤ 1.

Persamaan tersebut dapat digunakan untuk mengenali nilaiparameter u untuk koordinat pemotongan dengan batas clipping window.

Secara umum algoritma line clipping dapat digambarkan sebagai berikut,

Ada beberapa algoritma dalam melakukan teknik line clipping, diantaranya adalah sebagai berikut Cohen – Sutherland, Liang – Barsky, Cyrus – Beck, dan Nicholl – lee – Nicholl. Dan algoritma yang paling terkenal adalah algoritma Cohen-Sutherland dimana setiap endpoint atau titik ujung dari garis direpresentasikan ke dalam empat digit angka biner yang disebut region code dan Liang-Barsky.

Metode Cohen-Sutherland

Pada metode Cohen-Sutherland masing-masing digit tersebut akan menentukan posisi titik relatif terhadap batas clipping yang berbentuk segiempat. Untuk lebih jelasnya dapat dilihat pada gambar dan tabel di bawah ini.

4
   

3
   

2
   

1

0
   

0
   

0
   

0

Bit ke-1 : region Kiri (L)

Bit ke-2 : region Kanan (R)

Bit ke-3 : region Bawah (B)

Bit ke-4 : region Atas (T)

Bit dengan nilai 1 menandakan bahwa titik berada pada region yang bersangkutan. Jika tidak maka diset nilai 0.

Algoritma Liang-Barsky

Algoritma ini menggunakan persamaan parameter garis dan gambaran pertidaksamaan dari range clipping box untuk menentukan titik temu antara garis dan clipping box. Kita harus melakukan pengujian sebanyak mungkin sebelum menghitung interseksi garis. Misalnya bentuk parameter biasanya garis lurus

Dan titik akan berada di clipping window jika

 dan

Dinyatakan dalam empat pertidaksamaan

dimana

Untuk perhitungannya adalah sebagai berikut

1.       Garis paralel ke tepi clipping window mempunyai batas pk = 0

2.       Jika untuk setiap k, qk < 0, maka garis sepenuhnya berada di luar dan dapat dieliminasi.

3.       Bila pk < 0 maka dihasilkan garis dari luar ke dalam clipping window. Bila pk > 0 maka dihasilkan garis dari dalam ke luar.

4.       Untuk setiap pk tidak sama dengan 0 maka dihasilkan titik interseksi

5.       Untuk setiap line, hitung u1 dan u2. Untuk u1, lihat batas pk<0 (luaràdalam). Ambil u1 untuk menjadi yang terbesar di antara                   dan untuk u2, lihat batas pk>0 (dalamàluar). Ambil u2 untuk menjadi yang minimum dari                    . Jika u1>u2 maka garis berada di luar dan ditolak.

3.        Polygon Clipping

Polygon merupakan bidang yang tersusun dari verteks (titik sudut) dan edge (garis penghubung setiap verteks). Untuk dapat melakukan proses clipping pada polygon diperlukan algoritma yang lebih kompleks dari kedua teknik clipping yang telah di bahas sebelumnya. Salah satunya adalah algortima Sutherland-Hodgman. Ide dasarnya adalah memperhatikan edge pada setiap arah pandang, lalu clipping polygon dengan persamaan edge kemudian lakukan clipping tersebut pada semua edge hingga polygon terpotong sepenuhnya. Ada beberapa ketentuan dari algoritma Sutherland-Hodgman, diantaranya adalah

1.      Polygon dapat dipotong dengan setiap edge dari window sekali pada suatu waktu

2.      Vertex yang telah dipotong akan disimpan untuk kemudian digunakan untuk memotong edge yang masih ada

3.      Perhatikan bahwa jumlah vertex biasanya berubah-ubah dan sering bertambah

METODE RASTERIZATION

Rasterization adalah sebuah proses mengkonversi sebuah penggambaran vertex menjadi sebuah penggambaran pixel. Rasterization juga biasa disebut scan conversion. Algoritma scan conversion menggunakan metode incremental yang memanfaatkan koherensi. Sebuah metode incremental menghitung sebuah nilai baru dengan cepat dari nilai lama, bukan menghitung nilai baru dari awal yang dapat memperlambat. Koherensi dalam ruang atau waktu adalah istilah yang digunakan untuk menunjukkan bahwa benda-benda didekatnya (misalnya pixels) memiliki kualitas yang mirip dengan objek.

Pada langkah rasretization ini, koordinat dalam bentuk geometri dikonversi atau diubah kedalam fragmen pada koordinat screen. Setelah langkah ini, tidak ada lagi kata “poligon”. Semua geometri yang membentuknya ke dalam proses rasretization adalah dengan dinormalisasikan pembagian wilayah. Pada proses ini perlu mengkonversi kontinu (floating pixel) geometri ke dalam diskrit (integer).

1.            Rasterization Titik

Dalam keadaan default, sebuah titik diraster dengan memotong kordinat Xw dan Yw (ingat bahwa subcript menunjukkan bahwa ini adalah x dan y clipping window) ke integer. Alamat ini (x,y), berdasarkan pada data terkait dengan simpul yang sesuai ke titik, dikirim sebagai sebuah fragmen tunggal untuk tahap per-fragme dari GL tersebut.

Efek dari lebar titik lebih dari 1. 0 tergantung pada keadaan antialiasing titik. Jika antialiasing dnonaktifkan, lebar aktual ditentukan oleh pembulatan lebar dipasok ke integer terdekat, kemudian mengapit ke titik lebar non-antialiasing maksimum implementation-dependent. Meskipun nilai implementation-dependent tidak dapatdi-query, tapi harus tidak kurang dari lebar titik maksimum antialasing implementation-dependent, dibulatkan ke nilai integer terdekat, serta tidak boleh kurang dari 1. Jika lebarnya merupakan ganjil maka

Persamaan di atas dihitung dari Xw dan Yw vertex dan grid persegi berlebar ganjil berpusat di (x,y) mendefinisikan pusat fragmen raster (ingat bahwa pusat-pusat fragmen terletak pada nilai koordinat jendela half-integer). Jika lebarnya genap maka pusat titik adalah

Pusat fragmen raster adalah nilai koordinat half-integer window dalam persegi yang berpusat di (x,y).

“Rasterization non-antialiasing. Tanda silang menunjukkan pusat fragmen yang dihasilkan oleh rasterization untuk setiap titik yang terletak di wilayang gelap. Garis putus-putus pada grid terletak pada koordinat half-integer.”

Jika antialasing diaktifkan, maka rasterization titik menghasilkan fragmen untuk setiap persegi fragmen yang memotong daerah yang berada dalamlingkaran berdiameter sama dengan lebar titik saat ini dan berpusat pada titik (Xw, Yw). Perhatikan gambar di bawah ini

Pada gambar di atas, titik hitam menunjukkan titik yang akan diraster. Daerah gelap memiliki lebar yang ditentukan. Tanda x menunjukkan pusat fragmen yang dihasilkan oleh rasterization. Perhitungan fragmen didasarkan pada bagian wilayah gelap yang menutupi persegi fragmen.

2.            Rasterization Line

Line segmen rasterization dimulai dengan mengkarakterisasi segmen sebagai x-major dan y-major.  Segmen garis x-major mempunyai penurunan interval mendekati [-1,1] dan semua segmen garis lainnya merupakan y-major (slope atau turunan ditermain oleh endpoint segmen). Rasterization ditentukan hanya untuk segmen x-major kecuali dalam kasus dimana memodifikasi untuk segmen y-major yang sudah jelas.

Idelanya, GL menggunakan aturan ‘diamond-exit’ untuk menentukan fragmen yang diproduksi oleh rasterization segmen garis. Untuk setiap fragmen f dengan pusat di window koordinat x dan y mendifinisikan wilayah berbentuk ‘diamond’ yang merupakan intersection empat half plan.

Ketika Pa dan Pb berada di pusat fragmen, karakterissasi fragmen mengurasi untuk algoritma Bresenham dengan satu modifikasi. Hasil baris dalam deskripsi ini adalah ‘setengah terbuka’. Artinya bahwa fragmen terakhir (sesuai dengan Pb) tidak ditarik. Ini berati bahwa ketika proses raster segmen garis tersambung,endpoint akan diproduksi hanya sekai bukan dua kali (seperti yang terjadi pada algoritma Bresenham’s).

Beberapa algoritma yang digunakan

a.         Algoritma Naive

Algoritma ini dimulai dari segmen garis pada koordinat dengan nilai bulat (integer) untuk endpoint

·            m = (y2 - y1) / (x2 - x1)

·            y = m*x+b

·            2 operasi floating-point per piksel

b.        Algoritma DDA (Digital Differential Analyzer)
-->

Misalkan po = (xo,yo) dan p1 = (x1,y1) menjadi dua endpoint dari suatu garis. Kita akan mengasumsikan bahwa titik tersebutberada di koordinat xo,yo,xi,yi. Dimana intersep titik dari po, p1 adalah y = mx + b dan m = (y2-y1)/(x2-x1) dan intersep y adalah b=y1-mx1.

void Line_DDA(intx1, inty1, intx2, inty2)

{

floatdy= y2-y1;

floatdx = x2-x1;

floatm = dy/dx;

floaty = y1;

for (intx=x1; x<=x2; x++)

{

putpixel(x,round(y));

y += m;

}

}

c.         Algoritma Midpoint

Untuk menerapkan kriteria midpoint, kita hanya perlu menghitung

d = F(M) = F(xp+1, yp+0.5)

If d>0then

move to NE

else

move to E

Dari gambar diatas untuk memilih NE atau E yaitu dengan menghitung di mana sisi garis M terletak. y = dy/dx * x + b

Oleh karena itu :

F(x,y) = dy*x – dx*y + b*dx = 0

                                  0 à tepat di garis

F(x,y) =                   >0 à di bawah garis

<0 à di atas garis

Jika E maka :

dnew = F(xp+2,yp+0.5) = dy*(xp+2) – dx*(yp+0.5) + b*dx

Δd = dnew – d = dy

dnew = d + Δd = d + dy

Jika NE maka :

dnew = F(xp+2,yp+1.5) = dy*(xp+2) –dx*(yp+1.5) + b*dx

Δd = dnew – d = dy – dx

dnew = d + Δd = d + dy – dx

3.            Rasterization Polygon

Langkah pertama rasterization poligon adalah untuk menentukan apakah poligon back facing atau front facing. Aturan untuk menetukan fragmen yang dihasilkan oleh rasterization disebut titik sampling. Fragmen pusat yang berada di dalam poligon ini diproduksi ole rasterization. Perlakuan khusus diberikan kepada sebuah fragmen yang pusatnya terletak di tepi batas poligon.

Poligon stippling bekerja dengan banyak cara yang sama sebagai garis stippling, maskinh fragmen tertentu yang dihasilkan oleh rasterization sehingga mereka tidak dikirim ke tahap GL berikutnya. Hal ini terlepas dari keadaan poligon antialiasing.

·         Polygon Convex

Untuk poligon convex pertama yang harus dilakukan adalah cari vertex atas dan vertex bawah. Kemudian list edge yang berada di sepanjang sisi kiri dan kanan. Untuk setiap scan line dari atas ke bawah, cari jarak antara endpoint kiri dan kanan (xl,xr) kemudian isi pixelnya.

·         Poligon Concave

Ada tiga pendekatan yang bisa digunakan. Yang pertama adalah dengan even-odd rule yang mana untuk setiap scan linenya kita perlu mencari semua scan line atau interseksi poligon. Kemudian urutkan dari kiri ke kanan dan mengisikan rentang interior diantara interseksi. Pendekatan keduua adalah dengan winding rule yang berorientasi garis.

                   

Perbedaan even-odd rule dan winding rule :

                   

Perbedaan hanya terdapat di interseksi polygon itu sendiri

4.            Resterization Antialiasing

Antialiasing poligon merester poligon dengan memproduksi sebuah fregmen dimanapun interior poligon persegi berpotongan. Sebuah datum yang terkait ditugaskan untuk fragmen dengan mengintegrasikan nilai datum yang sama dengan wilayah intersect dari fragmen persegi dengan interior poligon dan membagi nilai integrasi dengan wilayah intersect. Untuk fragmen persegi berada sepenuhnya di dalam poligon. Nilai suatu datum di pusat fragmen mungkin digunakan sebagai pengganti mengintegrasikan nilai seluruh fragmen.

Ada dua algoritma yaitu Algoritma Bresenham (Aliased-line) yang mana hanya satu point di setiap kolom dan Algoritma Grupta-Sproull (Antialiased-line) yang mana intensitas point tergantung oleh jangkauan garis piksel.

METODE HIDDEN SURFACE REMOVAL

1.       Algoritma Z Buffer

Algoritma Depth Buffer mempergunakan image space sebagai dasar proses perhitungan tampak atau tidaknya permukaan suatu objek. Algoritma ini menguji tampak atau tidaknya setiap pixel pada suatu permukaan objek yang satu terhadap permukaan objek yang lain dan harga permukaan yang paling dekat dengan bidang pandang yang akan tersimpan dalam Depth Buffer dan selanjutnya harga intensitas warna dari permukaan pixel tersebut disimpan di dalam Refresh Buffer atau algoritma Depth Buffer ini akan menampilkan bagian permukaan objek berdasarkan posisi z yang paling dekat dengan bidang pandang dengan proyeksi orthogonal atau proyeksi tegak lurus.

Pada gambar 1 memperlihatkan tiga permukaan bidang pada berbagai kedalaman z dengan posisi (x,y) yang sama untuk setiap permukaan. Sedangkan pada gambar 2 dapat dilihat bahwa permukaan S1 mempunyai harga z terkecil pada posisi (x,y) sehingga harga z disimpan pada Depth Buffer dan harga intensitas S1 pada (x,y) disimpan pada Refresh Buffer. Jadi, algoritma ini membutuhkan dua buffer untuk implementasinya.

Langkah-langkah algoritma Depth Buffer adalah sebagai berikut

1.       Inisialisasi Depth Buffer dan refresh Buffer sehingga untuk semua koordinat posisi (x,y) depth (x,y) = 0 dan refresh (x,y) = background.

2.       Untuk setiap posisi pada permukaan, bandingkan harga kedalaman terhadap harga yang tersimpan pada Depth Buffer untuk menentukan penampakan.

a.     Hitung harga z untuk setiap posisi (x,y) pada permukaan.

b.    jika z>depth (x,y), masukkan depth (x,y) = z dan refresh (x,y) = i, dimana i adalah harga dari intensitas pada posisi (x,y) di atas permukaan.

Pada langkah terakhir, jika z lebih kecil dari harga Depth Buffer untuk posisi tersebut, titik tidak tampak. Depth Buffer berisi harga z untuk permukaan yang tampak dan Refresh Buffer berisi hanya harga intensitas.

Alur proses Hidden Surface Removal dengan menggunakan algoritma Z buffer adalah sebagai berikut

·                        Menginisialisasi isi Buffer

·                        Melakukan uji penampakan keseluruhan bagian permukaan setiap link mulai dari awal link hingga akhir link sebanyak satu kali

·                        Memindahkan/menampilkan seluruh isi Z buffer

2.       Algoritma Scan-Line

Algoritma Scan-Line digunakan untuk memecahkan masalah penggunaan memori yang besar dengan satu baris scan untuk memproses semua permukaan objek. Algoritma melakukan scan dengan arah sumbu y sehingga memotong semua permukaan bidang dengan arah sumbu x dan z dan membuang garis-garis yang tersembunyi. Pada setiap posisi sepanjang baris scan, perhitungan kedalaman dibuat untuk setiap permukaan untuk menentukan mana yang terdekat dari bidang pandang. Ketika permukaan yang tampak sudah ditentukan, harga intensity dimasukkan ke dalam buffer.

Alur proses algoritma Scan Line secara garis besar adalah sebagai berikut

·         Menginisialisasi Buffer secara berulang

·         Melakukan scan baris yang diperlukan. Berpindah dari awal link ke akhir link sebanyak Ymaks – Ymins.

·         Memindahkan/menampilkan isi buffer satu baris secara berulang.

3.       Analisis
Dari segi penggunaan memori, untuk algoritma z buffer, memori yang diperlukan adalah sebesar bidang layar yang akan digambar dikali dengan besar variabel kedalaman z dan warna. Sebagai contoh, proses Hiddden Surface removeal dilakukan pada layar dengan bidang berukuran 640 x 680 pixel. Untuk z buffer diperlukan daerah pada memori dengan ukuran 640 X 680 * 6 byte sama dengan 1843200 byte (1,8 MB). Sedangkan untuk scan line memori yang diperlukan adalah sebesar jumlah kolom bidang layar yang akan digambar dikalikan dengan besar variabel kedalaman dan warna. Untuk buffer scan depth hanya diperlukan 640*6 = 3840 byte (3,75 Kb). Dengan dimensi yang sama maka dibutuhkan 640*4 byte (ukuran tiap integer variabel warna) sama dengan 6400 byte (2,5 Kb). Jadi total hanya membutuhkan 6400 Kb (6,25).
Untuk analisis perbandingan kecepatan dapat dilihat pada tabl di bawah ini

DAFTAR PUSTAKA
http://caig.cs.nctu.edu.tw/course/CG2007/slides/raster.pdf
http://www.opengl.org/documentation/specs/version1.1/glspec1.1/node41.html
http://reference.findtarget.com/search/Hidden%20surface%20determination/
http://cs.fit.edu/~wds/classes/graphics/Rasterize/rasterize/rasterize.html
http://en.wikipedia.org/wiki/Rasterisation
http://meilgrafico.wordpress.com/2010/10/30/computer-graphics-clipping-algoritm/
Diktat Kuliah Grafika Komputer BAB IV Clipping

MAKALAH APLIKASI KOMPUTER

KELOMPOK IV
MAKALAH APLIKASI KOMPUTER




DOSEN PEMBIMBING
FITRIA KURNIA S.KOM


DISUSUN OLEH

Robbi Muhammadullah (Z09081098)

UNIVERSITAS ISLAM NEGERI SUSQA RIAU
FAKULTAS SAINS DAN TEKNOLOGI
TEKNIK INFORMATIKA
2008/2009

KATA PENGANTAR
Puji syukur kehadirat Allah SWT, karena dengan rahmat dan hidayah-Nyalah penulis dapat menyelesaikan makalah ini tepat pada waktunya. Shalawat beriring salam selalu kita panjatkan kepada Rasullullah SAW, karena kegigihan beliau dan ridho-Nyalah kita dapat merasakan kenikmatan dunia seperti sekarang ini.
Adapun tujuan dari penulisan makalah ini adalah untuk memenuhi tugas yang diberikan olah dosen pembimbing pada bidang studi Pengantar Teknologi Informasi, makalah ini juga bertujuan untuk menambah pengetahuan dan wawasan bagi pembaca sekalian.
Penulis mengucapkan terimakasih kepada Ibu Fitria Kurnia S.KOM selaku dosen pembimbing mata kuliah Pengantar Teknologi Informasi yang telah membimbing penulis dalam menyelesaikan penulisan makalah ini tepat waktunya. Penulis juga mengucapkan terimakasih kepada semua pihak yang telah memberikan sembangsihnya dalam penulisan makalah ini.
Penulis menyadari bahwasanya makalah ini masih jauh dari kesempurnaan, oleh karena itu kritik dan saran penulis harapkan dari pembaca sekalian demi terciptanya kesempurnaan dalam penyusunan makalah ini. Semoga makalah ini bermanfaat bagi yang memerlukan. Terima kasih.


Pekanbaru, 14 Januari 2009


Penulis


BAB I
PENDAHULUAN

1.1 Tujuan
1. Mengenal Information System Strategy
2. Mengenal Data Warehouse
3. Mengenal Geographical Information System
4. Mengenal Exploration dan Production Application
5. Mengenal Knowledge Management
6. Mengenal E - Commerce
7. Mengenal E - Learning


BAB II
PEMBAHASAN

Aplikasi Komputer atau Aplikasi Software adalah Program komputer yang ditulis dalam suatu bahasa pemrograman dan dipergunakan untuk menyelesaikan masalah tertentu.
Contoh aplikasi computer :
• Aplikasi Grafik
Aplikasi komputer grafik awal perkembangannya dimulai pada akhir tahun 1950-an dan awal 1960-an. Merupakan suatu program komputer yang digunakan dengan menarik sebuah gambar yang memberikan dimensi baru pada bidang komputer saat itu.
Ada 2 cara nyata yang dapat memasukkan informasi grafik ke dalam komputer menjadi suatu aplikasi, yaitu :
*Direct Programming Graphics, dengan menuliskannya ke dalam bahasa pemrograman.
*Digitizing (or Graphics) Tablets, dengan menggunakan mouse.
• Animasi
Merupakan bentuk seni yang tampak secara spontan menimbulkan gerakan kehidupan pada suatu obyek. Untuk mencapai efek tersebut, animator harus membangun rangkaian frame/gambar dari sebuah subyek, yang setiap frame berikutnya sedikit berbeda dari frame sebelumnya.
Sebenarnya terdapat beberapa fungsi yang berbeda untuk menghasilkan animasi berbasis komputer dan satu daripadanya ialah animasi tiga dimensi (3D). Satu daripada tekniknya ialah dengan mencipta objek yang kemudian disesuaikan dan digerakkan, di mana akhirnya akan menghasilkan animasi 3D yang lengkap. Fungsi lain untuk mencipta animasi komputer ialah dengan menggunakan alat pengecatan komputer yang standard untuk mengecat frame-frame tunggal sebelum dilakukan proses penggabungan. Ini kemudian disimpan sebagai sebuah file gambar (movie).
• Aplikasi Web
Merupakan bagian dari internet sebagai komunitas jaringan komputer yang memberikan pelayanan http (world wide web). Dengan demikian, definisi teknis dari world wide web adalah semua sumber daya dan semua pengguna di intenet yang menggunakan HTTP (Hypertext Transfer Protocol).
WWW adalah aplikasi yang paling menarik di Internet dan seperti email, aplikasi ini sangat penting dan banyak digunakan. Aplikasi ini kadang disebut "The Killer Application" atau "the world is at your fingertip" karena kita bisa mendapatkan hasil dengan begitu mudah dan bukan sekadar teks yang bisa kita dapatkan namun gambar (images), maupun multimedia.
• Aplikasi Pendidikan
* Computer Assisted Instruction (CAI)
Komputer secara langsung digunakan dalam proses belajar, sebagai pengganti pengajar ataupun buku.
Beberapa aplikasi CAI adalah :
- Drill and Practice
- Tutorial
- Simulasi
* Computer Managed Instruction (CMI)
Para pengajar memanfaatkan komputer untuk merencanakan kuliah, disesuaikan dengan kondisi para siswa, yang terdiri dari acara belajar dengan bantuan komputer, membaca, dan ujian.
• DBMS
Komputer juga dapat digunakan secara efektif dalam bisnis managemen. Melalui komputerisasi data base management system (DBMS) dan SIM, seorang manajer atau eksekutif perusahaan dapat dibantu dalam membuat keputusan tentang seluruh operasi bisnisnya dan dapat memberikan bimbingan dan instruksi kepada bawahannya.
• Aplikasi untuk kelas tertentu
- Air Traffic Control System
- Airline Reservation Systems
• Aplikasi bisnis / perkantoran
Setiap bisnis, besar atau kecil, memproses sejumlah data yang besar dalam operasi hariannya. Data diperoleh dari payroll, faktur customer dan rekening keuangan, inventaris manajemen, dan rekening biaya customer yang semuanya harus dikalkulasi, disimpan, diklasifikasikan, disortir, diretriev, diproses kembali, dilaporkan, dikomunikasi dan disebarkan pada suatu waktu. Pemrosesan data seperti itu dikenal sebagai Business Data Processing atau Data Processing (DP). Jika pemrosesan ini dilakukan dengan komputer, hal ini dikenal dengan Electronic Data Processing (EDP).

2.1 Information System Strategy
Suatu system Informasi strategi adalah suatu tujuan dengan statement directional dan meliputi petunjuk terperinci yang menyediakan kerangka strategi yang operasional dan praktis dalam pengambilan keputusan.
Membangun SIS : Menetapkan Proses Yang Efektif
• Proses memutuskan sasaran organisasi SI dan mengidentifikasikan aplikasi SI potensial yang harus diimplementasikan oleh organisasi secara keseluruhan. (Lederer & Sethi)
• Proses identifikasi portofolio aplikasi berbasis komputer untuk diselaraskan dengan strategi perusahaan dan memiliki kemampuan untuk menciptakan keunggulan atas para pesaing.
Sasaran Umum SIS :
• Penyelarasan SI dengan bisnis guna mengidentifikasikan di mana SI memberi kontribusi paling besar, dan penentuan prioritas investasi.
• Memperoleh keunggulan kompetitif dari peluang bisnis yang diciptakan dengan memanfaatkan SI.
• Membangun infrastruktur masa depan yang fleksibel dan hemat biaya
• Memperkuat sumber daya dan kompetisi dalam memanfaatkan SI dengan sukses di organisasi.
Proses Strategi SI
Proses Strategi SI mengacu pada formulasi dan perencanaan. Sementara strategi SI menentukan perencanaan SI, membangun rencana SI dapat membuka berbagai aspek yang menyebabkan strategi SI harus diperiksa ulang.

Evolusi Proses SIS
- Tahap 1 : Perencanaan Data Processing
- Tahap 2 : Kesadaran manajemen untuk memformulasikan strategi SI.
- Tahap 3 : Perencanaan strategi SI secara detil
- Tahap 4 : Pengguna memegang kendali, munculnya ide inovasi.
- Tahap 5 : Menghubungkan potensi SI dengan strategi bisnis.
Pendekatan Pengembangan SIS
* Business led : dilakukan oleh spesialis TI, mendefinisikan rencana investasi SI berdasarkan strategi bisnis yang ada.
* Method driven : penggunaan teknik tertentu untuk mengidentifikasikan kebutuhan SI dengan menganalisis proses bisnis.
* Technological : perencanaan SI dilihat sebagai latihan dalam proses dan pemodelan informasi, menggunakan alat pemodelan untuk menghasilkan rencana SI yang dituangkan dalam Blueprint
* Administrative : sasaran utamanya menentukan anggaran TI dan biaya serta rencana sumber daya yang dibutuhkan untuk membangun SI yang telah disetujui.
* Organizational : investasi SI didasarkan pada consensus bisnis tentang bagaimana SI dapat membantu pencapaian sasaran bisnis.
Tahap –tahap Kedewasaan Perencanaan SIS

2.2 Data Warehouse
Data Warehouse adalah sebuah system yang terdiri dari beberapa proses dan database yang digunakan untuk menyediakan infrastruktur data bagi EIS dan DSS. Data Warehouse diorganisasikan oleh data subjek yang terkait dengan organisasi. Contohnya : Costumer, Claim, Shiftment, Product.
Data Warehousing Adalah Sebuah Proses
* Dinamika fundamental pada inti dari data warehouse
Pendukung keputusan adalah sebuah proses pembelajaran
1. Data pada warehouse mengubah pengertian pengguna terhadap pekerjaan mereka.
2. Dengan berubahnya pengertian mereka, keperluan informasi mereka juga berubah.
3. Dengan berubahnya keperluan informasi mereka, data warehouse juga berubah.
4. Kembali ke nomor 1.
Teknik Data Warehouse
1. Pengidentifikasian Keperluan
• Suatu hal yang sangat sulit
* Keperluan pengguna
* Ketersediaan data
• Laporan yang sudah ada dapat ditiru
• Wawancara dengan pengguna
• Pekerjaan menerka secara intelligent oleh analis yang berilmu
• Sekali sistem dibangun maka semua jenis keperluan akan muncul
* Feedback sangat diperlukan
Pengambilan, Transformasi dan Penyimpanan Data
Sebagian besar usaha, waktu dan biaya muncul di sini
• Tool ETL untuk pengambilan, transformasi dan penyimpanan sudah dipasarkan tapi sedikit yang memakai
• Untuk ETL yang dirancang sendiri, secara rata-rata untuk setiap data warehouse (menurut survey):
 Pengambilan –16 program/875 baris per program
 Transformasi –12 program/741 baris per program
 Pengecekan integritas –9 program/522 baris per program
• Mengidentifikasikan data yang berubah sangat sulit
 Disebut dengan Changed Data Capture (CDC)
 Banyak yang melakukan refresh lengkap
2. Pengambilan Data Produksi
• Pengambilan utama
 Memerlukan data dengan format yang sudah ada
• Mengidentifikasikan records baru dan yang sudah berubah
• Mengeneralisasikan kunci untuk mengubah dimensi
• Mentransformasikan ke load record image
• Migrasi dari sistem yang sudah ada ke sistem data warehouse
• Melakukan sorting dan membangun agregat
• Mengeneralisasikan kunci untuk agregat
• Menyimpan dan melakukan indexing
• Perkecualian proses
 Menjamin integritas keterkaitan
• Jaminan kualitas
• Mempublikasikan
3. Pengambilan Data Utama
• Memerlukan koneksi fisik untuk sistem sumber
 Keamanan
 FT
 Manajemen pergerakan volume data dalam jumlah besar
• Memerlukan definisi format yang sudah ada dan pengertian bagaimana sistem tersebut bekerja
4. Arsitektur Warehouse
Opsi Utama:
• Data Warehouse Perusahaan
  • Sumber data terpusat
  • Besar dalam hal scope dan terkadang ukuran
  • Mengoptimalkan proses pengambilan
  • Memaksimalkan keuntungan pengintegrasian
  • Cara pandang pengguna
  • Sulit untuk memenuhi keperluan kelompok pengguna yang berbeda
  • Proyek sering gagal


• Data Mart yang mempunyai ketergantungan
 Sebagian dari data diambil dari data warehouse perusahaan dan diorganisasikan untuk memenuhi keperluan bisnis dan aplikasi
 Umumnya data warehouse perusahaan dalam bentuk 3NF
 Data Mart di-de-normalisasikan
 OLAP sebagai contohnya
 Dalam kenyataannya, sulit untuk mendapatkan semua data yang diperlukan dari penyimpan data perusahaan
 Pendekatan paling umum (secara teori)


• Data Mart yang berdiri sendiri
 Banyak data warehouse kecil di berbagai tempat
 Umumnya mengikuti pendekatan berdimensi
 Kurang integrasi
 Tidak konsisten
 Duplikasi sumber data
 Hal yang paling menyulitkan
 Tapi bisa digunakan
  • Masalahnya adalah dalam jangka waktu menengah maupun panjang



5. Perancangan Database secara Fisik
Hal-hal yang perlu untuk dipikirkan:
• Standar
• Lokasi file secara fisik
• Volume data
 Index, agregat, dan detail data
• Kelangkaan data
• Konfigurasi disk
• Pola penggunaan
• Jumlah dan distribusi pengguna
• Frekuensi update
• Kemampuan pengembangan
 Data, penggunaan dan query
6. Policy untuk operasional
• Manajemen dengan ritme harian untuk data load dan query
 Policies untuk semua hal yang berbeda yang dapat menjadi masalah dalam proses data load
 Data warehouse sebagai sistem yang amburadul
• Manajemen untuk performance query
 Mengatur indes, agregat, partisi untuk memastikan waktu respon yang baik

Struktur Data Warehouse





2.3 Geographical Information System
Definisi SIG menurut para ahli:
1.Menurut Aronaff, 1989.
SIG adalah sistem informasi yang didasarkan pada kerja komputer yang memasukkan, mengelola, memanipulasi dan menganalisa data serta memberi uraian.
2.Menurut Barrough, 1986.
SIG merupakan alat yang bermanfaat untuk pengumpulan, penimbunan, pengambilan kembali data yang diinginkan dan penayangan data keruangan yang berasal dari kenyataan dunia.
3.Menurut Marble et al, 1983.
SIG merupakan sistem penanganan data keruangan.
4.Menurut Berry, 1988.
SIG merupakan sistem informasi, referensi internal, serta otomatisasi data keruangan.
5.Menurut Calkin dan Tomlison, 1984.
SIG merupakan sistem komputerisasi data yang penting.
6.Menurut Linden, 1987.
SIG adalah sistem untuk pengelolaan, penyimpanan, pemrosesan (manipulasi), analisis dan penayangan data secara spasial terkait dengan muka bumi.
7.Menurut Petrus Paryono.
SIG adalah sistem berbasis komputer yang digunakan untuk menyimpan, manipulasi dan menganalisis informasi geografi.
Dari definisi-definisi di atas dapat disimpulkan bahwa:
SIG merupakan pengelolaan data geografis yang didasarkan pada kerja computer (mesin).
Sumber Informasi Geografi
Sumber informasi geografi selalu mengalami perubahan dari waktu ke waktu (bersifat dinamis), sejalan dengan perubahan gejala alam dan gejala sosial. Dalam geografi, informasi yang diperlukan harus memiliki ciri-ciri yang dimiliki ilmu lain, yaitu:
1.Merupakan pengetahuan (knowledge) hasil pengalaman.
2.Tersusun secara sistematis, artinya merupakan satu kesatuan yang tersusun secara berurut dan teratur.
3.Logis, artinya masuk akal dan menunjukkan sebab akibat.
4.Objektif, artinya berlaku umum dan mempunyai sasaran yang jelas dan teruji.
Selain memiliki ciri-ciri tersebut di atas, geografi juga harus menunjukkan ciri spasial (keruangan) dan regional (kewilayahan). Aspek spasial dan regional merupakan ciri khas geografi, yang membedakannya dengan ilmu-ilmu lain.
Karena geografi merupakan kajian ilmiah mengenai gejala alam dan sosial dari sudut pandang spasial dan regional, maka informasi geografi bersumber dari :
1. Gejala-gejala litosfer
Gejala-gejala ini meliputi relief dan topografi, jenis tanah dan batuan, serta system


Peta tersebut menggambarkan tentang persebaran jenis tanah di Indonesia berdasarkan proses terjadinya. Berdasarkan keterangan peta:
a.putih, tanah vulkanik yaitu tanah ini banyak dipengaruhi oleh vulkanik (letusan gunung api).
b.agak hitam, tanah non vulkanik yaitu tanah yang terbentuk pada zaman tertier (akibat pelapukan).
c.hitam, tanah rawa (aluvial) yaitu tanah yang terbentuk dari hasil sedimentasi (pengendapan), umumnya berada di kawasan pantai landai.
2. Gejala-gejala hidrosfer
Gejala-gejala ini meliputi peristiwa-peristiwa yang berkaitan dengan kawasan perairan, baik perairan darat maupun perairan laut, yang menyangkut bentuknya, sifatnya serta fenomena lain tentang perairan. Contoh informasi geografi yang. berasal dari gejala hidrosfer.


Berdasarkan keterangan peta:
a. agak hitam, daerah dangkalan Sunda yaitu meliputi laut-laut dangkal yang berada di sekitar laut Sumatera, Jawa dan Kalimantan, serta pulau-pulau kecil di sekitar ketiga pulau tersebut.
b. hitam, daerah dangkalan Sahul yaitu meliputi laut-laut dangkal yang berada di sekitar pulau Irian dan pulau-pulau kecil di sekitar pulau Irian.
3. Gejala-gejala atmosfer
Gejala ini berkaitan dengan informasi tentang cuaca dan iklim, termasuk unsur-unsurnya dan faktor yang mempengaruhinya. Contoh informasi geografi yang berasal dari gejala atmosfer. 


4. Gejala-gejala biosfer
Gejala biosfer berkaitan dengan tumbuhan, hewan dan manusia, yang sangat dipengaruhi oleh unsur litosfer, hidrosfer dan atmosfer. Contoh informasi geografi yang berasal dari gejala biosfer adalah persebaran sumber daya alam hayati (hidup) Indonesia.


5. Gejala-gejala sosial budaya
Gejala ini berkaitan dengan kehidupan masyarakat antara lain kemajuan ilmu pengetahuan dan teknologi yang semakin pesat. Contoh gejala sosial budaya yang merupakan sumber informasi geografi, yaitu persebaran obyek wisata kabupaten


Untuk memperoleh informasi (data), dilakukan survey (penelitian) baik melalui jelajah lapangan (pengamatan langsung objek), maupun melalui wawancara langsung maupun tidak langsung (menggunakan angket). Tetapi jelajah lapangan mengalami banyak kendala (hambatan), yaitu biaya yang mahal, tenaga yang banyak dan sulit menjangkau medan.
Semua kendala ini dapat diatasi dengan memanfaatkan teknik penginderaan jauh, yaitu pemotretan dari udara.

Komponen-komponen dalam SIG
1.Perangkat keras (Hardware)
Perangkat keras: berupa komputer beserta instrumennya (perangkat pendukungnya). Data yang terdapat dalam SIG diolah melalui perangkat keras. Perangkat keras dalam SIG terbagi menjadi tiga kelompok yaitu:
a.Alat masukan (input) sebagai alat untuk memasukkan data ke dalam jaringan komputer. Contoh: Scanner, digitizer, CD-ROM.
b.Alat pemrosesan, merupakan sistem dalam komputer yang berfungsi mengolah, menganalisis dan menyimpan data yang masuk sesuai kebutuhan, contoh: CPU, tape drive, disk drive.
c.Alat keluaran (ouput) yang berfungsi menayangkan informasi geografi sebagai data dalam proses SIG, contoh: VDU, plotter, printer.


Data dasar geografi melalui unit masukan (digitizer, scanner, CD-ROM) dimasukkan ke komputer. Data yang telah masuk akan diolah melalui CPU (pusat pemrosesan data), dan CPU ini dihubungkan dengan:
a.Unit penyimpanan (disk drive, tape drive) untuk disimpan dalam disket.
b.Unit keluaran (printer, plotter) untuk dicetak menjadi data dalam bentuk peta.
c.VDU (layar monitor) untuk ditayangkan agar dapat dikontrol oleh para pemakai
dan programmer (pembuat program).
Alat-alat :
1. Scanner: alat untuk membaca tulisan pada sebuah kertas atau gambar.
2. CD-ROM: alat untuk menyimpan program.
3. Digitizer: alat pengubah data asli (gambar) menjadi data digital (angka).
4. Plotter: alat yang mencetak peta dalam ukuran relatif besar.
5. Printer: alat yang mencetak data maupun peta dalam ukuran relatif kecil.
6. CPU: (Central Processing Unit) pusat pemrosesan data digital.
7. VDU: (Visual Display Unit) layar monitor untuk menayangkan hasil
pemrosesan.
8. Disk drive: bagian CPU untuk menghidupkan program.
9. Tape drive: bagian CPU untuk menyimpan program.

2.Perangkat lunak (software)
Perangkat lunak, merupakan sistem modul yang berfungsi untuk memasukkan, menyimpan dan mengeluarkan data yang diperlukan.

3.Intelegensi manusia (brainware)
Brainware merupakan kemampuan manusia dalam pengelolaan dan pemanfaatan SIG secara efektif. Bagaimanapun juga manusia merupakan subjek (pelaku) yang mengendalikan seluruh sistem, sehingga sangat dituntut kemampuan dan penguasaannya terhadap ilmu dan teknologi mutakhir. Selain itu diperlukan pula kemampuan untuk memadukan pengelolaan dengan pemanfaatan SIG, agar SIG dapat digunakan secara efektif dan efisien. Adanya koordinasi dalam pengelolaan SIG sangat diperlukan agar informasi yang diperoleh tidak simpang siur, tetapi tepat dan akurat. Berikut ini disajikan skema dari komponen-komponen
dalam SIG.


2.4 Exploration dan Production Application
E&P information system dimulai sekitar akhir tahun 70an. Pada waktu itu ditujukan untuk pengolahan data explorasi dibeberapa perusahaan minyak. Konsep dasar E&P Information system adalah memanfaatkan teknologi computer untuk mendukung upaya-upaya pencarian minyak dan gas dengan mengambil alih secara optimal.
Sebagai contoh, jika dilakukan secara manual sebuah proses mungkin membutuhkan waktu 4-5 bulan, tetapi dengan memanfaatkan teknologi computer proses tersebut bias diselesaikan dalam waktu tidak lebih dari satu hari dan keakuratannya jauh lebih tinggi.
E&P information system mampu untuk memvisualisasikan keadaan bawah permukaan bumi secara tiga dimensi. Hasil-hasil yang diperoleh dengan memanfaatkan E&P information system sangat menakjubkan kalangan industry perminyakan, sehingga mendorong para ahli teknologi informasi bersama sama geoscientist dan engineer secara terus menerus berupaya mencari solusi dan inovasi baru yang bisa digunakan untuk mengoptimalkan eksplorasi dan produksi gas.

2.5 Knowledge Management
Knowledge Management (KM), bisa kita artikan dengan manajemen pengetahuan. Manajemen ialah suatu cara untuk merencanakan, mengumpulkan dan mengorganisir, memimpin dan mengendalikan sumber daya untuk suatu tujuan. Sedangkan pengetahuan adalah data dan informasi yang digabung dengan kemampuan, intuisi, pengalaman, gagasan, motivasi dari sumber yang kompeten. Sumber pengetahuan bisa berupa banyak bentuk, misalnya: koran, majalah, email, e-artikel, mailing list, e-book, kartu nama, iklan, dan manusia.
Jadi untuk pengertian manajemen pengetahuan adalah merencanakan, mengumpulkan dan mengorganisir, memimpin dan mengendalikan data dan informasi yang telah digabung dengan berbagai bentuk pemikiran dan analisa dari macam-macam sumber yang kompeten.
Menurut www.km-forum.org, KM adalah suatu disiplin ilmu yang digunakan untuk meningkatkan performa seseorang atau organisasi, dengan cara mengatur dan menyediakan sumber ilmu yang ada saat ini dan yang akan datang. Jadi KM bukanlah suatu fenomena baru, tetapi merupakan suatu cara yang menerapkan integrasi antara teknologi dengan sumber pengetahuan yang kompeten.
Mengatur suatu pengetahuan adalah suatu kebiasaan atau habit. Ketika suatu proses, keadaan dan aktivitas suatu bisnis para pelaku KM cenderung menggunakan suatu metode dalam menganalisanya. Dalam proses analisa terdapat sesuatu yang dinamakan siklus/aliran pengetahuan (knowledge flow).


Dalam sebuah program KM, yang menjadi poinnya adalah sistem pencarian yang akurat. Ada beberapa software yang telah mendukung KM antara lain: Lotus Notes, Phpgroupware, Phproject, dan MS Project.

2.6 E – Commerce
E-Commerce adalah segala bentuk kegiatan pembelian dan penjualan, pemasaran produk, jasa, dan informasi yang dilakukan secara elektronis. Domain e- commerce berupa B2B, B2C, C2B, dan C2C.
Business – to – business (B2B)
B2B menyatakan bentuk jual-beli produk atau jasa yang melibatkan dua atau beberapa perusahaan dan dilakukan secara elektronis.
Keuntungan :
1. Mempercepat transaksi penjual dan pembeli
2. Menurunkan biaya transaksi kedua belah pihak
3. Menciptakan pasar baru tanpa dibatasi oleh wilayah geografis.
4. Meningkatkan komunikasi dan kolaborasi antara penjual dan pembeli.
Business – to – Consumer (B2C)
Adalah bentuk jual-beli produk yang melibatkan perusahaan penjual dan consumer akhir yang dilakukan secara elektronis.
Consumer – to – Consumer (C2C)
C2C menyatakan model perdagangan yang terjadi antara konsumen dengan konsumen yang dilakukan secara elektronis.
Consumer – to – Business (C2B)
Beberapa situs telah berinisiasi untuk mendukung bisnis yang berbasiskan konsumen ke pebisnis (C2B). Sebagai contoh, Priceline.com merupakan situs yang memungkinkan seseorang menjual rumah ke perusahaan ini. Dalam hal ini, internet dapat digunakan sebagai sarana untuk negosiasi.
Dampak Positive E-Commerce
1. Revenue Stream (aliran pendapatan) baru yang mungkin lebih menjanjikan yang tidak bisa ditemui di sistem transaksi tradisional.
2. Dapat meningkatkan market exposure (pangsa pasar).
3. Menurunkan biaya operasional (operating cost).
4. Melebarkan jangkauan (global reach).
5. Meningkatkan customer loyality.
6. Meningkatkan supplier management.
7. Memperpendek waktu produksi.
8. Meningkatkan value chain (mata rantai pendapatan).
Dampak negatif E-Commerce
1. Kehilangan segi finansial secara langsung karena kecurangan. Seorang penipu mentransfer uang dari rekening satu ke rekening lainnya atau dia telah mengganti semua data finansial yang ada.
2. Pencurian informasi rahasia yang berharga. Gangguan yang timbul bisa menyingkap semua informasi rahasia tersebut kepada pihak-pihak yang tidak berhak dan dapat mengakibatkan kerugian yang besar bagi si korban.
3. Kehilangan kesempatan bisnis karena gangguan pelayanan. Kesalahan ini bersifat kesalahan non-teknis seperti aliran listrik tiba-tiba padam.
4. Penggunaan akses ke sumber oleh pihak yang tidak berhak. Misalkan seorang hacker yang berhasil membobol sebuah sistem perbankan. Setelah itu dia memindahkan sejumlah rekening orang lain ke rekeningnya sendiri.
5. Kehilangan kepercayaan dari para konsumen. Ini karena berbagai macam faktor seperti usaha yang dilakukan dengan sengaja oleh pihak lain yang berusaha menjatuhkan reputasi perusahaan tersebut.
6. Kerugian yang tidak terduga. Disebabkan oleh gangguan yang dilakukan dengan sengaja , ketidakjujuran , praktek bisnis yang tidak benar , kesalahan faktor manusia , kesalahan faktor manusia atau kesalahan sistem elektronik.
Security Beberapa metode pengamanan data dalam transaksi E-Commerce:
Kriptografi Public Key : merupakan sistem asimetris (tidak simetris) menggunakan beberapa key untuk pengenkripsian yaitu public key untuk enkripsi data dan private key untuk dekripsi data. Public key disebarkan ke seluruh dunia sementara private key tetap disimpan. Siapapun yang memiliki public key tersebut dapat mengenkripsi informasi yang hanya dapat dibaca oleh seseorang yang memiliki private key walaupun anda belum pernah mengenal bahkan tidak tahu sama sekali siapa yang memiliki public key tersebut. Contoh : Elgamal , RSA , DSA. Keuntungan : memberikan jaminan keamanan kepada siapa saja yang melakukan pertukaran informasi meskipun diantara mereka tidak ada persetujuan mengenai keamanan data terlebih dahulu maupun saling tidak mengenal satu sama lain.

2.7 E – Learning
Sekilas perlu kita pahami ulang apa E-Learning itu sebenarnya. E-Learning adalah pembelajaran jarak jauh (distance Learning) yang memanfaatkan teknologi komputer, jaringan komputer dan/atau Internet. E-Learning memungkinkan pembelajar untuk belajar melalui komputer di tempat mereka masing-masing tanpa harus secara fisik pergi mengikuti pelajaran/perkuliahan di kelas. E-Learning sering pula dipahami sebagai suatu bentuk pembelajaran berbasis web yang bisa diakses dari intranet di jaringan lokal atau internet. Sebenarnya materi e-Learning tidak harus didistribusikan secara on-line baik melalui jaringan lokal maupun internet, distribusi secara off-line menggunakan media CD/DVD pun termasuk pola e-Learning. Dalam hal ini aplikasi dan materi belajar dikembangkan sesuai kebutuhan dan didistribusikan melalui media CD/DVD, selanjutnya pembelajar dapat memanfatkan CD/DVD tersebut dan belajar di tempat di mana dia berada.
Ada beberapa pengertian berkaitan dengan E-Learning sebagai berikut :
• Pembelajaran jarak jauh.
E-Learning memungkinkan pembelajar untuk menimba ilmu tanpa harus secara fisik menghadiri kelas. Pembelajar bisa berada di Semarang, sementara “instruktur” dan pelajaran yang diikuti berada di tempat lain, di kota lain bahkan di negara lain. Interaksi bisa dijalankan secara on-line dan real-time ataupun secara off-line atau archieved.
Pembelajar belajar dari komputer di kantor ataupun di rumah dengan memanfaatkan koneksi jaringan lokal ataupun jaringan Internet ataupun menggunakan media CD/DVD yang telah disiapkan. Materi belajar dikelola oleh sebuah pusat penyedia materi di kampus/universitas, atau perusahaan penyedia content tertentu. Pembelajar bisa mengatur sendiri waktu belajar, dan tempat dari mana ia mengakses pelajaran.
• Pembelajaran dengan perangkat komputer
E-Learning disampaikan dengan memanfaatkan perangkat komputer. Pada umumnya perangkat dilengkapi perangkat multimedia, dengan cd drive dan koneksi Internet ataupun Intranet lokal. Dengan memiliki komputer yang terkoneksi dengan intranet ataupun Internet, pembelajar dapat berpartisipasi dalam e-Learning. Jumlah pembelajar yang bisa ikut berpartisipasi tidak dibatasi dengan kapasitas kelas. Materi pelajaran dapat diketengahkan dengan kualitas yang lebih standar dibandingkan kelas konvensional yang tergantung pada kondisi dari pengajar.
• Pembelajaran formal vs. informal
E-Learning bisa mencakup pembelajaran secara formal maupun informal. E-Learning secara formal, misalnya adalah pembelajaran dengan kurikulum, silabus, mata pelajaran dan tes yang telah diatur dan disusun berdasarkan jadwal yang telah disepakati pihak-pihak terkait (pengelola e-Learning dan pembelajar sendiri). Pembelajaran seperti ini biasanya tingkat interaksinya tinggi dan diwajibkan oleh perusahaan pada karyawannya, atau pembelajaran jarak jauh yang dikelola oleh universitas dan perusahaan-perusahaan (biasanya perusahan konsultan) yang memang bergerak di bidang penyediaan jasa e-Learning untuk umum. E-Learning bisa juga dilakukan secara informal dengan interaksi yang lebih sederhana, misalnya melalui sarana mailing list, e-newsletter atau website pribadi, organisasi dan perusahaan yang ingin mensosialisasikan jasa, program, pengetahuan atau keterampilan tertentu pada masyarakat luas (biasanya tanpa memungut biaya).
• Pembelajaran yang ditunjang oleh para ahli di bidang masing-masing.
Walaupun sepertinya e-Learning diberikan hanya melalui perangkat komputer, e-Learning ternyata disiapkan, ditunjang, dikelola oleh tim yang terdiri dari para ahli di bidang masing-masing, yaitu:
1. Subject Matter Expert (SME) atau nara sumber dari pelatihan yang disampaikan
2. Instructional Designer (ID), bertugas untuk secara sistematis mendesain materi dari SME menjadi materi e-Learning dengan memasukkan unsur metode pengajaran agar materi menjadi lebih interaktif, lebih mudah dan lebih menarik untuk dipelajari
3. Graphic Designer (GD), mengubah materi text menjadi bentuk grafis dengan gambar, warna, dan layout yang enak dipandang, efektif dan menarik untuk dipelajari
4. Ahli bidang Learning Management System (LMS). Mengelola sistem di website yang mengatur lalu lintas interaksi antara instruktur dengan siswa, antarsiswa dengan siswa lainnya.
Di sini, pembelajar bisa melihat modul-modul yang ditawarkan, bisa mengambil tugas-tugas dan test-test yang harus dikerjakan, serta melihat jadwal diskusi secara maya dengan instruktur, nara sumber lain, dan pembelajar lain. Melalui LMS ini, siswa juga bisa melihat nilai tugas dan test serta peringkatnya berdasarkan nilai (tugas ataupun test) yang diperoleh.
E-Learning tidak diberikan semata-mata oleh mesin, tetapi seperti juga pembelajaran secara konvensional di kelas, e-Learning ditunjang oleh para ahli di berbagai bidang terkait. Keuntungan menggunakan e-learning diantaranya:
 menghemat waktu proses belajar mengajar
 mengurangi biaya perjalanan
 menghemat biaya pendidikan secara keseluruhan (infrastruktur, peralatan, buku)
 menjangkau wilayah geografis yang lebih luas dan melatih pelajar lebih mandiri dalam mendapatkan ilmu pengetahuan.

MAKALAH SISTEM OPERASI KOMPUTER

DISUSUN

OLEH

TULIS NAMA DAN NIM ANDA

UNIVERSITAS ANDA BERADA
FAKULTAS ANDA
JURUSAN ANDA
TAHUN PENYERAHAN TUGAS



1. Tujuan Topik

1.1 Mengenal komponen-komponen utama suatu Sistem Operasi komputer
1.2 Mengenal fungsi masing-masing komponen Sistem Operasi komputer
1.3 Mengenal jenis-jenis Sistem Operasi komputer

2. Pendahuluan

Sistem operasi dapat dikatakan adalah perangkat lunak yang sangat kompleks dan Sistem Operasi adalah kumpulan program-program (software/perangkat lunak) yang membantu para pemakai komputer untuk berkomunikasi dengan komputernya. Hal-hal yang ditangani oleh sistem operasi bukan hanya satu atau dua saja, melainkan banyak hal. Dari menangani perangkat keras, perangkat lunak atau program yang berjalan, sampai menangani pengguna. Hal tersebut menyebabkan sebuah sistem operasi memiliki banyak sekali komponen-komponen tersendiri yang memiliki fungsinya masing-masing. Seluruh komponen yang menyusun sistem operasi tersebut saling bekerjasama untuk satu tujuan, yaitu efisiensi kerja seluruh perangkat komputer dan kenyamanan dalam penggunaan sistem operasi.
Seandainya satu saja dari komponen-komponen tersebut tidak ada, bisa dipastikan sebuah sistem operasi tidak akan berjalan dengan maksimal. Bayangkan jika kita memiliki sistem operasi yang tidak memiliki kemampuan untuk menangani program-program yang berjalan sekaligus maka kita tidak akan bisa mengetik sambil mendengarkan lagu sambil berselancar di internet.

 Fungsi Sistem Operasi

 Sebagai Extended Machine (Virtual Machine)
 Menyembunyikan kompleksitas pemrograman hardware dari programmer atau user.
 Menyajikan fasilitas yang lebih mudah dan sederhana untuk menggunakan hardware.

 Sebagai Resource Manager
 Mengatur dan mengefisienkan penggunaan sumber daya komputer (computer resources)
 Tugas utamanya : memantau penggunaan semua resources; menerapkan aturan (policy); mengalokasikan resources yang diminta; mengambil kembali (dealokasi) resource


 Konsep Sistem Operasi

 Proses
 Proses adalah program yang sedang di-eksekusi.
 Proses terdiri dari : Executable program; Data dan stack; Program counter; dll
 Pada sistem timesharing secara periodik sistem operasi menggilir eksekusi proses-proses yang ada, biasanya berdasarkan porsi waktu CPU.
 Ketika suatu proses dihentikan untuk sementara, maka proses tersebut harus dimulai kembali pada state yang sama dengan state ketika ia dihentikan.
• Semua informasi yang berkaitan dengan proses tersebut harus disimpan. Umumnya informasi tersebut disimpan pada tabel proses (array atau linked list), satu tabel untuk setiap proses.
• Suatu proses terdiri dari : address space (core image) dan atribut / informasi pada tabel proses.
 System call utama dalam pengaturan proses adalah yang berkaitan dengan pembuatan dan pemberhentian suatu proses.
Contoh :
• Command interpreter atau shell akan membaca command yang diketikkan user pada terminal, dan membuat proses yang menjalankan command tersebut.
• Bila telah selesai, maka proses akan menjalankan system call untuk menghentikan dirinya.
 Suatu proses dapat men-create proses lainnya yang disebut sebagai child process.
 Sistem operasi dapat berkomunikasi dengan suatu proses dengan menggunakan signal.
 Signal juga dapat digunakan untuk komunikasi antar proses.
 Pada sistem multiprogramming, setiap proses memiliki user identification (uid) yang berasal dari uid pemilik proses.
 Files
Terdiri dari : Pathname; Working directory; rwx (read, write, execute) bits protection code; File descriptor / handle; Special file (block & character); Standard input; Standard output; Standard error; Pipe
 System Calls
 Suatu set ‘extended instructions’ yang merupakan interface antara program-program dengan sistem operasi.
 System calls meng-create, men-delete dan menggunakan objek-objek yang diatur oleh system operasi, antara lain : proses-proses dan file-file.
 Library procedure meletakkan parameter-parameter system call pada tempat tertentu dan memberikan instruksi trap untuk memulai sistem operasi
 Trap instruction : ketika diterima oleh sistem operasi, sistem memeriksa apakah parameter tersebut valid atau tidak
 Return form trap : sistem operasi mengembalikan kontrol ke library procedure
 Contoh mekanisme system calls:
Pada program C, system call untuk READ
count = read (file, buffer, nbytes)
 Shell
 Shell merupakan Unix command interpreter yang walaupun bukan merupakan bagian dari sistem operasi, menggunakan banyak feature sistem operasi
 Prompt : standar input, menandakan bahwa shell siap menerima command
Contoh :
date
date > file
sort < file1 > file2
cat file1 file2 file3 | sort > /dev/lp
 Background job : proses yang berjalan sementara user tetap bisa terus bekerja

 Struktur Sistem Operasi

 Sistem Monolitik
 Konsep : “Sistem operasi sebagai kumpulan prosedur dimana prosedur dapat saling dipanggil oleh prosedur lain di sistem bila diperlukan”.
 Kernel berisi semua layanan yang disediakan sistem operasi untuk pemakai.
Contoh : Sistem Operasi Unix menggunakan konsep kernel loadable modules, yaitu :
• Bagian-bagian kernel terpenting berada dimemori utama secara tetap.
• Bagian-bagian esensi lain berupa modul yang dapat ditambahkan ke kernel saat diperlukan dan dicabut begitu tidak digunakan lagi diwaktu jalan (run-time).
 The ‘big mess’
 Tidak berstruktur
 Kernel call / supervisor call
 User mode
 Kernel mode / supervisor mode
 Sistem Berlapis (Layered System)
 Konsep : “Sistem operasi dibentuk secara hirarki berdasarkan lapisan-lapisan, dimana lapisan-lapisan memberi layanan lapisan lebih atas”.
Contoh :
• Sistem Operasi THE (Technique Hogesschool Endiche), Djikstra, 1968.
• Sistem Operasi MULTICS (menggunakan concentric rings).

Lapisan-lapisan pada Sistem Operasi THE
 Sistem dengan Mesin Maya (Virtual Machines)
 Konsep : “Awalnya struktur ini membuat seolah-olah user mempunyai seluruh komputer dengan simulasi atas pemroses yang digunakan. Sistem operasi melakukan simulasi mesin nyata. Mesin hasil simulasi digunakan user, mesin maya merupakan tiruan 100% atas mesin nyata. Semua user diberi ilusi mempunyai satu mesin yang sama-sama canggih”.
Contoh :
• Sistem operasi MS-Windows NT dapat menjalankan aplikasi MS-Dos, OS/2 mode teks, dan Win 16.
• Pengembang Linux membuat DOSEMU agar aplikasi MS-Dos dapat dijalankan di Linux, WINE agar aplikasi MS-Windows dapat dijalankan di Linux, iBCS agar aplikasi SCO-Unix dapat dijalankan di Linux.
 CP/CMS
 VM/370
 Virtual Machine Monitor
 CMS (Conversational Monitor System)
 Sistem dengan Client-Server
 Konsep : “Server adalah proses yang menyediakan layanan, dan Client adalah proses yang memerlukan / meminta layanan. Proses client yang memerlukan layanan mengirim pesan ke server dan menanti pesan jawaban. Proses server setelah melakukan tugas yang diminta, mengirim hasil dalam bentuk pesan jawaban ke proses client. Server hanya menanggapi permintaan client dan tidak memulai percakapan dengan client”.
 Sistem berorientasi objek
 Konsep : “Layanan diimplementasikan sebagai objek”.
 Model ini terstruktur dan memisahkan antara layanan yang disediakan dan implementasinya.
Contoh :
• Sistem operasi X-kernel
• Sistem operasi MS-Windows NT telah mengadopsi beberapa teknologi berorientasi objek, tapi belum secara keseluruhan.

 Layanan Sistem Operasi Komputer

 Layanan Otomatis : Alokasi sumberdaya; Catatan pemakaian; Proteksi; Penanganan kekeliruan; Pindah baris; Gulung jendela pada monitor
 Layanan permintaan pemakaian : Loading; Mengolah/run; Menyimpan/save; Menghapus/delete.

 Jenis Sistem Operasi

 Aspek kegiatan
 Pemakai tunggal (single user)
 Pemakai jamak (multiuser)
 Berdasarkan jenis-jenisnya
 Linux
 MS-Dos
 MS Windows-NT
 MS Windows
 Dll

3. Pembahasan

3.1 Komponen Sistem Operasi komputer dan cara kerja

Pada umumnya sebuah sistem operasi modern akan terdiri dari komponen sebagai berikut:

3.1.a Manajemen Proses.
3.1.b Manajemen Memori Utama.
3.1.c Manajemen Sistem Berkas.
3.1.d Manajemen Sistem M/K.
3.1.e Manajemen Penyimpanan Sekunder.
3.1.f Manajemen Jaringan
3.1.g Proteksi dan Keamanan.
3.1.h Manajemen Command-Interpreter System

Dalam kegiatannya, sistem operasi memiliki sebuah mekanisme proteksi untuk memastikan dirinya, semua program yang berjalan, dan data-data penggunanya berjalan dengan baik. Untuk melakukan hal tersebut, sistem operasi memiliki dua jenis (mode) operasi yang saling terpisah. Dua operasi tersebut, yaitu user mode, eksekusi program dikendalikan oleh pengguna, dan kernel mode, eksekusi program dikendaikan oleh sistem operasi, dinamakan dual-mode operation.

Ilustrasi :
Dual-mode operation diimplementasikan pada arsitektur perangkat keras. Sebuah bit yang disebut mode bit ditambahkan ke perangkat keras untuk menunjukkan mode operasi saat itu. 0 untuk kernel mode dan 1 untuk user mode. Dengan adanya dual-mode operation, eksekusi sebuah program/proses bisa dibedakan sumbernya, apakah dieksekusi oleh sistem operasi atau dieksekusi oleh pengguna. Hal ini akan sangat berguna dalam berjalannya sistem operasi. Selain itu, sistem operasi memiliki sebuah mekanisme untuk melindungi prosesor dari berbagai macam program yang berjalan. Bayangkan jika ada sebuah proses mengalami infinite loop. Tentu saja prosesor akan terus menerus melayani program itu dan menghambat proses lainnya yang akan dieksekusi prosesor, dan hal ini bisa dipastikanakan mengurangi kinerja dari komputer. Perlindungan prosesor tersebut dilakukan dengan timer. Timer diset untuk melakukan interupsi prosesor setelah beberapa periode waktu. Dengan adanya timer, sebuah program bisa dicegah dari berjalan terlalu lama. Misalkan sebuah program memiliki time limit 7 menit. Setelah 7 menit tersebut terlewati, sistem operasi akan menginterupsi prosesor dan menghentikan eksekusi program tersebut.

3.1.a Manajemen Proses

Proses adalah sebuah program yang sedang dieksekusi. Proses merupakan unit kerja terkecil yang secara individu memiliki sumber daya-sumber daya dan dijadwalkan sistem operasi. Sedangkan program adalah kumpulan instruksi yang ditulis ke dalam bahasa yang dimengerti sistem operasi. Sebuah proses membutuhkan sejumlah sumber daya untuk menyelesaikan tugasnya. Sumber daya tersebut dapat berupa CPU time, alamat memori, berkas-berkas, dan perangkat-perangkat M/K. Sistem operasi mengalokasikan sumber daya sumber daya tersebut saat proses itu diciptakan atau sedang diproses/dijalankan. Ketika proses tersebut berhenti dijalankan, sistem operasi akan mengambil kembali semua sumber daya agar bisa digunakan kembali oleh proses lainnya. Sistem operasi bertanggung jawab atas aktivitas-aktivitas yang berkaitan dengan manajemen proses seperti:

 Membuat dan menghapus proses pengguna dan sistem proses.
Sistem operasi bertugas mengalokasikan sumber daya yang dibutuhkan oleh sebuah proses dan kemudian mengambil sumber daya itu kembali setelah proses tersebut selesai agar
dapat digunakan untuk proses lainnya.

 Menunda atau melanjutkan proses.
Sistem operasi akan mengatur proses apa yang harus dijalankan terlebih dahulu berdasarkan berdasarkan prioritas dari prosesproses yang ada. Apa bila terjadi 2 atau lebih proses yang mengantri untuk dijalankan, sistem operasi akan mendahulukan proses yang memiliki prioritas paling besar.

 Menyediakan mekanisme untuk proses sinkronisasi.
Sistem operasi akan mengatur jalannya beberapa proses yang dieksekusi bersamaan. Tujuannya adalah menghindarkan terjadinya inkonsistensi data karena pengaksesan data yang sama, juga untuk mengatur urutan jalannya proses agar setiap proses berjalan dengan lancar.

 Menyediakan mekanisme untuk proses komunikasi.
Sistem operasi menyediakan mekanisme agar beberapa proses dapat saling berinteraksi dan berkomunikasi (contohnya berbagi sumber daya antar proses) satu sama lain tanpa menyebabkan terganggunya proses lainnya.

 Menyediakan mekanisme untuk penanganan deadlock.
Deadlock adalah suatu keadaan dimana sistem seperti terhenti karena setiap proses memiliki sumber daya yang tidak bisa dibagi dan menunggu untuk mendapatkan sumber daya yang sedang dimiliki oleh proses lain. Saling menunggu inilah yang disebut deadlock (kebuntuan). Sistem operasi harus bisa mencegah, menghindari, dan mendeteksi adanya deadlock. Jika deadlock terjadi, sistem operasi juga harus dapat memulihkan kondisi sistemnya.

3.1.b Manajemen Memori Utama

Sistem operasi memiliki tugas untuk mengatur bagian memori yang sedang digunakan dan mengalokasikan jumlah dan alamat memori yang diperlukan, baik untuk program yang akan berjalan maupun untuk sistem operasi itu sendiri. Tujuan dari manajemen memori utama adalah agar utilitas CPU meningkat dan untuk meningkatkan efisiensi pemakaian memori. Memori utama atau lebih dikenal sebagai memori adalah sebuah array yang besar dari word atau byte yang ukurannya mencapai ratusan, ribuan, atau bahkan jutaan. Setiap word atau byte mempunyai alamat tersendiri. Memori utama berfungsi sebagai tempat penyimpanan instruksi/data yang akses datanya digunakan oleh CPU dan perangkat M/K. Memori utama termasuk tempat penyimpanan data yang yang bersifat volatile (tidak permanen), yaitu data akan hilang kalau komputer dimatikan. Sistem komputer modern memiliki sistem hirarki memori, artinya memori yang ada di komputer disusun dengan tingkatan kecepatan dan kapasitas yang berbeda. Memori yang memiliki kecepatan sama dengan kecepatan prosesor memiliki kapasitas yang kecil, berkisar hanya dari ratusan KB hingga 4 MB dengan harga yang sangat mahal. Sedangkan memori utama yang kecepatannya jauh di bawah kecepatan prosesor memiliki kapasitas yang lebih besar, berkisar dari 128 MB hingga 4 GB dengan harga yang jauh lebih murah. Sistem hirarki memori ini memiliki tujuan agar kinerja komputer yang maksimal bisa didapat dengan harga yang terjangkau.

3.1.c Manajemen Sistem Berkas

File atau berkas adalah representasi program dan data yang berupa kumpulan informasi yang saling berhubungan dan disimpan di perangkat penyimpanan. Sistem berkas ini sangatlah penting, karena informasi atau data yang disimpan dalam berkas adalah sesuatu yang sangat berharga bagi pengguna. Sistem operasi harus dapat melakukan operasi-operasi pada berkas, seperti membuka, membaca, menulis, dan menyimpan berkas tersebut pada sarana penyimpanan sekunder. Oleh karena itu, sistem operasi harus dapat melakukan operasi berkas dengan baik. Sistem operasi melakukan manajemen sistem berkas dalam beberapa hal:

 Pembuatan berkas atau direktori.
Berkas yang dibuat nantinya akan diletakkan pada direktori-direktori yang diinginkan pada sistem berkas. Sistem operasi akan menunjukkan tempat dimana lokasi berkas atau direktori tersebut akan diletakkan. Setelah itu, sistem operasi akan membuat entri yang berisi nama berkas dan lokasinya pada sistem berkas.

 Penghapusan berkas atau direktori.
Sistem operasi akan mencari letak berkas atau direktori yang hendak dihapus dari sistem berkas, lalu menghapus seluruh entri berkas tersebut, agar tempat dari berkas tersebut dapat digunakan oleh berkas lainnya.


 Pembacaan dan menulis berkas.
Proses pembacaan dan penulisan berkas melibatkan pointer yang menunjukkan posisi dimana sebuah informasi akan dituliskan di dalam sebuah berkas.

 Meletakkan berkas pada sistem penyimpanan sekunder.
Sistem operasi mengatur lokasi fisik tempat penyimpanan berkas pada sarana penyimpanan sekunder.

 Mem-back-up berkas ke media penyimpanan yang permanen (non-volatile).
Berkas yang disimpan pada media penyimpanan yang non-volatile akan bersifat
lebih stabil.

3.1.d Manajemen Sistem M/K (I/O)

Pekerjaan utama yang paling sering dilakukan oleh sistem komputer selain melakukan komputasi adalah Masukan/Keluaran (M/K). Dalam kenyataannya, waktu yang digunakan untuk komputasi lebih sedikit dibandingkan waktu untuk M/K. Ditambah lagi dengan banyaknya variasi perangkat M/K sehingga membuat manajemen M/K menjadi komponen yang penting bagi sebuah sistem operasi. Sistem operasi juga sering disebut device manager, karena sistem operasi mengatur berbagai macam perangkat (device).
Fungsi-fungsi sistem operasi untuk sistem M/K:

 Penyanggaan (buffering).
Menampung data sementara dari/ke perangkat M/K

 Penjadwalan (scheduling).
Melakukan penjadwalan pemakaian M/K sistem supaya lebih efisien.

 Spooling.
Meletakkan suatu pekerjaan program pada penyangga, agar setiap perangkat dapat mengaksesnya saat perangkat tersebut siap.


 Menyediakan driver perangkat yang umum.
Driver digunakan agar sistem operasi dapat memberi perintah untuk melakukan operasi pada perangkat keras M/K yang umum, seperti optical drive, media penyimpanan sekunder, dan layar monitor.

 Menyediakan driver perangkat yang khusus.
Driver digunakan agar sistem operasi dapat memberi perintah untuk melakukan operasi pada perangkat keras M/K tertentu, seperti kartu suara, kartu grafis, dan motherboard.

3.1.e Manajemen Penyimpanan Sekunder

Penyimpanan sekunder (secondary storage) adalah sarana penyimpanan yang berada satu tingkat di bawah memori utama sebuah komputer dalam hirarki memori. Tidak seperti memori utama komputer, penyimpanan sekunder tidak memiliki hubungan langsung dengan prosesor melalui bus, sehingga harus melewati M/K.
Sarana penyimpanan sekunder memiliki ciri-ciri umum sebagai berikut:

1. Non volatile (tahan lama).
Walaupun komputer dimatikan, data-data yang disimpan di sarana penyimpanan sekunder tidak hilang. Data disimpan dalam piringan-piringan magnetik.

2. Tidak berhubungan langsung dengan bus CPU.
Dalam struktur organisasi komputer modern, sarana penyimpanan sekunder terhubung dengan northbridge. Northbridge yang menghubungkan sarana penyimpanan sekunder pada M/K dengan bus CPU.

3. Lambat.
Data yang berada di sarana penyimpanan sekunder memiliki waktu yang lebih lama untuk diakses (read/write) dibandingkan dengan mengakses di memori utama. Selain disebabkan oleh bandwidth bus yang lebih rendah, hal ini juga dikarenakan adanya mekanisme perputaran head dan piringan magnetik yang memakan waktu.


4. Harganya murah.
Perbandingan harga yang dibayar oleh pengguna per byte data jauh lebih murah dibandingkan dengan harga memori utama.
Sarana penyimpanan sekunder memiliki fungsi-fungsi sebagai berikut:

1. Menyimpan berkas secara permanen.
Data atau berkas diletakkan secara fisik pada piringan magnet dari disk, yang tidak hilang walaupun komputer dimatikan (non volatile)

2. Menyimpan program yang belum dieksekusi prosesor.
Jika sebuah program ingin dieksekusi oleh prosesor, program tersebut dibaca dari disk, lalu diletakkan di memori utama komputer untuk selanjutnya dieksekusi oleh prosesor menjadi proses.

3. Memori virtual.
Adalah mekanisme sistem operasi untuk menjadikan beberapa ruang kosong dari disk menjadi alamat-alamat memori virtual, sehingga prosesor bisa menggunakan memorivirtual ini seolah-olah sebagai memori utama. Akan tetapi, karena letaknya di penyimpanan sekunder, akses prosesor ke memori virtual menjadi jauh lebih lambat dan menghambat kinerja komputer. Sistem operasi memiliki peran penting dalam manajemen penyimpanan sekunder. Tujuan penting dari manajemen ini adalah untuk keamanan, efisiensi, dan optimalisasi penggunaan sarana penyimpanan sekunder.

3.1.f Manajemen Jaringan

Sistem terdistribusi adalah sekumpulan prosesor yang tidak berbagi memori, atau clock. Setiap prosesor mempunyai memori dan clock tersendiri. Prosesor-prosesor tersebut terhubung melalui jaringan komunikasi. Sistem terdistribusi menyediakan akses pengguna ke bermacam sumber-daya sistem.
Tujuan utamanya adalah untuk memberikan hasil secara lebih, terutama dalam:
- file system
- name space
- waktu pengolahan
- keamanan
– akses ke seluruh resources, seperti : prosesor, memori, penyimpanan sekunder, dan perangkat keras.
Suatu sistem operasi terdistribusi yang sejati adalah yang berjalan pada beberapa buah mesin, yang tidak melakukan sharing memori, tetapi terlihat bagi user sebagai satu buah
komputer single.

Perbedaan Sistem Operasi Jaringan dan Sistem Operasi Terdistribusi
a. Tiap komputer memiliki sistem operasi sendiri.
b. Tiap personal komputer memiliki sistem file sendiri, di mana data-data disimpan.
c. Sistem operasi tiap komputer dapat berbeda-beda atau heterogen.
d. Pengguna harus memikirkan keberadaan komputer lain yang terhubung, dan harus
mengakses, biasanya menggunakan remote login (telnet).
e. File system dapat digunakan dengan dukungan NFS.
Sistem terdistribusi memungkinkan user untuk mengakses sumber daya (resource) yang beragam. Dengan mengakses sumber daya yang dapat digunakan bersama-sama tersebut akan memberikan keuntungan dalam :

 Sharing Resource.
Walaupun perangkat sekarang sudah memiliki kemampuan yang cepat dalam proses-proses komputasi, atau misal dalam mengakses data, tetapi pengguna masih saja menginginkan sistem berjalan dengan lebih cepat. Apabila hardware terbatas, kecepatan yang diinginkan user dapat diatasi dengan menggabung perangkat yang ada dengan sistem DOS (Distributed Operating System).

 Waktu Komputasi.
Komputasi berjalan dalam keadaan pararel. Proses komputasi ini dipecah dalam banyak titik (nodes), yang mungkin berupa komputer pribadi, prosesor tersendiri, dan kemungkinan perangkat prosesor-prosesor yang lain. Sistem operasi tedistribusi ini bekerja baik dalam memecah komputasi ini dan baik pula dalam mengambil kembali hasil komputasi dari titik-titik cluster untuk ditampilkan hasilnya.



 Reliabilitas.
Fitur unik yang dimiliki oleh DOS ini adalah reliabilitas. Berdasarkan design dan implementasi dari design sistem ini, maka hilangnya suatu node tidak akan berdampak terhadap integritas system. Hal ini berbeda dengan komputer personal, apabila ada salah satu hardware yang mengalami kerusakan, maka system akan berjalan tidak seimbang, bahkan sistem bisa tidak dapat berjalan atau mati. Dalam sistem operasi terdistribusi tadi sebenarnya cara kerjanya mirip dengan personal computer, tetapi bedanya apabila ada node yang mati, maka akan terjadi proses halt terhadap node tersebut dan proses komputasi dapat dialihkan. Hal ini akan membuat sistem DOS selalu memiliki reliabilitas yang tinggi.

 Komunikasi.
Sistem operasi terdistribusi biasanya berjalan dalam jaringan, dan biasanya melayani koneksi jaringan. Sistem ini biasanya digunakan user untuk proses networking. User dapat saling bertukar data, atau saling berkomunikasi antar titik baik secara LAN maupun WAN.

3.1.g Manajemen Command-Interpreter System

Sistem Operasi menunggu instruksi dari pengguna (command driven). Program yang membaca instruksi dan mengartikan control statements umumnya disebut: control-card interpreter, command-line interpreter dan terkadang dikenal sebagai shell. Command- Interpreter System sangat bervariasi dari satu sistem operasi ke sistem operasi yang lain dan disesuaikan dengan tujuan dan teknologi perangkat Masukan/Keluaran yang ada. Beberapa perintah yang dimasukkan ke sistem operasi menggunakan pernyataan kontrol yang digunakan untuk :
• Manajemen dan pembuatan proses
• Penangananan I/O
• Manajemen penyimpan sekunder
• Manajemen memori utama
• Akses sistem file
• Proteksi
• Jaringan
Program yang membaca dan menerjemakan pernyataan kontrol disebut command-line intepreter atau shell pada UNIX. Fungsinya adalah untuk mengambil dan mengeksekusi pernyataan perintah berikutnya. Contohnya: CLI, Windows, Penbased (touch), dan lain-lain.

3.1.h Proteksi dan Keamaman

Seringkali, istilah keamanan dan proteksi membingungkan dalam penggunaannya. Untuk mengurangi kebingungan itu, istilah keamanan digunakan untuk penggambaran secara umum, sedangkan proteksi digunakan untuk menggambarkan secara teknis mekanisme perlindungan sistem operasi.

Proteksi

Proteksi adalah mekanisme sistem operasi untuk mengontrol akses terhadap beberapa objek yang diproteksi dalam sistem operasi. Objek-objek tersebut bisa berupa perangkat keras (seperti CPU, memori, disk, printer, dll) atau perangkat lunak (seperti program, proses, berkas, basis data, dll). Di beberapa sistem, proteksi dilakukan oleh sebuah program yang bernama reference monitor. Setiap kali ada pengaksesan sumber daya PC yang diproteksi, sistem pertama kali akan menanyakan reference monitor tentang keabsahan akses tersebut. Reference monitor kemudian akan menentukan keputusan apakah akses tersebut diperbolehkan atau ditolak. Secara sederhana, mekanisme proteksi dapat digambarkan dengan konsep domain. Domain adalah himpunan yang berisi pasangan objek dan hak akses. Masing-masing pasangan domain berisi sebuah objek dan beberapa akses operasi (seperti read, write, execute) yang dapat dilakukan terhadap objek tersebut. Dalam setiap waktu, setiap proses berjalan dalam beberapa domain proteksi. Hal itu berarti terdapat beberapa objek yang dapat diakses oleh proses tersebut, dan operasi-operasi apa yang boleh dilakukan oleh proses terhadap objek tersebut. Proses juga bisa berpindah dari domain ke domain lain dalam eksekusi.
Keamanan

Pengguna sistem komputer sudah tentu memiliki data-data dan informasi yang berharga baginya. Melindungi data-data ini dari pihak-pihak yang tidak berhak merupakan hal penting bagi sistem operasi. Inilah yang disebut keamanan (security).
Sebuah sistem operasi memiliki beberapa aspek tentang keamanan. Aspek-aspek ini berhubungan terutama dengan hilangnya data-data. Sistem komputer dan data-data di dalamnya terancam dari aspek ancaman (threats), aspek penyusup (intruders), dan aspek musibah. Dari aspek ancaman, secara umum sistem komputer menghadapi ancaman terbukanya data-data rahasia, pengubahan data-data oleh orang yang tidak berhak, juga pelumpuhan sistem dengan adanya Denial of Service (DoS).
Dari aspek penyusup, saat ini banyak orang mencoba masuk ke dalam sistem operasi dengan berbagai macam tujuan. Ada yang hanya sekedar mencoba menjebol sistem operasi (hacking), ada yang mencoba mengambil keuntungan dari tindakan penjebolah itu (cracking).
Tidak hanya disusupi oleh manusia, sistem operasi juga menghadapi ancaman keamanan dari program-program penyusup, yang disebut malicious program atau malware. Malware adalah program yang menyusup ke dalam sistem operasi dan memiliki tujuan-tujuan tertentu seperti mengambil data-data pribadi, mengambil alih komputer, dan seringkali bertujuan merusak. Yang termasuk kategori malware adalah virus, keylogger, worm, trojan, dan sypware. Yang terakhir, sistem operasi dan data-data di dalamnya terancam justru dari hal-hal non teknis, yaitu dari musibah. Sistem operasi terancam akibat adanya bencana alam (banjir, lumpur panas, gempa bumi, dan lain-lain), kerusakan perangkat keras atau lunak, bahkan kelalaian dari penggunanya. Perkembangan dunia internet saat ini membawa konsekuensi meningkatnya resiko keamanan terhadap sistem operasi. Oleh karena itu, sistem operasi harus memiliki ketahanan keamanan. Bagi kebanyakan pengembang sistem operasi saat ini, keamanan adalah salah satu permasalahan utama.

3.2 Jenis Sistem Operasi komputer

 Jenis Sistem Operasi

 Aspek kegiatan
 Pemakai tunggal (single user)
 Pemakai jamak (multiuser)

 Berdasarkan jenis-jenisnya
 Linux
 MS-Dos
 MS Windows-NT
 MS Windows
 Dll

3.3 User Mode dan Kernel Mode

User space adalah area memori yang digunakan oleh user mode applications dan area memori ini dapat di-swap kapan saja bergantung dari kubutuhan system saat itu. Aplikasi dengan user mode tidak dapat mengakses langsung kernel space, sebaliknya aplikasi kernel mode juga tidak dapat mengakses langsung user space tanpa mengecek terlebih dahulu apakah page yang diperlukan ada di memori atau sedang di-swap.
Pada enkripsi file system dengan user mode terdapat beberapa prinsip yang perlu diperhatikan yaitu:
1. Penggunaan virtual file system, yaitu layer abstrak yang berjalan di atas file system yang sebenarnya. Tujuan dari virtual file system ini adalah agar pengguna dapat mengakses berbagai file system yang berbeda dengan cara yang seragam. Dengan kata lain pengguna hanya mengenal satu file system yaitu virtual file system yang dibentuk, sedangkan akses ke file system yang sebenarnya diatur oleh virtual file system tersebut.
2. Proses enkripsi saat menulis dan proses dekripsi saat membaca dilakukan terhadap file pada virtual file system. Dalam hal ini virtual file system akan menerima kunci dari pengguna yang akan digunakan untuk melakukan proses kriptografi ataupun menurunkan kunci turunan. Kunci dari pengguna ini hanya akan diminta sekali yaitu saat pengguna pertama kali masuk. Pada saat itu pula virtual file system akan dibentuk untuk pengguna tersebut. Melalui mekanisme tersebut maka file yang disimpan pada file system fisik akan berupa cipher yang tidak akan dapat dimengerti oleh pengguna lain karena sudah dienkripsi oleh virtual file system, sedangkan saat akan digunakan maka virtual file system akan membaca dari file system fisik, mendekripsinya dengan kunci pengguna, baru kemudian menyerahkannya ke aplikasi pengguna.
3. Pada enkripsi file system dengan user mode maka keseluruhan proses dijalankan sebagai proses yang menggunakan user space. Penggunaan user space membuat pengembangan aplikasi ini dimasa yang akan datang menjadi lebih mudah begitu pula dalam pencarian kesalahan (debugging).
Pada linux untuk enkripsi file system sudah didukung beberapa pilihan dengan tujuan memudahkan proses kriptografi pada level file system. Misalnya Cryptographic File System (CFS) dan Transparent Cryptographic File System (TCFS) menggunakan NFS dengan ext2. EncFS menggunakan Fuse untuk membentuk file system di user spacenya. Fuse yaitu file system in User Space. Fuse itu sendiri adalah modul yang mengijinkan pengguna untuk membuat file system tanpa perlu memodifikasi kode pada kernel.
Kernel merupakan perangkat lunak bagian sistem operasi yang melakukan eksekusi di bagian supervisor state [3] . Kernel merupakan inti dari sistem operasi. Kernel dirancang sebagai perangkat lunak terpercaya yang mendukung operasi untuk perangkat lunak lainnya. Aplikasi yang berjalan pada kernel mode berarti mempunyai akses lebih luas karena dapat melakukan eksekusi pada supervisor space serta mampu melakukan pengaksesan terhadap bagian lain dari kernel. Enkripsi pada mode ini mengharuskan adanya akses terhadap kernel serta melakukan modifikasi terhadap kernel tersebut. Untuk Sistem Operasi linux atau sistem operasi lainnya yang opensource, akses terhadap kernel ini dibuka untuk siapapun sementara untuk sistem operasi yang bersifat komersial, integrasi enkripsi file system dilakukan oleh vendornya, karena hanya vendor yang mengetahui secara detail struktur kernel dari sistem operasinya.
Untuk sistem operasi open source, enkripsi pada file system dengan mode kernel dilakukan melalui tahapan sebagai berikut :
1. Penambahan paket enkripsi ke dalam kernel. Langkah ini sekaligus melakukan konfigurasi terhadap kernel configuration file
2. Penambahan hard drive baru terhadap system yang akan menampung partisi tunggal yang terenkripsi.
3. Penambahan direktori untuk menampung file kunci. Tiap file kunci berasosiasi dengan partisi yang terenkripsi.
4. Menyertakan partisi terenkripsi pada kernel
5. Membuat file system pada perangkat terenkripsi.
6. Melakukan mounting terhadap enkripsi terpartisi.
7. Melakukan verifikasi terhadap ketersediaan file system tersebut.

Untuk sistem operasi komersial, apabila menyediakan fasilitas enkripsi berbasis kernel, maka paket enkripsinya sudah terintegrasi dengan sistem sehingga tidak diperlukan lagi modifikasi terhadap kernel..
Paket enkripsi yang disediakan menyediakan metoda ciphers serta algoritma enkripsi yang beragam. Metoda ciphers yang biasa dipakai pada enkripsi file system kernel mode adalah simmetric block ciphers. Algoritma yang biasa dipakai diantaranya adalah Triple DES, Blowfish serta Rijndael. Ketiga algoritma tersebut banyak digunakan untuk mengenkripsi file system karena biasa dipakai untuk enkripsi file serta secara matematis, masih sangat aman. Selain itu, algoritma lain yang dapat diimplementasikan untuk enkripsi file system kernel mode adalah algoritma CAST, GOST, IDEA, MARS, Serpent, RC5, RC6 serta algoritma TwoFish.
Peran yang terdapat di sistem ini dibagi menjadi tiga meliputi [1] :
1. System administrator
System administrator melakukan mount terhadap partisi terenkripsi serta bertanggung jawab untuk melakukan modifikasi kernel
2. Owner
Adalah user yang melakukan kontrol terhadap kunci enkripsi dari data
3.Readers and writers
Perbedaan yang paling mendasar antara owner dengan reader/writer adalah bahwa owner memberikan input kunci enkripsi sementara reader atau writer mengakses file secara transparan. Seorang owner secara implisit adalah reader atau writer

Kelebihan dan Kekurangan Penggunaan enkripsi file system memiliki kelebihan yaitu:
1. Pengguna akan merasa lebih nyaman karena proses memasukkan kunci rahasia hanya sekali pada awal login atau saat proses mount direktori yang akan dijadikan virtual file system, berbeda dengan aplikasi enkripsi mandiri yang setiap kali enkripsi / dekripsi memerlukan kunci masukan dari pengguna.
2. Meningkatkan keamanan non-kriptanalis. Dengan mengenkripsi file system, informasi yang ada dalam media penyimpanan tetap aman walaupun media tersebut dicuri dan media tersebut dibuka dengan menggunakan boot dari CDROM atau device lain sehingga fitur keamanan lumpuh. Hal ini tidak menjadi masalah karena yang tersimpan dalam file system sudah dalam bentuk cipher.

Selain kelebihan, enkripsi file system juga memiliki kelemahan, yaitu penggunaan enkripsi seluruh file system akan menghabiskan banyak resource dan mengurangi performansi dari system itu sendiri. Hal ini diakibatkan karena proses baca dan menulis ke media akan selalu melibatkan proses enkripsi dan dekripsi. Belum lagi masalah yang ditimbulkan untuk melindungi data yang sudah diload ke memori atau page file. Hal ini perlu dilakukan karena secara umum data tersebut dalam bentuk plainteks. Untuk mengatasi hal tersebut maka performansi system akan mengalami penurunan lebih lanjut.
Enkripsi file system dengan kernel mode lebih baik dibandingkan user mode dalam hal performansi. Peningkatan performansinya mencapai 12 – 52 % dibandingkan enkripsi pada user mode atau enkripsi pada level aplikasi.[2]. Adanya peningkatan performansi ini disebabkan jumlah context switches yang lebih sedikit serta eksekusi pada privileged mode. Enkripsi file system berbasis kernel mode lebih aman dibandingkan user mode apabila menggunakan algoritma serta metode enkripsi yang sama. Hal ini dikarenakan informasi pada kernel lebih sulit untuk didapatkan serta akses terhadap kernel bersifat private.
Meskipun demikian, enkripsi file system berbasis kernel mode lebih rumit dibandingkan dengan enkripsi file system pada user mode. File system driver tidak dapat mengakses OS services tradisional yang terdapat pada user mode. Selain itu terdapat batasan bagi program yang berjalan pada kernel mode dalam hal kernel paging serta IO architecture. Proses debug terhadap program juga lebih sulit dilakukan karena berjalan pada address space tunggal bersama dengan seluruh komponen kernel mode dari OS. Proses debugging juga membutuhkan debugger spesifik untuk kernel mode.

3.4 Studi Kasus : contoh-contoh Sistem Operasi komputer

Konsep Kebebasan
Para pengembang dan penjual perangkat lunak berpemilik bersikeras bahwa penggunaan perangkat lunak tanpa lisensi merupakan suatu bentuk pelanggaran Hak atas Kekayaan Intelektual (Intellectual Right) yang dikategorisasikan sebagai tidakan kriminal. Konsep yang ditekankan oleh pihak pengembang diatas tidak diterima oleh semua orang, salah satunya adalah Richard Stallman yang berpendapat bahwa perangkat lunak merupakan milik masyarakat (public) sehingga diperbolehkan untuk dipakai, dimodifikasi serta disebarluaskan secara bebas. Pengembangan perangkat lunak bebas memiliki tujuan agar setiap orang dapat mendapatkan manfaat dari perangkat lunak secara bebas sehingga setiap orang dapat menjalankan, menggandakan, menyebarluaskan, mempelajari, mengubah dan meningkatkan kinerja perangkat lunak. Seperti disebutkan di atas kata bebas pada perangkat lunak bebas sering diartikan sebagai gratis (free), arti sesungguhnya bebas pada perangkat lunak bebas lebih merupakan kebebasan untuk mempergunakan perangkat lunak, melakukan penyalinan, dan perubahan pada kode sumber. Arti bebas yang salah, telah menimbulkan persepsi masyarakat bahwa perangkat lunak bebas merupakan perangkat lunak yang gratis. Perangkat lunak bebas ialah perihal kebebasan, bukan harga. Konsep kebebasan yang dapat diambil dari kata bebas pada perangkat lunak bebas adalah seperti kebebasan berbicara bukan seperti bir gratis. Maksud dari bebas seperti kebebasan berbicara adalah kebebasan untuk menggunakan, menyalin, menyebarluaskan, mempelajari, mengubah, dan meningkatkan kinerja perangkat lunak. Suatu perangkat lunak dapat dimasukkan dalam kategori perangkat lunak bebas bila setiap orang memiliki kebebasan tersebut. Hal ini berarti, setiap pengguna perangkat lunak bebas dapat meminjamkan perangkat lunak yang dimilikinya kepada orang lain untuk dipergunakan tanpa perlu melanggar hukum dan disebut pembajak. Kebebasan yang diberikan perangkat lunak bebas dijamin oleh copyleft, suatu cara yang dijamin oleh hukum untuk melindungi kebebasan para pengguna perangkat lunak bebas. Dengan adanya copyleft maka suatu perangkat lunak bebas beserta hasil perubahan dari kode sumbernya akan selalu menjadi perangkat lunak bebas. Kebebasan yang diberikan melalui perlindungan copyleft inilah yang membuat suatu program dapat menjadi perangkat lunak bebas. Keuntungan yang diperoleh dari penggunaan perangkat lunak bebas adalah karena serbaguna dan efektif dalam keanekaragaman jenis aplikasi. Dengan pemberian source code-nya, perangkat lunak bebas dapat disesuaikan secara khusus untuk kebutuhan pemakai. Sesuatu yang tidak mudah untuk terselesaikan dengan perangkat lunak berpemilik. Selain itu, perangkat lunak bebas didukung oleh milis-milis pengguna yang dapat menjawab pertanyaan yang timbul karena permasalahan pada penggunaan perangkat lunak bebas.

Open source
Open source atau disebut juga perangkat lunak bebas ialah perangkat lunak yang mengizinkan siapa pun untuk menggunakan, menyalin, dan mendistribusikan, baik dimodifikasi atau pun tidak, secara gratis atau pun dengan biaya. Perlu ditekankan, bahwa source code dari program harus tersedia. ``Jika tidak ada kode program, berarti bukan perangkat lunak bebas.'' Yang tersebut di atas merupakan definisi sederhananya; lihat juga definisi lengkapnya. Terdapat berbagai cara untuk membuat suatu program bebas -- banyak pertanyaan rinci, yang dapat ditentukan dalam banyak cara dan masih menjadikan program tersebut bebas. Beberapa kemungkinan variasi akan dijelaskan di bawah ini. Perangkat lunak bebas menyangkut masalah kebebasan, bukan harga. Tapi beberapa perusahaan perangkat lunak berpemilik terkadang menggunakan istilah perangkat lunak bebas untuk menunjukkan harga. Terkadang maksud mereka ialah anda dapat memperoleh salinan biner tanpa biaya; terkadang maksud mereka ialah suatu salinan disertakan dalam komputer yang anda beli. Ini tidak ada hubungannya sama sekali dengan apa yang di maksud dengan perangkat lunak bebas pada proyek GNU. Karena hal ini dapat membingungkan, ketika sebuah perusahaan perangkat lunak menyatakan bahwa produknya adalah perangkat lunak bebas, selalu periksa ketentuan distribusinya untuk melihat apakah pengguna memiliki kebebasan yang dimaksudkan oleh istilah perangkat lunak bebas. Terkadang memang benar-benar perangkat lunak bebas; namun terkadang tidak. Banyak bahasa memiliki dua kata yang berbeda untuk menyatakan ``bebas'' sebagai kebebasan dan ``bebas'' sebagai tanpa biaya. Sebagai contoh, bahasa Perancis memiliki kata ``libre'' dan ``gratuit''. Dalam bahasa Inggris terdapat kata ``gratis'' yang menyatakan tentang harga tanpa membingungkan. Tapi tidak ada kata sifat yang menyatakan kebebasan tanpa membingungkan. Hal ini sangat disayangkan, karena kata semacam itu akan sangat berguna disini. Perangkat lunak bebas seringkali lebih handal daripada perangkat lunak tidak bebas.

Public Domain
Perangkat lunak public domain ialah perangkat lunak yang tanpa hak cipta. Ini merupakan kasus khusus dari perangkat lunak bebas non-copyleft, yang berarti bahwa beberapa salinan atau versi yang telah dimodifikasi bisa jadi tidak bebas sama sekali. Terkadang ada yang menggunakan istilah ``public domain'' secara bebas yang berarti ``cuma-cuma'' atau ``tersedia gratis". Namun ``public domain'' merupakan istilah hukum yang artinya ``tidak memiliki hak cipta''. Untuk jelasnya, kami menganjurkan untuk menggunakan istilah ``public domain'' dalam arti tersebut, serta menggunakan istilah lain untuk mengartikan pengertian yang lain.

Copylefted/Non-Copylefted
Perangkat lunak copylefted merupakan perangkat lunak bebas yang ketentuan pendistribusinya tidak memperbolehkan untuk menambah batasan-batasan tambahan--jika mendistribusikan atau memodifikasi perangkat lunak tersebut. Artinya, setiap salinan dari perangkat lunak, walau pun telah dimodifikasi, haruslah merupakan perangkat lunak bebas. Dalam proyek GNU, kami meng-copyleft-kan -kan hampir semua perangkat lunak yang kami buat, karena tujuan kami adalah untuk memberikan kebebasan kepada semua pengguna seperti yang tersirat dalam istilah ``perangkat lunak bebas''. Copyleft merupakan konsep yang umum. Jadi, untuk meng-copyleft-kan sebuah program, anda harus menggunakan ketentuan distribusi tertentu. Terdapat berbagai cara untuk menulis perjanjian distribusi program copyleft.
Perangkat lunak bebas non-copyleft dibuat oleh pembuatnya yang mengizinkan seseorang untuk mendistribusikan dan memodifikasi, dan untuk menambahkan batasan-batasan tambahan dalamnya. Jika suatu program bebas tapi tidak copyleft , maka beberapa salinan atau versi yang dimodifikasi bisa jadi tidak bebas sama sekali. Perusahaan perangkat lunak dapat mengkompilasi programnya, dengan atau tanpa modifikasi, dan mendistribusikan file tereksekusi sebagai produk perangkat lunak yang berpemilik. Sistem X Window menggambarkan hal ini. Konsorsium X mengeluarkan X11 dengan ketentuan distribusi yang menetapkannya sebagai perangkat lunak bebas non-copyleft . Jika anda menginginkannya, anda dapat memperoleh salinan yang memiliki perjanjian distribusi dan juga bebas. Namun ada juga versi tidak bebasnya, dan ada workstation terkemuka serta perangkat grafik PC, dimana versi yang tidak bebas merupakan satu-satunya yang dapat bekerja disini. Jika anda menggunakan perangkat keras tersebut, X11 bukanlah perangkat lunak bebas bagi anda.

GPL-covered
GNU GPL (General Public License) (20k huruf) merupakan sebuah kumpulan ketentuan pendistribusian tertentu untuk meng-copyleft-kan sebuah program. Proyek GNU menggunakannya sebagai perjanjian distribusi untuk sebagian besar perangkat lunak GNU.

GNU
Sistem GNU merupakan sistem serupa Unix yang seutuhnya bebas. Sistem operasi serupa Unix terdiri dari berbagai program. Sistem GNU mencakup seluruh perangkat lunak GNU, dan juga paket program lain, seperti sistem X Windows dam TeX yang bukan perangkat lunak GNU. Pengembangan sistem GNU ini telah dilakukan sejak tahun 1984. Pengedaran awal (percobaan) dari ``sistem GNU lengkap'' dilakukan tahun 1996. Sekarang (2001), sistem GNU ini bekerja secara handal, serta orang-orang bekerja dan mengembangkan GNOME, dan PPP dalam sistem GNU. Pada saat bersamaan sistem GNU/Linux, merupakan sebuah terobosan dari sistem GNU yang menggunakan Linux sebagai kernel dan mengalami sukses luar biasa. Berhubung tujuan dari GNU ialah untuk kebebasan, maka setiap komponen dalam sistem GNU harus merupakan perangkat lunak bebas. Namun tidak berarti semuanya harus copyleft; setiap jenis perangkat lunak bebas dapat sah-sah saja jika menolong memenuhi tujuan teknis. Seseorang dapat menggunakan perangkat lunak non-copyleft seperti sistem X Window.
``Program GNU'' setara dengan perangkat lunak GNU. Program Anu adalah program GNU jika ia merupakan perangkat lunak GNU.

Perangkat Lunak GNU
Perangkat lunak GNU merupakan perangkat lunak yang dikeluarkan oleh proyek GNU. Sebagian besar perangkat lunak GNU merupakan copyleft, tapi tidak semuanya; namun, semua perangkat lunak GNU harus merupakan perangkat lunak bebas. Jika suatu program adalah perangkat lunak GNU, seseorang juga dapat menyebutnya sebagai program GNU. Beberapa perangkat lunak GNU ditulis oleh staf dari Free Software Foundation (FSF, Yayasan Perangkat Lunak Bebas), namun sebagian besar perangkat lunak GNU merupakan kontribusi dari para sukarelawan. Beberapa perangkat lunak yang dikontribusikan merupakan hak cipta dari Free Software Foundation; beberapa merupakan hak cipta dari kontributor yang menulisnya.

Perangkat Lunak Semi-Bebas
Perangkat lunak semi-bebas adalah perangkat lunak yang tidak bebas, tapi mengizinkan setiap orang untuk menggunakan, menyalin, mendistribusikan, dan memodifikasinya (termasuk distribusi dari versi yang telah dimodifikasi) untuk tujuan non-laba. PGP adalah salah satu contoh dari program semi-bebas. Perangkat lunak semi-bebas jauh lebih baik dari perangkat lunak berpemilik, namun masih ada masalah, dan seseorang tidak dapat menggunakannya pada sistem operasi yang bebas. Pembatasan dari copyleft dirancang untuk melindungi kebebasan bagi semua pengguna. Bagi pihak GNU, satu-satunya alasan untuk membatasi substantif dalam menggunakan program--ialah melarang orang lain untuk menambahkan batasan lain. Program semi-bebas memiliki batasan-batasan tambahan, yang dimotivasi oleh tujuan pribadi semata. Sangat mustahil untuk menyertakan perangkat lunak semi-bebas pada sistem operasi bebas. Hal ini karena perjanjian distribusi untuk sistem operasi keseluruhan adalah gabungan dari perjanjian distribusi untuk semua program di dalamnya. Menambahkan satu program semi-bebas pada sistem akan membuat keseluruhan sistem menjadi semi-bebas. Terdapat dua alasan mengapa GNU tidak menginginkan hal ini: Sudah seharusnya kita percaya bahwa perangkat lunak bebas seharusnya ditujukan bagi semuanya--termasuk pelaku bisnis, dan bukan hanya untuk sekolah dan sekedar hobi saja. GNU ingin mengundang kalangan bisnis untuk menggunakan keseluruhan sistem GNU, dan untuk itu kami tidak dapat menyertakan program semi-bebas di dalamnya. Distribusi komersial dari sistem operasi bebas, termasuk Sistem GNU/Linux sangat penting, dan para pengguna menghargai kemampuan untuk dapat membeli distribusi CD-ROM komersial. Menyertakan satu program semi-bebas dalam sistem operasi dapat memotong distribusi CD-ROM komersial untuknya. Free Software Foundation sendiri adalah organisasi nirlaba, dan karena itu, kami diizinkan secara hukum untuk menggunakan program semi-bebas secara ``internal''. Tapi GNU tidak melakukannya, karena hal itu akan melemahkan upaya yang telah dilakukan untuk memperoleh program yang dapat disertakan ke dalam GNU. Jika ada pekerjaan yang berhubungan dengan perangkat lunak, maka sebelum kami memiliki program bebas untuk melakukan pekerjaan itu, sistem GNU memiliki kesenjangan. Kami harus memberitahukan kepada para sukarelawan, ``Kami belum memiliki program untuk melakukan pekerjaan ini di GNU, jadi kami berharap Anda menulisnya sendiri.'' Jika program semi-bebas digunakan untuk untuk melakukan pekerjaan itu, hal itu akan melemahkan apa yang telah dijelaskan diatas; hal itu akan menghancurkan motivasi (bagi pengembang GNU, dan orang lain yang memiliki pandangan yang sama) untuk menulis substitusi yang bebas.

Perangkat Lunak Berpemilik
Perangkat lunak berpemilik ialah perangkat lunak yang tidak bebas atau pun semi-bebas. Seseorang dapat dilarang, atau harus meminta izin, atau akan dikenakan pembatasan lainnya sehingga menyulitkan--jika menggunakan, mengedarkan, atau memodifikasinya. Free Software Foundation mengikuti aturan bahwa seseorang tidak dapat memasang program-program berpemilik di komputernya kecuali untuk sementara waktu dengan maksud menulis pengganti bebas untuk program tersebut. Disamping itu, pihak perangkat lunak bebas merasa tidak; ada alasan untuk memasang sebuah program berpemilik. Sebagai contoh, pengemban GNU merasa sah dalam memasang Unix di komputer yang digunakan pada tahun 1980-an, sebab kami menggunakannya untuk menulis pengganti bebas untuk Unix. Sekarang, karena sistem operasi bebas telah tersedia, alasan ini tidak lagi dapat diterima; pihak GNU harus menghapus semua sistem operasi tidak bebas yang dimiliki, dan setiap komputer yang dipasang harus berjalan pada sistem operasi yang benar-benar bebas. GNU tidak memaksa para pengguna GNU atau para kontributor GNU untuk mengikuti aturan ini. Ini adalah aturan yang dibuat untuk diri kami sendiri (GNU). Tapi kami berharap agar anda memutuskan untuk mengikutinya juga.

Freeware
Istilah ``freeware'' tidak terdefinisi dengan jelas, tapi biasanya digunakan untuk paket-paket yang mengizinkan redistribusi tetapi bukan pemodifikasian (dan kode programnya tidak tersedia). Paket-paket ini bukan perangkat lunak bebas, jadi jangan menggunakan istilah ``freeware'' untuk merujuk ke perangkat lunak bebas.

Shareware
Shareware ialah perangkat lunak yang mengizinkan orang-orang untuk meredistribusikan salinannya, tetapi mereka yang terus menggunakannya diminta untuk membayar biaya lisensi. Shareware bukan perangkat lunak bebas atau pun semi-bebas. Ada dua alasan untuk hal ini, yakni: Sebagian besar shareware, kode programnya tidak tersedia; jadi anda tidak dapat memodifikasi program tersebut sama sekali. Shareware tidak mengizinkan seseorang untuk membuat salinan dan memasangnya tanpa membayar biaya lisensi, tidak juga untuk orang-orang yang terlibat dalam kegiatan nirlaba. Dalam prakteknya, orang-orang sering tidak mempedulikan perjanjian distribusi dan tetap melakukan hal tersebut, tapi sebenarnya perjanjian tidak mengizinkannya.

Perangkat Lunak Komersial
Perangkat lunak komersial adalah perangkat lunak yang dikembangkan oleh kalangan bisnis untuk memperoleh keuntungan dari penggunaannya. ``Komersial'' dan ``kepemilikan'' adalah dua hal yang berbeda! Kebanyakan perangkat lunak komersial adalah berpemilik, tapi ada perangkat lunak bebas komersial, dan ada perangkat lunak tidak bebas dan tidak komersial. Sebagai contoh, GNU Ada selalu didistribusikan di bawah perjanjian GNU GPL, dan setiap salinannya adalah perangkat lunak bebas; tapi para pengembangnya menjual kontrak penunjang. Ketika penjualnya bicara kepada calon pembeli, terkadang pembeli tersebut mengatakan, ``Kami merasa lebih aman dengan kompilator komersial.'' Si penjual menjawab, ``GNU Ada ialah kompilator komersial; hanya saja ia merupakan perangkat lunak bebas.'' Bagi proyek GNU, penekanannya ada pada hal yang sebaliknya: hal terpenting ialah GNU merupakan perangkat lunak bebas; terlepas komersial atau bukan, itu bukan hal yang penting. Perkembangan GNU yang dihasilkan dari komersialisasinya adalah menguntungkan. Harap sebarkan ke khalayak, perangkat lunak bebas komersial merupakan sesuatu yang mungkin. Sebaiknya, anda jangan mengatakan ``komersial'' ketika maksud anda ialah ``berpemilik''.



4. Klasifikasi sistem komputer

4.1 Klasifikasi Flynn

􀃖 Klasifikasi sistem komputer yang didasarkan pada penggandaan alur instruksi dan alur data diperkenalkan oleh Michael J. Flynn
􀃖 Alur instruksi (instruction stream) adalah urutan instruksi yang dilaksanakan oleh mesin
􀃖 Alur data adalah urutan data yang dipanggil oleh alur instruksi
􀃖 Baik instruksi maupun data diambil dari modul memori
􀃖 Instruksi didecode (diartikan) oleh Control Unit.
􀃖 Alur data mengalir dua arah antara prosesor dan memori.
Ada 4 kategori sistem komputer dalam klasifikasi Flynn:
1. Single Instruction stream – Single Data stream (SISD)
2. Single Instruction stream – Multiple Data stream (SIMD)
3. Multiple Instruction stream – Single Data stream (MISD)
4. Multiple Instruction stream – Multiple Data stream (MIMD)

4.2 Klasifikasi Feng

􀂙 Tse Yun Feng mengusulkan pembagian klasifikasi arsitektur komputer berdasarkan derajat keparalelan (degree of parallelism).
􀂙 Jumlah bit maksimum yang dapat diproses dalam satu satuan waktu oleh sistem komputer disebut derajat keparalelan maksimum P.
􀃆 Bila Pi adalah jumlah bit yang dapat diproses dalam siklus prosesor ke – i (atau periode clock ke – i),
􀃆 Siklus prosesor T dinyatakan oleh i = 1,2,3, ......, T
􀃆 Maka derajat keparalelan rata-rataa adalah :
Biasanya Pi # P.
Laju utilisasi (utilization rate) F sistem komputer dalam siklus T


Jika daya komputasi prosesor dipakai penuh, maka Pi = P untuk semua i dan F = 1 untuk 100% utilisasi.
→ Laju utilisasi bergantung pada program aplikasi yang dieksekusi.
Feng mengklasifikasi sistem komputer juga menggunakan parameter panjang word n, panjang bit slice m.
􀂙 Bit-slice adalah string of bits, yaitu satu dari setiap word pada posisi bit vertikal yang sama.
Ada 4 tipe Metode Pemrosesan :
􀂙 Word Serial and Bit Serial (WSBS)
􀂙 Word Paralel and Bit Setial (WPBS)
􀂙 Word Serial and Bit Paralel (WSBP)
􀂙 Word Paralel and Bit Paralel (WPBP)

WSBS disebut Bit serial procesing karena satu bit (n=m=1) diproses pada satu satuan waktu.
􀂙 Proses : lambat
􀂙 Komputer generasi pertama

WPBS (n=1, m>1) disebut BIS procesing ( Bit Slice Procesing) karena sejumlah m bit slice diproses pada satu satuan waktu.
WSBP (n>1, m=1) disebut Word slice processing karena satu word pada n bit diproses pada satu satuan waktu.
􀂙 Ditetapkan pada kebanyakan komputer sekarang.

WPBP (n>1, m>1) disebut Fully Paralel Processing (Paralell Processing) disini array dari n,m bits diproses pada satu satuan waktu.
􀂙Proses : lambat
􀂙Komputer generasi pertama

WPBS (n=1, m>1) disebut BIS procesing ( Bit Slice Procesing) karena sejumlah m bit slice diproses pada satu satuan waktu.
WSBP (n>1, m=1) disebut Word slice processing karena satu word pada n bit diproses pada satu satuan waktu.
􀂙Ditetapkan pada kebanyakan komputer sekarang.
WPBP (n>1, m>1) disebut Fully Paralel Processing (Paralell Processing) disini array dari n,m bits diproses pada satu satuan waktu.
􀂙Proses : paling cepat.