Gambar

Senin, 05 Juli 2010

Cara CPU Bekerja

Central Processing Unit (CPU): otak yang ada didalam sebuah PC yang memproses data serta unit yang menentukan kekuatan dan harga dari sebuah komputer.

Dalam setahun ke belakang, kecepatan CPU meningkat drastis dari 600 MHz menjadi 1 GHz, dan baru-baru ini Intel mengumumkan telah mengapalkan Pentium III 1,13 GHz. Pada akhir tahun ini diperkirakan kecepatan di atas 1,5 GHz akan terlampaui, menandakan perlombaan CPU tercepat telah dimulai. Ini ada sebuah tip: Kinerja CPU di PC Anda tidak hanya ditentukan oleh angka megahertz atau gigahertz yang banyak diiklankan perakit PC di majalah atau Internet. Dengan peningkatan kecepatan chip dan aplikasi yang membutuhkan tenaga yang lebih besar.


Yang Anda perlu ketahui:

· Sebuah CPU melakukan tiga tugas utama: Membaca data, memproses data, dan biasanya menulis data ke memori.
· Kecepatan kasar (raw speed) diukur dalam skala megahertz, tetapi bagian lainnya seperti desain arsitektur chip juga menentukan kinerja dari CPU tersebut.
· Chip yang Anda inginkan dalam PC Anda tergantung pada berapa banyak yang akan Anda keluarkan dan untuk apa Anda menggunakan PC tersebut.

Membangun Blok

Sebelum Anda mengerti bagaimana sebuah CPU bekerja, Anda perlu mengetahui bagaimana sebuah CPU dibuat. Sebuah CPU terdiri dari jutaan transistor mikroskopis yang melalui pemrosesan secara kimiawi dan photolithografis untuk menjadi sebuah cetakan silikon yang besarnya tidak lebih dari ibu jari Anda.

Transistor kecil mungil itu menyimpan pulsa elektrik yang memberikan nilai satu atau nol, yang membentuk sistem bahasa binari yang digunakan komputer untuk berkomunikasi. Grup transistor tersebut saling terhubungkan untuk menyimpan nilai-nilai; mereka juga melakukan kalkulasi logika dan matematika, dan dengan bantuan sebuah jam kristal kuartz, mereka melakukan fungsinya seperti layaknya pendayung perahu naga yang mendayung secara tersinkronisasi. Dengan kata lain, mereka dapat memproses data.

Proses Sebuah CPU

Sebuah CPU memproses informasi yang disimpan dalam bentuk byte di memori. Informasi tersebut dapat berupa data atau instruksi. Data adalah bentuk biner dari sebuah huruf, sebuah angka, atau sebuah warna. Sebuah instruksi memberitahu CPU apa yang harus dilakukan terhadap data tersebut, sebagai contoh: menambahkannya, membaginya, atau memindahkannya

CPU akan melakukan tiga operasi utama terhadap data tersebut: membacanya, memanipulasi (memproses) data tersebut, dan seringkali menuliskannya ke dalam memori. Pada tingkat yang lebih sederhana, CPU hanya memerlukan empat elemen untuk melakukan operasi terhadap datanya: instruksi, penunjuk instruksi, beberapa register, dan sebuah aritmethic logic unit.

Penunjuk instruksi akan memberitahu CPU dimana instruksi tersebut diletakkan di memori saat dibutuhkan untuk menjalankan aplikasi.

Register adalah tempat penyimpanan sementara di CPU. Sebuah register menyimpan sebuah data yang menunggu untuk diproses oleh sebuah instruksi, atau sebuah data yang telah diproses (misalkan, hasil dari penambahan dua angka sekaligus).

Unit logika aritmatika (arithmetic logic unit/ALU) berfungsi sebagai kalkulatornya CPU, bekerja dengan fungsi matematika dan logika yang diperintahkan oleh set instruksi.

CPU terdiri atas beberapa bagian tambahan yang membuat bagian dasar CPU bekerja sebagaimana mestinya:

· Fetch instruksi mengambil instruksi dari RAM atau bagian dari memori yang terletak di CPU.

· Dekoder instruksi mengambil instruksi dari fetch dan menerjemahkannya sehingga CPU mengerti. Dekoder ini menentukan langkah selanjutnya yang harus dilakukan untuk menyelesaikan instruksi tersebut.

· Unit kontrol akan mengatur dan mengkoordinasikan seluruh operasi chip. Unit ini akan memberitahu ALU kapan untuk melakukan kalkulasi, kemudian memberitahu fetch kapan untuk mengambil sebuah nilai, dan memberitahu dekoder kapan untuk menerjemahkan nilai tersebut menjadi sebuah instruksi.

