Monday, March 24, 2008

Hemat browsing dengan Firefox extension Adblock Plus

Akses situs dengan banyak iklan bikin kita lelah. Tidak hanya lelah menghindari informasi pengganggu seperti iklan itu, tetapi juga boros bandwith internet, lelah bayarnya :). Situs www.detik.com banyak iklannya. Situs-situs lain yang dulunya "enak" dibaca, setelah populer jadi "susah" dibaca lantaran iklannya yang berjibun. Atau Anda ingin hemat bandwith dengan memblock/menghindar dari gambar-gambar banner situs yang besar tapi seringkali tidak memiliki muatan informasi yang berguna. Yaa hanya indah saja, tapi boros bandwith. Selain boros bandwith, aksesnya menjadi terasa lama sekali.

Solusi saya adalah install Adblock Plus di browser Firefox. Bahkan kemampuan firefox + ekstensi Adblock inilah yang menyebabkan saya dulu pertama kali berpindah dari Opera ke Firefox (sebelum Opera saya pengguna IE dan Mozilla, dan sebelum itu saya pengguna Netscape).

Cara pakainya:
1. Setelah diinstall dan firefox direstart, maka akan muncul icon Adblock Plus di navigation bar. Anda bisa enable atau disable fungsi Adblock Plus dengan mengklik icon Adblock Plus tersebut dan merubah contrengan di "Enable Adblock Plus".

2. Anda dapat memblock item yang tampil halaman situs yang sedang dibuka di browser sekarang dengan cara mengklik icon Adblock Plus dan pilih "open blockable items"
3. Untuk memblock salah satu image/gambar dalam suatu halaman situs yang sedang anda lihat, Anda tinggal klik kanan dan pilih
"Adblock Image"
4. Anda juga dapat menambahkan aturan filter tersendiri terhadap suatu situs dengan membuka preference Adblock Plus.
5. Anda juga dapat mendaftar kepada situs yang mengelola filter, sehingga Anda tidak perlu repot-repot membuat aturan-aturan filter sendiri satu per satu. Caranya dengan membuka preference dan kemudian pilh dari menu "Filter" kemudian "add filter subscription"

Dokumentasi klik disini.

Extension lain terkait:

Sunday, March 23, 2008

Tulis secara offline artikel untuk blog

Memiliki banyak blog seringkali bikin repot kamu? Pingin ngeblog, tapi sering offline? Solusinya adalah tool offline blogging editor. Kamu bisa ngeblog meski komputer nggak nyambung internet. Gak perlu nunggu online untuk menuangkan ide-ide kamu yang cemerlang. Karena seringkali ide-ide itu datang bukan di waktu yang tepat.

Berikut beberapa tools untuk offline editing blog, semua free!

20 Website Social Network Terbaik

  1. Reddit is apopular social news Web site with a large user base. Covering a wide range of news, which focus on specific topics like programming, science, politics and business.
  2. Digg is the largest and most popular social news Web site on the Internet. Covering all topics including; politics, entertainment, technology and general news. Includes a separate video and image section. Allows users to share articles with their friends list or post to the most popular blog sites directly on a topic through Digg.
  3. Fark is a community news site which allows users to comment on news articles. User submitted links will be posted on the main page once they are approved by the administrators.
  4. Slashdot is primarily a tech news site, Slashdot also covers topics like books, games, politics and entertainment. Users can submit stories and they may be published after editors approve it.
  5. Mixx is one of the newest in general social news sites which has a category for all types of news. Topics covered include business, entertainment, sports, health and tech. Also includes personalization with the ability to create groups to share news with other interested users.
  6. Shoutwire is a general news site that is well populated with a loyal group of users. Topics covered include technology, politics, entertainment, lifestyle and sports.
  7. Newsvine is Web site consisting of community-driven news stories and opinions. Users have their own blogs and can write articles, save links to external content and vote/comment on other user stories.
  8. StumbleUpon is a social network and browser toolbar which allows users to channel surf the Internet. Technically not 100% a social news site, although users can submit Web pages to be rated by other users. Here is a guide to StumbleUpon.
  9. SWiK is a community driven resource for and by people who use open source software. Users can find free software or read and submit news.
  10. Del.icio.us is a social bookmarking site, which invites users to organize and publicize interesting items through tagging and networking. Is a great site for documenting your favorite bookmarks and sharing them with others. Each time a site is bookmarked is "voted on" and begins to rank higher in the search ranks of the site.
  11. Technorati is a network of blogs and writers that lists top stories in categories like Business, Entertainment and Technology. With so many blogs out there Technorati makes it easier for users to see the blogs they want without having to go to so many sites.
  12. LinkedIn is a popular networking site where alumni, business associates, recent graduates and other professionals connect online. Users can utilize the network to find old colleagues, gather references, post their resume and network for career opportunities.
  13. Facebook is no longer just for college kids who want to post their party pics. Businesses vie for advertising opportunities, event promotion and more on this site. Users are beginning to create groups for everything from alumni associations to bird watching.
  14. Networking For Professionals is another online community that combines social and business networking on the Internet with special events in the real world. Post photos, videos, résumés and clips on your online profile while you meet new business contacts.
  15. Everyone's heard of YouTube, the single largest video streaming site on the internet. But anyone can
    have their own channel for videos at YouTube. Create an account and upload a behind-the-scenes video from your company's latest commercial or event to give customers and clients an idea of what you do each day.
  16. SecondLife is a 3-D virtual world that is so popular it makes money by selling virtual real-estate for hard cash. Several major companies have set up shop in SecondLife and Reuters has opened a news bureau there.
  17. MySpace is a self-publishing within your network of friends and colleagues. It's a grapevine. It aggregates opinion (what to listen to, what to watch, what's groovy) and is now the most popular web site in the United States.
  18. Livejournal is part self-publishing network and part blog; but has added security, privacy and filtering abilities that other social networks are lacking, making it ideal for those who wish to utilize a single account for multiple audiences. It is one of the fastest growing and most diverse social networks of its kind.
  19. Propeller is AOL's version of Digg and operates in a similar manner. It is a social news site that covers all topics from technology to politics and entertainment.
  20. Dzone is a free link-sharing community for developers. Members vote on upcoming links to determine what gets promoted. While everyone can browse, search and comment on links. Other topics commonly featured include web design and programming.


