Refleksi: Desember 2002
Jumat 27 Desember 2002
Nge-Game dengan Komputer, Kenapa Tidak?
Bagi pengguna PC yang biasa memanfaatkannya untuk games, sebenarnya saya tidak ingin mengatakan bahwa kegiatan nge-game itu nggak ada gunanya. Kegunaan nge-game itu sebenarnya banyak koq, diantaranya untuk melatih kecepatan koordinasi antara mata, otak, dan tangan. Ini terutama berguna untuk mereka yang kerjanya bayak berurusan dengan ketangkasan ketiga bagian tubuh ini, seperti dokter bedah, atau penembak jitu :).
Yang jadi persoalan sebenarnya kalau kegiatan nge-game ini malahan jadi kegiatan yang menyita waktu dan dana secara sia-sia alias tidak ada nilai tambahnya. Khusus untuk calon pengguna PC yang ingin memanfaatkan sepenuhnya untuk bermain game, ada nasihat sederhana dan klasik: Ketimbang duitnya dipakai untuk beli PC, mendingan dibeliin Playstation. sisa duitnya bisa ditabung atau dibeliin CD games banyak-banyak :) [ini bukannya promosi Playstation lho].
Persoalannya, tidak seperti mesin games macam Playstation (or whatever) yang memang dari sono-nya dirancang untuk jadi barang mainan, PC adalah mesin yang jauh lebih kompleks dan dirancang untuk banyak kebutuhan. So, bermain game di PC tidak semudah memasukkan CD-ROM dan menekan tombol "Play". Ada banyak persoalan teknis yang mesti diperhatikan. Mulai dari membangun konfigurasi hardware yang optimal, problem saat instalasi, hingga isu kompatibilitas hardware maupun driver yang suka berkonflik satu dengan lainnya plus sekali-sekali kutak-katik BIOS. Bagi user yang memang dasarnya penggemar komputer, kegiatan troubleshooting macam begini pasti mengasyikkan, tapi bagi mereka yang suka yang Instan, ini bakalan bikin frustrasi.
Bagi yang "keras kepala" untuk tidak menuruti saran diatas, solusinya cuma satu: belajar. Kadang-kadang, ada juga gamers yang malahan jadi "pakar" hardware gara-gara suka ngoprek-ngoprek PC supaya bisa memainkan game favoritnya dengan mulus. Jangan kaget kalo ketemu pengguna PC yang hafal betul soal teknis perkomputeran, termasuk yang "njilimet" macam overclocking (populer dikalangan para gamers PC), ternyata bukan teknisi tulen, melainkan maniak game!
Tapi tentu saja, yang namanya belajar tetap perlu ketekunan, minat, plus kemauan untuk terus meng-update wawasan dan pengetahuan. Tapi kalau kepinginnya bersenang-senang secara instan (sekali lagi, ini bukannya promosi) beli saja Playstation!
Kamis 26 Desember 2002
Software Bajakan dan Kesempatan Belajar
Walaupun untuk ukuran Indonesia, harga seperangkat PC cukup menguras kantong ;) tapi untungnya, tidak demikian dengan komponen softwarenya. Bukan karena software di Indonesia diecer lebih murah dibanding di negara lain, tapi karena maraknya penggunaan software bajakan di negeri ini. Jangan heran kalau segepok produk software yang di negara asalnya bisa bernilai hingga ribuan dolar, disini dibundel dalam CD-ROM yang harganya palingan cuma belasan ribu Rupiah (kurang dari 2 USD!).
Untuk saat ini, software yang terpasang di PC-PC yang terpasang di rumah tangga maupun kantoran di Indonesia mungkin jauh lebih canggih ketimbang yang ada di rumah tangga atau kantor di negeri Paman Sam yang penduduknya dikenal sangat menghormati HAKI (Hak Atas Kekayaan Intelektual alias Intelectual Property Rights). Entah memang pada dasarnya demikian atau memang karena "keder" dengan ancaman sanksi berupa denda yang jumlahnya bisa membuat "bangkrut" para pelanggar HAKI di sono.
Kondisi ini, walaupun sangat dikutuk oleh para produsen software, sebenarnya menguntungkan bagi para pengguna komputer di negeri kita. Dari segi pendidikan, terbuka kesempatan bagi pengguna komputer disini untuk belajar secara mandiri. Bayangkan kalau hanya untuk belajar mengetik menggunakan MS Word, membuat database sederhana dengan MS Access, ataup program sederhana dengan MS Visual basic, kita harus membeli paket aslinya yang harganya malahan bisa lebih mahal dari PC-nya sendiri. Jawabnya pasti: Tak usah lah yauw! ;)
Sayangnya, kebanyakan user PC di Indonesia yang tidak menyadari kesempatan ini. User Indonesia saat ini masih sebatas sebagai pengguna yang lebih berorientasi ke hardware ketimbang software. Contoh gampangnya bisa dilihat di media-media komputer dalam negeri yang lebih banyak mengulas soal hardware canggih dengan harga selangit ketimbang tutorial pemrograman atau penggunaan software.
Di negara-negara maju seperti USA, mengutip cerita seorang pakar telematika kita di sebuah milis, untuk sekedar mencari programmer C++ saja sangat sulit. Bisa jadi ini bukan karena orang-orang disana belum melek IT, tapi karena mahalnya ongkos belajar yang salah satunya dipicu oleh harga software orisinil yang selangit itu. Lucunya, ini malahan membuat industri software di USA banyak mengimpor programmer dari negara-negara berkembang seperti India dan China yang relatif belum menjalankan HAKI secara ketat. Khusus bagi kita di Indonesia, kita tidak tahu sampai berapa lama kita masih bisa seenaknya menggunakan barang bajakan tanpa takut bangkrut kena denda atau menghabiskan umur secara sia-sia di penjara. Tapi mumpung masih ada kesempatan, nggak ada salahnya kalau kita manfaatkan baik-baik kesempatan yang masih tersisa ini. Belajar yuk!
Rabu 11 Desember 2002
Teknologi, Harga, dan Pemakaian
Berbeda dengan perkembangan teknologi dalam (kebanyakan) bidang lainnya, perkembangan teknologi di bidang IT tidak hanya sangat pesat, namun juga dibarengi dengan penurunan harga yang cukup signifikan. Apabila dalam beberapa tahun lalu para industriawan IT masih bermimpi untuk membuat PC dengan harga dibawah USD 1000, maka saat ini sebuah PC kelas menengah (midrange) dapat dibawa pulang "hanya" dengan merogoh kocek sejumlah USD 500-an sedangkan bagi yang punya dana USD 1000-an sudah bisa mendapatkan sistem sekelas server.
Memang sih, bagi kita di Indonesia PC masih tetap merupakan barang mewah yang cuma mampu dimiliki segelintir kalangan tertentu saja. Persoalannya, pada saat harga komponen PC mengalami penurunan, mata uang kita malahan terdepresiasi habis-habisan. Walhasil harga komputer nggak pernah bergeser jauh dari yang dulu-dulu :(.
Saat ini, di US, perangkat PC telah terpasang di 9 dari 10 rumah tangga disana, sedangkan di Korea Selatan--yang sama-sama negara Asia--satu dari 6 orang telah memiliki akses internet, bahkan konon penduduk negara yang satu ini masih lebih banyak menghabiskan waktu untuk mengakses internet ketimbang bengong memelototi TV (seperti kebanyakan penduduk Indonesia). Makanya jangan heran ketika kampanye pemilihan Presiden di Korsel baru-baru ini, para kandidat lebih memilih untuk berkampanye lewat internet ketimbang lewat televisi.
Balik lagi ke Indonesia. Boleh saja kita iri dengan penduduk negara-negara macam US dan Korsel, tetapi kalau melihat tren penggunaan PC di negeri ini, kayaknya memang masih belum jauh dari sebagai pengganti mesin ketik atau malahan Playstation. PC yang terhubung ke jaringan internet masih sangat sedikit. Di US konon diatas 80% PC sudah online ke Internet, sedangkan kita, 10% saja sudah bagus. Sebabnya gampang ditebak, ongkos pulsa telepon yang makin melonjak (walaupun sebenarnya masih sangat murah untuk standar negara maju) dan sulitnya mendapatkan sambungan telepon baru membuat banyak pengguna PC di negeri ini masih harus menahan diri untuk dapat menikmati akses internet.
Solusi yang sering ditempuh oleh netters kita adalah dengan memanfaatkan warnet yang belakangan kian menjamur di kota besar maupun kota-kota kecil. Tapi lagi-lagi kita harus mengelus dada melihat fakta bahwa kebanyakan netters kita hanya memanfaatkan internet untuk chatting atau having fun dengan mengakses situs-situs hiburan. Jarang sekali ditemui netters yang memanfaatkan internet untuk sesuatu yang lebih bermanfaat.
Sementara itu, situs-situs internet berbasis Indonesia juga masih jarang yang menampilkan intelektualitas. Kebanyakan situs berbasis Indonesia adalah situs berita atau situs hiburan sementara situs yang menampilkan informasi sains masih kelewat sedikit. Karenanya, harap maklum saja, kalau untuk mengumpulkan bahan untuk keperluan riset misalnya, kita tidak bisa berharap banyak dari situs-situs berbasis Indonesia.
Bagaimana dengan pengguna PC yang offline? Well, sekedar menegaskan apa yang sudah kita singgung barusan, masih banyak PC canggih yang hanya sekedar dipakai untuk pengetikan dokumen sederhana. Ada juga sih yang mengeksploitasi PC dengan prosesor tercanggih, RAM melimpah, dan hard disk luas hingga ke batas masksimalnya untuk ... bermain games *sigh*. Memang sih, tren prosesor masa kini adalah optimalisasi PC untuk fungsi-fungsi multimedia, yang salah satunya adalah untuk games. Tapi masak sih, PC yang canggih dan mahal itu cuma dipakai sebagai barang mainan?
Selasa 10 Desember 2002
Mikroprosesor (4)
Industri mikroprosesor saat ini hanya menjadi monopoli segelintir perusahaan kelas dunia, masing-masing dengan spesialisasinya sendiri. Khusus untuk pangsa komputer pribadi (PC), masih menjadi rebutan dua perusahaan raksasa, Intel dan AMD (Advanced Micro Devices). Pernah tercatat pemain lain dalam industri ini seperti Cyrix dan IBM, namun pangsanya kurang signifikan.
Intel masih mengembangkan aneka varian dari prosesor Pentium, termasuk generasi terbarunya, Pentium 4 sementara AMD masih terus mengembangkan produk prosesor Athlon dan Duron. Secara teknis, prosesor buatan kedua perusahaan ini cukup kompatibel dengan kebanyakan perangkat lunak masa kini, jadi bagi user yang ingin memilih untuk menggunakan satu diantara keduanya, akan lebih mempertimbangkan faktor harga dan performanya.
Sementara itu, sebagai alternatif ada PowerPC yang dikembangkan oleh IBM, dan processor G4 untuk Apple Macintosh, sedangkan untuk pengguna kelas high-end (untuk mainframe, misalnya) bisa memilih keluarga UltraSPARC dari SUN Microsystems atau keluarga AS/400 dari IBM.
Sedikit catatan dari saya untuk mengakhiri serangkaian tulisan tentang mikroprosesor ini adalah bahwa saya tidak bermaksud untuk menampilkan tulisan-tulisan yang berkenaan dengan benchmarking atau review produk karena saya tidak punya kapasitas untuk itu. Informasi lebih lanjut tentang prosesor bisa diperoleh di web (cari sendiri di search engine), tapi yang ditulis dengan menggunakan bahasa Indonesia mungkin masih sangat jarang.
Minggu 08 Desember 2002
Mikroprosesor (3)
"Bincang prosesor" kita lanjutkan dengan sedikit cerita soal bagaimana prosesor menangani suatu instruksi. Berdasarkan instruksi yang masuk, maka prosesor akan melakukan tiga hal dasar. Pertama, Menggunakan ALU (Arithmetic/Logic Unit), sebuah prosesor dapat melakukan operasi matematika sederhana seperti penjumlahan, pengurangan, perkalian, dan pembagian. Prosesor modern mengandung sejumlah besar fungsi-fungsi floating point untuk menjalankan fungsi matematika yang lebih kompleks. Fungsi kedua, prosesor dapat memindahkan data dari satu lokasi memori ke lokasi memori lainnya, dan yang ketiga, prosesor juga dapat mengambil keputusan dan berpindah ke set instruksi yang baru berdasarkan keputusan tersebut.
Sebenarnya dalam hal memproses sebuah instruksi, prosesor melakukan banyak hal yang sangat kompleks, namun semuanya bermuara kepada ketiga aktifitas dasar tersebut. Untuk itu, sebuah prosesor akan terdiri dari bagian-bagian pokok sebagai berikut:
- Address bus (dengan lebar 8, 16, 32, atau 64 bit) yang mengirimkan sebuah alamat ke memori
- Data bus (selebar 8, 16 atau 32 bit) yang dapat mengirimkan data ke memori atau menerima data dari memori
- Line RD (read) dan WR (write) untuk memberitahukan memori apakah ia perlu mengeset atau mendapatkan sebuah alamat lokasi pada memori
- Clock line yang mengatur sekuens clock pulse pada prosesor
- Reset line yang bertugas mereset counter pada program ke nol (atau berapapun) dan memulai eksekusi perintah dari awal.
Selasa 03 Desember 2002
Mikroprosesor (2)
Melanjutkan cerita kemarin tentang serba-serbi prosesor. Faktor selanjutnya yang juga berpengaruh terhadap kinerja sebuah prosesor adalah Instruksi. Bahkan prosesor yang paling sederhana sekalipun memiliki set instruksinya sendiri. Kumpulan instruksi tersebut diimplementasikan dalah sebuah pola bit (bit adalah satuan penyimpanan data terkecil yang hanya terdiri dari pola “0” dan “1”) yang masing-masing memiliki arti dan fungsinya sendiri-sendiri saat dijalankan oleh instruction register. Karena komputer diprogram oleh seorang programmer manusia yang tentu punya keterbatasan untuk mengingat pola-pola bit yang panjang, maka pola tersebut direpresentasikan dalam sekumpulan kata kunci (keyword) yang mudah diingat. Kumpulan instruksi berbentuk kata kunci ini disebut bahasa Assembly (Assembly language). Selanjutnya, sebuah program yang disebut assembler dapat menterjemahkan kata-kata kunci tersebut menjadi pola bit dan menempatkannya dalam memori komputer untuk kemudian dijalankan oleh prosesor.
Berdasarkan set perintah didalamnya, prosesor dapat dibedakan menjadi 2 tipe, yaitu RISC (Reduced Instruction Set Computer) dan CISC (Complex Instruction Set Computer). Prosesor bertipe RISC dirancang untuk memiliki sedikit set instruksi, yaitu hanya instruksi-instruksi dasar yang dibutuhkan saja. Dengan sedikit instruksi, maka prosesor dapat bekerja dalam kecepatan yang lebih tinggi (menangani lebih banyak instruksi dalam satu waktu). Kemarin kita sudah belajar bahwa semakin banyak transistor, semakin banyak instruksi yang dapat diolah oleh sebuh prosesor. Sayangnya, makin banyak set instruksi membuat kerja prosesor semakin kompleks yang malahan mengurangi kecepatannya.
Konsep RISC pertama kali digagas oleh John Cocke, peneliti dari IBM di Yorktown, New York pada tahun 1974 saat ia membuktikan bahwa sekitar 20% instruksi pada sebuah prosesor ternyata menangani sekitar 80% dari keseluruhan kerjanya. Komputer pertama yang menggunakan konsep RISC adalah IBM PC/XT pada era 1980-an. Istilah RISC sendiri pertama kali dipopulerkan oleh David Patterson, pengajar pada University of California di Berkely. RISC memberikan banyak keuntungan dalam desain sebuah prosor berkaitan dengan sasaran perancangan sebuah prosesor yaitu: seberapa baik sebuah instruksi dapat dipetakan dalam clock speed tertentu; seberapa “sederhana” sebuah arsitektur sistem yang dibutuhkan; dan berapa banyak yang dapat dikerjakan sebuah prosesor sebelum diserahkan pada bantuan software.
Dewasa ini, konsep RISC digunakan pada proseor untuk komputer-komputer high-end, misalnya keluarga prosesor Sun SPARC buatan Sun Microsystems dan prosesor Power PC yang digunakan oleh workstation IBM RISC System/6000.
Berbeda dengan konsep RISC, prosesor dengan konsep CISC memiliki set instruksi yang jauh lebih kompleks. Konsep CISC lebih menekankan untuk menyediakan kapisatas yang dibutuhkan dengan cara yang lebih efisien. Prosesor yang digunakan dalam komputer pribadi masa kini—Intel Pentium misalnya—umumnya berbasis CISC.
Lantas mana yang lebih baik, CISC atau RISC? Di atas kertas, dari segi kecepatan memang RISC lebih unggul, namun dari segi kinerja sesungguhnya belum tentu! Kenapa? Karena keluarga prosesor RISC hanya menyediakan instruksi untuk fungsi-fungsi dasar, maka untuk fungsi-fungsi lanjutan yang lebih kompleks, akan diambil alih oleh software, sementara untuk fungsi yang sama, prosesor berbasis CISC dapat memanfaatkan instruksinya sendiri. Padahal kita tahu bahwa instruksi berbasis prosesor lebih cepat dijalankan ketimbang instruksi berbasis software, walhasil diperoleh akumulasi kecepatan untuk prosesor CISC.
Arsitektur berbasis CISC juga memungkinkan para perancang prosesor untuk menambahkan set instruksi tambahan untuk keperluan tertentu disamping set instruksi standar yang sudah ada, misalnya set instruksi MMX (Multimedia Extension) yang ditambahkan pada prosesor buatan Intel, dan 3Dnow! pada prosesor keluaran AMD. Karena itulah maka keluarga prosesor CISC lebih banyak digunakan dalam komputer pribadi dimana aplikasinya lebih luas, sementara keluarga prosesor RISC hanya digunakan pada workstation yang biasanya memiliki lingkup aplikasi yang lebih sempit.
Senin 02 Desember 2002
Mikroprosesor (1)
Apa penentu kecepatan sebuah komputer? Jawabannya tentu sudah banyak yang tahu: Mikroprosesor (prosesor). Lantas gimana kalau pertanyaannya dilanjutkan seperti ini: Apa penentu kecepatan sebuah prosesor? Nah, kan ... :).
Sebelum masuk ke pokok persoalan, kita perlu tahu sedikit tentang cara kerja prosesor. Kita sudah tahu kalau komputer tempo doeloe seperti ENIAC bekerja dengan mengandalkan tabung-tabung hampa (transistor). Nah, komputer masa kini juga sebenarnya masih tetap menggunakan transistor, cuma transistornya bukan lagi berupa tabung hampa, melainkan rangkaian silikon yang tersusun sebagai sebuah IC (Integrated Circuit) yang berada dalam keping sebuah prosesor. Menariknya, keping IC ini cuma berukuran tidak lebih dari kuku jari, tapi dapat menampung sampai jutaan transistor!
Jumlah transistor dalam keping sebuah prosesor terus meningkat dari waktu ke waktu seiring dengan kemajuan dalam bidang desain dan fabrikasi prosesor. Dalam sebuah prosesor 8088 (PC-XT) yang diperkenalkan pada 1979, tertampung hingga 29.000 transistor dengan ukuran 3 mikron (sebagai bayangan, rambut manusia tebalnya 100 mikron). Jumlah ini meningkat signifikan pada prosesor 80286 (PC-AT) menjadi 134.000 transistor dengan ukuran 1,5 mikron. Berikutnya, pada era prosesor 80486, jumlah transistor meningkat lagi menjadi 1.200.000 dengan ukuran 1 mikron. Era Pentium yang dimulai oleh Intel tahun 1993 melipatgandakan jumlah transistor menjadi 3.100.000 dengan ukuran 0.8 mikron. Jumlah ini meningkat gila-gilaan pada generasi prosesor keluaran Intel selanjutnya hingga pada keluarga prosesor Pentium 4, Intel berhasil menjejalkan 42.000.000 transistor seukuran 0,18 mikron kedalam keping chip yang luasnya masih cuma segitu-segitu saja!
Jumlah transistor dalam sebuah prosesor berpengaruh langsung terhadap performa prosesor bersangkutan. Bagaimana ceritanya? Pertama, ada hubungan antara clock speed sebuah prosesor dengan jumlah instruksi yang bisa ditangani setiap detiknya (diukur dalam satuan MIPS, Million Instruction Per Second). Clock speed dalam sebuah prosesor berkaian dengan fungsi pemrosesan dan waktu tunda (delay) dalam sebuah chip. Kedua, ada hubungan antara jumlah transistor dengan MIPS. Sebagai contoh, prosesor 8088 dengan clock speed 5 MHz hanya dapat mengeksekusi 0,33 MIPS (sekitar 1 instruksi setiap 15 clock cycle). Karena desain multiplier pada tipe prosesor ini, maka dibutuhkan rata-rata 80 cycles hanya untuk melakukan fungsi perkalian (multiplication) pada 16 bit. Dengan lebih banyak transistor, dimungkinkan lebih banyak kapasitas multiplier dalam satu cycle speed. Saat ini, prosesor modern telah dapat mengeksekusi rata-rata 2 instruksi setiap clock cycle pada 64 bit!
Lebih banyak transistor juga memungkinkan berkembangnya teknologi pipelining. Dalam arsitektur pipeline, beberapa instruksi dapat dijalankan dalam waktu yang bersamaan. Dengan demikian, biarpun setiap instruksi dapat membutuhkan 5 clock cycle, setiap instruksi dapat dieksekusi secara simultan dalam tingkatan yang berbeda sehingga seolah-olah prosesor dapat menyelesaikan satu instruksi setiap satu clock cycle.
Tentu saja jumlah transistor bukan satu-satunya penentu seberapa cepat prosesor bisa "berlari". Cerita selanjutnya kita simpan untuk kesempatan mendatang saja. Permisi :).