Menjejak Sebuah Instruksi
Beginilah caranya CPU melakukan tugasnya: penunjuk instruksi mengarahkan fetch instruksi ke sebuah spot di memori yang menampung sebuah instruksi. Fetch kemudian menangkap instruksi tersebut dan memberikannya ke dekoder instruksi, kemudian mengamati instruksi tersebut dan menentukan langkah selanjutnya untuk melengkapi instruksi tersebut (sebuah instruksi dapat terdiri dari rangkaian langkah yang harus dilengkapi dalam urutan tertentu).

ALU kemudian mengerjakan perintah yang diminta instruksi: menambah data, membagi data, atau memanipulasi data yang ada. Setelah CPU menerjemahkan dan mengerjakan instruksi, unit kontrol memberitahukan fetch instruksi untuk menangkap instruksi berikutnya di memori. Proses ini berlangsung terus menerus--dari satu instruksi ke instruksi berikutnya, dalam suatu langkah yang rumit--untuk menciptakan hasil yang dapat Anda lihat di monitor. Itulah kerjanya sebuah program
seperti pengolah kata: sebuah seri instruksi-instruksi dan data-data.

Untuk meyakinkan semua itu berjalan dalam satu kesatuan waktu, bagian itu memerlukan suatu clock generator. Clock generator meregulasi setiap langkah yang dikerjakan CPU. Seperti sebuah metronome, sebuah clock generator mengirim pulsa-pulsa elektrik untuk menentukan langkah CPU. Pulsa tersebut diukur dalam jutaan langkah per detik, atau megahertz, yang Anda kenal sebagai ukuran kecepatan CPU. Semakin banyak pulsa dibuat, semakin cepat CPU bekerja. Dalam keadaan ideal, seharusnya sebuah CPU berkecepatan 700 MHz bekerja lebih cepat dibanding CPU 600 MHz, tetapi tambahan dan variasi pada basis CPU dapat membuat angka-angka tersebut tidak berarti.


Meningkatkan Basis CPU
Sebuah CPU hanya memerlukan sedikit bagian untuk melakukan tugasnya, tetapi desain dasar tersebut telah dimodifikasi selama bertahun-tahun untuk meningkatkan kinerja secara keseluruhan. Tujuan utama peningkatan tersebut sama: memproses data lebih cepat.

Sambil mencari cara untuk meningkatkan kecepatan pemrosesan, pembuat chip menyadari bahwa CPU tidak melakukan pemrosesan selama mereka melakukan fetching untuk sebuah instruksi atau data dari RAM sistem. Untuk mereduksi downtime tersebut, mereka menempatkan sebuah area penyimpanan, yang dikenal sebagai cache, dalam sebuah CPU. Data dan instruksi dapat ditempatkan sementara di CPU itu sendiri, mengurangi perjalanan data atau instruksi dari RAM.

Menambah ide penyediaan cache, pembuat sistem menempatkan RAM berkecepatan tinggi (dan mahal)--yang dikenal sebagai cache tingkat 2 atau L2 cache--antara cache CPU tingkat satu dan RAM sistem. Semakin dekat ke CPU berarti semakin pendek jarak yang harus ditempuh ke RAM sistem. Cache sekunderi ini sangat bermanfaat untuk meningkatkan kinerja sehingga semakin banyak prosesor yang mengintegrasinya ke dalam CPU-nya itu sendiri, menciptakan lebih banyak ruang untuk menyimpan data dan instruksi.

Lebih banyak ALU dan Sebuah FPU
Untuk meningkatkan kinerja kalkulasi, pembuat chip menempatkan sebuah unit aritmetik logika (arithmetic logic unit/ALU) di dalam CPU. Secara teoritis ini berarti pemrosesan dapat dilakukan dua kali lebih cepat dalam satu langkah. Menggunakan multiple ALU akan tampak seperti menambah tukang kayu lagi dalam membuat lemari dapur, yang berarti mempercepat penyelesaian pekerjaan.

Sebagai tambahan multiple ALU, Intel mengintegrasikan floating point unit ke dalam CPU. FPU ini menangani angka dari yang paling besar hingga yang paling kecil (yang memiliki banyak angka di belakang koma). Sementara FPU menangani kalkulasi semacam itu, ALU menjadi bebas untuk melakukan tugas lain dalam waktu yang bersamaan, untuk meningkatkan kinerja.

Advanced Micro Devices dan Intel juga menambah kecepatan pemrosesan instruksi dengan melakukan pipelining instruksi, atau menjalankan instruksi secara paralel satu dengan lainnya. Eksekusi dari sebuah instruksi memerlukan langkah yang terpisah--sebagai contoh, fetching dan dekoding sebuah instruksi. Sebenarnya CPU harus menyelesaikan sebuah instruksi secara keseluruhan sebelum melanjutkan ke instruksi berikutnya. Sekarang sirkuit yang berbeda menangani langkah yang terpisah tersebut.

