FEEDJIT Live Traffic Feed

Ads 468x60px

Featured Posts Coolbthemes

Senin, 24 Oktober 2011

DATABASE TERDISTRIBUSI

Database Terdistribusi adalah kumpulan data yang digunakan bersama yang saling terhubung secara logic tetapi tersebar secara fisik pada suatu jaringan computer. sistem database terdistribusi berisi kumpulan site eksekusi transaksi lokal (mengakses data pada satu site) & transaksi global (mengakses data pada site berbeda )






tugas database terdistribusi 1


Basis data terdistribusi : Secara logik keterhubungan dari kumpulan-kumpulan data yang digunakan bersama-sama, dan didistribusikan melalui suatu jaringan komputer.

DBMS Terdistribusi :Sebuah sistem perangkat lunak yang mengatur basis
data terdistribusi dan membuat pendistribusian data
secara transparan.

DDBMS memiliki satu logikal basis data yang dibagi ke dalam beberapa fragment. Dimana setiap fragment disimpan pada satu atau lebih komputer dibawah kontrol dari DBMS yang terpisah , dengan mengkoneksi komputer menggunakan jaringan komunikasi.
Masing- masing site memiliki kemampuan untuk mengakses permintaan pengguna pada data lokal dan juga mampu untuk memproses data yang disimpan pada komputer lain yang terhubung dengan jaringan.
Pengguna mengakses basis data terdistribusi dengan menggunakan dua aplikasi yaitu aplikasi lokal dan aplikasi global, sehingga DDBMS memiliki karakteristik yaitu :

Kumpulan dari data logik yang digunakan bersama-sama
•Data di bagi menjadi beberapa fragment
•Fragment mungkin mempunyai copy ( replika )
•Fragment / replika nya di alokasikan pada yang digunakan
•Setiap site berhubungan dengan jaringan komunikasi
•Data pada masing-masing site dibawah pengawasan DBMS
•DBMS pada masing-masing site dapat mengatasi aplikasi lokal, secara otonomi
•Masing-masing DBMS berpastisipasi paling tidak satu global aplikasi.

Dari definisi tersebut , sistem diharapkan membuat suatu distribusi yang transparan. Basis data terdistribusi terbagi menjadi beberapa fragment yang disimpan di beberapa komputer dan mungkin di replikasi, dan alokasi penyimpanan tidak diketahui pengguna . Adanya Transparansi di dalam basis data terdistribusi agar terlihat sistem ini seperti basis data tersentralisasi. Hal Ini mengacu pada prinsip dasar dari DBMS (Date,1987b). Transparansi memberikan fungsional yang baik untuk pengguna tetapi sayangnya mengakibatkan banyak permasalahan yang timbul dan harus diatasi oleh DDBMS.
Paralel DBMSs

DDBMS memiliki perbedaan dengan paralel DBMS.


Paralel DBMSs ; Sistem manajemen basis data ini menggunakan beberapa prosesor dan disk yang dirancang untuk dijalankan secara paralel , apabila di mungkinkan, selama hal tersebut digunakan untuk memperbaiki kinerja dari DBMS


Sistem DBMS berbasis pada sistem prosesor tunggal dimana sistem prosesor tunggal tidak memiliki kemampuan untuk berkembang, untuk menghitung skala efektifitas dan biaya, keandalan dan kinerja dari sistem. Paralel DBMS di jalankan oleh berbagai multi prosesor . Paralel DBMS menghubungkan beberapa mesin yang berukuran kecil untuk menghasilkan keluaran sebuah mesin yang berukuran besar dengan skalabilitas yang lebih besar dan keandalan dari basis datanya.
Untuk menopang beberapa prosesor dengan akses yang sama pada satu basis data, DBMS paralel harus menyediakan manajemen sumber daya yang dapat diakses bersama. Sumber daya apa yang dapat digunakan bersama, dan bagaimana sumber daya tersebut di implementasikan, mempunyai efek langsung pada kinerja dan skalabilitas dari sistem , hal ini tergantung dari aplikasi atau lingkungan yang digunakan.

Ada tiga arsitektur yang digunakan pada paralel DBMS yaitu :
a. Penggunaan memory bersama ( share memory )
b. Penggunaan disk bersama ( share disk )
c. Penggunaan secara sendiri-sendiri ( share nothing )

Arsitektur pada penggunaan secara sendiri – sendiri ( share nothing ) hampir sama dengan DBMS terdistribusi, namun pendistribusian data pada paralel DBMS hanya berbasis pada kinerja nya saja. Node pada DDBMS adalah merupakan pendistribusian secara geographic, administrasi yang terpisah , dan jaringan komunikasi yang lambat, sedangkan node pada paralel DBMS adalah hubungan dengan komputer yang sama atau site yang sama.

Penggunaan Memori Bersama ( Share Memory ) adalah sebuah arsitektur yang menghubungkan beberapa prosesor di dalam sistem tunggal yang menggunakan memori secara bersama – sama ( gbr 1.3 ). Dikenal dengan SMP (Symmetric Multiprocessing ), metode ini sering digunakan dalam bentuk workstation personal yang mensupport beberapa mikroprosesor dalam paralel dbms, RISC ( Reduced Instruction Set Computer ) yang besar berbasis mesin sampai bentuk mainframe yang besar. Arsitektur ini menghasilkan pengaksesan data yang sangat cepat yang dibatasi oleh beberapa prosesor , tetapi tidak dapat digunakan untuk 64 prosesor dimana jaringan komunikasi menjadi masalah ( terjadinya bottleneck).

Penggunaan Disk Bersama ( Share Disk ) adalah sebuah arsitektur yang mengoptimalkan jalannya suatu aplikasi yang tersentrallisasi dan membutuhkan keberadaan data dan kinerja yang tinggi ( Gbr 1.4 ). Setiap prosesor dapat mengakses langsung semua disk , tetapi prosesor tersebut memiliki memorinya sendiri – sendiri. Seperti halnya penggunaan secara sendiri – sendiri arsitektur ini menghapus masalah pada penggunaan memori bersama tanpa harus mengetahui sebuah basis data di partisi. Arsitektur ini di kenal dengan cluster

Penggunaan Secara sendiri – sendiri ( Share nothing ) ; sering di kenal dengan Massively parallel processing ( MPP ) yaitu arsitektur dari beberapa prosesor di mana setiap prosesor adalah bagian dari sistem yang lengkap , yang memiliki memori dan disk ( Gbr 1.5 ). Basis data ini di partisi untuk semua disk pada masing – masing sistem yang berhubungan dengan basis data dan data di berikan secara transparan untuk semua pengguna yang menggunakan sistem . Arsitektur ini lebih dapat di hitung skalabilitasnya dibandingkan dengan share memory dan dapat dengan mudah mensupport prosesor yang berukuran besar. Kinerja dapat optimal jika data di simpan di lokal dbms.

Paralel teknologi ini biasanya digunakan untuk basis data yang berukuran sangat besar ( terabites ) atau sistem yang memproses ribuan transaksi perdetik. Paralel DBMS dapat menggunakan arsitektur yang diinginkan untuk memperbaiki kinerja yang kompleks untuk mengeksekusi kueri dengan menggunakan paralel scan, join dan teknik sort yang memperbolehkan node dari banyak prosesor untuk menggunakan bersama pemrosesan kerja yang di gunakan.

KEUNTUNGAN DAN KERUGIAN DARI DDBMS


Data dan aplikasi terdistribusi mempunyai kelebihan di bandingkan dengan sistem sentralisasi basis data. Sayangnya , DDBMS ini juga memiliki kelemahan.

KEUNTUNGAN:
• Merefleksikan pada bentuk dari struktur organisasinya
Ada suatu organisasi yang memiliki sub organisasi di lokasi yang tersebar di beberapa tempat,.sehingga basis data yang digunakan pun tersebar sesuai lokasi dari sub organisasi berada.

• Penggunaan bersama dan lokal otonomi
Distribusi secara geografis dari sebuah organisasi dapat terlihat dari data terdistribusinya, pengguna pada masing-masing site dapat mengakses data yang disimpan pada site yang lain. Data dapat dialokasikan dekat dengan pengguna yang biasa menggunakannya pada sebuah site, sehingga pengguna mempunyai kontrol terhadap data dan mereka dapat secara konsekuen memperbaharui dan memiliki kebijakkan untuk data tersebut. DBA global mempunyai tanggung jawab untuk semua sistem. Umumnya sebagian dari tanggung jawab tersebut di serahkan kepada tingkat lokal, sehingga DBA lokal dapat mengatur lokal DBMS secara otonomi.

• Keberadaan data yang ditingkatkan
Pada DBMS yang tersentralisasi kegagalan pada suatu site akan mematikan seluruh operasional DBMS. Namun pada DDBMS kegagalan pada salah satu site, atau kegagalan pada hubungan komunikasi dapat membuat beberapa site tidak dapat di akses, tetapi tidak membuat operasional DBMS tidak dapat dijalankan.

• Keandalan yang ditingkatkan
Sebuah basis data dapat di replikasi ke dalam beberapa fragmen sehingga keberadaanya dapat di simpan di beberapa lokasi juga. Jika terjadi kegagalan dalam pengaksesan data pada suatu site di karenakan jaringan komunikasi terputus maka site yang ingin mengakses data tersebut dapat mengakses pada site yang tidak mengalami kerusakan.

• Kinerja yang ditingkatkan
Sebuah data ditempatkan pada suatu site dimana data tersebut banyak di akses oleh pengguna, dan hal ini mempunyai dampak yang baik untuk paralel DBMS yaitu memiliki kecepatan dalam pengkasesan data yang lebih baik dibandingkan dengan basis data tersentralisasi Selanjutnya, sejak masing-masing site hanya menangani sebagian dari seluruh basis data , mengakibakan perbedaan pada pelayanan CPU dan I/O seperti yang di karakteristikan pada DBMS tersentralisasi.




• Ekonomi
Grosch's Law menyatakan daya listrik dari sebuah komputer di hitung menurut biaya yang dihabiskan dari penggunaan peralatannya, tiga kali biaya peralatan, 9 kali nya dari daya listrik . Sehingga lebih murah jika membuat sebuah sistem yang terdiri dari beberapa mini komputer yang mempunyai daya yang sama jika dibandingkan dengan memiliki satu buah super komputer. Oleh karena itu lebih efektif untuk menambah beberapa workstation untuk sebuah jaringan dibandingkan dengan memperbaharui sistem mainframe. Potensi yang juga menekan biaya yaitu menginstall aplikasi dan menyimpan basis data yang diperlukan secara geografi sehingga mempermudah operasional pada setiap situs.

• Perkembangan modular
Di dalam lingkungan terdistribusi, lebih mudah untuk menangani ekspansi .Site yang baru dapat di tambahkan ke suatu jaringan tanpa mempengaruhi operational dari site - site yang ada. Penambahan ukuran basis data dapat di tangani dengan menambahkan pemrosesan dan daya tampung penyimpanan pada suatu jaringan. Pada DBMS yang tersentralisasi perkembangan akan di ikuti dengan mengubah perangkat keras dan perangkat lunak.


KERUGIAN

• Kompleksitas
Pada distribusi DBMS yang digunakan adalah replikasinya, DBMS yang asli tidak digunakan untuk operasional, hal ini untuk menjaga reliabilitas dari suatu data. Karena yang digunakan replikasinya maka hal ini menimbulkan berbagai macam masalah yang sangat kompleks dimana DBA harus dapat menyediakan pengaksesan dengan cepat , keandalan dan keberadaan dari basis data yang up to date . Jika aplikasi di dalam DBMS yang digunakan tidak dapat menangani hal - hal tersebut maka akan terjadi penurunan pada tingkat kinerja , keandalan dan kerberadaan dari DBMS tersebut, sehingga keuntungan dari DDBMS tidak akan terjadi.

• Biaya
Meningkatnya kekompleksan pada suatu DDBMS berarti biaya untuk perawatan dari DDBMS akan lebih besar dibandingkan dengan DBMS yang tersentralisasi, seperti biaya untuk membuat jaringannya, biaya komunikasi yang berjalan , orang-orang yang ahli dalam penggunaan, pengaturan dan pengawasan dari DDBMS.

• Keamanan
Pada DBMS yang tersentralisasi, pengaksesan data lebih terkontrol. Sedangkan pada DDBMS bukan hanya replikasi data yang harus di kontrol tetapi jaringan juga harus dapat di kontrol keamanannya.