10 Langkah Pengamanan Fisik Komputer

Saat belajar jaringan komputer, kita selalu mendapatkan model 7 lapis
ISO atau model 4 lapis DoD. Selanjutnya mungkin ada pembahasan tentang
sekuriti di lapisan-lapisan itu. Bahkan saat suatu kantor membahas
sekuriti TI-nya, seringkali dibahas software apa yang dibutuhkan, dan
sedikit hardware. Tetapi keamanan kantor "tradisional" sejak dari
SATPAM sampai fisik server/komputer berada kurang dibahas. Berikut
cuplikan 10 langkah sekuriti fisik dari TechRepublic



  1. Kunci ruang server
  2. Pengawasan ruangan (siapa yang keluar masuk?)
  3. Pastikan bahwa device yang paling tidak aman berada di ruangan terkunci
  4. Gunakan server rack-mount
  5. Amankan workstation (apalagi yang sedang kosong tidak terpakai)

  6. Jaga agar penyelundup tidak membuka case (server/komputer)
  7. Proteksi komputer2 portable (laptop/notebook/PDA/HP)
  8. Selalu backup

  9. Disable drive-drive (rekomendasi: jangan pasang portable drive spt floppy, usb, cd) di komputer pengguna
  10. Proteksi printer (apalagi yang disharing)

Plugin Wajib Firefox

Firefox, browser terpopuler, terkenal karena kecepatan aksesnya. Tetapi saya menggunakan firefox tidak hanya karena itu, kecepatan firefox dalam mengadopsi fitur terbaik web browser yang paling menarik hati saya. Memang fitur-fitur itu bukan fitur default atau bawaan firefox. Mereka adalah plugins. Justru karena dalam bentuk plugins inilah kita dapat memodifikasi web browser firefox kita sesuai dengan keperluan kita.

Berikut ini adalah list plugins yang menurut saya wajib diinstall.
  • AdBlockPlus 0.7.5.3
  • All-In-One Sidebar 0.6.1
  • Always Remember Password 0.6
  • BlockSite 0.6
  • Codetch 0.4.0.20061026
  • ColorfulTabs 3.0
  • CustomizeGoogle 0.69
  • CuteMenus - Crystal SVG 1.9.2
  • DownThemAll 1.0
  • FasterFox 2.0.0
  • Firefox Showcase 0.9.4.6
  • Forcecastfox I10n
  • Foxmarks Bookmark Synchronizer 2.0.45
  • Furl Tools 0.8
  • GMail Notifier 0.6.3.2
  • Greasemonkey 0.6.8.20070314.0
  • Google Gears 0.2.14.0
  • Google Photo Screensavers 2.0
  • Googlepedia 0.5.1
  • Image Zoom 0.2.6
  • Japanese English Dictionary for rikaichan 1.05
  • No Squint 1.0.1 PDF Download 1.0.10
  • PeraPera-kun 0.5.22
  • Places' Full Titles 3rc3
  • PrefButtons 0.3.3
  • QuickJava 0.4.2.1
  • Redirect Remover 2.5.3
  • Remove It permanently 1.0.6.3
  • ScribeFire 1.4.7
  • Secure Login 0.9.0.6
  • Session Manager 0.6.1.9
  • SmoothWheel 0.44.10.20071026
  • Split Browser 0.4.2007100601
  • StopAutoplay 0.7.2
  • StumbleUpon 3.17
  • Stylish 0.5.1
  • SwitchProxy Tool 1.4.1
  • Taboo 0.1.2
  • Temporary Inbox 2.1
  • Tiny Menu 1.4.6
  • User Agent Switcher 0.6.10
  • XHTML Ruby Support 1.4.20061000801
  • Xinha Here! 0.12
  • Zotero 1.0.3
