Ini Dia Penjelasan Cara Kerja Bahasa Pemrograman Komputer

Berikut ini Penjelasan Cara Kerja Bahasa Pemrograman

Berikut ini penjelasan cara kerja bahasa pemrograman komputer.

Hai sobat blog Up-TKJ, pada pembahasan kali ini saya akan memberikan ulasan mengenai bagaimana cara kerja bahasa pemrograman, berikut ulasanya.

Anda pertama kali menulis program Anda. Tapi komputer belum bisa membacanya. Jadi, untuk benar-benar menjalankan program Anda,

Anda harus terlebih dahulu melewatkannya melalui program khusus yang disebut kompilator. Kemudian, muncul versi baru dari program Anda yang dapat dibaca oleh komputer.

Itu mungkin kemudian diuji dengan menjalankannya dengan banyak input dan output yang diharapkan atau sesuatu.

Jadi ada dua versi program Anda. Yang Anda tulis tetapi komputer tidak dapat membaca, dan yang dibuat secara ajaib yang dapat dibaca oleh komputer.

Kompiler adalah mesin kompleks yang menjembatani kesenjangan antara kode yang dapat dibaca manusia dan kode yang dapat dibaca komputer.

Jadi, apa sebenarnya yang dilakukan kompilator, dan seperti apa versi program Anda yang dapat dijalankan sebenarnya?

Pada level rendah, prosesor komputer hanya dapat melakukan sejumlah kecil hal.

Mereka dapat membaca dan menulis ke memori, dan mereka dapat melakukan matematika dengan angka yang mereka pegang.

Prosesor modern juga melakukan hal lain, tetapi ini pada dasarnya.

Sekarang, program yang dapat dieksekusi, yang dihasilkan oleh kompiler, hanyalah daftar instruksi untuk diikuti oleh prosesor, ditulis dalam biner.

Petunjuknya adalah seperti… baca byte ini dari memori, lakukan hal-hal untuk mereka, tulis byte ke memori, lompat ke depan sebanyak ini baris, lompat kembali sebanyak baris ini tetapi hanya jika tanda ini disetel hal-hal seperti itu.

Sebuah program, yang diekspresikan dalam daftar instruksi biner disebut kode mesin,  dan ini adalah jenis program yang benar-benar dapat dibaca oleh komputer Anda.

Tetapi mengapa prosesor komputer hanya membaca program yang terlihat seperti ini?

Mengapa ini secara khusus?

Singkatnya, berikut cara kerja prosesor.
x

Prosesor sudah berisi sirkuit untuk melakukan semua instruksi ini, tetapi sirkuit yang benar hanya akan terhubung bersama ketika instruksi yang sesuai dimasukkan ke dalamnya. 

Angka 1 dan 0 dalam instruksi menyebabkan transistor tertentu membuka atau menutup, yang akhirnya berakhir menghubungkan sirkuit yang benar bersama-sama untuk menjalankan instruksi itu.

Tapi singkatnya, ketahuilah bahwa program yang dapat dieksekusi terlihat seperti ini. Tetapi ketika Anda belajar membuat program, Anda tidak perlu tahu apa-apa tentang hal rumit ini kode mesin hal-hal seperti manajemen memori, operasi pada byte, atau lompatan bersyarat. Pemrograman adalah tentang variabel, dan pernyataan if, dan loop, dan fungsi.

Nah, hal-hal ini hanyalah konstruksi tingkat yang lebih tinggi yang memudahkan manusia untuk berpikir tentang pemrograman. Sebuah program, yang diekspresikan dalam bentuk ini, disebut kode sumber.

Sekarang, program yang dapat dieksekusi, yang dihasilkan oleh kompiler, hanyalah daftar instruksi untuk diikuti oleh prosesor, ditulis dalam biner.

Petunjuknya adalah seperti baca byte ini dari memori, lakukan hal-hal untuk mereka, tulis byte ke memori, lompat ke depan sebanyak ini baris, lompat kembali sebanyak baris ini tetapi hanya jika tanda ini disetel hal-hal seperti itu.

Sepertinya hanya ada satu instruksi baru: untuk "menambahkan" nilai 1 ke lokasi memori ini. Bagaimanapun, ini adalah lokasi dimana kompilator memutuskan bahwa x hidup.

Memodifikasi variabel x sama dengan memodifikasi nilai yang disimpan di lokasi memori ini. Nilai 3 muncul di lokasi memori yang ditetapkan untuk variabel x, dan kemudian nilainya menjadi 4.