• Pengontrolan Integritas lebih sulit
Kesatuan basis data yang mengacu pada keabsahan dan kekonsistenan dari data yang disimpan. Kesatuan biasanya di ekspresikan pada batasan, dimana berisi aturan untuk basis data yang tidak boleh diubah. Membuat batasan untuk integrity, umumnya memerlukan pengaksesan ke sejumlah data yang sangat besar untuk mendefinisikan batasan tersebut, namun hal ini tidak termasuk di dalam operasional update itu sendiri. Dalam DDBMS, komunikasi dan biaya pemrosesan yang dibutuhkan untuk membuat suatu batasan integrity mungkin tidak diperbolehkan.
PERANCANGAN RELASIONAL BASIS DATA TERDISTRIBUSI

Faktor - faktor yang dianjurkan untuk digunakan pada basis data terdistribusi yaitu :
1. Fragmentasi : Sebuah relasi yang terbagi menjadi beberapa sub-sub relasi yang disebut dengan fragment, sehingga disebut juga distribusi. Ada dua buah fragmentasi yaitu horisontal dan vertikal. Horisontal fragmentasi yaitu subset dari tupel sedangkan vertikal fragmentasi subset dari atribut.
2. Alokasi, setiap fragmen disimpan pada situs dengan distribusi yang optimal.
3. Replikasi, DDBMS dapat membuat suatu copy dari fragmen pada beberapa situs yang berbeda.

Definisi dan alokasi dari fragmen harus berdasarkan pada bagaimana basis data tersebut digunakan.
Perancangan harus berdasarkan kuantitatif dan kualitatif informasi. Kuantitatif informasi digunakan pada alokasi data sedangkan kualitatif informasi digunakan untuk fragmentasi.
Kuantitatif informasi termasuk :
• Seberapa sering aplikasi di jalankan
• Situs mana yang aplikasinya dijalankan
• Kriteria kinerja untuk transaksi dan aplikasi
Kualitatif informasi termasuk transaksi yang dieksekusi pada aplikasi, termasuk pengaksesan relasi, atribut dan tuple , tipe pengaksesan( R atau W ) dan predikat dari operasional.

Definisi dan alokasi dari fragment menggunakan strategi untuk mencapai obyektifitas yang diinginkan :
1. Referensi Lokal
Jika memungkinkan data harus disimpan dekat dengan yang menggunakan. Bila suatu fragmen digunakan di beberapa lokasi , akan menguntungkan jika fragmen data tersebut disimpan di beberapa lokasi juga.
2. Reliabilitas dan Availabilitas yang ditingkatkan
Keandalan dan ketersediaan data ditingkatkan dengan replikasi. Ada salinan lain yang disimpan di lokasi yang lain.
3. Kinerja yang di terima
Alokasi yang tidak baik dapat mengakibatkan bottleneck terjadi, sehingga akan mengakibatkan banyaknya permintaan dari beberapa lokasi yang tidak dapat dilayani dan data yang diminta menjadi tidak up to date menyebabkan kinerja turun.
4. Seimbang antara kapasitas penyimpanan dan biaya
Pertimbangan harus diberikan pada ketersediaan infrastruktur dan biaya untuk penyimpanan di setiap lokasi, sehingga untuk efisiensi dapat digunakan tempat penyimpanan yang tidak mahal.
5. Biaya komunikasi yang minimal
Pertimbangan harus diberikan untuk biaya akses jarak jauh. Biaya akan minimal ketika kebutuhan lokal maksimal atau ketika setiap site menduplikasi data nya sendiri. Bagaimanapun ketika data yang di replikasi telah di update. Maka data yang ter-update tersebut harus diduplikasi ke seluruh site, hal ini yang menyebabkan naiknya biaya komunikasi.






ALOKASI DATA

Ada empat strategis menurut penempatan data : sentralisasi, pembagian partisi, replikasi yang lengkap dan replikasi yang dipilih.

1. Sentralisasi

Strategi ini berisi satu basis data dan DBMS yang disimpan pada satu situs dengan pengguna yang didistribusikan pada jaringan (pemrosesan distribusi). Referensi lokal paling rendah di semua situs, kecuali situs pusat, harus menggunakan jaringan untuk pengaksesan semua data. Hal ini berarti juga biaya komunikasi tinggi.
Keandalan dan keberadaan rendah, kesalahan pada situs pusat akan mempengaruhi semua sistem basis data.

2. Partisi ( Fragmentasi )
Strategi ini mempartisi basis data yang dipisahkan ke dalam fragmen-fragmen, dimana setiap fragmen di alokasikan pada satu site. Jika data yang dilokasikan pada suatu site, dimana data tersebut sering digunakan maka referensi lokal akan meningkat. Namun tidak akan ada replikasi , dan biaya penyimpanan nya rendah, sehingga keandalan dan keberadaannya juga rendah, walaupun pemrosesan distribusi lebih baik dari pada sentralisasi. Ada satu kelebihan pada sentralisasi yaitu dalam hal kehilangan data, yang hilang hanya ada pada site yang bersangkutan dan aslinya masih ada pada basis data pusat. Kinerja harus bagus dan biaya komunikasi rendah jika distribusi di rancang dengan sedemikian rupa..


3. Replikasi yang lengkap
Strategi ini berisi pemeliharaan salinan yang lengkap dari suatu basis data di setiap site. Dimana referensi lokal, keberadaan dan keandalan dan kinerja adalah maksimal. Bagaimanapun biaya penyimpanan dan biaya komunikasi untuk mengupdate besar sekali biayanya. Untuk mengatasi masalah ini, biasanya digunakan snapshot . Snapshot digunakan untuk menyalin data pada waktu yang telah ditentukan. Data yang disalin adalah hasil update per periode , misalkan per minggu atau perjam, sehingga data salinan tersebut tidak selalu up to date. Snapshot juga digunakan untuk mengimplementasikan table view di dalam data terdistribusi untuk memperbaiki waktu yang digunakan untuk kinerja operasional dari suatu basis data.

4. Replikasi yang selektif
Strategi yang merupakan kombinasi antara partisi,replikasi dan sentralisasi. Beberapa item data di partisi untuk mendapatkan referensi lokal yang tinggi dan lainnya, yang digunakan di banyak lokasi dan tidak selalu di update adalah replikasi ;selain dari itu di lakukan sentralisasi. Obyektifitas dari strategi ini untuk mendapatkan semua keuntungan yang dimiliki oleh semua strategi dan bukan kelemahannya. Strategi ini biasa digunakan karena fleksibelitasnya.

FRAGMENTASI

Kenapa harus dilakukan fragmentasi ?
Ada empat alasan untuk fragmentasi :
1. Kebiasaan ; umumnya aplikasi bekerja dengan tabel views dibandingkan dengan semua hubungan data. Oleh karenanya untuk distribusi data , yang cocok digunakan adalah bekerja dengan subset dari sebuah relasi sebagai unit dari distribusi.

2. Efisien ; data disimpan dekat dengan yang menggunakan. Dengan tambahan data yang tidak sering digunakan tidak usah disimpan.

3. Paralel ; dengan fragmen-fragmen tersebut sebagai unit dari suatu distribusi , sebuah transaksi dapat di bagi kedalam beberapa sub queri yang dioperasikan pada fragmen tersebut. Hal ini meningkatkan konkurensi atau paralelisme dalam sistem, sehingga memeperbolehkan transaksi mengeksekusi secara aman dan paralel.

4. Keamanan ; data yang tidak dibutuhkan oleh aplikasi tidak disimpan dan konsukuen tidak boleh di ambil oleh pengguna yang tidak mempunyai otoritas.

Fragmentasi mempunyai dua kelemahan, seperti yang disebutkan sebelumnya :

1. Kinerja; cara kerja dari aplikasi yang membutuhkan data dari beberapa lokasi fragmen di beberapa situs akan berjalan dengan lambat.
2. Integritas; pengawasan inteegritas akan lebih sulit jika data dan fungsional ketergantungan di fragmentasi dan dilokasi pada beberapa situs yang berbeda.

Pembetulan dari fragmentasi

Fragmentasi tidak bisa di buat secara serampangan, ada tiga buah aturan yang harus dilakukan untuk pembuatan fragmentasi yaitu :
1. Kelengkapan ; jika relasi contoh R di dekomposisi ke dalam fragment R1 , R2 ,R3 , … Rn , masing-masing data yang dapat ditemukan pada relasi R harus muncul paling tidak di salah satu fragmen. Aturan ini di perlukan untuk meyakinkan bahwa tidak ada data yang hilang selama fragmentasi
2. Rekonstruksi; Jika memungkinkan untuk mendefinisikan operasional relasi yang akan dibentuk kembali relasi R dari fragmen-fragmen.
Aturan ini untuk meyakinkan bahwa fungsional ketergantungan di perbolehkan .
3. Penguraian; Jika item data di muncul pada fragment Ri , maka tidak boleh muncul di fragmen yang lain. Vertikal fragmentasi diperbolehkan untuk aturan yang satu ini, dimana kunci utama dari atribut harus diulanmg untuk melakukan rekonstruksi. Aturan ini untuk meminimalkan redudansi.

Tipe dari Fragmentasi

Ada dua tipe utama yang dimiliki oleh fragmentasi yaitu horisontal dan vertikal , tetapi ada juga dua tipe fragmentasi lainnya yaitu : mixed dan derived fragmentasi .





1. Horisontal fragmentasi ;

Fragmentasi ini merupakan relasi yang terdiri dari subset sebuah tuple . Sebuah horisontal fragmentasi di hasilkan dari menspesifikasikan predikat yang muncul dari sebuah batasan pada sebuah tuple didalam sebuah relasi. Hal ini di definisikan dengan menggunakan operasi SELECT dari aljabar relasional . Operasi SELECT mengumpulkan tuple yang memiliki kesamaan kepunyaan; sebagai contoh, tuple yang semua nya menggunakan aplikasi yang sama atau pada situs yang sama. Berikan relasi R sebuah horisontal fragmentasi yang didefinisikan :
P ( R )
dimana P adalah sebuah predikat yang berdasarkan atas satu atau lebih atribut didalam suatu relasi.
Contoh : Diasumsikan hanya mempunyai dua tipe properti yaitu tipe flat dan rumah, horisontal fragmentasi dari properti untuk di sewa dari tipe properti dapat di peroleh sebagai berikut :
P1 : tipe = 'Rumah'( properti sewa)
P2; tipe = 'Flat'(properti sewa)
Hasil dari operasi tersebut akan memiliki dua fragmentasi , yang satu terdiri dari tipe yang mempunyai nilai 'Rumah' dan yang satunya yang mempunyai nilai "Flat'.

Fragment P1
Pno Street Area City Pcode Type Rooms Rent Cno Sno Bno
PA14 16 Holl Dee Aber AB75S Rumah 6 650 CO46 SA9 B7
PG21 18 Dell Hynd Glas G12 Rumah 4 500 CO87 SG37 B3

Fragment P2
Pno Street Area City Pcode Type Rooms Rent Cno Sno Bno
PL94 6 Arg Dee Aber AB74S Flat 4 450 CO67 SL41 B5
PG4 8 Law Hynd Glas G50 Flat 4 400 CO70 SG14 B3
PG16 2 Man Part Glas G67 Flat 3 300 CO90 SG14 B3




Fragmentasi seperti ini mempunyai keuntungan jika terjadi transaksi pada beberapa aplikasi yang berbeda dengan Flat ataupun Rumah.

Fragmentasi skema memuaskan aturan pembetulan (Correctness rules) :
1. Kelengkapan ; setiap tuple pada relasi muncul pada fragment
P1 atau P2

2. Rekonstruksi ; relasi Properti sewa dapat di rekonstruksi dari fragmentasi menggunakan operasi Union , yakni :
P1 U P2 = Properti sewa
3. Penguraian ; fragmen di uraikan maka tidak ada tipe properti yang mempunyai tipe flat ataupun rumah.