Memang tidak selamanya plugins itu dibutuhkan, kadang-kadang ada suatu
kondisi saya tidak perlu. Tapi solusinya cukup dengan meng-disable
plugins tersebut.

Monday, November 06, 2006

Visual Basic di Pocket PC

Pekan ini saya diminta seorang rekan, untuk membuat sebuah formulir sederhana dalam PDA PocketPC. Ini dapat dilakukan dengan sangat cepat menggunakan eMbedded Visual Basic (eVB). Cuman, saya sering frustasi dengan eVB, sebab banyak sekali alat bantu pemrograman (fungsi, library dll) yang tidak dapat digunakan, kalo dibandingkan dengan eVC (eMbedded Visual C++). Apalagi kalo dibandingkan dengan sodaranya di desktop, Ms Visual Basic 6, maka lebih banyak lagi fitur Ms VB 6 yang tidak dapat kita gunakan.
Tapi untuk waktu yang cuman 1 hari menyelesaikan itu semua, apalagi cuman sekedar demonstrasi, maka pilihan saya akhirnya memang eVB.

Banyak sekali perbedaan antara VB dan eVB, sehingga seorang programmer VB, tidak begitu saja mudah membuat program eVB. Meskipun secara umum, pengetahuan dasar VB sangat banyak membantu.

Secara umum, berbeda dengan Ms VB 6, program-program eVB di PocketPC, bukan file binary exe. Artinya, kita memerlukan intrepreter eVB. Menurut Tacke dan Bassett, hal ini melahirkan konsekuensi bahwa eVB memiliki performa yang lebih rendah. Ketika aplikasi eVB berjalan, p-code --code yang dihasilkan eVB-- harus di-intrepreter-kan. Ini artinya, eVB bukan pilihan yang tepat untuk program high-level matematik, grafik dan aplikasi lain yang memakan kinerja prosesor sangat banyak. Kemudian selain program eVB yang berekstensi .vb, kita harus menginstall lebih dulu pvbload.exe (interpreter eVB), pvbform2.dll, pvbhost2.dll dan vbscript.dll kedalam sistem windows PocketPC. Bila kita menambahkan control bukan standar, maka kita juga perlu mengikutsertakan dll untuk control tersebut.

Satu lagi kesulitan adalah, kita susah merubah icon program kita. Sebab program aplikasi eVB menggunakan intrepreter dan file .vb terasosiasikan ke interpreter tersebut, maka semua aplikasi eVB memiliki icon yang sama, yaitu iconnya pvbload.exe. Untuk mengatasi hal ini kita perlu bantuan C++.

Hal lain adalah, semua variable adalah bertype variant. Meskipun hal ini menjadikan program kita sangat fleksibel, misalnya kita dapat melakukan penambahan type Form dengan nilai satu, tetapi hal ini menjadikan program kita sangat sulit di-debug. Tidak ada menu -- system menu di PocketPC dan desktop memang berbeda --, gak bisa membuat sendiri ActiveX controls, gak bisa menggunakan blok "with" dan gak bisa memakai Form modal.

Referensi:

1. Tacke, C., dan Bassett, T., "eMbedded Visual Basic?: Windows? CE and Pocket PC Mobile Applications", Sam Publishing, ISBN 0-672-32277-3
2. Guan-Ming Su, Min Wu, K.J. Ray Liu, "Mobile Computing and Pocket PC Programming Manual"
3. Hsieh, J., "Introduction to Pocket PC 2002 Programming"

Thursday, July 27, 2006

Social Network

Social Network (SN) adalah struktur sosial yang menghubungkan node-node dimana biasanya merupakan individu-individu atau organisasi. SN mengindikasikan bagaimana orang atau organisasi saling terhubung.