Begitu sebuah instruksi telah selesai dalam satu langkah untuk dilanjutkan ke langkah berikutnya, transistor yang mengerjakan langkah pertama bebas untuk mengerjakan instruksi berikutnya, sehingga akan mempercepat kerja pemrosesan. Ini mirip dengan mendaki tangga: begitu kaki Anda meninggalkan sebuah anak tangga, orang yang di belakang Anda dapat menggunakannya untuk dinaiki.

Sebagai tambahan untuk meningkatkan kinerja adalah memprediksi cabang-cabang instruksi, yaitu memperkirakan lompatan yang akan dilakukan sebuah program dapat dilakukan; eksekusi secara spekulatif, yaitu mengeksekusi cabang instruksi yang ada di depat; dan penyelesaian tanpa mengikuti urutan, yakni kemampuan untuk menyelesaikan sebuah seri instruksi tidak berdasarkan urutan normal.

Perubahan-perubahan tersebut membuat peningkatan kecepatan clock, seperti lompatan hingga 1 GHz pada bulan Februari lalu, bukan lagi menjadi keutamaan kinerja. Tes yang dilakukan oleh majalah komputer PC World menunjukkan bahwa lompatan kecepatan bukan lagi menjadi hal utama dalam peningkatan kinerja, terutama pada aplikasi perkantoran, yang sangat tergantung pada kecepatan hard drive dan jumlah serta kecepatan RAM sistem.

CPU dalam PC Anda
Dua pemain mendominasi pasar CPU PC: Intel (www.intel.com), yang menguasai 80 persen pangsa pasar PC rumah dan bisnis, dan Advanced Micro Devices (www.amd.com). Kedua perusahaan tersebut membuat model untuk mesin-mesin high-end, midrange, dan low-end. Perusahaan lain juga memproduksi CPU, seperti Motorola PowerPC 750 (www.mot-sps.com), yang memberi tenaga untuk komputer-komputer Macintosh.

AMD Athlon dan Intel Pentium III saling berbagi pasar untuk CPU bertenaga lebih yang menjalankan sistem operasi Microsoft Windows. Keduanya hampir seimbang dalam desain dan performa, termasuk peningkatan kinerja untuk menjalankan software game 3D dan CAD (computer aided design).

CPU high-end dari Intel dan AMD banyak terdapat pada berbagai jenis PC, dari sistem rumahan kelas menengah (antara 600 hingga 850 MHz) hingga workstation rekayasa industri dan sistem multimedia high-end yang paling mahal (dari 866 MHz ke atas). Untuk model terbaru, PC dengan CPU ini harganya berkisar antara $200 hingga $1000.

Untuk kelas high-end, PC dengan chip 1 GHz akan berharga $2700 hingga $3300, tergantung pada komponen yang ditawarkan oleh perakit PC. Untuk sistem kelas menengah, yang menggunakan chip AMD atau Intel berkecepatan 600 hingga 850 MHz harganya sekitar $900 hingga $1600.

Chip berharga ekonomis (di bawah $150) biasanya berjalan dengan kecepatan clock lebih rendah dari Athlon dan P-III, cache yang lebih sedikit atau lebih lambat, dan memiliki peningkatan kinerja yang lebih kecil. AMD K6-III dan K6-2 serta Intel Celeron ditujukan untuk PC-PC dengan harga kurang dari $1000.

Komputer portabel biasanya tidak menawarkan CPU tercepat yang ada. Sebuah desain desktop dirancang untuk menahan panas yang lebih tinggi dibanding sebuah laptop, yang berarti laptop harus menggunakan CPU yang lebih lambat dan kurang bertenaga. Prosesor yang lebih cepat juga membutuhkan daya yang lebih besar juga, yang mengakibatkan umur pakai tenaga baterei juga berkurang. Saat ini, portabel tercepat yang tersedia di pasaran adalah 700 MHz, tapi tampaknya dengan desain yang baru, kecepatan tersebut akan segera bertambah.

Di Masa Depan
Pembuat CPU selalu mencari cara untuk meningkatkan performa. Baru-baru ini mereka telah mengganti sistem fabrikasi dari 0.25 mikron ke 0.18 mikron, yang memungkinkan celah yang lebih sempit dalam menempatkan transistor yang lebih kecil, sehingga memungkinkan kecepatan yang lebih tinggi dan panas yang lebih kecil untuk desain arsitektur yang sama. Tambahan lain, interkoneksi antar transistor menggunakan alumunium telah digantikan dengan tembaga, yang mengkonduksikan listrik lebih baik dibanding alumunium.

Tetapi perbaikan ini tidak berarti perlombaan penambahan kecepatan akan berakhir. Intel telah mengumumkan chip Willamette (alias Pentium-4), yang akan berjalan dengan kecepatan 1,5 GHz dan akan tersedia pada akhir tahun ini. Sementara kompetitornya, AMD, juga akan terus menempel ketat pada perlombaan tersebut.
Selengkapnya...