Terkadang pemilihan dari strategi horisontal fragmentasi terlihat jelas. Bagaimanapun pada kasus yang lain, diperlukan penganalisaan secara detail pada aplikasi. Analisa tersebut termasuk dalam menguji predikat atau mencari kondisi yang digunakan oleh transaksi atau queri pada aplikasi. Predikat dapat berbentuk sederhana (atribut tunggal) ataupun kompleks (banyak atribut). Predikat setiap atribut mungkin mempunyai nilai tunggal ataupun nilai yang banyak. Untuk kasus selanjutnya nilai mungkin diskrit atau mempunyai range.
Fragmentasi mencari group predikat minimal yang dapat digunakan sebagai basis dari fragmentasi skema. Set dari predikat disebut lengkap jika dan hanya jika ada dua tuple pada fragmen yang sama bereferensi pada kemungkinan yang sama oleh beberapa aplikasi . Sebuah predikat dinyatakan relevan jika ada paling tidak satu aplikasi yang dapat mengakses hasil dari fragment yang berbeda.



2. Vertikal Fragmentasi

Adalah relasi yang terdiri dari subset pada atribut
Fragmentasi vertikal ini mengumpulkan atribut yang digunakan oleh beberapa aplikasi. Di definisikan menggunakan operasi PROJECT pada aljabar relasional. Relasi R sebuah vertikal fragmentasi di definisikan :

 a1,a2,…an (R)

dimana a1,a2,…an merupakan atribut dari relasi R
contoh :Aplikasi Payroll untuk PT. Dream Home membutuhkan nomor pokok daari Staff ( Sno) dan Posisi, Sex, DOB,Gaji dan NIN atribut setiap anggota dari staff tersebut; departemen kepegawaian membutuhkan ; Sno,Fname,Lname, Alamat,Tel_no dan Bno atribut, Vertikal fragmentasi dari
staff untuk contoh ini diperlukan sebagai berikut :
S1 =  Sno,posisi,sex,dob,gaji,nin(Staff)
S2 =  Sno,Fname,Lname,Alamat,Tel_no,Bno(Staff)
Akan menghasilkan dua buah fragmen , kedua buah fragmen tersebut berisi kunci utama ( Sno ) untuk memberi kesempatan yang aslinya untuk di rekonstruksi. Keuntungan dari vertikal fragmentasi ini yaitu fragmen-fragmen tersebut dapat disimpan pada situs yang memerlukannya. Sebagai tambahan kinerja yang di tingkatkan, seperti fragmen yang diperkecil di bandingkan dengan yang aslinya.

Fragmentasi ini sesuai dengan skema kepuasan pada aturan pembetulan (Correcness Rules):

1. Kelengkapan ; setiap atribut di dalam relasi staff muncul pada setiap fragmen S1 dan S2

2. Rekonstruksi ; relasi staff dapat di rekonstruksi dari fragmen menggunakan operasi natural join , yakni :
S1 S2 = Staff

3. Penguraian ; fragment akan diuraikan kecuali kunci utama, karena diperlukan untuk rekonstruksi .

Fragment S1
Sno Posisi Sex DOB Salary NIN
SL21 Manager M 1-oct-60 300000 WK44201B
SG37 Snr Ass F 10-nov-65 150000 WL43251C
SG14 Deputy M 24-mar-70 100000 WL22065B
SA9 Assistant F 20-jan-70 90000 WM53218D


Fragment S2
Sno Fname Lname Alamat Tel_no Bno
SL21 John White 19 Taylor London 0171-884-5112 B5
SG37 Ann Beech 81 George Glasgow 0141-848-3345 B3
SG14 David Ford 63 Ashby Glasgow 0141-339-2177 B3
SA9 Marie Howe 2 Elm Abeerdeen B7






3. Campuran Fragmentasi
Fragmentasi ini terdiri dari horisontal fragmentasi setelah itu vertikal fragmentasi, atau vertikal fragmentasi lalu horisontal fragmentasi.
Fragmentasi campuran ini di definisikan menggunakan operasi SELECT dan PROJECT pada aljabar relasional.
Relasi R adalah fragmentasi campuran yang didefinisikan sbb :
P ( a1,a2,…an (R)) atau  a1,a2,…an (P (R))
dimana p adalah predikat berdasarkan satu atau lebih atribut R dan a1,a2,…an adalah atribut dari R

contoh :

Vertikal fragmentasi staff dari aplikasi payroll dan departemen kepegawaian kedalam :
S1 =  Sno,posisi,sex,dob,gaji,nin(Staff)
S2 =  Sno,Fname,Lname,Alamat,Tel_no,Bno(Staff)
Lalu lakukan horisontal fragmentasi pada fragmen S2 menurut nomor cabang:
S21 =  Bno = B3(S2)
S22 =  Bno = B5(S2)
S23 =  Bno = B7(S2)

Fragment S1
Sno Posisi Sex DOB Salary NIN
SL21 Manager M 1-oct-60 300000 WK44201B
SG37 Snr Ass F 10-nov-65 150000 WL43251C
SG14 Deputy M 24-mar-70 100000 WL22065B
SA9 Assistant F 20-jan-70 90000 WM53218D

Fragment S21
Sno Fname Lname Alamat Tel_no Bno
SG37 Ann Beech 81 George Glasgow 0141-848-3345 B3
SG14 David Ford 63 Ashby Glasgow 0141-339-2177 B3

Fragment S22
Sno Fname Lname Alamat Tel_no Bno
SL21 John White 19 Taylor London 0171-884-5112 B5

Fragment S23
Sno Fname Lname Alamat Tel_no Bno
SA9 Marie Howe 2 Elm Abeerdeen B7







Dari fragmentasi tersebut akan menghasilkan tiga buah fragmen yang baru berdasarkan nomor cabang. Fragmentasi tersebut sesuai dengan aturan pembetulan.(Correction rules)

1. Kelengkapan ; Setiap atribut pada relasi staff muncul pada fragmentasi S1 dan S2 dimana setiap tupel akan mencul pada fragmen S1 dan juga fragmen S21 ,S22 dan S23 .

2. Rekonstruksi ; relasi staff dapat di rekonstruksi dari fragmen menggunakan operasi Union dan Natural Join , yakni: S1 (S21 U S22 U S23 ) = Staff

3. Penguraian ; penguraian fragmen ; tidak akan ada Sno yang akan muncul di lebih dari satu cabang dan S1 dan S2 adalah hasil penguraian kecuali untuk keperluan duplikasi kunci utama.


4. Derived Horisontal Fragmentation

Beberapa aplikasi melibatkan dua atau lebih relasi gabungan. Jika relasi disimpan ditempat yang berbeda, mungkin akan memiliki perbedaan yang siginifikan di dalam proses penggabungan tersebut. Di dalam fragmentasi ini akan lebih pasti keberadaan relasi atau fragmen dari relasi di tempat yang sama.
Derived fragmen : horisontal fragmen yang berdasarkan fragmen dari relasi yang utama
Istilah anak akan muncul kepada relasi yang mengandung foreign key dan parent pada relasi yang mengandung primari key. Derived fragmentasi di jabarkan dengan menggunakan operasi semijoin dari aljabar relasional.
Misalkan relasi anak adalah R dari relasi parent adalah S, maka fragmentasi derived digambarkan sebagai berikut :

RI = R Sf L  I  w

Dimana w adalah nomor dari fragmen horisontal yang telah digambarkan pada S dan f adalah atribut join

Contoh :

Suatu perusahan mempunyai aplikasi yang menggabungkan relasi staff dan PropertyForRent secara bersamaan. Untuk contoh ini di asumsikan staff telah terfragmentasi secara horisontal berdasarkan nomor cabang. Jadi data yang berhubungan dengan cabang disimpan di tempat :

S3 =  Bno = B3(Stsff)
S4 =  Bno = B5(Staff)
S5 =  Bno = B7(Staff)


Diasumsikan bahwa properti PG4 diatur oleh SG14. Ini seharusnya berguna untukmenyimpan data propetri yang menggunakan strategi fragmentasi sama. Ini di peroleh dengan menggunakan derived fragmentasi untuk menfragmentasi secara horisontal relasi PropertiForRent berdasarkan nomor cabang :

PI = PropertiForRent staffno Sf 3  I  5

Menghasilkan 3 fragmen ( P3,P4 dan P5) . satu terdiri dari proreprti yang diatur oleh staff dengan nomor cabang B3 (P3), yang satunya terdiri dari properti yang diatur oleh staf dengan nomor cabang B5 ( P5) dan yangterakhir terdiri dari properti yang diatur oleh staff dengna nomro cabang B7 (P7) . Akan mudah dilihat skema fragmentasi ini sesuai dengan peraturan fragmentasi.


Fragment P3
Pno Street City Pcode Type Rooms Rent Cno Sno
PG4 6Law Glas G11 Flat 3 350 CO40 SG149
PG36 2 Mann Glas G32 Flat 3 375 C093 SG37
PG21 18 Dell Glas G12 House 4 500 CO87 SG37
PG16 5 Nov Glas G12X Flat 4 450 C093 SG14

Fragment P4
Pno Street City Pcode Type Rooms Rent Cno Sno
PL94 6 Arg Lon NW1 Flat 4 400 CO87 SL41

Fragment P5
Pno Street City Pcode Type Rooms Rent Cno Sno
PA14 16Holl Aber AB74S House 6 650 CO46 SA9






5. Tidak Terdapat Fragmentasi
Strategi final adalah tidak memfragmentasikan relasi. Sebagai contoh, relasi cabang hanya mengandung sejumlah update secara berkala . Daripada mencoba untuk menfragmentasikan relasi secara horisontal, misalnya nomor cabang akal lebih masuk akal lagi untuk membiarkan relasi keseluruhan dan mereplikasi relasi cabang pada setiap sisinya.


http://jati.staff.unisbank.ac.id/2011/10/17/tugas-database-terdistribusi/
Reade more >>

Jumat, 14 Oktober 2011

Kriptografi dengan Chosen-Plaintext Attack

Beberapa waktu yang lalu saya menemukan sebuah website dengan vulnerability SQL injection. Sengaja nama website tersebut tidak saya publikasikan, karena artikel ini bukan tentang SQL injection melainkan bagaimana memecahkan enkripsi.

Berbeda dengan website lainnya, website tersebut menyimpan password dalam tabel user tidak dalam bentuk one-way hash (contohnya MD5 atau SHA1), melainkan dalam bentuk ter-enkripsi. Enkripsi yang dipakai juga unik karena tidak memakai algoritma enkripsi yang sudah dikenal luas.


Dalam kasus tersebut saya ingin melakukan privilege-escalation dari user dengan hak akses biasa menjadi user dengan hak akses penuh. Sebagai user biasa saya bisa melakukan SQLinjection untuk membaca username dan password dari tabel user. Dengan teknik tersebut saya mendapatkan encrypted password dari seorang user yang memiliki hak admin. Namun saya tidak bisa memakai password itu untuk menjadi admin sebelum saya mengerti pesan tersembunyi dalam chiphertext tersebut.

Analisa Ciphertext

Saya mencoba menggali informasi lebih dalam lagi tentang enkripsi unik di website tersebut. Saya mulai mengumpulkan banyak ciphertext dari user-user lainnya. Berikut beberapa ciphertext yang saya kumpulkan:

* 804881451156416021528145
* 9436353935332546555225378546953924846491
* 11763273927622732276427712808233523172328227

Ada beberapa poin penting yang saya dapatkan dari pengumpulan ciphertext tersebut:

* Panjang ciphertext bervariasi

Panjang ciphertext yangg bervariasi membuat saya yakin bahwa itu bukan fungsi hash, karena ciri khas fungsi hash adalah panjang hash yang selalu tetap. Panjang ciphertext yang bervariasi kemgungkinan besar tergantung dari panjang atau pendeknya password user tersebut. Nanti saya akan coba konfirmasi hipotesa ini dengan mengubah password user biasa yang saya pakai.

* Ciphertext hanya terdiri dari angka

Ciphertext yang semua berupa angka membuat saya curiga bahwa ini adalah kode, semacam kode ASCII namun sudah dikalkulasi dengan formula matematis tertentu.

Chosen-Plaintext Attack

Chosen-Plaintext attack adalah salah satu cara “code breaking” (cryptanalysis) dengan cara membandingkan dan menganalisa contoh plaintext dan ciphertextnya. Dalam chosen plaintext attack, code breaker memiliki kebebasan untuk menentukan plaintext yang diiginkannya.

Untuk mendapatkan contoh plaintext dan ciphertextnya, saya melakukan langkah berikut ini setelah login sebagai seorang user biasa:

1. Ubah Password
2. Lihat ciphertext dari tabel user dengan SQLinjection

Pertama saya ubah password menjadi ‘d’, kemudian saya lihat ciphertext untuk plaintext ‘d’. Saya ulangi langkah itu dengan contoh plaintext yang lain berkali-kali.