Apa itu SNA?


“Social Network Analysis (SNA) atau Analisis Jaringan Sosial (AJS) adalah pemetaan dan pengukuran hubungan dan aliran antar orang, grup, organisasi, komputer atau entitas pemroses informasi/pengetahuan” (Valdis Krebs, 2002)

Dalam konteks manajemen pengetahuan, SNA memungkinkan hubungan antar orang dapat dipetakan untuk menentukan aliran pengetahuan: siapa yang mencari informasi dan pengetahuan dan kepada siapa? Siapa yang membagi informasi dan pengetahuannya, dan dengan siapa? Tidak sama dengan peta organisasi yang menggambarkan hubungan formal – siapa bekerja dimana dan siapa melapor kepada siapa, maka SNA adalah peta yang menggambarkan hubungan informal – siapa mengetahui siapa, dan siapa yang membagi informasi dan pengetahuan kepada siapa. Dengan SNA maka manajer dapat memvisualisasi dan memahami bahwa beberapa hubungan dapat memfasilitasi atau bahkan merintangi proses penciptaan pengetahuan baru dan saling berbagi pengetahuan. Sebab secara normal hubungan ini tidak tampak. Sehingga SNA kadang-kadang disebut sebagai “foto sinar-x organisasi” (NeLH)



Apa untungnya SNA?


Hasil dari pemetaan SNA dapat digunakan pada level individu, departemen atau organisasi:


  • mengidentifikasi tim dan individu yang memainkan peranan penting – pemikir, pemimpin, ahli, … provokator dll mengidentifikasi tim atau individu yang terisolasi
  • mendeteksi sumbatan2 informasi
  • mempercepat aliran pengetahuan dan informasi menembus batasan fungsional dan organisatoris
  • meningkatkan efektifitas saluran komunikasi formal
  • meningkatkan kesadaran pentingnya jaringan-jaringan informal
  • meningkatkan produktifitas dengan memperpendek jarak orang-orang yang seharusnya dekat, sedangkan kedekatan itu dapat diketahui dari peta SNA
  • membantu menentukan struktur organisasi yang layak, setelah menganalisa peta sosial yang ada



Bagaimana caranya menggambar peta SNA?


Dapat saja digunakan metode interview, kuisoner dan lain-lain. Tetapi dapat juga menggunakan data yang tersimpan di intranet seperti forum diskusi atau tehnologi lain seperti email dan mailing list. Kemudian data yang terkumpul tersebut diolah dengan menentukan nilai kedekatan antar personal yang didapat dari topik, judul, isi, from, to, ... dst.

Gambar di bawah adalah satu contoh peta hubungan antara personal di Intra PDII-LIPI yang didapatkan dari data forum diskusi Intranet PDII-LIPI.



Friday, February 03, 2006

5198 Lubang Sekuriti Tahun 2005

5198 Lubang berbahaya di tahun 2005 dilaporkan kepada US-CERT, U.S. Computer Emergency Readiness Team (CERT), sebuah tim yang bertugas melindungi infrastruktur internet AS, serta mengkoordinasikan pertahanan dan merespon terhadap serangan cyber di Amerika Serikat. Ini yang dilaporkan. Ini hanya Amerika. Belum yang lain?

Berbagai alasan serangan terhadap internet. Dari yang serius, seperti balas dendam, ingin didengar pendapatnya, sampai yang iseng. Semua menyakitkan dan merepotkan banyak pihak, apalagi yang diserang secara langsung, maupun yang sekedar obyek penderita sampingan. Tetapi satu hal yang pasti, mereka "para cracker/hacker" yang dapat memanfaatkan lubang-lubang ini, cukup kreatif. Namun, kreatifitas mereka masih kalah sama pembuat lubang itu sendiri, masih banyak lubang yang "mungkin" belum ditemukan.

Belum ada pengukuran, manakah yang lebih kreatif, apakah kreatif membuat bug, atau kreatif memperbaiki bug. Biasanya programmer, males untuk melototi bug. Jadi berkembanglah kreatifitas mereka membuat bug.

Yang menarik adalah, bahwa lubang-lubang di Linux ternyata lebih besar daripada di Windows.
Padahal Windows telah terkenal dengan lubangnya, sehingga orang cenderung menganggap Windows lebih berbahaya daripada Linux.
Komentar tentang ini dapat dibaca di:
* Windows beats Linux

* Linux Vulnerability Report Draws Criticism

Tuesday, January 03, 2006

Knowledge Overload: Tema lama, judul baru