Bahasa Pemograman Pyhton

Python adalah bahasa pemrograman model skrip (scripting language) yang berorientasi obyek. Python dapat digunakan untuk berbagai keperluan pengembangan perangkat lunak dan dapat berjalan di berbagai platform sistem operasi. Saat ini script python dapat dijalankan di sistem:

* Linux/Unix
* Windows
* Mac OS X
* OS/2
* Amiga
* Palm
* Symbian (untuk produk-produk Nokia)
Python didistribusikan dengan beberapa lisensi yang berbeda dari beberapa versi. Lihat sejarahnya di Python Copyright. Namun pada prinsipnya Python dapat diperoleh dan dipergunakan secara bebas, bahkan untuk kepentingan komersial. Lisensi Python tidak bertentangan baik menurut definisi Open Source maupun General Public License (GPL).

Python dikembangkan oleh Guido van Rossum pada tahun 1990 di CWI, Amsterdam sebagai kelanjutan dari bahasa pemrograman ABC. Versi terakhir yang dikeluarkan CWI adalah 1.2.

Tahun 1995, Guido pindah ke CNRI sambil terus melanjutkan pengembangan Python. Versi terakhir yang dikeluarkan adalah 1.6. Tahun 2000, Guido dan para pengembang inti Python pindah ke BeOpen.com yang merupakan sebuah perusahaan komersial dan membentuk BeOpen PythonLabs. Python 2.0 dikeluarkan oleh BeOpen. Setelah mengeluarkan Python 2.0, Guido dan beberapa anggota tim PythonLabs pindah ke DigitalCreations.

Saat ini pengembangan Python terus dilakukan oleh sekumpulan pemrogram yang dikoordinir Guido dan Python Software Foundation. Python Software Foundation adalah sebuah organisasi non-profit yang dibentuk sebagai pemegang hak cipta intelektual Python sejak versi 2.1 dan dengan demikian mencegah Python dimiliki oleh perusahaan komersial. Saat ini distribusi Python sudah mencapai versi 2.6.1 dan versi 3.0.

Nama Python dipilih oleh Guido sebagai nama bahasa ciptaannya sebab Guido adalah penggemar berat acara televisi Monty Python's Flying Circus. Oleh karena itu seringkali ungkapan-ungkapan khas dari acara tersebut seringkali muncul dalam korespondensi antar pengguna Python.
Beberapa fitur yang dimiliki Python adalah:
memiliki kepustakaan yang luas; dalam distribusi Python telah disediakan modul-modul 'siap pakai' untuk berbagai keperluan.
memiliki tata bahasa yang jernih dan mudah dipelajari.
memiliki aturan layout kode sumber yang memudahkan pengecekan, pembacaan kembali dan penulisan ulang kode sumber.
berorientasi obyek.
memiliki sistem pengelolaan memori otomatis (garbage collection, sepertijava)
modular, mudah dikembangkan dengan menciptakan modul-modul baru; modul-modul tersebut dapat dibangun dengan bahasa Python maupunC/C++.
Selengkapnya...

SOLID STATE DISK (SSD)

Sekarang ini istilah mass storage atau media penyimpanan sudah tidak asing lagi di telinga kita, bahkan perkembangannya sudah jauh meninggalkan kita jika kita tidak terus meng-update informasi yang berkaitan dengan mass storage tersebut. Dan yang mulai diperhatikan adalah SSD. Solid State Disk ini mulai dilirik menjadi alternatif storage media pengganti hardisk karena beberapa keunggulannya.
Arsitektur SSD
Sebuah SSD menggunakan SRAM dan DRAM, bukan flash memory. Sering disebut sebagai RAM-drive (tidak sama dengan RAM disk). Akhir-akhir ini, chip yang digunakan pada SSD sebagian besar berdasarkan memori flash NAND [2]. Chip pada memori berjenis NAND Flash ini mirip bentuknya dengan chip pada memori DDRAM, namun pada NAND bersifat non-volatile artinya tidak memerlukan arus listrik untuk menyimpan data.