Apa saja plaintext yang saya pilih? Berikut chosen-plaintext dan ciphertextnya yang saya pilih:
Plaintext Ciphertext
d 92254325
dd 831214121412
ddd 6180128012807280
dddd 15013601660186017601
abcd1234 433034273428242944308379538023819382

Perhatikan bahwa panjang ciphertext tergantung dari panjang plaintext. Plaintext sepanjang 1 karakter, ciphertext panjangnya 8 digit. Setiap penambahan satu karakter plaintext, ciphertext bertambah 4 digit.

Saya sengaja memilih plaintext berurutan (d,dd,ddd,dddd) untuk melihat apa ada pola yang muncul. Perhatikan pada plaintext “dd”a, ciphertextnya adalah 831214121412, terlihat pola berulang pada angka 412 sebanyak 2x. Dalam ciphertext ini saya menyimpulkan bahwa 412 adalah kode untuk karakter ‘d’.

Untuk plaintext “ddd”, ciphertextnya adalah 6180128012807280, terlihat pola berulang pada angka 280 sebanyak 3 kali. Dalam ciphertext ini saya menyimpulkan bahwa 280 adalah kode untuk karakter ‘d’.

Begitu juga pada plaintext “dddd”, ciphertextnya adalah 15013601660186017601, dengan pola berulang pada angka 601 sebanyak 4 kali. Dalam ciphertext ini, saya menyimpulkan bahwa 601 adalah kode untuk karakter ‘d’.

Ingat bahwa untuk setiap penambahan satu karakter plaintext membuat ciphertext bertambah 4 digit. Ternyata 4 digit tersebut adalah satu digit apapun diikuti dengan 3 digit kode karakter. Chosen plaintext dalam contoh sebelumnya saya pecah-pecah menjadi kelompok 4 digit dipisahkan dengan karakter ‘#’ dan dari 4 digit tersebut saya pecah dua menjadi 1 digit dan 3 digit dengan karakter ‘-’.
Plaintext Ciphertext Kode
d 9-225#4-325 325 = ‘d’
dd 8-312#1-412#1-412 412 = ‘d’
ddd 6-180#1-280#1-280#7-280 280 = ‘d’
dddd 1-501#3-601#6-601#8-601#7-601 601 = ‘d’

Oke sampai disini saya sudah mendapatkan titik terang. Saya sudah mengetahui komposisi dan posisi tiap karakter pada plaintext ketika dipetakan pada ciphertext. Tapi masih ada yang belum fjelas, dalam contoh tersebut kode untuk krakter ‘d’ ternyata berbeda-beda, pada contoh pertama kodenya adalah 325, pada contoh lain kode untuk ‘d’ adalah 412, 280 dan 601.

Kini saya harus mengetahui bagasimana hubungan antara kode yang berurutan, untuk itu saya memilih plaintext “abcd1234″ dengan ciphertext 433034273428242944308379538023819382. Mari kita pecah ciphertext tersebut menjadi kelompok 4 digit seperti tabel di atas.

4-330#3-427#3-428#2-429#4-430#8-379#5-380#2-381#9-382

Dari pengelompokan tersebut kita bisa simpulkan bahwa:

427 = ‘a’, 428 = ‘b’, 429 = ‘c’, 430 = ‘d’, 379 = ’1′, 380 = ’2′, 381=’3′, 382=’4′

Perhatikan bahwa kode-kode tersebut sengaja saya pilih berurut ‘a’->’b'->’c'->’d’ dan ternyata ciphertextnya pun ikut berurut 427->428->429->430. Begitu juga untuk ’1′->’2′->’3′->’4′, ciphertextnya juga berurut 379->380->381->382. Saya mencurigai bahwa enkripsi ini memakai kode ASCII karena memang kode ASCII untuk ‘abcd’ dan ’1234′ berurutan.Kode ASCII untuk ‘a’=97, ‘b’=98,’c'=99,’d'=100,’1′=49,’2′=50,’3′=51,’4′=52.

Terlihat ada jarak yang cukup jauh antara kode ASCII dan kode pada ciphertext. Contohnya ‘a’ dengan ASCII 97, dalam ciphertext dikodekan dengan 427, selisihnya 427-97 adalah 330. Begitu juga dengan ’1′ dengan ASCII 49, dalam ciphertext dikodekan menjadi 379, dengan selisih 379-49 adalah 330. Ternyata kalau dilihat semua kode pada ciphertext juga bherjarak 330 dengan kode ASCII. Pertanyaannya, darimana angka 330 ini muncul?

Mari kita lihat sekali lagi ciphertext dari ‘abcd1234′ (setelah dikelompokkan 4 digit):

4-330#3-427#3-428#2-429#4-430#8-379#5-380#2-381#9-382

Adakah angka 330 dalam ciphertext tersebut? Aha, ternyata ada! Ingat bahwa plaintext satu karakter, ciphertextnya adalah 8 digit, padahal tiap karakter dikodekan dalam 4 digit, jadi ada kelebihan 4 digit. Ternyata pada kelompok 4 digit pertama mengandung offset dengan kode ASCII, yaitu pada digit ke-2 hingga ke-4.

Jadi sekarang misteri enkripsi ini terpecahkan. Mari kita coba dekrip contoh ciphertext yang saya kumpulkan di awal:

* 804881451156416021528145

Pertama kita kelompokkan menjadi kelompok 4 digit: 8-048#8-145#1-156#4-160#2-152#8-145. Kelompok 4 digit pertama 8048 menunjukkan offset yaitu 048. Kelompok 4 digit kedua, 8145 menunjukkan kode karakter pertama adalah 145, dikonversi ke kode ASCII menjadi 145-048=97. ASCII 97 ini adalah ‘a’. Jadi kita temukan karakter pertaama ‘a’. Berikutnya, 156-48=108, yaitu kode untuk ‘l’. Berikutnya, 160-48=112, yaitu kode untuk ‘p’. Berikutnya 152-48=104, yaitu kode untuk ‘h’. Berikutnya 145, sama dengan karakter pertama, ‘a’. Jadi hasil dekripsinya adalah ‘alpha’.

* 9436353935332546555225378546953924846491

Kita kelompokkan menjadi kelompok 4 digit: 9-436#3-539#3-533#2-546#5-552#2-537#8-546#9-539#2-484#6-491. Karakter pertama: 539-436=103=’g’. Karakter ke-2: 533-436=97=’a’. Karakter ke-3: 546-436=110=’n’. Karakter ke-4: 552-436=116=’t’. Karakter ke-5: 537-436=110=’e’. Karakter ke-6 sama dengan ke-3, ‘n’. Karakter ke-7 sama dengan karakter ke-1, ‘g’. Karakter ke-8: 484-436=48=’0′. Karakter ke-9: 491-436=55=’7′. Jadi hasil dekripsinya adalah ‘ganteng07′.

Pada akhirnya dengan mengetahui teknik enkripsi yang dipakai, saya berhasil mendapatkan password seseorang dengan hak administrator. Tidak lama kemudian GAME OVER, webshell uploaded :)

Kesimpulan

Pelajaran yang bisa diambil dari kasus tersebut adalah bahwa membuat algoritma kriptografi yang kuat tidaklah mudash, jangan pernah memakai enkripsi buatan sendiri, walaupun algoritmanya anda rahasiakan. Selalu gunakan algoritma enkripsi terbuka yang sudah teruji oleh para ahli.

Sedangkan untuk password, sebaiknya jangan gunakan enkripsi, tapi gunakan one-way hash function yang kuat seperti SHA1. Enkripsi tidak cocok dipakai untuk menyimpan password karena ketika terjadi compromised, maka semua password yang ada di tabel akan bisa diambil attacker dengan cara menjalankan rutin dekripsi yang pasti tersedia di salah satu file script seperti PHP pada web tersebut.

Walaupun algoritma dekripsinya anda rahasiakan, suatu saat ketika terjadi compromised, seorang attacker akan bisa melakukan dekripsi dengan membaca source code php untuk men-dekrip password. Biasanya rutin dekripsinya tidak jauh dari file php yang terkait dengan halaman login.
Reade more >>

Rabu, 25 Agustus 2010

WiFu Cheat Sheet

Saya baru membuat cheat sheet yang cukup padat namun singkat untuk hacking wireless network dengan Aircrack-ng . Aircrack-ng adalah kumpulan tools yang digunakan untuk melakukan hacking terhadap jaringan wireless. Tools yang termasuk dalam aircrack-ng antara lain: airmon-ng, airodump-ng, aireplay-ng, packetforge-ng, aircrack-ng dan masih banyak lagi lainnya.


Pre-requisite:

* Backtrack, nggak harus tapi very recommended
* Wireless adapter dengan kemampuan packet injection. Saya pakai Alfa AWUS036H karena jangkauannya sangat jauh dan works out of the box di backtrack. Daftar lengkap wireless adapter yang compatible dengan backtrack bisa dilihat di daftar ini HCL: Wireless.

Cheat sheet ini mengcover sebagian besar kemungkinan situasi di dunia nyata. Skenario jaringan wireless yang bisa dihack dengan mengikuti cheat sheet ini adalah:

* WEP open authentication dengan client atau tanpa client (clientless WLAN)
* WEP shared key authentication (minimal harus ada 1 client)
* WPA/WPA2 Pre Shared Key (minimal harus ada 1 client)

Hampir semua jaringan wireless yang ada sekarang masuk dalam 3 kemungkinan di atas. Jaringan dengan WEP, praktis bisa dihack semua. Jaringan dengan WPA/WPA2 bisa dihack dengan dictionary attack, jadi sangat tergantung daftar password yang dimiliki. Dalam cheat sheet saya juga menyertakan cara menggunakan john the ripper untuk generate password list atau melakukan modifikasi daftar password dasar menjadi kata baru berdasarkan aturan tertentu.
Oke, selanjutnya langsung saja download cheat sheetnya http://www.ilmuhacking.com/wp-content/uploads/2010/07/wifu-cheat-sheet.pdf
Reade more >>

Rabu, 20 Januari 2010

ilmu

ilmu
jangan pernah kau sia2 kan ilmu




Reade more >>

Kamis, 14 Januari 2010

SISTEM OPERASI (OPERATING SYSTEM)
A. Sistem Operasi Windows
Windows pertama kali dikenal tahun 1985 oleh perusahaan Microsoft Corporation yang dipimpin oleh Bill Gates, di Amerika Serikat.
Kelebihan windows bila dibandingkan dengan Dos adalah :
1. Mempunyai tampilan grafis yang indah
2. Memiliki icon yang dikumpulkan dalam satu layar
3. Bila mentransfer data yang disebut dengan system Ole
4. Melakukan beberapa program secara serentak


SISTEM OPERASI (OPERATING SYSTEM)
A. Sistem Operasi Windows
Windows pertama kali dikenal tahun 1985 oleh perusahaan Microsoft Corporation yang dipimpin oleh Bill Gates, di Amerika Serikat.
Kelebihan windows bila dibandingkan dengan Dos adalah :
1. Mempunyai tampilan grafis yang indah
2. Memiliki icon yang dikumpulkan dalam satu layar
3. Bila mentransfer data yang disebut dengan system Ole
4. Melakukan beberapa program secara serentak
Generasi Windows :
1. Windows 3.86 diluncurkan pada tahun 1988
2. Windows 3.0 diluncurkan pada tahun 1990
3. Windows 3.1 diluncurkan pada tahun 1992
4. Windows 95 diluncurkan pada tahun 1995
5. Windows 98 diluncurkan pada tahun 1998
6. Windows NT diluncurkan pada tahun 2000
7. Windows XP diluncurkan pada tahun 2002
Saingan dari Windows :
1. Java
2. Linux
3. Orensil
4. Nescafe
B. Perbedaan Antara Os dan Bios
Os adalah kumpulan perintah untuk mengatur, mengontrol, mengawasi dan mengendalikan semua kegiatan system kerja komputer.
Bios adalah sarana penampung atau penyimpan perintah internal command yang telah dibuat oleh perusahaan komputer.
Posisi Os (Operating System) adalah pada BOS yang terdiri dari beberapa file antara lain 10-SYS, 1 BMB 10-COM, MS DOS – SYS dan Command Com.
C. Manajemen File
Cara mengelompokkan file ada 2, yaitu :
1. Menggunakan menu Pull Down
2. Menggunakan Folder
Cara membuat folder ada 2, yaitu :
1. Membuat folder menggunakan desktop
2. Membuat folder menggunakan windows explorer
D. Mengenal Tipe File
File dikategorikan menjadi beberapa bagian yaitu :
1. File Induk (Master File)
2. File Transaksi (Transaction File)
3. File Laporan (Report File)
4. File Sejarah (History File)
5. File Pelindung (Backup File)