Masih ingat jargon orang-orang IT ttg banjir informasi? Nah, sekarang dengan semaraknya tema-tema KM&KS, muncul pula banjir Knowledge, atau mereka sebut Knowledge Overload.

Ini menjadi lingkaran setan, apakah kita membuat tehnologi untuk mengelola knowledge kita, yang dengan tehnologi itu knowledge baru dihasilkan, dan akhirnya siklus berputar. Kita mengejar apakah? Mengejar tehnologi, atau mengejar knowledege. Tehnologi dibuat untuk memudahkan kita, ataukah makin menyulitkan? TI yang digembar-gemborkan akan memberikan solusi kita mengelola informasi, akhirnya menimbulkan banjir informasi, dengan internetnya.

Kemudian dengan banjir informasi itu, kita perlu mesin pengelola informasi agar menjadi knowledge. Dan sekarang ada indikasi terlalu banyak knowledge.

Ikuti perdebatannya di Slashdot: "Knowledge Overload or Internet Lazy?"

Firefox: 50 Extension terbaik

Firefox, browser muda beliau yang telah disejajarkan dengan internet explorer kepopulerannya. Bahkan menang 3 lawan 2 dengan IE menurut versi BBSpot.

Secara pribadi, saya suka pake Firefox, karena ia begitu cepet. Salah satu sebab cepet, dia punya extension adblock, yang memblok semua adsense. Misalnya saya lebih suka baca detik.com dengan firefox dibanding IE, sebab detik.com banyak ad-nya. Saya juga suka pake firefox untuk download link2 file, dg downloadAllofThem ...

Dan masih banyak lagi extension yang cukup canggih dan sangat amat berguna.
Silahkan klik di sini untuk lengkapnya.

Friday, December 30, 2005

Kerugian = Investasi Kebablasan

Tujuan akhir adalah titik yang harus selalu kita perhatikan. Kadangkala untuk mencapai tujuan akhir kita memang harus berkorban. Tetapi apakah pengorbanan yang kita keluarkan, cukup dapat dipertanggung-jawabkan dengan keberhasilan yang kita harapkan. Seringkali saya pergi ke mall hanya untuk beli odol, tetapi pulang bawa odol, kertas, pulpen, buku, susu, buah. Seringkali saya pergi ke toko buku hanya untuk beli satu buku saku, tetapi pulang dengan membawa pula, buku setebal 300 halaman.

Terakhir saya coba untuk mendapatkan sebuah software super canggih dalam project management, yaitu Microsoft Project. Saya berharap semua project yang kami jalankan akan lebih efektif, efisien dan tepat waktu. Begitu banyak fitur yang perlu saya pelajari. Ditambah lagi, saya bukan orang dari background management, yang sama sekali buta dengan istilah-istilah management yang banyak muncul di Ms Project. Akhirnya waktu saya habis untuk belajar Ms Project, dan juga mencoba merencanakan skedul dengan Ms Project. Padahal saya hanya perlu waktu yang jauh lebih sedikit dengan tool yang senantiasan menemani saya, Excel. Saya hanya perlu tetapkan tugas, jumlah waktu yang tersedia, jumlah waktu yang telah dipakai, dan batas waktu. Akhirnya sekali lagi saya kembali kepada Excel.

Kesalahan saya adalah, saya kurang begitu memperhatikan tujuan akhir. Tujuan akhirnya adalah agar saya dapat membuat skedul yang efisien, bukan bagaimana memakai Ms Project. Oh iya satu hal juga, bahwa saya pingin juga agar skedul itu tampil cantik. Tapi siapa peduli? toh yang melihat juga saya-saya juga, paling-paling boss dan rekan-rekan lingkup kecil. Toh dengan tampilan seadanya pun, esensi tidak akan hilang. Apalagi pekerjaan di bidang IT sangat amat fleksibel, terutama proses implementasi (coding). Tidak memerlukan dependency yang begitu ketat.

Open Source 2005

Bussiness Week Online, melaporkan progress report Open Source di tahun 2005, dalam artikel A Waterhed for Open Source
Mereka menulis, "In 2005, the software movement finally gained traction in Corporate America and saw a new influx of VC cash. How will 2006 shape up?"

Perdebatan panjang mengenai artikel ini dapat dilihat di Slashdot.

Bagaimana dengan Indonesia? Meskipun berkali-kali Ristek mempromosikan "Indonesia, Go Open Source!", tetapi tidak terlihat gebrakan-gebrakan nyata di bawah. Perhatian terhadap developer-developer open-source belum memadai, dibandingkan dengan perhatian terhadap developer software komersil. Apalagi mengharapkan bantuan dana terhadap pengembangan open-source, masih jauh panggang daripada api.