Komponennya :
1.Cache : flash SSD yang menggunakan sejumlah kecil DRAM sebagai cache. Ini mirip dengan cache pada Hard disk Drive. Sebuah direktori pada blok penempatan dan pemakaian data juga disimpan dalam cache sementara drive beroperasi.
2.Energi penyimpanan : komponen lain SSD berkinerja tinggi adalah kapasitor atau beberapa baterai. Ini diperlukan untuk menjaga integritas data sehingga data dalam cache dapat tersimpan ke drive ketika daya drop; beberapa mungkin memiliki daya yang cukup lama untuk mempertahankan data dalam cache daya.
Keunggulan SDD
Berikut adalah beberapa keunggulan SSD jika dibandingkan dengan HardDisk, yaitu :
1.Konsumsi daya SSD lebih sedikit daripada konsumsi daya yang digunakan HDD. Hal ini menyebabkan SSD lebih tepat digunakan untuk perangkat mobile. Baterai dari perangkat itu akan dapat bertahan lebih lama diantara waktu charging.
2.SSD memiliki umur data lebih panjang dan lebih tahan lama dibandingkan HDD. Apabila pengguna mengalami benturan ringan pada notebooknya, maka kehilangan data akan dapat dihindari.
3.SSD memiliki  kecepatan pembacaan dan penulisan yang relative lebih tinggi daripada HDD.
4.SSD memiliki bagian yang tidak bergerak sehingga mengakibatkan lebih tidak berisik dan panas.
5.Berat SSD sangat ringan. Jika dibandingkan dengan HDD maka beratnya 1/5 nya.
6.MTBF (Mean Time Between Failure) atau masa waktu pakai SSD lebih lama di atas 2 milyar jam sedangkan HDD hanya bisa digunakan maksimal 0.7 milyar jam.
Kekurangan SSD
Selain kelebihan yang banyak dimiliki SSD, tenru saja SSD juga memiliki beberapa kekurangan, yaitu :
1.Pemakaian SSD memiliki implikasi keamanan. Contohnya, enkripsi dari data yang belum terenkripsi pada SSD berbasis flash ini tidak dapat dilakukan dengan aman. Karena pemakaian menyebabkan sector drive terenkripsi baru ditulis ke lokasi fisik yang berbeda dari lokasi yang asli sehingga data pada lokasi asli tetap tidak terenkripsi.
2.Harga SSD masih lebih mahal dibandingkan dengan HDD.
3.Kapasitas SSD dipasaran pun masih terbatas.
4.Asimetris kinerja pembacaan dengan penulisan pada SDD menyebabkan masalah dengan beberapa fungsi tertentu. Pada dasarnya, operasi penulisan dan pembacaan selesai dalam jangka waktu yang sama. Namun pada SSD ini memiliki kinerja penulisan yang lebih lambat jika dibandingkan dengan kinerja pembacaan.
Selengkapnya...

Perintah Dasar Sistem Operasi Linux

didalam Linux terdapat banyak sekali operasi-operasi yang ada di dalam sistem operasi linux, minimal bagi kita orang yang masih awam, minimal kita mengetahui perintah dasarnya saja, di artikel ini kita juga bisa langsung mencoba berbagai perintah dasar sistem Operasi Linux, Antara lain :
Percobaan 1 : Melihat identitas diri (nomor id dan group id)
$ id

Percobaan 2 : Melihat tanggal dan kalender dari sistem
1.Melihat tanggal saat ini
$ date

2.Melihat kalender
$ cal 9 2002
$ cal -y

Percobaan 3 : Melihat identitas mesin
$ hostname
$ uname
$ uname -a

Percobaan 4 : Melihat siapa yang sedang aktif
1.Mengetahui siapa saja yang sedang aktif
$ w
$ who
$ whoami

2.Mengubah informasi finger
$ chfn
Changing finger information for student.
Password:
Name[user wks]:
Office[]: Lab Pemrograman 2
Office Phone []: 2301
Home Phone []: 5947280

Finger information changed.

3.Melihat informasi finger
$ finger
$ finger

Percobaan 5 : Menggunakan manual
$ man ls
$ man man
$ man –k file
$ man 5 passwd

Percobaan 6 : Menghapus layar
$ clear

Percobaan 7 : Mencari perintah yang deskripsinya mengandung kata kunci yang dicari
$ apropos date
$ apropos mail
$ apropos telnet

Percobaan 8 : Mencari perintah yang tepat sama dengan kunci yang dicari
$ whatis date

Percobaan 9 : Manipulasi berkas (file) dan direktori
1.Menampilkan current working directory
$ ls

2.Melihat semua file lengkap
$ ls –l

3.Menampilkan semua file atau direktori yang tersembunyi
$ ls –a

4.Menampilkan semua file atau direktori tanpa proses sorting
$ ls –f

5.Menampilkan isi suatu direktori
$ ls /usr

6.Menampilkan isi direktori root
$ ls /

7.Menampilkan semua file atau direktori dengan menandai : tanda (/) untuk direktori, tanda asterik (*) untuk file yang bersifat executable, tanda (@) untuk file symbolic link, tanda (=) untuk socket, tanda (%) untuk whiteout dan tanda (|) untuk FIFO.
$ ls –F /etc

8.Menampilkan file atau direktori secara lengkap yaitu terdiri dari nama file, ukuran, tanggal dimodifikasi, pemilik, group dan mode atau atributnya.
$ ls –l /etc