Reade more >>

Kamis, 07 Januari 2010

pager

tit..tit…tit..tit…pagerku berbunyi…
tit..tit..tit..tit… begitu bunyinya
Lirik itu begitu populer di kalangan anak muda era 90-an. Sebait reffrain dari lagu Pager yang dibawakan Sweet Martabak dengan irama hip-hop. Meski hanya beberapa bulan, angka penjualan kasetnya sempat meledak di pasaran. Ini mengingatkan betapa pager pernah berjaya di masanya.

Pager adalah peralatan elektronik untuk menghubungi seseorang lewat jaringan paging. Ia merupakan teknologi awal mobile phone. Prinsip kerjanya mirip transmisi radio yang menggunakan komunikasi antara pusat kontrol dan penerima (wikipedia,2007). Sang pengirim pesan menghubungi operator dan mengatakan pesan yang ingin disampaikan. Kemudian, operator akan mengirim pesan tersebut ke pesawat pager yang dituju dalam waktu yang hampir bersamaan (real time).

Cara pengiriman pesan model ini telah populer sejak kedatangannya di Indonesia awal 90-an. Saat itu, Indonesia sedang asyik-asyiknya melaksanakan pembangunan. Tenaga kerja yang mobile sangat dibutuhkan. Akibatnya, banyak pekerja yang menghabiskan waktunya di jalan atau di tempat kerja. Otomatis, pihak yang berkepentingan dengan mereka akan kesulitan berkomunikasi. Perlu ada suatu sistem atau alat komunikasi jarak jauh yang mampu menghubungkan mereka dimana dan kapan saja. Pager menjadi salah satu pilihan. Efisiensi kerja dan biaya menjadi salah satu pertimbangan. Pager mampu menyingkat biaya operasional dan mata rantai komunikasi. Biaya yang dikeluarkan untuk pesan lewat pager per bulannya jauh lebih murah daripada membayar seorang kurir. Diasumsikan upah kurir waktu itu adalah Rp 200.000 sedangkan tarif pengiriman pesan lewat pager hanya Rp 1000 rupiah per pesan. Pesan pun sampai lebih cepat. Tak perlu waktu lama untuk mencari alamat yang dituju asal masih dalam coverage area.

Pagerpun langsung diadopsi para eksekutif dan pengusaha kelas kakap. Ia menjadi simbol kemajuan teknologi dan ekonomi. Dapat ditengarai, pemakainya adalah orang yang sibuk dan dicari. Istilah Call on Duty menjadi jamak diantara mereka. Tak lama berselang, pagerpun dipakai anak-anak muda ibu kota. Kemunculan pager pada Catatan si Boy, salah satu film Indonesia terpopuler di jamannya, menjadi salah satu katalisator. Teknologi ini menemukan masa keemasannya tahun 1996. Kemunculan pager berwarna-warni dan berbagai aksesorisnya menghilangkan anggapan pager adalah teknologi untuk orangtua. Pager menjadi gaya hidup baru dan penanda status sosial.



Belum lama pager merasakan kejayaannya, ancamanpun mulai muncul. Berawal dari kedatangan telepon seluler. Mirip dengan pager, telepon seluler juga bisa dibawa ke mana-mana (mobile phone) dengan kelebihan komunikasi bisa dilakukan dua arah. Semacam telepon yang bisa ditenteng kemana saja. Namun, ancaman ini rupanya kurang ampuh untuk menggeser pager dari singgasananya. Ukurannya yang cukup besar kurang praktis dibawa dan dibuat bergaya . Pun dengan tarif telepon yang mencapai 3-4x tarif pager. Maklum, waktu itu tak banyak provider yang menyediakan layanan ini. Untuk mendapatkannya harus memesan jauh hari seperti telepon konvensional. Cara pembayarannya tak ubahnya telepon konvensional yang ditagih tiap bulan atau yang kita kenal dengan sistem pasca bayar. Cukup repot.

Ancaman sebenarnya baru datang saat telepon seluler melengkapi dirinya dengan fasilitas Short Message Service (SMS). Fasilitas ini sangat mirip dengan pager, bahkan kemudahannya dalam mengirim pesan menjadi poin tersendiri. Pengguna fasilitas ini tak perlu lagi menghubungi operator dan mengatakan pesan untuk kemudian disampaikan ke alamat yang dituju. Cukup memencet keypad seperti mengetik di komputer, memasukkan nomor yang dituju, kirim, dan sampai. Fasilitas inipun segera booming, dan para pengguna pagerpun mulai berpaling. Ancaman ini semakin nyata, saat Telkomsel mampu menembus barikade Satelindo dengan Open Distribution Channel (ODC) atau yang lebih dikenal dengan sistem pra bayar. Sistem ini memisahkan nomor telepon yang disimpan dalam kartu SIM—sebagai produk operator—dengan pasar terminal telepon seluler sebagai barang komoditas bebas. Alhasil, pengguna telepon seluler memiliki banyak kombinasi pilihan. Empat operator seluler Indonesia kala itu :Indosat, Satelindo, Telkomsel, dan Pro Xl saling bersaing untuk mendapatkan pelanggan. Berbagai fasilitas pun ditawarkan. Dari jangkauan sampai kemampuan pengiriman gambar. Tarif telepon seluler pun makin murah. Persaingan pun tak hanya terjadi di tingkat operator namun juga alat. Produsen telepon seluler saling bersaing untuk memproduksi telepon seluler tercanggih. Berrbagai macam fitur coba dirangkai dalam dalam satu alat. Riuh-rendah persaingan ini semakin meminggirkan pemakai pager yang tersisa.

Ada beberapa sebab mengapa pager mulai ditinggalkan penggunanya dan beralih ke telepon seluler, antara lain:

1. Portable dan Praktis
Belajar dari kekalahan sebelumnya, telepon seluler dirancang sekecil dan seportable mungkin. Hasilnya telepon seluler seukuran pager pun beredar. Lagi pula, penggunanya tak perlu lagi sistematika pengiriman pesan yang rumit ala pager

2. Gaya hidup dan Status sosial
Gaya hidup masyarakat berkembang seiring kemajuan tekonologi. Pun dengan teknologi komunikasi. Sebagai faktor determinan di masyarakat, teknologi ini mampu membawa perubahan sosial. Ia mampu mengubah masyarakat menjadi lebih egaliter dan menaikkan status sosial. Teknologi terkini berarti tak banyak orang yang mengikuti. Ini menjadi semacam simbol sebagai yang terdepan dan paling modern. Pemakaian teknologi terkini dapat menaikkan status sosial dan sebaliknya. Hal itu terjadi pada telepon seluler dengan fasilitas SMS-nya sebagai teknologi terbaru kala itu

3.Privasi
Awalnya pager menawarkan privasi bagi penggunanya. Sistem komunikasi satu arah menyebabkan lokasi pesawat pager tak bisa dilacak. Namun, sistem pengiriman pesan lewat operator membuat privasi akan pesan seolah kurang terjamin. Sang operator akan mendengarkan langsung pesan yang disampaikan. Hasilnya, pesan terkesan kehilangan privasi. Padahal, untuk pesan-pesan sangat pribadi privasi menjadi hal sangat penting. Asumsi ini tak sepenuhya benar. Dalam fasilitas SMS ataupun telepon seluler pesan yang kita sampaikan sebenarnya telah masuk ke pusat data operator baru kemudian dikirim ke alamat tujuan. Namun tak terlihatnya peran operator ini membuat komunikasi seolah begitu pribadi dan langsung ke alamat yang dituju.

4. Kemudahan
Untuk menghubungi penggunan pager, pengirim pesan harus menghubungi operator terlebih dahulu dan menyampaikan pesan itu secara lisan. Hal ini akan bermasalah jika penyampai pesan adalah orang tua yang gagap bicaranya, tuna wicara, atau berbicara dengan bahasa yang tak dimengerti oleh operator. Komunikasi tulis lewat SMS memungkinkan teknologi ini dipakai lebih banyak orang. Bahkan untuk difabel sekalipun asalakan dia bisa mengetikkan pesannya di telepon seluler.

5. Biaya
Persaingan tarif antar operator dan antar produsen telepon seluler membuat biaya pemakaian telepon seluler menjadi semakin murah. Untuk mengirim pesan lewat SMS cukup dengan biaya normal Rp 350 per pesan. Bandingkan dengan pager yang mencapai angka ribuan rupiah. Untuk pesawatnya, harga pager dan telepon seluler saling bersaing.

6. Kemajuan teknologi dan Pengembangan
Pengembangan pager seolah berhenti setelah era keemasaannya di tahun 1996. Pengembangan hanya terjadi pada bentuk luar (chasing ), belum ada terobosan mutakhir kala itu. Berbeda dengan pager, inovasi terus dilanjutkan meski sempat gagal. Pun telepon seluler berusaha memasukkan berbagai macam fitur tambahan seperti : pengiriman gambar, musik, video, kamera, atau bahkan video streaming dalam satu alat. alhasil, pengguna telepon selular seolah mendapatkan semuanya dalam satu paket.
Terbuang bukan berarti hilang dari peredaran. Pager memang tersingkir dalam penggunaan teknologi komunikasi massal, tapi bukan berarti teknologi ini punah keberadaannya. Beberapa institusi dan profesi masih memakainya. antara lain: di bidang kedokteran, transportasi, bahkan Teknologi Informasi (TI). Dalam bidang kedokteran, pager digunakan oleh para dokter bedah. Di ruang bedah banyak terdapat alat-alat kedokteran yang menggunakan gelombang radio. Sinyal telepon seluler dapat mengganggu alat-alat tersebut dan akibatnya cukup fatal. Oleh karena itu, dipakailah pager untuk mengirim pesan penting kepada dokter di ruang bedah. Bahkan untuk keadaan darurat, perusahaan penyedia jasa TI menggunakan pager untuk berkomunikasi. Biasanya saat terjadi kerusakan jaringan komunikasi. Para teknisi berhubungan dengan menggunakan pager karena tidak memungkinkan untuk berhubungan lewat telepon seluler.
Pun kini, teknologi pager berkembang cukup pesat. Telah ada pager dengan sistem komunikasi dua arah, mengirim dan menerima. bahkan dalam waktu dekat ini Netindo Teknologi nPage Pager Gateway meluncurkan pager berteknologi internet (indo.net.id/enote. 2007). Walaupun populasi pager makin menurun tetapi provider teepon seluler tidak menganaktirikannya. Terbukti tiga provider telepon seluler terbesar di Indonesia menyediakan fasilitas pengiriman pesan pager lewat SMS.
Teknologi komunikasi berusaha menjawab segala kebutuhan manusia. Inovasi terus dilakukan agar teknologi itu terus hidup. Jika dalam dunia manusia dikenal diktum Darwin Survival the Fittest, maka dalam dunia teknologi komunikasi dikenal Survival the Fastest. Yang tercepat dan mutakhir adalah yang bertahan. Pun jika berada di puncak, bukan jaminan bahwa teknologi itu akan langgeng. Ancaman selalu membayang. Jika tak waspada, bisa jadi terpinggirkan atau menjadi teknologi kelas dua. Namun teknologi selalu menemukan tempatnya dan takkan pernah terbuang sia-sia meski dipakai saat-saat darurat saja. Seperti pager. [ ]






Reade more >>

Rabu, 06 Januari 2010

silahkan download gratis

silahkan dowload makalahnya oke






Reade more >>

Selasa, 05 Januari 2010

sistem operasi modul

PRAKTIKUM 01

Tujuan Instruksional
Setelah mengikuti praktikum ini, Mahasiswa diharapkan mampu untuk :
1. Mengenal dan mengerti sistem operasi UNIX.
2. Mengenal dan mengerti struktur perintah dalam sistem operasi UNIX.
3. Dapat menggunakan perintah dasar dalam sistem operasi UNIX.
4. Mengenal, mengerti dan dapat menggunakan manual online.

