Langsung ke konten utama

Belajar Cara Kerja Komputer dan Assembler Menggunanakan NASM

Belajar Cara Kerja Komputer dan Assembler Menggunanakan NASM


Bagaimana Komputer Itu Bekerja?



Desimal ke Biner




Komponen Komputer




Apa yang harus kita konfigurasi pada mesin komputer kita?



Bagaimana Cara Kerja Komputer Menampilkan (OUTPUT) “Hello World!”?





Sulit Membayangkan? Analoginya Bayangkan Spt Aliran Air Ini




Bagaimana Cara Kita Merancang Serangkaian Instruksinya “Hello Word!” Tadi?
1. Definisikan variabel di RAM yang diisi kata “Air”, dimana panjang hurufnya adalah 3 karakter
ditambah 1 karakter akhir kata (line feed). jadi total huruf di variable itu adalah 4 karakter (4 byte)
2. Pindahkan data alamat variable dari RAM ke register ECX
3. Pindahkan data sebanyak 4 karakter (4 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


Rancangan Tadi Bisa ditulis dalam bentuk flowchart atau Pseudocode



Pemrograman “aliran_air” dengan Assembly



Bahasa Assembly versus Kode Mesin




Kalau INPUT Bagaimana?



Kalau INPUT - OUPUT Bagaimana?



Bahasa Assembler Untuk INPUT & OUTPUT Data Angka?



Hasil Eksekusi Program Input Output Data Angka



Jadi Bahasa Pemrograman Itu Apa?
→ Adalah serangkaian instruksi untuk mengoperasikan perangkat komputer khususnya REGISTER dan INTERRUPT. Jenis instruksinya apa? 
(1) instruksi INPUT (membaca data dari keyboard, mouse, transmisi input dari jaringan, dan perangkat input lain) dan menyimpan data tadi ke RAM (Random Access Memory),
(2) instruksi PROSES (operasi aritmatika, percabangan, perulangan, dan proses-proses lainnya) dan 
(3) instruksi OUTPUT (menampilkan data ke monitor, printer, transmisi output jaringan dan perangkat output lainnya)
→ Dimana serangkaian instruksi tersebut bisa menggunakan standar bahasa mesin (low level language) atau bahasa tingkat menengah (middle level language) atau bahasa tingkat tinggi (hight level language)
- Low Level Language : Assembler/assembly
- Middle Level Language : C/C++
- Hight Level Language : Java, Python, Rust, .Net dsb



“Hello Word!” dengan Bahasa Tingkat Tinggi (python)


Apakah Bahasa Pemrograman Sesulit Ini? TIDAK !!!
1. Saat ini sudah berkembang bahasa pemrograman tingkat tinggi (Hight Level Language). Spt misalnya Python, Java, .Net,  Typescript dsb.
2. Bahasa pemrograman tingkat tinggi adalah bahasa pemrograman yg mendekati bahasa manusia. Namun programmer masih membutuhkan desain/rancangan program yang berupa Algoritma, sebelum membuat program.



Bagaimana Teknik Menyusun Algoritma?






















Komentar

Postingan populer dari blog ini

Pembelajaran Dasar React Bagi Pemula

  Apa itu Reactjs? Reactjs adalah sebuah library yang dibuat oleh Facebook untuk membuat UI (user interface) pada Web Mobile juga. Banyak orang menyebutnya sebagai framework , namun secara teknis.. Reactjs bukanlah sebuah framework. Melainkan sebuah library untuk membuat UI.   Oke, mari kita coba membuat aplikasi dengan Reactjs pertama kita buat file html biasa dengan nama hello-world.html , di dalam body kita akan menampilkan teks. <! DOCTYPE html > < html > < head > < meta charset = "utf-8" /> < title > Belajar Reactjs </ title > < script src = "https://unpkg.com/react@16/umd/react.production.min.js" >      </ script > < script src = "https://unpkg.com/react-dom@16/umd/react-dom.production      .min.js" ></ script > < script src = "https://unpkg.com/babel-standalone@6.15.0/babel.min.js" >      </ script > </ head > < bod...

Penambahan Function Pop Up Edit Toko di NextJS

      Apa itu Next.js?  Next.js merupakan sebuah React framework yang dibentuk buat mengatasi kasus client-side rendering yang dimiliki React. Sebuah halaman website yang dibentuk memakai React ‘terasa ringan’ lantaran tampilan website sangat interaktif.  Selain itu, ketika data berubah, React menggunakan efisien akan mengupdate bagian menurut halaman website yang memang perlu diupdate tanpa perlu reload satu halaman penuh.  Untuk menerima itu seluruh, client wajib load seluruh file JavaScript sebelum konten halaman ditampilkan. apabila file JS relatif akbar maka ketika yang diperlukan buat load pertama kali pula sebagai lebih lama.  Masalah lain menurut client-side rendering merupakan SEO, terdapat kemungkinan web crawler berusaha mengindex halaman yang belum terselesaikan dirender sepenuhnya (lantaran ketika load yang lama). Dan menduga web tadi blank.  Kedua kasus diatas bisa diselesaikan menggunakan teknik pre-rendering. Yaitu ...

Pembuatan halaman Home dengan NextJS

      Apa itu Next.js?  Next.js merupakan sebuah React framework yang dibentuk buat mengatasi kasus client-side rendering yang dimiliki React. Sebuah halaman website yang dibentuk memakai React ‘terasa ringan’ lantaran tampilan website sangat interaktif.  Selain itu, ketika data berubah, React menggunakan efisien akan mengupdate bagian menurut halaman website yang memang perlu diupdate tanpa perlu reload satu halaman penuh.  Untuk menerima itu seluruh, client wajib load seluruh file JavaScript sebelum konten halaman ditampilkan. apabila file JS relatif akbar maka ketika yang diperlukan buat load pertama kali pula sebagai lebih lama.  Masalah lain menurut client-side rendering merupakan SEO, terdapat kemungkinan web crawler berusaha mengindex halaman yang belum terselesaikan dirender sepenuhnya (lantaran ketika load yang lama). Dan menduga web tadi blank.  Kedua kasus diatas bisa diselesaikan menggunakan teknik pre-rendering. Yaitu ...