9.Menampilkan semua file dan isi direktori. Argumen ini akan menyebabkan proses berjalan agak lama, apabila proses akan dihentikan dapat menggunakan ^c
$ ls –R /usr

Percobaan 10 : Melihat tipe file
$ file
$ file *
$ file /bin/ls

Percobaan 11 : Menyalin file
1.Mengkopi suatu file. Berikan opsi –i untuk pertanyaan interaktif bila file sudah ada.
$ cp /etc/group f1
$ ls –l
$ cp –i f1 f2
$ cp –i f1 f2

2.Mengkopi ke direktori
$ mkdir backup
$ cp f1 f3
$ cp f1 f2 f3 backup
$ ls backup
$ cd backup
$ ls

Percobaan 12 : Melihat isi file
1.Menggunakan instruksi cat
$ cat f1

2.Menampilkan file per satu layar penuh
$ more f1
$ pg f1


Percobaan 13 : Mengubah nama file
1.Menggunakan instruksi mv
$ mv f1 prog.txt
$ ls

2.Memindahkan file ke direktori lain. Bila argumen terakhir adalah nama direktori, maka berkas-berkas akan dipindahkan ke direktori tersebut.
$ mkdir mydir
$ mv f1 f2 f3 mdir

Percobaan 14 : Menghapus file
$ rm f1
$ cp mydir/f1 f1
$ cp mydir/f2 f2
$ rm f1
$ rm –i f2


Percobaan 15 : Mencari kata atau kalimat dalam file
$ grep root /etc/passwd
$ grep “:0:” /etc/passwd
$ grep student /etc/passwd
Selengkapnya...

Operasi File dan Struktur Direktory

Percobaan 1 : Direktory
1.Melihat direktori HOME
$ pwd
$ echo $HOME

2.Melihat direktori aktual dan parent direktori
$ pwd
$ cd .
$ pwd
$ cd ..
$ pwd
$ cd

3.Membuat satu direktori, lebih dari satu direktori atau sub direktori
$ pwd
$ mkdir A B C A/D A/E B/F A/D/A
$ ls -l
$ ls -l A
$ ls -l A/D

4.Menghapus satu atau lebih direktori hanya dapat dilakukan pada direktori kosong dan hanya dapat dihapus oleh pemiliknya kecuali bila diberikan ijin aksesnya
$ rmdir B (Terdapat pesan error, mengapa ?)
$ ls -l B
$ rmdir B/F B
$ ls -l B (Terdapat pesan error, mengapa ?)

5.Navigasi direktori dengan instruksi cd untuk pindah dari satu direktori ke direktori lain.
$ pwd
$ ls -l
$ cd A
$ pwd
$ cd ..
$ pwd
$ cd /home//C
$ pwd
$ cd /C (Terdapat pesan error, mengapa ?)
$ pwd

1.Perintah cp untuk mengkopi file atau seluruh direktori
$ cat > contoh
Membuat sebuah file
[Ctrl-d]
$ cp contoh contoh1
$ ls -l
$ cp contoh A
$ ls –l A
$ cp contoh contoh1 A/D
$ ls –l A/D

2.Perintah mv untuk memindah file
$ mv contoh contoh2
$ ls -l
$ mv contoh1 contoh2 A/D
$ ls –l A/D
$ mv contoh contoh1 C
$ ls –l C

3.Perintah rm untuk menghapus file
$ rm contoh2
$ ls -l
$ rm –i contoh
$ rm –rf A C
$ ls -l

Percobaan 3 : Symbolic Link
1.Membuat shortcut (file link)
$ echo "Hallo apa khabar" > halo.txt
$ ls -l
$ ln halo.txt z
$ ls -l
$ cat z
$ mkdir mydir
$ ln z mydir/halo.juga
$ cat mydir/halo.juga
$ ln -s z bye.txt
$ ls -l bye.txt
$ cat bye.txt

Percobaan 4 : Melihat Isi File
$ ls –l
$ file halo.txt
$ file bye.txt

Percobaan 5 : Mencari file
1.Perintah find
$ find /home –name “*.txt” –print > myerror.txt
$ cat myerror.txt
$ find . –name “*.txt” –exec wc –l ‘{}’ ‘;’

2.Perintah which
$ which ls

3.Perintah locate
$ locate “*.txt”

Percobaan 6 : Mencari text pada file
$ grep Hallo *.txt
Selengkapnya...

Membuat HTTP Request di Ajax

