@flotozimanh | Notes
Dunia Itu Penuh Dengan Rekayasa

Menurut Kamus Besar Bahasa Indonesia (KBBI), rekayasa adalah sebagai berikut:

rekayasa/re·ka·ya·sa/ /rékayasa/ n 1 penerapan kaidah-kaidah ilmu dalam pelaksanaan (seperti perancangan, pembuatan konstruksi, serta pengoperasian kerangka, peralatan, dan sistem yang ekonomis dan efisien); 2 ki rencana jahat atau persekongkolan untuk merugikan dan sebagainya pihak lain: ia menjadi terdakwa karena -- yang dilakukan tetangganya;

Rekayasa dalam sains (science) sering disebut dengan engineering, dan sepertinya selaras dengan definisi rekayasanya KBBI, berikut adalah definisi dari The American Heritage® Dictionary of the English Language, 5th Edition:

noun The application of scientific and mathematical principles to practical ends such as the design, manufacture, and operation of efficient and economical structures, machines, processes, and systems.

noun The profession of or the work performed by an engineer.

noun Skillful maneuvering or direction.

Sepertinya definisi kedua kata itu (engineering dan rekayasa) adalah mirip, ada beberapa jargon yang sama yang dipakai, yakni perancangan/design, "operation of efficient and economical structures" dan "pengoperasian kerangka, peralatan, dan sistem ekonomis dan efisien."

Contoh Rekayasa Dalam Alat Informasi Teknologi

Satu contoh rekayasa yang diterapkan masa kini adalah komputer, satu contoh di dunia IT pula ada istilah yang dinamakan programming language atau bahasa pemrograman yang dapat (tidak terbatas pada) mengolah, memanipulasi informasi. Ini adalah sebuah 'bahasa' yang tersusun atas kata-kata tertentu yang nantinya akan diolah dan dieksekusi untuk mencapat suatu tujuan. Contoh yang akan kita pakai disini adalah sebuah bahasa pemrograman Python, dan contoh konteks di matematika yang bernama 'variabel' (sebuah nama atau identitas atau simbol yang memiliki nilai yang dapat berubah ubah).

Anggap lah komputer ini saya instruksikan untuk menyimpan sebuah nama yang bernama A dan memiliki nilai sebuah angka 1, dan B memiliki nilai sebuah angka 10:

A = 1
B = 10

Proses diatas dalam istilahnya adalah sebuah ''variable assignment", yakni sebuah 'penugasan' untuk memberitahukan komputer untuk disimpan ke memori bahwa Saya perintahkan simpankan A, dan A adalah (sama dengan) angka 1, sama pula dengan Saya simpankan pula B adalah (sama dengan) angka 2. Saya pun dapat menggunakan nama yang lain selain A atau B, semisal saya bisa gunakan Anggur dan Apel:

Anggur = 1
Apel = 10

Kali ini saya hendak meng-eksekusikan Variabel Apel dan Anggur, saya jumlahkan ini dengan pertambahan, dan dimasukkan kedalam variabel Mangga:

Mangga = Apel + Anggur

Dan berikut adalah screenshot dari apa yang telah diproses interpreter (penafsir bahasa) program Python:

image.png

Isi dari Mangga adalah 11, karena Apel dan Anggur ini aktualnya adalah sebuah dua buah angka, yang saya jumlahkan dua-duanya dan di-assign ke Mangga. Rancu bukan? Di dunia nyata mendefinisikan nama 'apel' dan 'anggur' itu ya adalah sebuah buah-buahan, namun dalam konteks matematika dan bahasa program ini, sebuah identitas variabel bisa dinamai dengan apapun yang diinginkan, untuk menyimpan apa yang terkandung kedalamnya.

o.gif

Lebih Besar Daripada Itu

Website itu jauh lebih dahsyat dibanding hanya sekedar memasukkan angka ke sebuah variabel. Di web, orang bisa membuat sebuah visual, gambaran seperti layaknya 'buku yang hidup', namun bisa dimanipulasi. Di dalam website, pada dasarnya tersusun atas bahasa markup yang bernama Hypertext Markup Language, naskah ini diinterpretasikan oleh browser sebagai sebuah objek visual yang dapat dilihat yang juga dinamakan elemen. Naskah ini statis (tidak berubah) awalnya, namun dapat diolah dengan bahasa pemrograman, umumnya yang sering dipakaikan di browser adalah JavaScript, dan bahasa pemrograman tersebut memang diniatkan untuk memanipulasi elemen-elemen visual. Kita akan demonstrasikan

Halo!

Naskah ini ketika telah diproses di browser, seperti ini:

image.png

Terlihat seperti teks biasa, namun bila kita pakai sebuah tag, yakni sebuah format spesial yang mempunyai fungsi dan dekorasinya sendiri seperti dibawah ini:

<b>Halo!</b>

Berbeda hasilnya akan terlihat seperti ini, menjadi teks bold:

image.png

Banyak tag-tag lain yang mempunyai fungsi khusus seperti formulir input, tombol, seperti dibawah ini

<input placeholder='Ini adalah formulir'/><button>Tombol</button>

Hasilnya:

image.png

Terlihat pada naskah original itu terdapat sebuah pembuka <tag> dan penutup </tag>. Juga <input> itu ditafsirkan oleh mesin browser sebagai sebuah elemen visual yang layaknya dapat dilihat. Dan naskah/script itu hanyalah teks biasa yang mewakili atau me-representasikan sebuah visual yang dapat dimanipulasi, seperti tombol juga dapat difungsikan sebagaimana tujuan. Seperti dibawah ini, tombol ini akan mengalihkan sebuah browser ke pada link tertentu, disini contohnya adalah https://www.google.com/:

<input placeholder='Ini adalah formulir'/><a href="https://www.google.com"><button>Tombol</button></a>

Tombol ini sekilas memang terlihat hanya sekedar tombol, dan terlihat sama seperti sebelumnya, namun setelah diberi tag anchor <a>, maka browser menafsirkannya sebagai sebuah tombol dengan link yang dapat diklik, dan dikunjungi. Contoh bahaya yang sering terjadi biasanya adalah ketika sebuah tombol tersebut terprogram dengan tujuan tertentu, yang tidak sesuai dengan deskripsi atau penjelasannya, seperti halnya situs palsu, phishing yang terlihat 'asli' untuk mengelabui korbannya. Di akhir klip di bawah saya buka sebuah developer console, yakni sebuah fitur untuk menginspeksi apa yang terjadi pada proses di halaman tersebut. Disitu kita lihat, bahwa naskah itu sesuai dengan yang apa yang telah ditulis sebelumnya, dan dengan tag anchor, tombol tersebut ketika diklik mengalihkan kepada link yang ada.

o.gif