Mohon tunggu...
Eko Heri Susanto
Eko Heri Susanto Mohon Tunggu... Dosen - Praktisi Ilmu Komputer Bidang Rekayasa Perangkat Lunak

Mengenal pemrograman komputer sejak tahun 1997 dan sampai saat ini masih menekuni bidang rekayasa perangkat lunak terutama pemrograman web, basisdata dan pemrograman mobile.

Selanjutnya

Tutup

Gadget Pilihan

Mengenal Cara Kerja Komputer dan Bahasa Pemrograman

20 Juni 2021   14:34 Diperbarui: 26 Juni 2021   09:58 5355
+
Laporkan Konten
Laporkan Akun
Kompasiana adalah platform blog. Konten ini menjadi tanggung jawab bloger dan tidak mewakili pandangan redaksi Kompas.

Tentu serangkaian input, proses dan output tadi tidak bisa berjalan dengan sendirinya. Komputer itu harus diatur kapan dan bagaimana processor-nya bekerja, serta kapan interrupt controller-nya bekerja. Untuk itu dibutuhkan serangkaian instruksi atau serangkaian pengaturan yang harus kita lakukan. Serangkaian instruksi atau pengaturan itulah yang akhirnya diistilahkan bahasa pemrograman (programming language). Seiring perkembangan jaman, bahasa pemrograman ini juga semakin kompleks, karena kebutuhan input, procces dan output juga semakin kompleks. Pada akhirnya untuk mendalami bahasa pemrograman ini, butuh disiplin ilmu tersendiri yaitu ilmu Computer Science kalau di Amerika dan Informatics kalau di Eropa. Maka setelah disiplin ilmu ini sampai ke Indonesia, maka muncullah pendidikan-pendidikan dengan jurusan Ilmu Komputer atau Informatika. Untuk selanjutnya produk dari disiplin ilmu komputer atau informatika ini, akan menghasilkan produk-produk yang terkait instruksi ke komputer atau yang lebih dikenal dengan istilah software (perangkat lunak). Dimana orang yang sering membuat software atau perangkat lunak, biasanya dinamakan programmer.

Istilah programmer ini sudah muncul sejak komputer generasi pertama ENIAC dioperasikan. Terdapat sekelompok perempuan yang secara khusus mendapat mandat sebagai programer untuk memprogram banyaknya komponen dalam ENIAC yang mencapai ribuan kabel dan sakelar. Mereka di antaranya adalah Kathleen Antonelli, Jean Bartik, Betty Holberton, Frances Spence, Ruth Teitelbaum, dan Marlyn Meltzer.

ENIAC:https://www.computerhistory.org
ENIAC:https://www.computerhistory.org
Bagaimana dengan device-nya itu sendiri? Tentu bagaiamana membuat device (peralatan) komputer butuh disiplin ilmu tersendiri. Makanya khusus untuk mempelajarai serta memproduksi komponen-komponen komputer akan banyak ditangani pada disiplin ilmu Electric and Electronic Engineer, atau kalau di Indonesia adalah Teknik Elektronika. Dimana pada jurusan Teknik Elektronika ini, akan banyak mempelajari dan memproduksi hardware (perangkat keras). Device Processor, RAM, Keyboard, Hard disk dan sebagainya, adalah produk-produk dari teknik elektronika. Sedangkan sistem operasi, program pengolah kata, pengolah gambar, pengolah video dan sebagainya, adalah produk-produk software (perangkat lunak) dari ilmu komputer atau informatika.

BAHASA PEMROGRAMAN

Baik, sekarang kita fokus ke bahasa pemrograman ya?