Sejauh ini, kita telah melihat bagaimana tugas variabel dan operasi matematika sederhana diterjemahkan. Tapi tidak sesederhana itu untuk pernyataan-if, loop, dan fungsi.

Tidak ada instruksi mesin yang setara langsung. Sebaliknya, kita perlu meniru perilaku mereka dengan instruksi yang memang ada.

Mari kita mulai dengan pernyataan if.

Dalam pernyataan-if, kami hanya mengeksekusi kode di blok ini jika kondisi ini benar. Jika kondisinya salah, kami melewatkan kode ini.

Dalam perakitan, kode di dalam blok diterjemahkan secara normal, tetapi sebelumnya, kami punya beberapa instruksi mengevaluasi kondisi, dan kemudian kami memiliki instruksi lompat bersyarat.

Dalam hal ini, untuk melewati blok yang ingin kita lewati, tetapi hanya jika kita seharusnya melewatinya.

Prosesor tahu apakah kita harus melakukan lompatan ini berdasarkan hasil atau tidak dari instruksi sebelumnya. Instruksi itu untuk sementara menyetel beberapa tanda di prosesor sehingga kami dapat mengingat file hasil pada saat kita sampai pada lompatan bersyarat ini untuk melewati blok ini.

Jika kita tidak seharusnya melewatkannya, maka prosesor mengabaikan lompatan tersebut, dan melanjutkan secara normal, dengan mudah mengeksekusi kode di dalam blok.

Perhatikan bahwa instruksi mesin ini secara efektif melakukan hal yang sama seperti pernyataan-if kita?

Mari kita lihat sekarang lompatan dapat meniru perilaku kode sumber lainnya.

Jika Anda mengkompilasi program Anda di satu komputer dan kemudian menyalinnya ke komputer lain dan mencoba menjalankannya, mungkin tidak berhasil.

Jika komputer baru memiliki sistem operasi yang berbeda atau model prosesor yang berbeda, mungkin menggunakan instruksi mesin yang berbeda.

Jadi, jika Anda ingin program Anda dapat berjalan di komputer baru ini, sebaiknya Anda melakukannya dapat mengkompilasi ke kode mesin komputer itu.

Dan jika pengguna program Anda mungkin menjalankan perangkat lunak Anda pada platform yang berbeda, kecuali Anda mendistribusikan sumbernya, Anda harus menyimpan salinan yang dapat dieksekusi untuk setiap platform yang ingin Anda jalankan.

Beberapa bahasa seperti Java menyelinap mengatasi masalah ini.

Alih-alih kode mesin, Java dikompilasi ke representasi perantara yang dikenal sebagai bytecode. Dan kemudian bytecode dapat dikirim ke komputer lain di mana ia akan diubah menjadi itu kode mesin komputer tertentu ketika program dijalankan melalui juru bahasa.

Anda mendapatkan portabilitas yang lebih baik, meskipun kurang efisien.

Namun terlepas dari itu, bahasa yang Anda gunakan untuk menulis kode Anda kompatibel dengan banyak variasi prosesor dan sistem operasi.

Dapatkah Anda membayangkan seperti apa saat itu ketika pemrograman komputer berarti meletakkan perakitan atau bahkan kode mesin ke kartu berlubang?

Anda tidak hanya perlu mencari tahu lubang yang tepat untuk membuat pukulan untuk setiap instruksi.

Anda bahkan tidak dapat menggunakan program Anda pada model komputer yang berbeda, karena model lain mengharapkan Anda membuat lubang yang berbeda.

Segalanya menjadi sedikit lebih baik hari ini. Anda cukup menulis program, mengompilasinya, dan mengujinya dengan input Yah, itu mungkin ditulis dan dikompilasi dalam bahasa lain, atau bahkan dalam bahasa yang sama,menyusun kompilator dengan versi dirinya sendiri sebelumnya.

Jika kita mengikuti rantai ini secara terbalik, di beberapa titik, kita mencapai asal mula alat pengembangan. program, yang ditulis langsung dalam kode mesin, yang membantu Anda menulis program lain.

secara harfiah mengotomatiskan bagian dari proses pembuatan otomatisasi Sejarah bahasa komputer cukup kompleks.

Nah itu tadi ulasan cara kerja bahasa pemrograman.

Semoga artikel ini dapat membantu kawan-kawan dalam memahami bagaimana cara kerja bahasa pemrograman.