Memang antara kebutuhan, keinginan dan realitas saling bertabrakan. Kebutuhan untuk menggunakan software murah, keinginan untuk mengembangkan sendiri software dalam negeri, dengan semangat cinta produksi dalam negeri, bertabrakan dengan realitas, bahwa semua orang sudah kadung jatuh cinta dengan software komersil, meski itu cuman bajakan.
Saya kira ini memang strategi microsoft dan pemerintah untuk membiarkan rakyat membajak, agar nanti ada rasa cinta dan butuh kepada software tsb. Setelah semua cinta dan butuh, maka mulailah digalakkan perang terhadap para pembajak, dan pemakai bajakan. Karena sudah kadung cinta, maka mau gak mau kita harus pakai dan bayar. Susah untuk keluar dari jerat cinta ini.

Monday, December 26, 2005

Sniffing vs Spoofing

Ada 2 istilah dalam sekuriti internet yang sering membingungkan orang. Sniffing, Spoofing.

Sniffing adalah adalah kegiatan menyadap dan/atau menginspeksi paket data menggunakan sniffer software atau hardware di internet. Kegiatan ini sering disebut sebagai serangan sekuriti pasif dengan cara membaca data yang berkeliaran di internet, dan memfilter khusus untuk host tujuan tertentu. Jadi kegiatan ini tidak melakukan apa-apa terhadap data, tidak merubah dan tidak memanipulasi. Cukup menyadap. Ia digunakan untuk mendapatkan informasi seperti password, data-data rahasia dan lainnya. Sering digunakan para analyst networking, baik dari kalangan developer maupun network administrator, untuk melakukan troubleshooting.

Spoofing adalah aksi pemalsuan identitas. IP Spoofing merupakan tehnik yang digunakan bagi penyelundup untuk mengakses sebuah network dengan mengirimkan paket/pesan dari sebuah komputer yang mengindikasikan bahwa paket/pesan tersebut berasal dari host yang terpercaya. Untuk melakukan aksi ini para penyelundup menggunakan tehnik yang bermacam-macam, dan spoofing sendiri merupakan salah satu bagian dari proses penyerangan.

Wednesday, December 14, 2005

Networking Segar

Ciri khas orang Jepang. Begitulah yang saya tangkap dari situs segar tentang networking ini. Materi-materi networking dibawakan dalam format percakapan antara seorang dosen fakultas Ilmu Komputer dan satu-satunya mahasiswa kelas seminarnya. Lucu, kocak dan segar. Sayang berbahasa Jepang.

3 Minutes Networking
http://www5e.biglobe.ne.jp/~aji/3min/index.html

30 Minutes Networking
http://www5e.biglobe.ne.jp/~aji/30min/index.html

Bedah Kernel Linux: Booting

Bagaimana sebuah sistem operasi mulai berjalan? Telah menjadi pertanyaan banyak pemula komputer. Bagaimana sebuah software dapat mengoperasikan seluruh perangkat keras, kemudian menjalankan software-software lain di atasnya. Program pengolah kata, web browser, atau sekedar kalkulator, tidak akan dapat berjalan tanpa sebuah sistem operasi. Sistem operasi merupakan sebuah penghubung antara perangkat keras dan perangkat lunak aplikasi. Pada saat pengguna menekan tombol Control dan S atau dengan menggunakan menu memilih File | Save maka dokumen yang sedang kita edit akan disimpan ke hardisk, tetapi bagaimana sistem operasi menggerakan jarum pembaca hardisk agar melakukan pekerjaan perekaman ke hardisk, ini merupakan suatu misteri besar bagi sebagian besar pengguna komputer. Proses dari pengguna mengetikkan command sampai jarum pembaca hardisk menggoreskan magnet ke atas piringan hardisk, merupakan proses berantai yang panjang.

Artikel ini tidak akan membahas secara panjang lebar seluruh proses dan mekanisme sebuah sistem operasi, sebab pembahasan seperti ini akan menghabiskan ratusan halaman, atau lebih dari 2 semester di ruangan kelas  Tetapi saya cukup akan membahas tahapan paling awal bagaimana sistem operasi mulai bekerja. Tentu saja setelah komputer melakukan POST.

Saya memilih Linux sebagai pilihan karena sangat open terbuka, tersedia seluruh source-code di belantara internet. Buku-buku berkaitan dengan bagaimana secara internal Linux bekerja juga telah banyak beredar. Sehingga Anda yang ingin lebih dalam mempelajarinya dapat dengan mudah tanya mbah guugel mendapatkan informasi. Namun, saya akui bahwa informasi yang cukup mendalam tentang masalah ini masih sangat sedikit, apalagi yang berbahasa Indonesia. Inilah yang memotivasi saya untuk menulis artikel ini.