1. Sistem Operasi
Adalah piranti lunak (software) yang mengendalikan perangkat keras (hardware) dan seluruh kegiatan komputer. Sistem operasi terdiri dari program dan rutin-ruitn yang mengendalikan proses, menerjemahkan data dari alat masukkan dan alat keluaran, serta mengendalikan penyimpanan data dalam memori.
Karateristik sistem operasi UNIX
1. Portable (mudah dipindahkan ke berbagai komputer)
UNIX merupakan sistem operasi yang dapat diterapkan pada berbagai jenis komputer, dari PC hingga mainframe.
2. Multitasking/multiprocessing
UNIX dapat menjalankan sejumlah aplikasi pada saat yang sama.
3. Multiuser
UNIX mampu melayani beberapa user untuk menjalankan sustu aplikasi yang sama dari terminal yang sama ataupun berbeda.
4. Communication and Networking
Kernel UNIX telah mendukung penuh salahsatu protokol jaringan yang handal, yaitu TCP/IP, maka secara otomatis UNIX mendukung penuh komunikasi dan jaringan komputer.
5. Security yang handal
UNIX menerapkan sekuriti secara berjenjang (user, group, other).
6. Programmable Shells
Shell bekerja sebagai intepreter antara user dan kernel (otak/jantung UNIX), sehingga kita dapat membuat sebuah command sendiri untuk suatu fungsi tersendiri pula, dalam arti kita dapat mengkustomisasi sistem kita sendiri.

2. Masuk ke Sistem UNIX
Proses untuk masuk ke sistem UNIX disebut login (logging in). Tujuan dilakukannya login oleh sistem UNIX, yaitu :
1. sistem akan melakukan pengecekan apakah pemakai berhak menggunakan sistem.
2. sistem akan melakukan berbagai pengaturan environment yang sesuai dengan pemakai.
Proses masuk ke sistem dapat dilakukan pada saat terminal menampakkan prompt :

login :
ini menunjukkan bahwa sistem sedang menunggu untuk sebuah login id.

Catatan : untuk mengoperasikan UNIX kita harus mempunyai sebuah identitas/login id setelah mengetikkan login id diikuti oleh ENTER, maka sistem akan meminta kita untuk memasukkan sebuah password.

login : agoenk Ketik identitas login diikuti ENTER
password : Ketik password (bila ada), password yang diketik tidak nampak.

Bila login id dan password yang dimasukkan tidak sesuai dengan data yang ada didalam sistem, maka sistem akan mengeluarkan prtanyaan berikut :

login incorrect
Yang berarti identitas login tidak dikenal, dan minta memasukkan identitas lagi. Setelah memasukkan identitas yang benar, maka akan muncul pesan sebagai berikut :
login :

login : 0101310010
-------- baris pesan ----------
You have new mail
% prompt shell

baris pesan dikenal sebagai message of the day, pesan ini selalu berubah dari waku ke waktu oleh System Administrator (root).

3. Struktur Perintah
Perintah atau command adalah permintaan terhadap sistem UNIX untuk melakukan suatu tindakan. Setiap perintah mempunyai program. Nama program sesui dengan nama printah.
Catatan : semua perintah UNIX diketik dalam huruf kecil.
Sintaks
Perintah [-pilihan…]


Keterangan :
Tanda [ ] menyatakan pilihan yang bersifat optional dan lebih dari satu, sdangkan tanda menyatakan bahwa isi dari argumen tersebut dapat lebih dai satu. Pilihan menyatakan indakan yang akan dilakukan oleh perintah sedangkan argumen menyatakan data yang akan diproses oleh perintah.
Contoh Perintah :
- Perintah date, sintaks  date [+ format]
Digunakan untuk menampilkan tanggal dan jam sistem.
Bentuk perintah :
% date +%a Menampilkan nama hari (Sun .. Sat)
% date +%A Menampilkan nama hari lengkap (Sunday .. Saturday)
% date +%b Menampilkan nama bulan (Jan .. Dec)
% date +%B Menampilkan nama bulan lengkap (January .. December)
% date +%c Menampilkan tanggal dan waktu
% date +%D Menampilkan tanggal dengan format mm/dd/yy
% date +%T Menampilkan jam dengan format hh:mm:ss
% date +%r Menampilkan jam dengan format hh:mm:ss (AM/PM)
Dll
- Perintah cal, sintaks  cal [[bulan] [tahun]]
Digunakan untuk menampilkan kalender dari tahun 1 – 9999
Bentuk perintah :
% cal 06 2002 Menampilkan kalender bulan Juni 2002
% cal 2002 Menampilkan kalender tahun 2002
- Perintah who
Digunakan untuk mengetahui mereka yang sedang online ke sistem.
Bentuk perintah :
% who

- Perintah whoami
Digunakan untuk memperoleh informasi nama pemakai, nama terminal dan saat melakukan login.

Bentuk perintah :
% whoami

- Perintah pwd
Digunakan untuk mengetahui lokasi direktori yang sedang digunakan.
Bentuk perintah :
% pwd

- Perintah clear
Digunakan untuk membersihkan layar.
Bentuk perintah :
% clear

- Perintah ls, sintaks  ls -pilihan
Digunakan untuk menampilkan informasi yang ada dalam suatu direktori.
Bentuk perintah :
% ls Menampilkan semua file secara singkat
% ls –a menampilkan semua isi pada direktori beserta atributnya
% ls –l Melihat semua isi direktori beserta file tersembunyi (+hidden)
% ls | more Menampilkan daftar file secara singkat per layar.
% ls –t Menampilkan file berdasarkan waktu modifikasi (yang paling baru, pertama).
% ls namafile Menampilkan file tertentu
Dll

4. Manual Online
Seringkali pemakai sistem operasi UNIX lupa tentang kegunaan sebuah perintah ataupun cara menggunakan perintah tersebut. Untuk itu, UNIX menyediakan manual (petunjuk) yang dapat dilihat oleh pemakai setiap saat (manual online).
Manual yang ditampilkan dibagi menjadi beberapa bagian, yaitu :
Name Berisi nama perintah penjelasan sisngkat.
Synopsis (syntax) Menunjukkan cara pemakain.
Description Berisi penjelasan rinci tentang masing-masing pilihan ataupun argumen yang berkaitan dengan perintah.
Files Berisi daftar file penting yang berhubungan dengan perintah.
See Also Memberikan daftar file penting yang berhubungan dengan perintah
Diagnostic Menjelaskan kesalahan-kesalahan yang mungkin terjadi jika perintah gagal menyelasaikan tugas.

Bugs Mnerangkan kelemahan-kelemahan ataupun kekurangan dari perintah dan seringkali juga menjelaskan bagaimana mengatasi kelemahan tersebut.
Sintaks :
man

contoh :
% man cal Menampilkan informasi tentang perintah cal
% man ls Menampilkan informasi tentang perintah ls
% man man Menampilkan informasi tentang manual online
Dll
Untuk menghentikan tampilan layar gunakan tombol q.

5. Keluar dari UNIX
Istilah untuk keluar dari sistem UNIX adalah logout. Tindakan ini dilakukan agar orang yang tidak berhak, tidak dapat mengakses/menggunakan sistem. Perintah yang digunakan untuk keluar dari sistem UNIX :
% logout
% exit atau ^D (tombol Ctrl + D).

6. Tugas materi Tengah Semester
Buatlah laporan tentang bagaimana cara instalasi sistem operasi berbasis UNIX. Materi Sistem Operasi bisa FreeBSD, LINUX dll. Tugas dilakukan kelompok, tiap kelompok maksimal 5 orang.

PRAKTIKUM 02

Tujuan Instruksional
Setelah mengikuti praktikum ini, Mahasiswa diharapkan mampu untuk :
1. Mengenal dan mengerti struktur sistem file pada UNIX.
2. Dapat menggunakan perintah-perintah yang berhubungan direktori.

1. Sistem File
Sistem file merupakan suatu struktur untuk mengorganisasikan informasi atau data. Sistem file UNIX tersusun dari sejumlah file dan direktori, dan sering digambarkan sebagai struktur pohon. Pada bagian puncak terdapat sebuah direktori (root directory) / (slash). Root memiliki sejumlah cabang yang masing-masing disebut direktori (sub directory). Selanjutnya masing-masing direktori mengandung satu atau beberapa dirktori atau file. Direktori yang ada dibawah root yang bersifat standar :
/usr Berisi beberapa perintah UNIX dan file administrasi sistem
/bin Berisikan file-file yang digunakan untuk menjalankan program
/tmp Direktori yang digunakan untuk menyimpan file sementara.
/dev Berisikan file-file piranti milik sistem (harddisk, floppy disk, dll)
/etc Beisikan file-file yang berhubungan dengan administrasi sistem.

2. Path
Setiap file/direktori mempunyai nama path yang unik yang menyatakan letak file/direktori, cara menyatakan sebuah path ada dua macam :
1. Secara absolut : selalu dimulai dai root (/).
Contoh :
% /usr/home/0101310010/dataku
% /usr/home/00530030/jarkom/latihan

2. Secara relatif : dimulai dari direktori/file yang bersangkutan.
Contoh :
% ~/0101310010/dataku
% ~/dataku/latihan.txt

3. Penamaan direktori dan file
Nama yang digunakan untuk suatu direktori atau file, harus memenuhi beberapa aturan yang berlaku :
- Semua karakter selain slash (/), ?, *, (, ), [, ], {, }, _ boleh digunakan.
- Huruf besar dan huruf kecil berbeda arti (case sensitive).
- Panjang maksimum adalah 255 karakter.
- Nama file yang diawali dengan sebuah titik (.) akan menyebabkan file tersebut disembunyikan dari daftar file.

4. Membuat direktori
Untuk membuat direktori, digunakan perintah mkdir
Contoh :
% mkdir STIKUBANK Membuat direktori stikubank
% mkdir jarkom Membuat direktori jarkom

5. Berpindah direktori
Untuk berpindah direktori digunakan perintah cd.
Contoh :
% cd / Berpindah ke root directory
% cd .. Berpindah ke direktori setingkat diatasnya
% cd STIKUBANK Berpindah ke direktori STIKUBANK
% cd ~/ Berpindah ke direktori yang aktif

6. Menghapus direktori
Untuk menghapus direktori digunakan perintah rmdir. Direktori dapat dihapus jika dalam keadaan kosong artinya didalam direktori tersebut tidak berisi direktori atau file.
Contoh :
% rmdir STIKUBANK

Latihan
1. Buat direktori teknik dan manajemen didalam home directory anda (direktori NIM).
2. Pindah ke direktori teknik
3. Buat direktori processor didalam direktori aku
4. Pindah ke direktori manajemen
5. Buat direktori akuntansi dan jurnal
6. Hapus direktori jurnal
7. Hapus direktori teknik






PRAKTIKUM 03

Tujuan Instruksional
Setelah mengikuti praktikum ini, Mahasiswa diharapkan mampu untuk :
1. Memahami cara membuat atribut file, membuat file, melihat isi file, menghapus file, mengganti nama file.
2. Dapat menggunakan perintah-perintah yang berhubungan file dan direktori.

1. Membuat File Teks
Ada bebagai macam cara untuk membuat sebuah file teks, tetpi cara termudah adalah dengan menggunakan perintah cat.
Sintaks
cat >
Contoh :
% cat > coba.txt
ini adalah pertama kali saya menggunakan perintah cat, untuk membuat file
^d (Ctrl + D)  akhir input isi file
% cat latihan.txt
berakit rakit ke hulu berebang renang ke tepian
bersakit-sakit dahulu bersenang-senang kemudian
^D

2. Melihat Isi File Teks
Selain dapat digunakan untuk membuat file teks, perintah cat juga dapat digunakan untuk melihat isi file teks.
Contoh :
% cat coba.txt
% cat latihan.txt
penampilan isi file dapat dihentikan sementara dengan karakter stop (Ctrl + s) dan melanjutkan penampilan dengan karakter start (Ctrl + Q).

3. Menyalin File
Menyalin file dapat dilakukan dengan printah :
cp
Contoh :
% cp coba.txt coba2.txt
% cp coba.txt /usr/home/0101310010/manajemen
% cp latihan.txt ~0101310010/manajemen/akuntansi

4. Memindah File
Berbeda dengan perintah cp yang menghasilkan file baru dengan tidak menghapus file lama, perintah mv akan menghasilkan file baru dengan menghapus file lama.
Sintaks :
mv
Contoh :
% mv coba.txt coba3.txt
% mv latihan.txt ~0101310010/manajemen

