KONSEP
PROGRAM
Program komputer atau sering kali disingkat sebagai program
adalah serangkaian instruksi yang ditulis untuk melakukan suatu fungsi spesifik
pada komputer. Komputer pada dasarnya membutuhkan
keberadaan program agar bisa menjalankan fungsinya sebagai komputer, biasanya
hal ini dilakukan dengan cara mengeksekusi serangkaian instruksi program
tersebut pada prosesor.[2] Sebuah program biasanya memiliki
suatu bentuk model pengeksekusian tertentu agar dapat secara langsung
dieksekusi oleh komputer. Program yang sama dalam format kode yang dapat dibaca
oleh manusia disebut sebagai kode sumber, bentuk program yang memungkinkan programmer menganalisis serta melakukan
penelaahan algoritme yang digunakan pada program tersebut. Kode sumber tersebut
pada akhirnya dikompilasi oleh utilitas bahasa pemrograman
tertentu sehingga membentuk sebuah program. bentuk alternatif lain model
pengeksekusian sebuah program adalah dengan menggunakan bantuan interpreter, kode sumber tersebut langsung
dijalankan oleh utilitas interpreter suatu bahasa pemrograman yang digunakan. Beberapa
program komputer dapat dijalankan pada sebuah komputer pada saat bersamaan,
kemampuan komputer untuk menjalankan beberapa program pada saat bersamaan
disebut sebagai multitasking. Program komputer dapat dikategorikan
menurut fungsinya; perangkat
lunak sistem atau perangkat
lunak aplikasi. Pemrograman
komputer merupakan suatu proses iteratif penulisan dan penyuntingan kode sumber
sehingga membentuk sebuah program. Penyuntingan kode sumber meliputi proses
pengetesan, analisis, pembetulan kesalahan, pengoptimasian algoritme, normalisasi
kode, dan kadang-kadang pengkoordinasian antara satu programmer dengan
programmer lainnya jika sebuah program dikerjakan oleh beberapa orang dalam
sebuah tim. Seorang praktisi yang memiliki keahlian untuk melakukan penulisan
kode dalam bahasa pemrograman disebut sebagai programmer komputer atau programmer, pengembang
perangkat lunak, atau koder. Istilah rekayasa perangkat lunak (bahasa Inggris: Software engineering)
seringkali digunakan karena proses penulisan program tersebut dipandang sebagai
suatu disiplin ilmu perekayasaan. Program komputer dapat dikategorikan menurut
paradigma bahasa pemrograman yang digunakannya. Dua paradigma utama yang umum
digunakan adalah imperatif dan deklaratif. Program yang ditulis dalam bahasa pemrograman imperatif biasanya
memiliki algoritme yang ditulis dalam serangkaian klausal pendeklarasian,
ekspresi aritmatis, dan sejumlah perintah. Pendeklarasian meliputi
pendeklarasian variabel serta tipe data atas variabel tersebut, contoh: var
x: integer;
Penggunaan ekpresi operasi aritmatis yang menghasilkan nilai, contoh: 2 +
2
menghasilkan
nilai 4
. Dan perintah yang melingkupi pendelegasian nilai atas hasil dari
operasi aritmatis tersebut ke dalam sebuah variabel, contoh: x :=
2 + 2; if x = 4 then lakukan_sesuatu();
Salah satu bentuk kritik atas implementasi imperatif ini
adalah efek samping yang timbul atas pendelegasian perintah terhadap variabel
yang berada di luar cakupan dari fungsi tersebut atau lebih dikenal sebagai non-local
variable.
Kompilasi atau interpretasi
Program
komputer dalam bentuk yang dapat dibaca oleh manusia biasanya disebuat sebagai kode
sumber. Kode sumber dapat dikonversikan menjadi bentuk berkas
yang dapat dieksekusi secara langsung oleh komputer. Proses pengkonversian ini
disebut sebagai proses kompilasi dan biasanya dilakukan sebuah program utilitas
dari bahasa pemrograman yang digunakan yang disebut sebagai kompiler.
Pada beberapa bahasa pemrograman tertentu, kode sumber dapat langsung
dieksekusi sebagai sebuah program dengan menggunakan bantuan utilitas yang
disebut sebagai interpreter. Baik melalui proses
kompilasi ataupun interpretatif, eksekusi program dapat dilakukan dalam sebuah
proses batch tanpa membutuhkan interaksi dengan manusia, namun program
interpretatif memungkinkan pengguna untuk menulis perintah dalam suatu sesi
interaktif. Pada kasus ini sebuah program dieksekusi sebagai sebuah perintah,
yang kemudian dieksekusi baik secara serial ataupun paralel. Bahasa pemrograman
yang menyediakan fitur interaktif seperti ini dinamakan sebagai bahasa
skrip. Kompiler digunakan untuk menerjemahkan kode
sumber dari suatu bahasa pemrograman menjadi kode
objek ataupun kode
mesin. Kode objek biasanya membutuhkan proses lebih lanjut
sehingga dapat menjadi kode mesin, dan kode mesin merupakan instruksi-instruksi
yang dikenali dan dapat secara langsung dieksekusi oleh prosesor. Program
komputer yang telah terkompilasi biasanya disebut sebagai berkas eksekutabel,
ataupun berkas biner; yang merujuk pada bentuk sistem biner yang digunakan
untuk menyimpan kode mesin tersebut. Program komputer yang
diinterpretasikan -baik secara batch ataupun dalam modus interaktif-
biasanya akan diterjemahkan terlebih dulu ke dalam sejumlah token baru kemudian
dieksekusi, atau bisa juga token-token tersebut dioptimasi lebih lanjut
sehingga menjadi sejumlah instruksi yang memiliki tingkat efisiensi yang lebih
baik dan disimpan sebagai berkas P-Code
terpisah untuk dieksekusi kemudian oleh interpreter. BASIC, Perl,
dan Python merupakan beberapa contoh
dari bahasa pemrograman yang menyediakan fasilitas penerjemahaan langsung.
Alternatif lainnya, program komputer yang ditulis dalam bahasa pemrograman Java
merupakan hasil kompilasi kode sumber ke dalam bytcode
yang kemudian dieksekusi oleh interpreter yang disebut sebagai mesin virtual java.
Eksekusi dan penyimpanan
Sebuah program komputer biasanya akan disimpan terlebih
dahulu dalam memori utama (RAM) komputer sebelum dijalankan yang
biasanya dilakukan oleh sistem operasi. Prosesor kemudian akan mengeksekusi
program tersebut, instruksi demi instruksi sampai program tersebut diterminasi.
Sebuah program yang tengah dieksekusi oleh prosesor dinamakan sebagai proses.[6] Terminasi ataupun penghentian
eksekusi sebuah program biasanya terjadi baik karena permintaan dari pengguna,
interupsi pengguna, kesalahan atas program itu sendiri, ataupun kesalahan atas
perangkat keras yang digunakan.
Pembuatan
program otomatis
Pemrograman generatif merupakan sebuah tipikial dari pemrograman komputer yang
akan membuat kode sumber melalui kelas-kelas generik, prototipe, aspek,
templat, dan pembuat kode (code generator) untuk meningkatkan
produktifitas programmer. Kode sumber yang dibuat oleh utilitas pemrograman
tersebut misalnya pemroses templat pada sebuah IDE. Bentuk
yang paling sederhana adalah pemroses makro yang terdapat pada bahasa
pemrograman C.
Eksekusi simultan
Umumnya sistem operasi yang ada saat ini sudah mendukung
pemanfaatan multitasking yang memungkinkan beberapa program
komputer dijalankan pada saat yang bersamaan di sebuah komputer. Untuk dapat
menjalankan beberapa program tersebut pada saat yang bersamaan, sistem operasi
memanfaatkan mekanisme penjadualan proses yang merupakan suatu mekanisme yang
akan mengatur pengalihan prosesor dalam melakukan pemrosesan sehingga beberapa
program komputer tersebut dapat berinteraksi dengan pengguna saat dijalankan. Di
sisi perangkat keras yang digunakan, prosesor modern saat ini umumnya telah
mendukung beberapa core prosesor yang dipancangkan sebagai sebuah prosesor yang
memungkinkannya menjalankan beberapa program sekaligus. Sebuah program komputer dapat melakukan
kalkulasi secara simultan pada beberapa jenis operasi di saat yang bersamaan
dengan memanfaatkan thread atau sebagai proses terpisah. Umumnya
prosesor yang ada saat ini sudah mendukung arsitektur multithreading
yang teroptimasi untuk menjalankan beberapa thread secara efisien.
KESIMPULAN
Program
computer adalah
serangkaian instruksi yang ditulis untuk melakukan suatu fungsi spesifik pada komputer. Komputer pada dasarnya membutuhkan keberadaan program
agar bisa menjalankan fungsinya sebagai komputer, biasanya hal ini dilakukan
dengan cara mengeksekusi serangkaian instruksi program tersebut pada prosesor. Sebuah program biasanya memiliki suatu bentuk model
pengeksekusian tertentu agar dapat secara langsung dieksekusi oleh komputer.
Program yang sama dalam format kode yang dapat dibaca oleh manusia disebut
sebagai kode sumber, bentuk program yang memungkinkan programmer menganalisis serta melakukan penelaahan algoritme yang
digunakan pada program tersebut.
Program komputer dalam
bentuk yang dapat dibaca oleh manusia biasanya disebuat sebagai kode
sumber. Kode sumber dapat dikonversikan menjadi bentuk berkas
yang dapat dieksekusi secara langsung oleh komputer. Proses pengkonversian ini
disebut sebagai proses kompilasi dan biasanya dilakukan sebuah program utilitas
dari bahasa pemrograman yang digunakan yang disebut sebagai kompiler