Kita sering dengar sebagian orang berpendapat belajar assembly tidak perlu. Â Â Â Alasannya, assembly merupakan pengkodean paling primitif sehingga terlalu banyak yang harus dipelajari hanya untuk mendapatkan pengertian sedikit. Â Â Â Untuk sekedar memunculkan pesan "Hello world" di layar saja, perlu beberapa langkah. Â Â Â Dibandingkan dengan Java, untuk ukuran panjang text yang sama, mungkin Java bisa merampungkan 100 sampai 1000 kali proses komputasi yang dilakukan assembly. Â Â Â Sehingga untuk mencapai goal komputasi yang sama, pekerjaan yang dilakukan dalam programming, menggunakan assembly ibarat jalan kaki dibanding naik kendaraan bermotor relatifnya terhadap Java. Â Â Â Â Meskipun setelah berhasil menjadi program, tentu assembly jauh lebih cepat larinya jika penyusunan logikanya tepat.
Selain keprimitifannya, assembly juga sangat tinggi ketergantungannya dengan arsitektur komputer yang kita gunakan. Â Â Â Jangankan beda merek, sesama Intel saja tidak ada jaminan kompatibilitas untuk versi yang berbeda. Â Â Â Intel 486 dan Intel Pentium pasti ada bedanya. Â Â Â Â Hal ginian menuntut assembly programmer untuk selalu belajar setiap kali ada perubahan versi.
Namun demikian, hemat saya, assembly merupakan fardlu kifayah, terutama bagi mereka yang tugasnya menjadi technical support. Â Â Â Kenapa? Â Â Â Â Ketika ada masalah software, kita dituntut mampu melakukan debugging. Â Â Â Umumnya debugger menampilkan tahapan proses dalam notasi hexadesimal. Â Â Â Meskipun mengaku sebagai professor doktor IT, tidak mungkin seseorang mampu mentafsir logika di balik hexadesimal jika tidak tahu assembly. Â Â Â Kalaupun dia mengaku demikian, pasti bohong!.
Lebih parah lagi jika yang didebug komponen OS atau program multitasking yang logikanya asinkron. Â Â Â Tidak mungkin ada debugger yang mampu melakukannya. Â Â Â Â Satu-satunya cara adalah membaca trace table dan memory dump. Â Â Â Pasti yang muncul adalah hexadesimal curah yang tak berformat. Â Â Â Â Tanpa keterampilan assembly, jelas omong kosong untuk mendebugnya.
Berikut ini beberapa topik terkait assembly saya harap mampu merangsang generasi muda untuk mempelajarinya:
- Mengenal Assembly
- Memanfaatkan Kesalahan dalam Assembly
- Systems Programming
- Systems Programming (lanjutan)
- Contoh rekayasa produk yang menggunakan Assembly
Semoga manfaat :)
Baca konten-konten menarik Kompasiana langsung dari smartphone kamu. Follow channel WhatsApp Kompasiana sekarang di sini: https://whatsapp.com/channel/0029VaYjYaL4Spk7WflFYJ2H