5. Mengganti Nama File
Selain digunakan untuk memindah nama file, perintah mv juga bisa digunakan untuk mengganti nama file. Perbedaannya terletak pada lokasi direktori maksudnya jika memindah dilakukan pada direktori yang berbeda, kalau mengganti harus pada direktori yang sama.
Contoh :
% mv coba3.txt baru.txt
% mv ~0101310010/manajemen/latihan.txt ~0101310010/manajemen/baru2.txt

6. Menghapus File
Untuk menghapus file digunakan perintah rm. Perintah ini dapat digunakan untuk menghapus beberapa file sekaligus. Dengan menyertakan argumen –r diikuti oleh nama direktori dapat digunakan untuk menghapus seluruh isi direktori termasuk subdirektorinya.
Contoh :
% rm baru.txt
% rm ~0101310010/manajemen/baru2.txt
% rm –r ~0101310010/manajemen/akuntansi

Latihan
1. Buat direktori Bahasa dan Sastra didalam home direktory kerja anda (direktori NIM).
2. Buat file teks dengan nama Inggris.txt dan Indonesia.txt didalam direktori Bahasa (isi file teks bebas).
3. Buat direktori MU dan Liverpool didalam direktori Bahasa.
4. Buat direktori Jawa dan Melayu didalam direktori Sastra.
5. Copy/salin file Inggris.txt ke dalam direktori MU.
6. Copy/salin file Indonesia.txt kedalam direktori Jawa kemudian ganti nama file Indonesia.txt didalam direktori Jawa dengan Ngoko.txt
7. Pindah file Inggris.txt didalam direktori MU ke dalam Direktori Liverpool.
8. Hapus file Inggris.txt dan Indonesia.txt didalam direktori Bahasa.
9. Hapus direktori Melayu.




























PRAKTIKUM 04

Tujuan Instruksional
Setelah mengikuti praktikum ini, Mahasiswa diharapkan mampu untuk :
1. Mengetahui jenis-jenis akses pemakaian.
2. Mengatur akses pemakaian.
3. Memahami dan mengerti cara menentukkan kepemilikan file dan mengubah akses pemakaian baku.

1. Jenis Akses Pemakaian
Untuk dapat mengakses file/direktori, sistem UNIX membaginya dalam 3 kelompok :
a. Owner (user) : pemakai
b. Group : kelompok dari user
c. Other : pemakai lain di luar group
Setiap kelompok mempunyai hak tertentu untuk dapat mengakses file/direktori :
a. Read (r) : izin untuk membaca file
b. Write (w) : izin untuk mengubah, menciptakan file
c. Execute (x) : izin untuk mengeksekusi file
Setiap file atau direktori mempunyai ketentuan akses (read, write, execute) bagi owner, group dan other.
r w X r w X r w x
Owner Group other

Contoh :
r w x r w x r w x berarti semua kelompok (owner, group, other) dapat read, write, execute.
r w x r w x - - - Berarti owner dan group dapat read, write dan execute tetapi othe tidak mempunyai izin apapun.

2. Mengatur Akses Pemakaian
Untuk mengatur akses pemakaian file, digunakan perintah chmod.
Sintaks :
chmod [ugoa]{+| - | =}[rwx]

Oktal R W X
0 0 0 0
1 0 0 1
2 0 1 0
3 0 1 1
4 1 0 0
5 1 0 1
6 1 1 0
7 1 1 1

Contoh :
- misal file coba2.txt memiliki hak akses rwxrw-r--, ingin kita rubah hak aksesnya dengan rwxrw-rw-, maka perintahnya sebagai berikut :
% chmod o+w coba2.txt, atau
% chmod o=rw coba2.txt



3. Mengubah Kepemilikan File
Setiap file baru yang dibuat secara otomatis akan dimiliki oleh pembuat file tersebut, tetapi meskipun demikian, status kepemilikan masih dapat dubah, yaitu dengan menggunakan perintah :
chown [owner | group]
karena alasan keamanan perintah chown hanya dapat diakukan oeh root.

4. Menentukan Jenis Akses Baku
Pada saat pemakai membuat sebuah file maka akses dari file baru tersebut ditenukan oleh sebuah nilai yang disebut umask. Nilai umask dinyatakan dengan tiga bilangan oktal yang mengatur akses pemakaian dari sebuah file/direkori baru.
Sintaks :
umask


Nilai oktal dapat dilihat pada tabel dibawah ini !
Nilai Oktal Read Write Execute
0 Ya Ya Ya
1 Ya Ya Tidak
2 Ya Tidak Ya
3 Ya Tidak Tidak
4 Tidak Ya Ya
5 Tidak Ya Tidak
6 Tidak Tidak Ya
7 Tidak Tidak Tidak

Contoh :
% umask 022 Untuk membuat default hak akses penciptaan file : rwxrw-rw-
% umask 027 Untuk membuat default hak akses penciptaan file : rwxrw----


PRAKTIKUM 05

Tujuan Instruksional
Setelah mengikuti praktikum ini, Mahasiswa diharapkan mampu untuk :
1. Mengetahui fasilitas komunikasi yang ada pada UNIX.
2. Dapat menggunakan Fasilitas Kounikasi.

Dalam UNIX terdapat banyak sekali fasilitas komunikasi, tapi fasilitas tersebut mungkin tidak semua ada di lab. Hal tersebut tergantung dari instalasi awal yang dilakukan. Adapun fasilitas komunikasi itu adalah :
1. mesg
digunakan untuk mengisolir terminal dari masuknya pesan yang berasal dari terminal lain.
Sintaks :
mesg [y | n]
Contoh :
% mesg y

2. write
Digunakan untuk mengirimkan pesan dari satu terminal ke trminal yang lain.
Contoh :
% write 0101310010

3. wall
Digunakan untuk mengirim pesan kepada semua pemakai yang sedang aktif.
Sintaks :
wall [file]
Contoh :
% wall aku ====== belum dicoba

4. talk
Digunakan untuk komunikasi antara 2 terminal secara interaktif.
Sintaks :
talk pemakai
Contoh :
% talk 0101310010

5. ytalk
Digunakan untuk komunikasi antara lebih dari 2 terminal secara interaktif.
Sintaks :
ytalk pemakai
Contoh :
% ytalk 0101310010

6. mail
digunakan untuk mengirimkan berita/surat ke pemakai lain.
Sintaks :
mail [penerima]
mail mempunyai dua mode :
1. Mode Kirim
Contoh :
% mail 0101310010 untuk mengirim surat ke user 0101310010


2. Mode Perintah
Contoh :
% mail
Perintah mail pada mode perintah :
D Menghapus mail yang sedang aktif
U Membatalkan penghapusan terhadap mail yang sedang aktif.
M Mengirimkam mail
I Kembali menampilkan indeks mail.

7. pine
Contoh :
% pine

Selanjutnya dihadapkan pada menu : mengirimkan mail, membaca mail box, membaca indeks mail box, membuat buku alamat dan setup pine.
Untuk mengirimkan mail, gunakan menu compose.
Untuk membaca mail, gunakan menu index.




PRAKTIKUM 06

Tujuan Instruksional
Setelah mengikuti praktikum ini, Mahasiswa diharapkan mampu untuk :
1. Mengetahui tentang teks editor dalam sistem operasi berbasis UNIX.
2. Dapat menggunakan teks editor vi.

Definisi Editor
Editor merupakan utilitas yang memungkinkan pemakai dapat membuat file atau melakukan perubahan-perubahan pada suatu file.

Teks Editor vi
1. Memulai vi
Sintaks


Contoh :
$ vi latihan.txt
maksudnya membuat/membuka file latihan.txt
$ vi stikubank
maksudnya membuat/membuka file stikubank
Gambar 5.1 Tampilan File stikubank pada vi

Jika file sudah ada maka file tersebut ditampilkan, jika belum ada akan ditampilkan layar kosong.
vi mempunyai tiga mode :
a. command mode (mode perintah), semua tombol yang ditekan dianggap sebagai suatu perintah.
b. Insert mode (mode penyuntingan/edit), kita hanya dapat mengetik saja tidak dapat menghapus, menggerakkan kursor dsb.
c. Last line mode (mode garis bawah), pada mode ini kita dapat mengetikkan perintah mencari dan mengganti string, menyimpan, menyisipkan dan membatalkan penyuntingan (editing) file serta keluar dari vi.
Sewaktu memulai vi, kita berada pada command mode, jika ingin mengetik maka harus pindah ke insert mode dengan cara menekan tombol i, untuk kembali ke command mode tekan tombol Esc. Sedangkan jika ingin ke last line mode, kita harus mengetikkan tanda colon (:) pada saat berada di command mode. Apabila kita sedang di insert mode maka kita harus pindah ke command mode, dengan menekan Esc, sebelum masuk ke last line mode.
Hubungan antara ketiga mode diatas ditunjukkan pada gambar dibawah ini :






2. Menggerakkan kursor
Untuk dapat menggerakkan kursor, kita harus berada pada command mode. Adapun tombol yang digunakan :
Tombol Fungsi Kursor Tombol Fungsi Kursor
K ke atas (  ) ^ ke awal baris
J ke bawah (  ) $ ke akhir baris
H ke kiri (  ) - ke awal baris sebelumnya
L ke kanan (  ) + ke akhir baris sesudahnya

Kita dapat menggerakkan kursor ke ke baris tertentu dengan cara mengetik baris kemudian diikuti G,
misal 12G artinya pindah ke baris 12.


3. Menghapus
Untuk menhghapus ketikan yang salah, kita harus berada pada command mode. Adapun tombol yang digunakan :
Tombol Fungsi Kursor Tombol Fungsi Kursor
X menghapus satu huruf pada posisi kursor. Nx menghapus beberapa huruf (n = banyak huruf)
Dw menghapus satu kata Ndw menghapus beberapa kata (n = banyak kata)
Dd menghapus satu baris Ndd menghapus beberapa baris (n = banyak baris)


Contoh :
$ 5dw
maksudnya 5 kata sesudah posisi kursor akan di hapus
$ 10dd
maksudnya 10 baris dimulai pada baris di posisi kursor akan dihapus.

4. Membatalkan dan mengubah
Untuk membatalkan dan mengubah, kita harus berada pada command mode.
Tombol Fungsi Kursor Tombol Fungsi Kursor
U membatalkan perintah terakhir U mengembalikan seluruh perubahan yang dilakukan pada baris tempat kursor berada.
r mengubah satu huruf diikuti oleh huruf yang akan mengganti ~ mengubah dari huruf kcil ke huruf besar

5. Memindahkan dan menyalin
Memindahkan beberapa baris :
- Hapus baris tersebut.
- Pindahkan kursor pada baris yang akan ditempatkan.
- Tekan tombol p.
Menyalin beberapa baris :
- Tekan tombol nyy untuk mengkopi ke buffer (n = banyak baris).
- Pindahkan kursor pada baris yang akan ditempatkan.
- Tekan tombol p.
6. Mencari dan mengganti
Tombol / digunkan untuk mencari suatu kata dari posisi kuror sampai akhir file, misal :
/test mencari kata test dari posisi kursor ke akhir file.
Tombol ? digunakan untuk mencari suatu kata dari posisi kursor sampai awal file, misal :
?test mencari kata test dari posisi kursor ke awal file.
Untuk mengganti suatu teks, digunakan tombol s, misal :
:s /test/coba/ Mengganti kata test dengan coba pada baris tempat kuror berada.
:s /UNIX/Sistem Operasi &/ Tanda & berarti kata asli tidak diganti
:g/test/s//coba/g Mengganti semua kata test dengan coba, jika dalam suatu baris terdapat lebih dari satu kata test.

7. File
Menyisipkan file :
:r nama_file
nama_file sesudah tanda :r akan disisipkan pada posisi dimana kursor sedang berada.
Menyimpan file :
:w nama_file menyimpan ke disk dengan nama file (digunakan jika pada awal masuk ke vi lupa menuliskan nama file).
:w menyimpan penyuntingan yang dilakukan dengan nama file yang sama.
:wq menyimpan file kemudian langsung keluar dari vi.
:w! nama_file Menyimpan ke nama file tertentu walaupun nama file tersebut sebelumnya sudah ada atau juga bisa untuk menyimpan penyuntingan yang telah dilakukan ke nama yang lain (save as).

8. Keluar dari vi
:q Keluar tanpa menyimpan file
:q! Keluar tanpa menyimpan penyuntingan ang telah dilakukan

Latihan
Ketiklan teks dibawah ini menggunakan teks editor vi.
1. Simpan file dengan nama UNIX1.
UNIX pertama kali ditemukan di Bell Laboratory, salah satu divisi dari perusahaan AT&T. Nama UNIX diturunkan dari beberapa nama sistem operasi lainnya yang ditemukan sebelumnya.