Dalam coding JavaScript, jika Anda ingin memperoleh informasi dari database atau file di server, atau mengirim informasi ke server, anda perlu membuat sebuah bentuk HTML dan GET atau POST data ke server. Pengguna perlu klik "Kirim" tombol untuk mengirim / mendapatkan informasi, menunggu server untuk merespon, kemudian baru akan memuat halaman dengan hasil.
Karena server kembali halaman baru setiap kali pengguna mengajukan masukan, aplikasi web dapat berjalan lambat dan cenderung kurang user-friendly. Dengan AJAX, JavaScript Anda berkomunikasi langsung dengan server, melalui objek JavaScript XMLHttpRequest.
Dengan HTTP Request, halaman web dapat membuat permintaan untuk, dan mendapat jawaban dari web server - tanpa reload halaman. Pengguna akan tetap di halaman yang sama, dan dia tidak akan melihat bahwa script meminta halaman, atau mengirim data ke server di latar belakang.

Browser yang berbeda menggunakan metode yang berbeda untuk menciptakan objek XMLHttpRequest. Internet Explorer menggunakan ActiveXObject, sementara lainnya menggunakan browser built-in JavaScript objek disebut XMLHttpRequest.
Untuk membuat objek ini, dan menangani berbagai browser, kita akan menggunakan "Try and Catch" statement. Anda dapat membaca lebih lanjut tentang statement try and catch di tutorial JavaScript. Berikut ini coding untuk membuat HttpRequest :
1.  
XMLHttpRequest(). Code Ini digunakan untuk Firefox, Opera, dan Safari browser. Jika gagal, coba xmlHttp = new ActiveXObject ("Msxml2.XMLHTTP") untuk Internet Explorer 6.0 +, jika yang juga gagal, coba xmlHttp = new ActiveXObject ( "Microsoft.XMLHTTP") untuk Internet Explorer 5.5+.

Jika tiga cara tadi tidak bisa, kemungkinan browser yang digunakan user cukup usang dan dia akan mendapatkan peringatan yang menyatakan bahwa browser tidak mendukung AJAX.

Bab berikutnya menunjukkan bagaimana menggunakan objek XMLHttpRequest untuk berkomunikasi dengan server.
Selengkapnya...

KOMPUTER ANDA HANG atau tidak bisa digerakkan?? IT’S CALLED DEADLOCK

Mungkin diantara kita sering mengalami hal ini, komputer menjadi macet, tidak bisa melakukan proses apapun bahkan pergerakan mouse saja tidak ada. Inilah yang dinamakan deadlock atau istilah gaulnya adalah hang atau menggantung. Banyak dari kita yang langsung melakukan gerak cepat seperti menekan tombol CTRL + ALT + DEL untuk menampilkan task manager dan mematikan proses yang sekiranya menjadi penyebab terjadinya deadlock tersebut. Atau mungkin ada diantara kita yang ketika melihat komputernya macet, menunggu hingga berjam-jam berharap komputernya akan bekerja kembali, ternyata tidak. Bahkan ada pula yang langsung menekan tombol power lama-lama kemudian menyalakannya kembali atau me-restart-nya. Lalu apakah yang dimaksud dengan deadlock, penyebabnya dan bagaimana untuk menyelesaikannya akan dibahas pada artikel di bawah ini.


Pengertian Deadlock secara harfiah artinya adalah jalan buntu. Di dalam sistem operasi berarti suatu kondisi di mana tidak adanya komunikasi antar proses dimana sekumpulan proses itu tidak dapat berjalan kembali. Penyebab terjadinya adalah karena proses yang satu menunggu sumber daya yang sedang dipegang oleh proses lain yang sedang menunggu sumber daya yang dipegang oleh proses tersebut. Penyebab utama terjadinya deadlock adalah terbatasnya sumber daya yang akan digunakan oleh proses-proses. Tiap proses berkompetisi untuk memperebutkan sumber daya yang ada. Jadi deadlock berhubungan erat dengan tersedianya sumber daya dari komputer.
Karakteristik Deadlock
Menurut Coffman(1971) ada empat kondisi yang dapat menyebabkan terjadinya deadloock. Dan keempat kondisi tersebut tidak dapat berdiri sendiri, saling mendukung. Jadi jika tidak ada salah satu dari bagian ini maka tidak akan terjadi deadlock.
1.Mutual Eksklusif
Hanya ada satu proses yang bisa menggunakan sumber daya tersebut. Jika ada proses lain yang meminta sumber daya tersebut, maka proses itu harus menunggu sampai sumber daya dilepaskan.
2.Memegang dan Menunggu
Proses yang meminta sumber daya sudah memegang sumber daya lainnya(meminta sumber daya tambahan).
3.Tidak ada Preemption
Sumber daya yang sudah dialokasikan untuk sebuah proses tidak bisa diminta oleh proses lain. Sumber daya hanya bisa dilepaskan secara sukarela atau setelah proses tersebut selesai menggunakannya.
4.Circular Wait (menunggu berputar)
Kondisi seperti rantai yaitu saling menunggu sumber daya yang dipakai oleh proses yang menunggu sumber daya tersebut.