Coba sekarang kita membuat program sederhana untuk menampilkan atau output tulisan Hello World! ke monitor. Jadi untuk study kasus ini, kita langsung membidik output tanpa melalui instruksi input dan instruksi process dulu ya? Untuk keperluan menampilkan tulisan "Hello World!", yang harus kita lakukan ada 3 hal yaitu :

  1. Memesan tempat (alamat memory) di RAM untu menyimpan data tulisan "Hello World!". Untuk selanjutnya, tempat penyimpanan data di RAM tadi dinamakan variable.
  2. Melakukan pengaturan di processor, dimana untuk mengatur processor ini, kita hanya perlu mengoperasikan register Accumulator (A), Base (B), Data (D) dan Counter (C). Dikarenakan saat ini kita sudah banyak menggunakan processor 32 bit atau bahkan 64 bit, maka standar register-nya sudah memakai Extended (tambahan). Contohnya Extended Accumulator Extension atau disingkat EAX. Untuk Register Base, Counter dan Data, maka nanti kita akan banyak mengoperasikan Extended Base Extension (EBX), register EDX dan ECX.
  3. Memanggil interrupt controller.

Agar mudah dipahami, maka ketiga langkah itu secara detail terlihat seperti pada gambar berikut ini.

Ilustrasi Pribadi
Ilustrasi Pribadi
Skema detail pemrogramannya adalah seperti ini :

Ilustrasi Pribadi
Ilustrasi Pribadi
Masih sulit membayangkan? oke ini saya kasih analogi sederhana, saya umpamakan serangkaian instruksi tadi seakan-akan seperti mengalirkan air dari tandon ke bak kamar mandi. 

Ilustrasi Pribadi
Ilustrasi Pribadi
Jadi dari gambar diatas, bisa anda bayangkan RAM itu seakan-akan tandon air yang ada diatas genteng, sedangkan VGA card dibayangkan sebagai bak kamar mandinya. Diantara tandon dan bak kamar mandi ada pipa (dibayangkan register ECX dan EBX), ada bak kontrol dimana bak ini berfungsi penampung air sementara sebelum mengalir ke kamar mandi. Bak kontrol ini dibayangkan seperti register EDX. Dan ada kran yang dibayangkan EAX. Sampai disini sudah bisa membayangkan to?

Untuk menjabarkan gambaran alur tadi, kita bisa menuliskannya dalam bentuk algoritma. Contohnya algoritmanya adalah seperti ini:

  1. Definisikan variabel di RAM yang diisi kata “Hello World!”, dimana panjang hurufnya adalah 12 karakter ditambah 1 karakter akhir kata (line feed). jadi total huruf di variable itu adalah 13 karakter (13 byte)
  2. Pindahkan data alamat variable dari RAM ke register ECX
  3. Pindahkan data sebanyak 13 karakter (13 byte) ke register EDX
  4. Pindahkan kode operasi (operation code/opcode) 4 ke register EAX. Dimana opcode 4 ini adalah konstanta standar yg menandakan perintah bagi sistem untuk menulis (sys_write)
  5. pindahkan kode operasi/opcode 1 ke register EBX. dimana opcode 1 ini adalah konstanta standar untuk pemanggilan sistem (syscall) untuk menampilkan ke layar monitor  (stdout)
  6. Eksekusi system call interupsi (interrupt) 80h ke Kernel, agar kernel bisa meneruskan ke perangkat keras (hardware). 80h ini adalah konstanta standar
  7. Pindahkan  opcode 1 ke register EAX, untuk memerintahkan system agar keluar dari serangkaian prosesnya (sys_exit)
  8. Pindahkan opcode 0 ke register EBX, untuk mengirimkan pesan tidak ada error (no-error).
  9. Panggil interrupt 80h agar program dijalankan oleh hardware melalui kernel

HALAMAN :
  1. 1
  2. 2
  3. 3
  4. 4
  5. 5
  6. 6
Mohon tunggu...

Lihat Konten Gadget Selengkapnya
Lihat Gadget Selengkapnya
Beri Komentar
Berkomentarlah secara bijaksana dan bertanggung jawab. Komentar sepenuhnya menjadi tanggung jawab komentator seperti diatur dalam UU ITE

Belum ada komentar. Jadilah yang pertama untuk memberikan komentar!
LAPORKAN KONTEN
Alasan
Laporkan Konten
Laporkan Akun