Apa itu primitif dalam pemrograman komputer?
Dalam pemrograman komputer, primitif adalah salah satu elemen dasar dari suatu bahasa pemrograman yang berfungsi sebagai fondasi. Setiap bahasa mendukung serangkaian primitif inti yang menyediakan blok bangunan dasar untuk menginstruksikan prosesor dalam melaksanakan operasi tertentu. Primitif berbeda antara bahasa dan platform, bergantung pada faktor seperti arsitektur prosesor, bahasa pemrograman, dan tingkat programatik (misalnya, kode mesin versus bahasa tingkat tinggi seperti Java).
Bagaimana primitif digunakan dalam pemrograman?
Prosesor komputer tidak memahami kode sumber, baik itu bahasa assembly atau bahasa pemrograman tingkat tinggi. Mereka hanya memahami bahasa mesin (biner yang terdiri dari 0 dan 1), dan kode mesin harus sesuai dengan arsitektur set instruksi (ISA) prosesor, yang merupakan bagian dari mikroarsitektur prosesor. ISA mendefinisikan primitif yang didukung oleh prosesor, serta cara membangun instruksi untuk prosesor tersebut. Pada dasarnya, primitif menunjukkan apa yang dapat dilakukan prosesor, seperti menambahkan data atau memuatnya ke lokasi tertentu dalam memori.
Setiap primitif terkait dengan kode operasi (opcode) tertentu. Opcode adalah representasi biner dari primitif yang memberi tahu prosesor operasi apa yang harus dilakukan. Opcode biasanya disertai dengan operand, yang mewakili data yang akan dimanipulasi oleh primitif. Operand didefinisikan sebagai bagian dari instruksi di mana primitif berfungsi sebagai operator. Seperti halnya ISA, opcode spesifik untuk arsitektur prosesor. Misalnya, primitif add mungkin diterjemahkan ke operand seperti 0011, 0100, 0110, atau set bit lainnya, tergantung pada arsitektur yang mendasarinya.
Primitif juga memiliki padanan dalam bahasa assembly, yang juga spesifik untuk arsitektur prosesor. Bahasa assembly adalah jenis kode sumber yang, seperti bahasa pemrograman tingkat tinggi, ditulis dalam teks biasa dan dapat dibaca oleh manusia.
Bahasa assembly dan primitif
Bahasa assembly menggunakan mnemonik untuk mewakili primitif ISA. Mnemonik adalah kata-kata deskriptif singkat yang berfungsi sebagai dasar untuk membangun instruksi bagi prosesor. Dalam bahasa assembly x86, misalnya, istilah add adalah mnemonik yang berarti tambah, sementara sub berarti kurangi dan inc berarti tambah satu. Assembler menerjemahkan instruksi berbasis mnemonik ke kode mesin, sesuai dengan spesifikasi ISA.
Mikrokode dan primitif
Beberapa prosesor menggunakan mikrokode untuk melaksanakan operasinya. Mikrokode terintegrasi ke dalam mikroarsitektur dan dianggap sebagai bahasa yang lebih rendah tingkatannya daripada kode mesin. Dengan demikian, mikrokode mungkin memecah operasi primitif yang didefinisikan dalam kode mesin menjadi instruksi yang lebih kecil. Beberapa sumber menganggap instruksi yang lebih kecil ini sebagai primitif mikrokode. Namun, tidak ada konsensus nyata apakah operasi ini memenuhi syarat sebagai jenis primitif tersendiri. Seperti banyak aspek teknologi, istilah primitif kadang-kadang digunakan dengan cara yang berbeda untuk menggambarkan konsep yang serupa atau berbeda.
Bahasa pemrograman tingkat tinggi dan primitif
Bahasa pemrograman tingkat tinggi kadang-kadang dibahas dalam hal memiliki primitif mereka sendiri. Dalam hal ini, primitif mewakili unit logika pemrograman terkecil yang tersedia untuk bahasa tertentu. Istilah primitif dalam konteks ini biasanya dibahas dalam kaitannya dengan tipe data. Misalnya, tipe data Java int, char, dan Boolean semuanya dianggap sebagai tipe primitif. Tipe Java lainnya dibangun di atas tipe primitif.
Istilah primitif juga digunakan dalam grafik komputer untuk merujuk pada elemen gambar—seperti busur, persegi, atau kerucut—yang dapat digunakan untuk membangun gambar yang lebih kompleks.