2. Simpan file dengan nama UNIX2.
Diakhir tahun 1960, Bell Laboratory merupakan salah satu laboratory yang turut aktif dalam mengembangkan system operasi timesharing yang dikenal dengan sebutan MULTICS (MULTIplex Information and Computing Service).

Dari 2 file yang sudah anda ketik lakukan :
1. Ganti Bell Laboratory pada file UNIX1 dengan .
2. Ganti AT&T pada file UNIX1 dengan UNISBANK.
3. Sisipkan file UNIX2 kedalam file UNIX1 kemudian simpan gabungan file tersebut dengan nama UNIXBARU.

PRAKTIKUM 07

Tujuan Instruksional
Setelah mengikuti praktikum ini, Mahasiswa diharapkan mampu untuk :
1. Mengetahui tentang pengalihan arah (redirection) didalam UNIX.
2. Mengerti apa yang di maksud pipa dan penapisan.

Pendahuluan
Pada UNIX dikenal 3 buah file standar yang berkaitan dengan perintah, yaitu :
1. Standar Input (stdin).
Adalah piranti yang menjadi standar pemasukkan data, standarnya berupa keyboard.
2. Standar output (stdout).
Adalah piranti yang menjadi standar untuk menampilkan keluaran dari perintah, standarnya berupa terminal.
3. Standar error (stderr)
Adalah piranti yang menjadi standar untuk menampilkan pesan kesalahan (error mesagge), standarnya berupa layar.
Dalam prakteknya, baik standar input, standar output maupun standar error dapat dialihkan ke piranti lain. Pengalihan arah itu disebut dengan istilah Redirection.
Simbol yang digunakan dalam untuk redirection adalah < dan >.
< Redirection masukkan dari file > Redirection keluaran ke file
>> Redirection keluaran (dan menambah) ke file

1. Input redirection
Adalah penggabungan arah masukkan yang biasanya berasal dari keyboard (stdin), diganti dengan data dari file.
Sintaks :
perintah < file Contoh : % cat > kali
4*3
% bc < kali % bc < kali > hasil

2. Output redirection
Adalah pengalihan arah keluaran suatu perintah yang ditampilkan ke layar (stdout), ke suatu file.
Sintaks :
perintah > nama_file
perintah >> nama_file
Contoh :
% who > siapa
% cat siapa
% ls > isi
% cat isi

3. Error Redirection
Adalah pengalihan arah pesan kesalahan dari stderr (standar error) ke sebuah file.
Sintaks :
2>file


Contoh :
% ls –l takada > catat 2> pesan
% cat catat
% cat pesan

4. Penggabungan stderr ke stdout
Pesan kesalahan yang ditujukkan ke stderr dapat digabungkan ke stdout dengan menggunakan simbol :
2>&1 Untuk Bourne & Korn Shell
>& Untuk C shell
Contoh :
% ls –l takada >& catat
$ ls –l takada > catat 2>& 1

5. Pipa
Merupakan fasilitas UNIX yang bermanfaat untuk mengarahkan keluaran dari suatu perintah ke perintah lain. Dengan menggunakan perintah ini keluaran dari perintah akan menjadi masukkan bagi perintah yang lain. Pipa biasanya menggunakan simbol | untuk menyatakan arah aliran.
Sintaks :
perintah 1 | perintah 2 | ....

bentuk sintaks diatas mempunyai arti : hasil dari perintah 1 akan menjadi masukkan bagi perintah 2 dan seterusnya. Bentuk diatas juga sering disebut sebagai baris pipa (pipaline).
Contoh :
$ ls –l | more
$ who | sort

6. Penapisan
Adalah program yang menampilkan hasil keluaran (output) dari masukkan (input) berdasarkan kriteria tertentu. Dalam UNIX, hampir semua program yang membaca data dari perangkat masukkan (stdin) dan memberikan hasil keluaran keperangkat keluaran (stdout) disebut tapis. Contoh perintah-perintah yang berfungsi sebagai tapis antara lain : cat, grep, sort, wc.
Contoh :
- Menghitung jumlah user yang sedang login
Perintah yang digunakan : wc dan who.
- wc adalah perintah untuk menghitung jumlah kata, karakter, baris dari masukkan yang diterimanya.
- who adalah perintah untuk menampilkan daftar user yang sedang login ke server.
Bentuk perintah :
$ who | wc –l

- Menampilkan daftar urut dari user yang login
$ who | sort


PRAKTIKUM 08

Tujuan Instruksional
Setelah mengikuti praktikum ini, Mahasiswa diharapkan mampu untuk :
1. Mengetahui tentang Shell dan Pemrograman Shell didalam UNIX.
2. Dapat menggunakan perintah-perintah dalam Pemrograman Shell.

PENDAHULUAN
Semua sistem operasi memiliki paling sedikit sebuah penerjemah perintah atau command interpreter. Pada UNIX, perangkat lunak yang berfungsi seperti ini dikenal dengan istilah shell.
Pada prompt shell kita udah biasa memberikan perintah dan kemudian shell langsung memberikan respons. Sesudah itu, shell akan menunggu kita memberikan perintah kembali. Pemakaian shell seperti ini biasa disebut pemakaian secara interaktif.
Selain pemakaian secara interaktif, shell juga memberikan kemungkinan ntuk membangun suatu utilitas/prosedur, yang melibatkan sejumlah perintah yang tersedia pada UNIX. Sejumlah perintah UNIX dapat disimpan pada sebuah file teks (program shell/shell script). Selanjutnya file teks tersebut dapat dieksekusi dan secara otomatis perintah-perintah yang ada didalammya akan dijalankan.

1. Variabel Shell
Variabel shell adalah suatu nama yang menyimpan suatu nilai yang isinya dapat berubah-ubah (dapat diatur agar isinya tidak dapat diubah). Selain pemakai dapat menciptakan variabel sendiri, shell juga menyediakan sejumlah variabel bawaan (built-in variable) .
Untuk menampilkan isi dari sebuah variabel digunakan tanda $.
Contoh :
$ bulan=01
$ echo $bulan
jika ditulis menggunakan teks editor (misal vi), akan menjadi :




kemudian program shel tersebut di jalankan (run) dengan perintah :
- sh atau
- chmod u+x
./

2. Variabel lokal dan ekspor
Variabel lokal adalah variabel yang hanya dikenal oleh shell dimana variabel tersebut dideklarasikan
Variabel ekspor adalah variabel yang dikenal disemua shell script (parent maupun child )

3. Melihat dan menghapus variabel
Untuk melihat variabel pada shell dilihat dengan menggunakan
Perintah
$set | more
untuk menghapus variabel menggunakan unset
4. membaca data dari keyboard
perintah membaca dari keyboard menggunakan perintah read


Contoh :

clear
echo “Nip : \c”
read nip
echo “Nama :\c”
read nama
echo “Alamat :\c”
read alamat

echo “ Nip : $nip”
echo “ Nama : $nama”
echo “ Alamat : $alamat”





PRAKTIKUM 09

Tujuan Instruksional
Setelah mengikuti praktikum ini, Mahasiswa diharapkan mampu untuk :
1. Mengetahui tentang aritmatika variabel shell pada Pemrograman Shell didalam UNIX.
2. Dapat menyelesaikan masalah pemrograman yang menggunakan aritmatika.

Aritmatika pada shell variabel
Nilai pada setiap variabel shell adalah bertipe karakater. Untuk melakukan operasi aritmatika kita dapat menggunakan perintah expr.
Sintaks :
expr integer operator integer

operator aritmatika yang digunakan adalah :
+ - * / %

Contoh 1:
$ expr 2 + 1
3
$ expr 4 \* 3
12
$ hasil=`expr 5 + 4`
$ expr $hasil / 3
3
$ expr `5 + 4` / 3
3

Contoh 2 :
echo –e “masukkan bilangan pertama : \c”
read bil1
echo –e “masukkan bilangan kedua : \c”
read bil2
hasil=$(($bil1 + $bil2))
echo “hasil $bil1 ditambah $bil2 adalah $hasil”

Latihan
Input
- panjang,
- lebar
- tinggi balok
Proses
- keliling = 2 * (panjang + lebar)
- luas = panjang + lebar + tinggi
Output
Hasil Perhitungan

Panjang = .......
Lebar = ........
Tinggi = ........
Keliling = .......
Luas = ........

PRAKTIKUM 10

Tujuan Instruksional
Setelah mengikuti praktikum ini, Mahasiswa diharapkan mampu untuk :
1. Mengetahui tentang struktur kontrol seleksi (if .. then) didalam UNIX.
2. Dapat menyelesaikan masalah pemrograman yang menggunakan struktur kntrol seleksi (if .. then.).

Struktur kontrol seleksi IF
Sintaks :
if [ kondisi ]
then
pernyataan
else
pernyataan
fi


contoh 1 :
kunci=”unisbank”
echo “silakan masukan password : \c ”
read password
if [ $password = = “$kunci” ]
then
echo “ password okey “
else
echo “ password error “
fi


contoh 2 :
jam=`date +%H`
if [ $jam –lt 10 ]; then
echo “Selamat Pagi”
elif [ $jam –lt 15 ]; then
echo “Selamat Siang”
elif [ $jam –lt 17 ]; then
echo “Selamat Malam”
fi



PRAKTIKUM 11

Tujuan Instruksional
Setelah mengikuti praktikum ini, Mahasiswa diharapkan mampu untuk :
1. Mengetahui tentang struktur kontrol seleksi (case .. in) didalam UNIX.
2. Dapat menyelesaikan masalah pemrograman yang menggunakan struktur kntrol seleksi (case .. in.).

Struktur kontrol seleksi IF
Sintaks:
case varname
in
pilihan1) pernyataan
pernyataan 1;;
pilihan2) pernyataan
pernyataan 2;;
esac


Contoh 1:
kodehari=`date +%w`
case $kodehari in
0) echo “Sunday”;;
1) echo “Monday”;;
2) echo “Tuesday”;;
3) echo “Wednesday”;;
4) echo “Thursday”;;
5) echo “Friday”;;
6) echo “Saturday”;;
esac

Contoh 2 :
echo –e “Kode Bulan (1..12) : \c”
read bulan
case $bulan in
1|2|3|4|5|5) echo “Semester 1” ;;
7|8|9|10|11|12) echo “Semester 2” ;;
*) echo “Salah entri kode Bulan” ;;
esac
PRAKTIKUM 12

Tujuan Instruksional
Setelah mengikuti praktikum ini, Mahasiswa diharapkan mampu untuk :
1. Mengetahui tentang struktur kontrol perulangan didalam UNIX.
2. Dapat menyelesaikan masalah pemrograman yang menggunakan struktur kontrol perulangan.

1. PERULANGAN FOR
Perintah for mempunyai format sebagai berikut :
For variabel [ in daftar_argumen ]
do
Perintah
..............
done

Bagian yang terletak antara do dan done akan dieksekusi untuk semua nilai yang terdapat pada daftar_argumen. Untuk setiap proses nilai variabel akan berubah secara bergantian sesuai dengan nilai pada daftar_argumen.

Contoh 1 :
for bil in 1 2 3 4 5 6 7 8 9 10
do
echo $bil
done

Contoh 2 :
for nama in joko “Jodi Darmawan” Rudi Joni
do
echo $nama
done


2. PERULANGAN WHILE
Struktur struktur perintah while :
While kondisi
do
Perintah
.............
done
perintah yang berada antara do dan done akan dieksekusi secara berulang selama kondisi bernilai benar. Jika kondisi di awal while bernilai salah, maka perintah yang ada di dalam do-done tidak dijalankan sama sekali.











Contoh 1 :

pilihan=salah
while [ $pilihan = “salah” ]
do
echo –e “pilihan [1 – 5] : \c”
read nilai
case $nilai in
[1-5]) pilihan=betul ;;
*) echo “pilihan salah” ;;
esac
done
Contoh 2 :
bil=1
while [ $bil – le 10 ]
do
echo $bil
bil=`expr $bil + 1`
done





Reade more >>

skripsi TI

se4karang jaman ya pengen yang mudah2

bagi yang pengen silah kan klick link diatas

free download skripsi gratis

siapa saja yang pengen download silahkan ambil gratiis!
Reade more >>

ilmu adalah suatu pengetahuan: lucu

Reade more >>

Advertisement