Boot-up dengan LILO

Dokumen-dokumen yang menjelaskan bagaimana proses sejak tombol ON atau RESET komputer ditekan, sampai Linux mulai berjalan, telah banyak kita jumpai seperti yang tersebut di referensi. Tetapi penjelasan secara detail isi dari source-code sangat amat jarang dijumpai.

Sebagai bahan pembahasan kita, saya memakai LILO yang telah terkenal dipakai oleh banyak distro.

Bagian source-code proses bootup sangat tergantung kepada jenis hardware, ukurannya juga sangat terbatas, dan ditulis dengan bahasa assembly. Artikel ini mengambil contoh source-code untuk PC compatible (intel 386), karena processsor ini memiliki arsitektur yang relatif lebih sederhana di antara sekian banyak prosesor intel. Juga memiliki kompatibilitas dengan prosesor-prosesor terbaru. Sehingga memudahkan kita belajar.

Pada komputer PC kompatibel, setelah RESET, BIOS dijalankan dan LILO menggunakan BIOS tersebut untuk bekerja.

Bab berikut ini membahas bagian proses bootup LILO pada source-code “first.S” dan ”second.S”

Boot Sector

Boot Sector pada suatu disk adalah selalu sektor pertama pada track pertama dari head pertama suatu disk. Ketika komputer dinyalakan (tombol ON) atau direset, BIOS akan mulai berjalan dan melakukan POST (Power On Self Test, test yang dilakukan komputer kepada dirinya sendiri sesaat setelah listrik masuk). BIOS kemudian menginisialisasi data-datanya, kemudian mencari boot sector yang valid. Pertama ia akan mencari di drive A:, kemudian di C:. Jika tidak diketemukannya maka interrupt 18H akan terpanggil, dimana pada komputer PC IBM orisinal, akan menjalankan ROM BASIC. Sebuah boot sector yang valid adalah boot sector yang memiliki nilai “0AA55h” pada offset 510

Ketika BIOS menemukan boot sector yang valid, ia akan membaca sektor tersebut (sebesar 512 Byte) dari disk dan kemudian menuliskannya di memory pada alamat ”0x7C00” kemudian ia akan jump ke alamat ”0x7C00” tersebut dan kode boot sector ini akan menjalankan kontrol komputer selanjutnya.

Mekanisme Pemuatan Kernel oleh LILO

Setiap program yang akan dijalankan oleh komputer harus terlebih dahulu diload atau dipanggil serta dimuat dimemory oleh processor. Linux, sebagaimana sebagian besar sistem operasi, memiliki kernel, yaitu bagian inti dari sistem operasi. Kernel mengatur semua proses penting di dalam sistem operasi. Tanggung-jawab pertama LILO agar Linux dapat berjalan diatas komputer, tentu saja memerintahkan processor untuk memuat kernel Linux ke memori utama.

LILO merupakan singkatan dari Linux Loader, yaitu sebuah program yang pekerjaannya hanya memuat/me-load Linux. Untuk memudahkan kita membaca source-code-nya, kita perlu memahami urutan pekerjaan yang dilakukannya. Di bawah ini adalah urutan pekerjaan secara global yang dilakukan oleh LILO.