Pencegahan Deadlock
Pencegahan deadlock dapat dilakukan dengan cara sebagai berikut :
1.Masalah Mutual Eksklusi
Kondisi ini tidak dapat dilarang, jika aksesnya perlu bersifat spesial untuk satu proses,maka hal ini harus didukung oleh kemampuan sistem operasi. Jadi diusahakan agar tidak menggunakan kondisi spesial tersebut sehingga sedapat mungkin deadlock dapat dihindari.
2.Masalah Kondisi Menunggu dan Memegang
Penanggulangan deadlock dari kondisi ini lebih baik dan menjanjikan, asalkan kita dapat memegang sumber daya untuk menunggu sumber daya lain, kita dapat mencegah deadlock. Caranya ialah dengan meminta semua sumber daya yang ia butuhkan sebelum proses berjalan. Tetapi masalahnya sebagian proses tidak mengetahui keperluannya sebelum ia berjalan. Jadi untuk mengatasi hal ini, kita dapat menggunakan algoritma bankir. Sistem operasi atau sebuah protokol mengatur hal ini. Hasil yang dapat terjadi adalah sumber daya lebih harus dispesifikasikan dan kelaparan sumber daya, atau proses yang membutuhkan sumber daya yang banyak harus menunggu sekian lama untuk mendapatkan sumber daya yang ia butuhkan.
3.Masalah tidak preemption
Hal ketiga ialah jangan sampai ada preemption pada sumber daya yang telah dialokasikan. Untuk memastikan hal ini, kita dapat menggunakan protocol. Jadi jika sebuah proses meminta sumber daya yang tidak dapat ia penuhi saat itu juga, maka proses mengalami preempted. Dengan kata lain ada sumber daya dilepaskan dan diberikan ke proses yang menunggu, dan proses itu akan menunggu sampai kebutuhan sumber dayanya dipenuhi. Cara lain yaitu dengan mengecek apakah sumber daya yang dicari proses tersedia atau tidak. Jika ada maka langsung dialokasikan tetapi jika tidak maka kita cek apakah ada proses lain yang sedang menunggu sumber daya juga. Jika ya maka kita ambil sumber daya dari proses yang sedang menunggu tersebut dan memberikan kepada proses yang meminta sumber daya tersebut. Jika tidak tersedia juga maka proses tersebut harus menunggu. Dalam menunggu beberapa dari sumber dayanya dapat saja dipreempted jika ada proses yang memintanya. Cara ini efektif untuk proses yang menyimpan dalam memory atau register.
4.Masalah lingkaran tunggu
Masalah ini dapat ditangani oleh sebuah protocol yang menjaga agar sebuah proses tidak membuat lingkaran sikus yang dapat mengakibatkan deadlock dengan cara memberikan penomoran kepada sumber daya, dan bila suatu proses meminta sumber daya lagi maka ia hanya dapat meminta sumber daya yang nomornya lebih tinggi dari yang ia minta sebelumnya.

Metode untuk Menangani Deadlock
Pada prinsipnya kita dapat menangani deadlock dengan beberapa cara:
1.Menggunakan protokol untuk pencegahan atau penghindaran deadlock, memastikan bahwa sistem tidak akan memasuki kondisi deadlock.
2.Kita bisa mendeteksi terjadinya deadlock lalu memperbaiki.
3.Kita juga bisa mengabaikan deadlock, hal ini dilakukan pada sistem operasi berbasis UNIX.
Untuk memastikan sistem tidak memasuki deadlock, sistem dapat menggunakan pencegahan deadlock atau penghindaran deadlock. Penghindaran deadlock membutuhkan informasi tentang sumber daya yang mana yang akan suatu proses meminta dan berapa lama akan digunakan. Dengan informasi tersebut dapat diputuskan apakah suatu proses harus menunggu atau tidak. Hal ini disebabkan oleh keberadaan sumber daya, apakah ia sedang digunakan oleh proses lain atau tidak.  Jika sebuah sistem tidak memastikan deadlock akan terjadi, dan juga tidak didukung dengan pendeteksian deadlock serta pencegahannya, maka kita akan sampai pada kondisi deadlock yang dapat berpengaruh terhadap performance system karena sumber daya tidak dapat digunakan oleh proses sehingga proses-proses yang lain juga terganggu. Akhirnya sistem akan berhenti dan harus direstart.
Selengkapnya...

Comment


ShoutMix chat widget

Banner


Search Engine Optimization and SEO Tools
ecommerce web design
Add to Google
Share |
100 Blog Indonesia Terbaik free counters

Tukeran link



Copy kode di bawah masukan di blog anda, saya akan segera linkback kembali

Kolom blog tutorial

follow this blog

 

Copyright © 2009 by All About Computer Science