1. Bila PC direset, BIOS firmware(software yang diembedkan ke dalam hardware) akan tereksekusi.
2. BIOS melakukan setting awal (inisialisasi)
3. BIOS membaca primary-boot-loader dari sektor pertama di hardisk, kemudian meletakannya (menuliskannya) di memory dengan alamat ”0x7C00”. Namun Multi Boot Loader seperti System Commander, membaca primary-boot-loader di sektor pertama dari partisi Linux.
4. Boot Loader tersebut adalah merupakan salah satu bagian dari LILO, berukuran 512 Byte, yang langsung di-copy ke memory “0x9A000”. Kemudian program akan menjalankan kode di memory “0x9A000” tersebut, dan menset ujung kepala stack menjadi “0x9B000”.
5. Menampilkan “L”
6. Kemudian Secondary Loader sebesar 8 sektor di tulis ke “0x9B000”
7. Bilamana terjadi kegagalan pembacaan maka menampilkan 2 digit kode error dan mencoba kembali proses pembacaan tersebut.
8. Jika berhasil, menampilkan “I”
9. Jump ke Secondary Boot Loader di “0x9B000”.
10. Jika parameter booting diberikan oleh pengguna, maka dilakukan setting port serial dan menuliskan “LI” di port serial tersebut.
11. Secondary Boot Loader memeriksa ujung kepala data, dan bila diketemukan error menampilkan secara terus menerus “?”.
12. Menampilkan “L”
13. Membaca descriptor-table dengan ukuran 2 sektor dari file /boot/map, dan menuliskannya di “0x9D200”. Berikutnya adalah menghitung checksum, dan jika error menampilkan “-” dan berhenti.
14. Membaca tabel konversi keyboard sebesar 1 sektor, dan menuliskannya di “0x9D800”
15. Membaca perintah-perintah command-line default sebesar 1 sektor, dan menuliskannya di “0x9D600”
16. Bila default command-line dalam keadaan enable, maka magic-number dari blok ini yang berukuran 2 Byte, diubah menjadi Membaca tabel konversi keyboard sebesar 1 sektor, dan menuliskannya di “0x6B6D”, dan meng-overwrite sektor asalnya.
17. Menampilkan “0”
18. Jika prompt diset maka akan masuk ke dalam mode interaktif.
19. Ganti baris, dan menampilkan “boot:”
20. Menunggu keyboard ditekan. Bila tidak ada input, tunggu timeout.
21. Boot image untuk startup dipilih. Secara default yang akan dipilih adalah image pertama di dalam lilo.conf.
22. “Loading ” ditampilkan.
23. Bila ukuran file dari RAM disk telah ditentukan maka tabel MAP untuk file ini akan dibaca.
24. Sesuai dengan tabel MAP yang terpilih di atas, maka dibacalah file RAM disk (initrd) dan ditulis pada extended memory (alamat setelah ”0x100000”)
25. Selanjutnya, tabel MAP dari kernel dibaca
26. Sesuai dengan tabel MAP dari kernel tersebut, maka pertama-tama boot sector dari kernel yang asli dan ditulis di alamat ”0x90000”
27. Selanjutnya program setup dari kernel ditulis di alamat “0x90200”
28. Kemudian badan kernel (vmlinuz) ditulis di alamat “0x10000”. Namun dengan catatan bahwa bila kernel dikompilasi supaya ditulis di alamat upper maka badan kernel tersebut akan ditulis pada alamat setelah “0x100000”
29. Akhirnya dengan jump ke alamat “0x90200” maka kontrol berpindah kepada program setup.

Demikianlah gambaran global dari proses booting. Kita akan membahas lebih detail proses-proses tersebut dengan cara membahas satu persatu baris yang ada di 2 file awal dari proses booting yaitu file “first.S” dan ”second.S”

Referensi

[1] Linux Kernel 2.4 Internals, http://www.faqs.org/docs/kernel_2_4/lki.html#toc1
[2] LILO generic boot loader for Linux, Ver.20: User’s Guide, Wener Almesberger
[3] LILO generic boot loader for Linux, Ver.20: Technical overview, Wener Almesberger

Wednesday, August 10, 2005

Training: Formal Aspect of Software Development

Training Course on Formal Aspects of Software Development
Jakarta, Indonesia, 8-12 August 2005

Kerjasama antara PDII-LIPI, Ristek dan IIST-UNU

Informasi lengkap klik disini

Wednesday, August 03, 2005

Anatomi Hacking

Sebuah buku menarik tentang Sekuriti Network berjudul Protect Your Windows Network: From Perimeter to Data. Meskipun secara keseluruhan buku ini membahas tentang sekuriti di Windows, beberapa bab seperti Anatomy of A Hack: The Rise and Fall of Your Network bersifat umum.

Bab tersebut tidak membahas bagaimana cara melakukan serangan, tetapi menjelaskan bagaimana penyerang mengambil keuntungan dari kesalahan sistem administrator. Bab ini akan membantu Anda menjaga network Anda dengan menghindari pitfalls yang sering digunakan penyerang.

Perlu diketahui para Administrator.

Untuk selengkapnya klik di sini.

Sekuriti Linux: Mencegah Hacking via Boot Proses

Sekali intruder duduk di depan komputer Anda, maka seluruh komputer dan jaringan dikuasainya.
Maka yang perlu Anda lakukan adalah:

  1. Lock komputer setiap akan menjauh dari komputer Anda
  2. Aktifkan screen-saver dengan dilengkapi setting password
  3. Cegah cracking melalui booting proses. Jangan biarkan cracker dapat mematikan komputer Anda kemudian melakukan booting sendiri, via floppy atau command-line boot loader.


Selanjutnya baca beberapa artikel berikut: