Showing posts with label MKkoe. Show all posts
Showing posts with label MKkoe. Show all posts

Teknik Kompilasi

Lama sekali rasanya tidak posting, jadi kangen….. hemmmmm
Untuk kali ini saya akan memposting tentang teknik kompilasi yang mana teknik kompilasi Merupakan Teknik dalam melakukan pembacaan suatu program yang ditulis dalam bahasa sumber, kemudian diterjemahkan ke dalam suatu bahasa lain yang disebut bahasa sasaran.

Dalam melakukan proses penerjemahan tersebut, sudah barang tentu kompilator akan melaporkan adanya keanehan-keanehan atau kesalahan yang mungkin ditemukannya. Proses penerjemahan yang dilakukan oleh kompilator ini disebut proses kompilasi (compiling).

Bila dipandang sepintas lalu, maka akan timbul beranekaragam kompilator yang dapat dibuat,
·         Bahasa Sumber seperti bahasa FORTRAN, PASCAL, C dan juga bahasa-bahasa lainnya yang sifat dan pemakaiannya agak spesifik atau khusus, seperti bahasa Untuk program DBASE, SPSS dan lain sebagainya.
·         Bahasa Sasaran dapat berupa bahasa sumber lain seperti C, FORTRAN dan lain sebagainya atau Bahasa Mesin (Machine Language) yang digunakan oleh suatu prosessor mikro atau sumber komputer besar maupun komputer super.
Sejarah perkembangan suatu kompilator sudah dimulai sejak lama, yaitu pada saat mulai ditemukannya komputer pada awal 1950-an.

Sejak waktu tersebut teknik dan cara pembentukan suatu kompilator telah berkembang dengan sangat pesat dan pembentukkan suatu kompilator dapat dilakukan makin mudah.

Demikian pula program bantu (tools) untuk membuat suatu kompilator sudah dapat diperoleh sehingga pembentukan suatu kompilator dapat dilakukan dengan cepat.

Kompilator pertama yang dibuat adalah kompilator untuk bahasa FORTRAN yang pada saat itu dikembangkan dengan memakan sejumlah tenaga ahli yang setara dengan pekerjaan yang dilakukan oleh 18 orang.

Dengan adanya program bantu dan tata cara pembentukan yang sistematis dan tertata dengan baik serta pendefinisian struktur bahasa yang cermat, maka suatu kompilator untuk bahasa yang terstruktur seperti PASCAL atau C dapat dikembangkan.


Proses kompilasi dari suatu kompilator pada dasarnya dapat dibagi ke dalam 2 bagian utama yaitu bagian analisis dan bagian sintesis.
·         Tahap analisis program yang ditulis dalam bahasa sumber dibagi dan dipecah ke dalam beberapa bagian yang kemudian akan dipresentasikan ke dalam suatu bentuk antara dari program sumber.
Operasi-operasi yang dilakukan oleh program sumber ditentukan dan dicatat dalam suatu struktur pohon (tree) yang disebut dengan nama pohon sintaks (sintax tree) Dalam hal ini setiap nodal pada tree tersebut menyatakan suatu operasi, sedangkan anak dari nodal (titik) tersebut memberikan argumen yang diperlukan
Secara umum proses dalam tahap analis terdiri dari 3 bagian utama, yaitu

a. Proses analisis leksikal
b. Proses analisis sintaktik
c. Proses analisis semantic
·   Tahap sintesis yang berikutnya program sasaran dibentuk berdasarkan representasi antara yang dihasilkan pada tahap analisis.
Untuk tahap sintetis terdiri dari 2 bagian utama, yaitu

a.       Proses yang menghasilkan kode (code generator) 
b.      Proses optimasi kode (code optimizer)

Sebelum Bahasa sasaran dapat dihasilkan, dalam melakukan ini tiap bagian utama akan berhubungan dan berkomunikasi dengan suatu berkas tabel yang disebut tabel simbol (symbol table) yaitu suatu tabel yang berisi semua simbol yang digunakan dalam bahasa sumber.

Selain kompilator masih diperlukan beberapa program lainnya sebelum dapat dibentuk bahasa sasaran yang dapat dijalankan. Seperti suatu bahasa sumber dapat dituliskan dalam beberapa modul yang terpisah dan disimpan dalam beberapa file yang terpisah.

Untuk menanggulangi hal ini, maka suatu program khusus yang disebut dengan suatu praprosesor digunakan untuk mengumpulkan modul-modul yang saling lepas ini ke dalam suatu program baru. Praposesor dapat pula melengkapi singkatan-singkatan atau ungkapan-ungkapan maupun kependekan-kependekan yang digunakan dalam bahasa sumber seperti pendefinisian makro dan lain sebagainya
Lama sekali rasanya tidak posting, jadi kangen….. hemmmmm
Untuk kali ini saya akan memposting tentang teknik kompilasi yang mana teknik kompilasi Merupakan Teknik dalam melakukan pembacaan suatu program yang ditulis dalam bahasa sumber, kemudian diterjemahkan ke dalam suatu bahasa lain yang disebut bahasa sasaran.

Dalam melakukan proses penerjemahan tersebut, sudah barang tentu kompilator akan melaporkan adanya keanehan-keanehan atau kesalahan yang mungkin ditemukannya. Proses penerjemahan yang dilakukan oleh kompilator ini disebut proses kompilasi (compiling).

Bila dipandang sepintas lalu, maka akan timbul beranekaragam kompilator yang dapat dibuat,
·         Bahasa Sumber seperti bahasa FORTRAN, PASCAL, C dan juga bahasa-bahasa lainnya yang sifat dan pemakaiannya agak spesifik atau khusus, seperti bahasa Untuk program DBASE, SPSS dan lain sebagainya.
·         Bahasa Sasaran dapat berupa bahasa sumber lain seperti C, FORTRAN dan lain sebagainya atau Bahasa Mesin (Machine Language) yang digunakan oleh suatu prosessor mikro atau sumber komputer besar maupun komputer super.
Sejarah perkembangan suatu kompilator sudah dimulai sejak lama, yaitu pada saat mulai ditemukannya komputer pada awal 1950-an.

Sejak waktu tersebut teknik dan cara pembentukan suatu kompilator telah berkembang dengan sangat pesat dan pembentukkan suatu kompilator dapat dilakukan makin mudah.

Demikian pula program bantu (tools) untuk membuat suatu kompilator sudah dapat diperoleh sehingga pembentukan suatu kompilator dapat dilakukan dengan cepat.

Kompilator pertama yang dibuat adalah kompilator untuk bahasa FORTRAN yang pada saat itu dikembangkan dengan memakan sejumlah tenaga ahli yang setara dengan pekerjaan yang dilakukan oleh 18 orang.

Dengan adanya program bantu dan tata cara pembentukan yang sistematis dan tertata dengan baik serta pendefinisian struktur bahasa yang cermat, maka suatu kompilator untuk bahasa yang terstruktur seperti PASCAL atau C dapat dikembangkan.


Proses kompilasi dari suatu kompilator pada dasarnya dapat dibagi ke dalam 2 bagian utama yaitu bagian analisis dan bagian sintesis.
·         Tahap analisis program yang ditulis dalam bahasa sumber dibagi dan dipecah ke dalam beberapa bagian yang kemudian akan dipresentasikan ke dalam suatu bentuk antara dari program sumber.
Operasi-operasi yang dilakukan oleh program sumber ditentukan dan dicatat dalam suatu struktur pohon (tree) yang disebut dengan nama pohon sintaks (sintax tree) Dalam hal ini setiap nodal pada tree tersebut menyatakan suatu operasi, sedangkan anak dari nodal (titik) tersebut memberikan argumen yang diperlukan
Secara umum proses dalam tahap analis terdiri dari 3 bagian utama, yaitu

a. Proses analisis leksikal
b. Proses analisis sintaktik
c. Proses analisis semantic
·   Tahap sintesis yang berikutnya program sasaran dibentuk berdasarkan representasi antara yang dihasilkan pada tahap analisis.
Untuk tahap sintetis terdiri dari 2 bagian utama, yaitu

a.       Proses yang menghasilkan kode (code generator) 
b.      Proses optimasi kode (code optimizer)

Sebelum Bahasa sasaran dapat dihasilkan, dalam melakukan ini tiap bagian utama akan berhubungan dan berkomunikasi dengan suatu berkas tabel yang disebut tabel simbol (symbol table) yaitu suatu tabel yang berisi semua simbol yang digunakan dalam bahasa sumber.

Selain kompilator masih diperlukan beberapa program lainnya sebelum dapat dibentuk bahasa sasaran yang dapat dijalankan. Seperti suatu bahasa sumber dapat dituliskan dalam beberapa modul yang terpisah dan disimpan dalam beberapa file yang terpisah.

Untuk menanggulangi hal ini, maka suatu program khusus yang disebut dengan suatu praprosesor digunakan untuk mengumpulkan modul-modul yang saling lepas ini ke dalam suatu program baru. Praposesor dapat pula melengkapi singkatan-singkatan atau ungkapan-ungkapan maupun kependekan-kependekan yang digunakan dalam bahasa sumber seperti pendefinisian makro dan lain sebagainya

Arsitektur Komputer

 Seperti yang kita semua tahu tentang gerbang sirkuit elektronik digital yang berlaku untuk arsitektur komputer juga, ini bagian dari buku ini diabaikan di sinopsis disajikan di sini. Kita mulai dengan mengganggu dan prioritas sebagai berikut:

Interrupt prioritas: Transfer data antara CPU dari komputer dan I / O perangkat ini diprakarsai oleh CPU. Namun, CPU tidak dapat memulai transfer, kecuali jika perangkat sudah siap untuk berkomunikasi dengan CPU. Kesiapan pada perangkat dapat ditentukan dari mengganggu sinyal.


J prioritas mengganggu adalah sistem yang membentuk sebuah prioritas melalui berbagai sumber untuk menentukan kondisi yang akan dilayani pertama bila dua atau lebih permintaan simultaneously.Devices tiba tinggi dengan kecepatan transfer, contoh, disk magnetis adalah prioritas tinggi, lambat perangkat seperti keyboard mempunyai prioritas rendah.

Perangkat pemungutan: mendirikan prioritas interrupts bersamaan dapat dilakukan dengan perangkat lunak atau perangkat keras. J prosedur pemungutan pemungutan dikenal sebagai perangkat yang digunakan untuk mengidentifikasi prioritas utama oleh perangkat lunak sumber berarti. Prioritas utama yang diuji adalah sumber pertama, dan jika mengganggu sinyal yang aktif, kontrol cabang ke layanan rutin untuk sumber ini. Jika tidak, berikut adalah sumber prioritas rendah diuji dan sebagainya.

Mikro diprogram dan kontrol unit operasi:

Microprogramming merupakan metode kontrol unit desain di mana kontrol sinyal pilihan sequencing dan informasi yang tersimpan dalam RAM atau ROM yang disebut kontrol memori.



Diterjemahkan ke dalam virtual alamat alamat fisik dari komputer yang menggunakan memori virtual:

Hal ini dilakukan oleh pemetaan menggunakan alamat halaman. Fisik memori dirobohkan ke dalam kelompok yang sama disebut ukuran blok. Halaman merujuk ke kelompok ruang alamat yang sama ukurannya. Pemetaan ruang alamat dari ke ruang memori yang difasilitasi jika setiap alamat maya dianggap diwakili oleh 2 nos. - Alamat dan nomor halaman sesuai dengan halaman. Ketika program dimulai pelaksanaan, satu atau lebih halaman yang ditransfer ke memori utama dan halaman set meja untuk menunjukkan posisi mereka. Program ini dijalankan dari memori utama sampai upaya rujukan ke halaman yang masih dalam memori penolong. Kondisi ini dikenal sebagai halaman kesalahan. Kemudian pelaksanaan program ini dihentikan sementara sampai program ini dibawa ke dalam memori utama. Bila terjadi kesalahan di halaman virtual memori, ia menandakan bahwa halaman yang dirujuk oleh CPU tidak ada di dalam memori utama. Dengan demikian halaman baru sekarang penolong ditransfer dari memori ke memori utama. Jika memori utama sudah penuh, maka akan sangat diperlukan untuk menghapus halaman dari memori blok untuk memberikan ruang bagi sebuah halaman baru. Penggantian kebijakan ini akan digunakan untuk FIFO dan LRU. Sedangkan algoritma FIFO untuk memilih pengganti halaman yang telah lama di dalam memori waktu, dalam LRU, sedikit berbagi halaman adalah halaman dengan nilai count.

Asosiatif memori ---- apa yang digunakan dalam pemetaan alamat dalam cache memori sistem

Waktu yang diperlukan untuk menemukan item yang disimpan dalam memori dapat dikurangi secara besar jika data yang disimpan dapat diidentifikasi untuk akses oleh isi data diri daripada oleh alamat. Seperti unit memori diakses oleh konten disebut memori asosiatif atau CAM (content addressable memori). Asosiatif memori paralel dapat melakukan pencarian data oleh asosiasi. Hal ini lebih mahal daripada RAM. Asosiatif memori yang digunakan dalam aplikasi dimana cari waktu adalah penting dan harus sangat singkat.

Pemetaan asosiatif: asosiatif memori yang digunakan dalam alamat pemetaan dalam cache memori sistem. Asosiatif memori yang baik alamat toko dan konten (data) dari memori kata, jadi ini izin lokasi di cache untuk menyimpan setiap kata dari memori utama.

Kernel yang O.S

OS memiliki master program yang disebut supervisor atau lalu lintas controller atau kernel. Kernel adalah bagian dari OS yang kontrol yang lainnya, dan selalu berada dalam memori utama. Kernel menjalankan mesin utama dan melaksanakan program-program pengelolaan sumber daya utama. Dimulai pada komputer, kernel yang dimuat dalam memori dan kontrol dari mesin.

Fungsi yang loader ---------- bootstrap loader

Loader alamat toko waktu. It menghasilkan alamat pada saat penyimpanan sekunder dari penyimpanan ke dalam memori utama. Bootstrap loader loader adalah mutlak. Ini merupakan awal program yang dimuat ke memori pada saat booting.

Single pass assembler memproses sebuah program assembly

Dengan algoritma untuk satu pass assembler adalah sebagai berikut:

Pass satu

Langkah 1 ------- lokasi initialize counter ke nol
Langkah 2 -------- membaca baris kode sumber
Langkah 3 ------- menganalisis pernyataan

Proses terjemahan ------- tahap analisis dan sintesis

Analisa sumber teks + sintesis dari sumber = terjemahan dari teks sumber ke teks sasaran.

Direct Memory Access (DMA):

Mentransfer data antara perangkat penyimpanan yang cepat dan memori yang sering dibatasi oleh kecepatan CPU. Mengeluarkan CPU dari jalan dan membiarkan pinggiran mengelola perangkat memori bis langsung meningkatkan kecepatan transfer. Transfer ini adalah teknik diistilahkan sebagai DMA. Selama transfer DMA, CPU yang menganggur dan tidak memiliki kontrol dari memori bus.

Ini semua adalah rangkuman tentang arsitektur sistem komputer. Harap pembaca liked it! Dan jangan lupa untuk menilai ringkasan ini.


 Seperti yang kita semua tahu tentang gerbang sirkuit elektronik digital yang berlaku untuk arsitektur komputer juga, ini bagian dari buku ini diabaikan di sinopsis disajikan di sini. Kita mulai dengan mengganggu dan prioritas sebagai berikut:

Interrupt prioritas: Transfer data antara CPU dari komputer dan I / O perangkat ini diprakarsai oleh CPU. Namun, CPU tidak dapat memulai transfer, kecuali jika perangkat sudah siap untuk berkomunikasi dengan CPU. Kesiapan pada perangkat dapat ditentukan dari mengganggu sinyal.


J prioritas mengganggu adalah sistem yang membentuk sebuah prioritas melalui berbagai sumber untuk menentukan kondisi yang akan dilayani pertama bila dua atau lebih permintaan simultaneously.Devices tiba tinggi dengan kecepatan transfer, contoh, disk magnetis adalah prioritas tinggi, lambat perangkat seperti keyboard mempunyai prioritas rendah.

Perangkat pemungutan: mendirikan prioritas interrupts bersamaan dapat dilakukan dengan perangkat lunak atau perangkat keras. J prosedur pemungutan pemungutan dikenal sebagai perangkat yang digunakan untuk mengidentifikasi prioritas utama oleh perangkat lunak sumber berarti. Prioritas utama yang diuji adalah sumber pertama, dan jika mengganggu sinyal yang aktif, kontrol cabang ke layanan rutin untuk sumber ini. Jika tidak, berikut adalah sumber prioritas rendah diuji dan sebagainya.

Mikro diprogram dan kontrol unit operasi:

Microprogramming merupakan metode kontrol unit desain di mana kontrol sinyal pilihan sequencing dan informasi yang tersimpan dalam RAM atau ROM yang disebut kontrol memori.



Diterjemahkan ke dalam virtual alamat alamat fisik dari komputer yang menggunakan memori virtual:

Hal ini dilakukan oleh pemetaan menggunakan alamat halaman. Fisik memori dirobohkan ke dalam kelompok yang sama disebut ukuran blok. Halaman merujuk ke kelompok ruang alamat yang sama ukurannya. Pemetaan ruang alamat dari ke ruang memori yang difasilitasi jika setiap alamat maya dianggap diwakili oleh 2 nos. - Alamat dan nomor halaman sesuai dengan halaman. Ketika program dimulai pelaksanaan, satu atau lebih halaman yang ditransfer ke memori utama dan halaman set meja untuk menunjukkan posisi mereka. Program ini dijalankan dari memori utama sampai upaya rujukan ke halaman yang masih dalam memori penolong. Kondisi ini dikenal sebagai halaman kesalahan. Kemudian pelaksanaan program ini dihentikan sementara sampai program ini dibawa ke dalam memori utama. Bila terjadi kesalahan di halaman virtual memori, ia menandakan bahwa halaman yang dirujuk oleh CPU tidak ada di dalam memori utama. Dengan demikian halaman baru sekarang penolong ditransfer dari memori ke memori utama. Jika memori utama sudah penuh, maka akan sangat diperlukan untuk menghapus halaman dari memori blok untuk memberikan ruang bagi sebuah halaman baru. Penggantian kebijakan ini akan digunakan untuk FIFO dan LRU. Sedangkan algoritma FIFO untuk memilih pengganti halaman yang telah lama di dalam memori waktu, dalam LRU, sedikit berbagi halaman adalah halaman dengan nilai count.

Asosiatif memori ---- apa yang digunakan dalam pemetaan alamat dalam cache memori sistem

Waktu yang diperlukan untuk menemukan item yang disimpan dalam memori dapat dikurangi secara besar jika data yang disimpan dapat diidentifikasi untuk akses oleh isi data diri daripada oleh alamat. Seperti unit memori diakses oleh konten disebut memori asosiatif atau CAM (content addressable memori). Asosiatif memori paralel dapat melakukan pencarian data oleh asosiasi. Hal ini lebih mahal daripada RAM. Asosiatif memori yang digunakan dalam aplikasi dimana cari waktu adalah penting dan harus sangat singkat.

Pemetaan asosiatif: asosiatif memori yang digunakan dalam alamat pemetaan dalam cache memori sistem. Asosiatif memori yang baik alamat toko dan konten (data) dari memori kata, jadi ini izin lokasi di cache untuk menyimpan setiap kata dari memori utama.

Kernel yang O.S

OS memiliki master program yang disebut supervisor atau lalu lintas controller atau kernel. Kernel adalah bagian dari OS yang kontrol yang lainnya, dan selalu berada dalam memori utama. Kernel menjalankan mesin utama dan melaksanakan program-program pengelolaan sumber daya utama. Dimulai pada komputer, kernel yang dimuat dalam memori dan kontrol dari mesin.

Fungsi yang loader ---------- bootstrap loader

Loader alamat toko waktu. It menghasilkan alamat pada saat penyimpanan sekunder dari penyimpanan ke dalam memori utama. Bootstrap loader loader adalah mutlak. Ini merupakan awal program yang dimuat ke memori pada saat booting.

Single pass assembler memproses sebuah program assembly

Dengan algoritma untuk satu pass assembler adalah sebagai berikut:

Pass satu

Langkah 1 ------- lokasi initialize counter ke nol
Langkah 2 -------- membaca baris kode sumber
Langkah 3 ------- menganalisis pernyataan

Proses terjemahan ------- tahap analisis dan sintesis

Analisa sumber teks + sintesis dari sumber = terjemahan dari teks sumber ke teks sasaran.

Direct Memory Access (DMA):

Mentransfer data antara perangkat penyimpanan yang cepat dan memori yang sering dibatasi oleh kecepatan CPU. Mengeluarkan CPU dari jalan dan membiarkan pinggiran mengelola perangkat memori bis langsung meningkatkan kecepatan transfer. Transfer ini adalah teknik diistilahkan sebagai DMA. Selama transfer DMA, CPU yang menganggur dan tidak memiliki kontrol dari memori bus.

Ini semua adalah rangkuman tentang arsitektur sistem komputer. Harap pembaca liked it! Dan jangan lupa untuk menilai ringkasan ini.


Tahukah Anda Apa File EXE Itu ?

File exe adalah file komputer yang diakhiri dengan ekstensi “. Exe” atau dikenal sebagai file eksekusi. Ketika klik satukali pada file exe, built-in rutin secara otomatis mengeksekusi kode yang dapat mengatur beberapa fungsi. Fungsi File Exe digunakan untuk menginstal dan menjalankan program dan rutinitas. File exe hanyalah salah satu dari beberapa jenis format file yang diakui oleh berbagai macam sistem operasi.
Teks file, yang adalah file yang tidak menghasilkan kode tetapi hanya menampilkan teks, berakhir dengan txt. Microsoft Word menyimpan file dengan ekstensi doc untuk dokumen. Jenis file lain yang umum adalah compress atau zip file, yang menggunakan ekstensi zip.
File exe adalah salah satu jenis file yang paling berguna karena digunakan untuk menjalankan program, namun ini juga membuat potensi berbahaya. Hal ini dapat digunakan sebagai sistem pengiriman virus atau rutinitas hal lainnya. Di luar sana, file exe yang terinfeksi selalu sangat ramah menyepa bahkan membujuk anda. Jika diklik maka akan muncul tidak lebih dari sebuah kartun animasi atau permainan arcade sederhana. Namun, kode tak terlihat dapat berjalan di latar belakang, menginfeksi komputer Anda.
Jika meng-klik pada file exe berbahaya, selama beberapa jam atau hari berikutnya komputer mungkin menjadi tidak stabil. Seringkali pengguna tidak dapat mengerjakan pekerjaan-pekerjaan tertentu seperti kebutuhan untuk defragment atau scan disk. Keystrokes informasi pribadi atau sandi mungkin akan dicuri sebuah website yang tidak diketahui tanpa pengetahuan pengguna, atau mesin dapat menghapus file sendiri dan malapetaka akan terjadi. Namun sebenarnya skenario ini dapat dihindari dengan tidak mengklik pada file exe.
Karena potensi bahaya, saat men-download file exe Anda harus scan virus dengan scanner dengan reputasi bagus sebelum mengkliknya. Untuk tujuan ini, para pakar keamanan merekomendasikan pengaturan browser sehingga situs tidak dapat menjalankan program secara otomatis. Surfer ini memberikan kesempatan untuk memantau program mana yang bisa dikirimkan ke komputer.
File Exe umumnya tidak dimaksudkan untuk diedit. Karena file exe paling sering digunakan untuk program, maka file ini dilindungi oleh undang-undang hak cipta, perjanjian lisensi per-koneksi yang dikeluarkan oleh pembuatnya. Hacking file exe adalah ilegal dalam kasus ini. Pengecualian adalah perangkat lunak domain publik. Perangkat lunak domain publik menjadi milik masyarakat dan secara legal dapat diubah oleh siapa pun.
Karena merupakan file yang rawan maka Anda harus hati-hati. Para ahli merekomendasikan menjaga checker virus up to date dan menghapus email dari sumber yang tidak dikenal. Jika Anda menerima file exe dari seseorang yang Anda percaya pun, file harus di-scan terlebih dahulu sebelum mengkliknya. Mengapa? Karena orang yang Anda kenal itu bisa difitnah oleh pihak ketiga tanpa pengetahuan Anda.
File exe adalah file komputer yang diakhiri dengan ekstensi “. Exe” atau dikenal sebagai file eksekusi. Ketika klik satukali pada file exe, built-in rutin secara otomatis mengeksekusi kode yang dapat mengatur beberapa fungsi. Fungsi File Exe digunakan untuk menginstal dan menjalankan program dan rutinitas. File exe hanyalah salah satu dari beberapa jenis format file yang diakui oleh berbagai macam sistem operasi.
Teks file, yang adalah file yang tidak menghasilkan kode tetapi hanya menampilkan teks, berakhir dengan txt. Microsoft Word menyimpan file dengan ekstensi doc untuk dokumen. Jenis file lain yang umum adalah compress atau zip file, yang menggunakan ekstensi zip.
File exe adalah salah satu jenis file yang paling berguna karena digunakan untuk menjalankan program, namun ini juga membuat potensi berbahaya. Hal ini dapat digunakan sebagai sistem pengiriman virus atau rutinitas hal lainnya. Di luar sana, file exe yang terinfeksi selalu sangat ramah menyepa bahkan membujuk anda. Jika diklik maka akan muncul tidak lebih dari sebuah kartun animasi atau permainan arcade sederhana. Namun, kode tak terlihat dapat berjalan di latar belakang, menginfeksi komputer Anda.
Jika meng-klik pada file exe berbahaya, selama beberapa jam atau hari berikutnya komputer mungkin menjadi tidak stabil. Seringkali pengguna tidak dapat mengerjakan pekerjaan-pekerjaan tertentu seperti kebutuhan untuk defragment atau scan disk. Keystrokes informasi pribadi atau sandi mungkin akan dicuri sebuah website yang tidak diketahui tanpa pengetahuan pengguna, atau mesin dapat menghapus file sendiri dan malapetaka akan terjadi. Namun sebenarnya skenario ini dapat dihindari dengan tidak mengklik pada file exe.
Karena potensi bahaya, saat men-download file exe Anda harus scan virus dengan scanner dengan reputasi bagus sebelum mengkliknya. Untuk tujuan ini, para pakar keamanan merekomendasikan pengaturan browser sehingga situs tidak dapat menjalankan program secara otomatis. Surfer ini memberikan kesempatan untuk memantau program mana yang bisa dikirimkan ke komputer.
File Exe umumnya tidak dimaksudkan untuk diedit. Karena file exe paling sering digunakan untuk program, maka file ini dilindungi oleh undang-undang hak cipta, perjanjian lisensi per-koneksi yang dikeluarkan oleh pembuatnya. Hacking file exe adalah ilegal dalam kasus ini. Pengecualian adalah perangkat lunak domain publik. Perangkat lunak domain publik menjadi milik masyarakat dan secara legal dapat diubah oleh siapa pun.
Karena merupakan file yang rawan maka Anda harus hati-hati. Para ahli merekomendasikan menjaga checker virus up to date dan menghapus email dari sumber yang tidak dikenal. Jika Anda menerima file exe dari seseorang yang Anda percaya pun, file harus di-scan terlebih dahulu sebelum mengkliknya. Mengapa? Karena orang yang Anda kenal itu bisa difitnah oleh pihak ketiga tanpa pengetahuan Anda.

SISTEM PAKAR

Secara umum, sistem pakar adalah sistem yang berusaha mengadopsi pengetahuan manusia ke komputer yang dirancang untuk memodelkan kemampuan menyelesaikan masalah seperti layaknya seorang pakar. Dengan sistem pakar ini, orang awam pun dapat menyelesaikan masalahnya atau hanya sekedar mencari suatu informasi berkualitas yang sebenarnya hanya dapat diperoleh dengan bantuan para ahli di bidangnya. Sistem pakar ini juga akan dapat membantu aktivitas para pakar sebagai asisten yang berpengalaman dan mempunyai asisten yang berpengalaman dan mempunyai pengetahuan yang dibutuhkan. Dalam penyusunannya, sistem pakar mengkombinasikan kaidah-kaidah penarikan kesimpulan (inference rules) dengan basis pengetahuan tertentu yang diberikan oleh satu atau lebih pakar dalam bidang tertentu. Kombinasi dari kedua hal tersebut disimpan dalam komputer, yang selanjutnya digunakan dalam proses pengambilan keputusan untuk penyelesaian masalah tertentu.


Ciri-Ciri Sistem Pakar
Sistem pakar yang baik harus memenuhi ciri-ciri sebagai berikut :
·         Memiliki informasi yang handal.
·         Mudah dimodifikasi.
·         Dapat digunakan dalam berbagai jenis komputer.
·         Memiliki kemampuan untuk belajar beradaptasi.

Keuntungan Sistem Pakar
Secara garis besar, banyak manfaat yang dapat diambil dengan adanya sistem pakar, antara lain :
a.       Memungkinkan orang awam bisa mengerjakan pekerjaan para ahli.
b.      Bisa melakukan proses secara berulang secara otomatis.
c.       Menyimpan pengetahuan dan keahlian para pakar.
d.      Meningkatkan output dan produktivitas.
e.       Meningkatkan kualitas.
f.       Mampu mengambil dan melestarikan keahlian para pakar (terutama yang termasuk keahlian langka).
g.      Mampu beroperasi dalam lingkungan yang berbahaya.
h.      Memiliki kemampuan untuk mengakses pengetahuan.
i.        Memiliki reabilitas.
j.        Meningkatkan kapabilitas sistem komputer.
k.      Memiliki kemampuan untuk bekerja dengan informasi yang tidak lengkap dan mengandung ketidakpastian.
l.        Sebagai media pelengkap dalam pelatihan.
m.    Meningkatkan kapabilitas dalam penyelesaian masalah.
n.      Menghemat waktu dalam pengambilan keputusan

Kelemahan Sistem Pakar
Di samping memiliki beberapa keuntungan, sistem pakar juga memiliki beberapa kelemahan, antara lain :
ü  Biaya yang diperlukan untuk membuat dan memeliharanya sangat mahal.
ü  Sulit dikembangkan. Hal ini tentu saja erat kaitannya dengan ketersediaan pakar di bidangnya.
ü  Sistem Pakar tidak 100% bernilai benar.

Alasan Pengembangan Sistem Pakar
Sistem pakar sendiri dikembangkan lebih lanjut dengan alasan :
v  Dapat menyediakan kepakaran setiap waktu dan di berbagai lokasi.
v  Secara otomatis mengerjakan tugas-tugas rutin yang membutuhkan seorang pakar.
v  Seorang pakar akan pensiun atau pergi.
v  Seorang pakar adalah mahal.
v  Kepakaran dibutuhkan juga pada lingkungan yang tidak bersahabat.

Modul Penyusun Sistem Pakar
Menurut Staugaard (1987) suatu sistem pakar disusun oleh tiga modul utama yaitu :
1)      Modul Penerimaan Pengetahuan (Knowledge Acquisition Mode) Sistem berada pada modul ini, pada saat ia menerima pengetahuan dari pakar. Proses mengumpulkan pengetahuan-pengetahuan yang akan digunakan untuk pengembangan sistem, dilakukan dengan bantuan knowledge engineer. Peran knowledge engineer adalah sebagai penghubung antara suatu sistem pakar dengan pakarnya.
2)      Modul Konsultasi (Consultation Mode) Pada saat sistem berada pada posisi memberikan jawaban atas permasalahan yang diajukan oleh user, sistem pakar berada dalam modul konsultasi. Pada modul ini, user berinteraksi dengan sistem dengan menjawab pertanyaan-pertanyaan yang diajukan oleh sistem.
3)      Modul Penjelasan (Explanation Mode) Modul ini menjelaskan proses pengambilan keputusan oleh system (bagaimana suatu keputusan dapat diperoleh).

Struktur Sistem Pakar
Komponen utama pada struktur sistem pakar menurut Hu et al (1987) meliputi:
a.       Basis Pengetahuan (Knowledge Base)
Basis pengetahuan merupakan inti dari suatu sistem pakar, yaitu berupa representasi pengetahuan dari pakar. Basis pengetahuan tersusun atas fakta dan kaidah. Fakta adalah informasi tentang objek, peristiwa, atau situasi. Kaidah adalah cara untuk membangkitkan suatu fakta baru dari fakta yang sudah diketahui.
b.      Mesin Inferensi (Inference Engine)
Mesin inferensi berperan sebagai otak dari sistem pakar. Mesin inferensi berfungsi untuk memandu proses penalaran terhadap suatu kondisi, berdasarkan pada basis pengetahuan yang tersedia. Di dalam mesin inferensi terjadi proses untuk memanipulasi dan mengarahkan kaidah, model, dan fakta yang disimpan dalam basis pengetahuan dalam rangka mencapai solusi atau kesimpulan. Dalam prosesnya, mesin inferensi menggunakan strategi penalaran dan strategi pengendalian. Strategi penalaran terdiri dari strategi penalaran pasti (Exact Reasoning) dan strategi penalaran tak pasti (Inexact Reasoning). Exact reasoning akan dilakukan jika semua data yang dibutuhkan untuk menarik suatu kesimpulan tersedia, sedangkan inexact reasoning dilakukan pada keadaan sebaliknya.Strategi pengendalian berfungsi sebagai panduan arah dalam melakukan prose penalaran. Terdapat tiga tehnik pengendalian yang sering digunakan, yaitu forward chaining, backward chaining, dan gabungan dari kedua teknik pengendalian tersebut.
c.       Basis Data (Data Base)
Basis data terdiri atas semua fakta yang diperlukan, dimana fakta fakta tersebut digunakan untuk memenuhi kondisi dari kaidah-kaidah dalam sistem. Basis data menyimpan semua fakta, baik fakta awal pada saat sistem mulai beroperasi, maupun fakta-fakta yang diperoleh pada saat proses penarikan kesimpulan sedang dilaksanakan. Basis data digunakan untuk menyimpan data hasil observasi dan data lain yang dibutuhkan selama pemrosesan.
d.      Antarmuka Pemakai (User Interface)
Fasilitas ini digunakan sebagai perantara komunikasi antara pemakai.dengan komputer.
Teknik Representasi Pengetahuan
Representasi pengetahuan adalah suatu teknik untuk merepresentasikan basis pengetahuan yang diperoleh ke dalam suatu skema/diagram tertentu sehingga dapat diketahui relasi/keterhubungan antara suatu data dengan data yang lain. Teknik ini membantu knowledge engineer dalam memahami struktur pengetahuan yang akan dibuat sistem pakarnya. Terdapat beberapa teknik representasi pengetahuan yang biasa digunakan dalam pengembangan suatu sistem pakar, yaitu :
Ø  Rule-Based Knowledge
Pengetahuan direpresentasikan dalam suatu bentuk fakta (facts) dan aturan (rules). Bentuk representasi ini terdiri atas premise dan kesimpulan.
Ø  Frame-Based Knowledge
Pengetahuan direpresentasikan dalam suatu bentuk hirarki atau jaringan frame.
Ø  Object-Based Knowledge
Pengetahuan direpresentasikan sebagai jaringan dari obyek-obyek. Obyek adalah elemen data yang terdiri dari data dan metoda (proses).
Ø  Case-Base Reasoning
Pengetahuan direpresentasikan dalam bentuk kesimpulan kasus (cases).
Inferencing dengan Rule : Forward dan Backward Chaining
Inferensi dengan rules merupakan implementasi dari modus ponen, yang direfleksikan dalam mekanisme search (pencarian). Dapat pula mengecek semua rule pada knowledge base dalam arah forward maupun backward. Proses pencarian berlanjut sampai tidak ada rule yang dapat digunakan atau sampai sebuah tujuan (goal) tercapai. Ada dua metode inferencing dengan rules, yaitu forward chaining atau data-driven dan backward chaining atau goal-driven.
1.        Backward chaining
·         Menggunakan pendekatan goal-driven, dimulai dari ekspektasi apa yang diinginkan terjadi (hipotesis), kemudian mengecek pada sebab-sebab yang mendukung (ataupun kontradiktif) dari ekspektasi tersebut.
·         Jika suatu aplikasi menghasilkan tree yang sempit dan cukup dalam, maka gunakan backward chaining.
2.        Forward chaining
·         Forward chaining merupakan grup dari multiple inferensi yang melakukan pencarian dari suatu masalah kepada solusinya.
·         Jika klausa premis sesuai dengan situasi (bernilai TRUE), maka proses akan meng-assert konklusi.
·         Forward chaining adalah data-driven karena inferensi dimulai dengan informasi yang tersedia dan baru konklusi diperoleh.
·         Jika suatu aplikasi menghasilkan tree yang lebar dan tidak dalam, maka gunakan forward chaining.

Untuk contoh Program sitem pakar dapat anda Download Disini
Secara umum, sistem pakar adalah sistem yang berusaha mengadopsi pengetahuan manusia ke komputer yang dirancang untuk memodelkan kemampuan menyelesaikan masalah seperti layaknya seorang pakar. Dengan sistem pakar ini, orang awam pun dapat menyelesaikan masalahnya atau hanya sekedar mencari suatu informasi berkualitas yang sebenarnya hanya dapat diperoleh dengan bantuan para ahli di bidangnya. Sistem pakar ini juga akan dapat membantu aktivitas para pakar sebagai asisten yang berpengalaman dan mempunyai asisten yang berpengalaman dan mempunyai pengetahuan yang dibutuhkan. Dalam penyusunannya, sistem pakar mengkombinasikan kaidah-kaidah penarikan kesimpulan (inference rules) dengan basis pengetahuan tertentu yang diberikan oleh satu atau lebih pakar dalam bidang tertentu. Kombinasi dari kedua hal tersebut disimpan dalam komputer, yang selanjutnya digunakan dalam proses pengambilan keputusan untuk penyelesaian masalah tertentu.


Ciri-Ciri Sistem Pakar
Sistem pakar yang baik harus memenuhi ciri-ciri sebagai berikut :
·         Memiliki informasi yang handal.
·         Mudah dimodifikasi.
·         Dapat digunakan dalam berbagai jenis komputer.
·         Memiliki kemampuan untuk belajar beradaptasi.

Keuntungan Sistem Pakar
Secara garis besar, banyak manfaat yang dapat diambil dengan adanya sistem pakar, antara lain :
a.       Memungkinkan orang awam bisa mengerjakan pekerjaan para ahli.
b.      Bisa melakukan proses secara berulang secara otomatis.
c.       Menyimpan pengetahuan dan keahlian para pakar.
d.      Meningkatkan output dan produktivitas.
e.       Meningkatkan kualitas.
f.       Mampu mengambil dan melestarikan keahlian para pakar (terutama yang termasuk keahlian langka).
g.      Mampu beroperasi dalam lingkungan yang berbahaya.
h.      Memiliki kemampuan untuk mengakses pengetahuan.
i.        Memiliki reabilitas.
j.        Meningkatkan kapabilitas sistem komputer.
k.      Memiliki kemampuan untuk bekerja dengan informasi yang tidak lengkap dan mengandung ketidakpastian.
l.        Sebagai media pelengkap dalam pelatihan.
m.    Meningkatkan kapabilitas dalam penyelesaian masalah.
n.      Menghemat waktu dalam pengambilan keputusan

Kelemahan Sistem Pakar
Di samping memiliki beberapa keuntungan, sistem pakar juga memiliki beberapa kelemahan, antara lain :
ü  Biaya yang diperlukan untuk membuat dan memeliharanya sangat mahal.
ü  Sulit dikembangkan. Hal ini tentu saja erat kaitannya dengan ketersediaan pakar di bidangnya.
ü  Sistem Pakar tidak 100% bernilai benar.

Alasan Pengembangan Sistem Pakar
Sistem pakar sendiri dikembangkan lebih lanjut dengan alasan :
v  Dapat menyediakan kepakaran setiap waktu dan di berbagai lokasi.
v  Secara otomatis mengerjakan tugas-tugas rutin yang membutuhkan seorang pakar.
v  Seorang pakar akan pensiun atau pergi.
v  Seorang pakar adalah mahal.
v  Kepakaran dibutuhkan juga pada lingkungan yang tidak bersahabat.

Modul Penyusun Sistem Pakar
Menurut Staugaard (1987) suatu sistem pakar disusun oleh tiga modul utama yaitu :
1)      Modul Penerimaan Pengetahuan (Knowledge Acquisition Mode) Sistem berada pada modul ini, pada saat ia menerima pengetahuan dari pakar. Proses mengumpulkan pengetahuan-pengetahuan yang akan digunakan untuk pengembangan sistem, dilakukan dengan bantuan knowledge engineer. Peran knowledge engineer adalah sebagai penghubung antara suatu sistem pakar dengan pakarnya.
2)      Modul Konsultasi (Consultation Mode) Pada saat sistem berada pada posisi memberikan jawaban atas permasalahan yang diajukan oleh user, sistem pakar berada dalam modul konsultasi. Pada modul ini, user berinteraksi dengan sistem dengan menjawab pertanyaan-pertanyaan yang diajukan oleh sistem.
3)      Modul Penjelasan (Explanation Mode) Modul ini menjelaskan proses pengambilan keputusan oleh system (bagaimana suatu keputusan dapat diperoleh).

Struktur Sistem Pakar
Komponen utama pada struktur sistem pakar menurut Hu et al (1987) meliputi:
a.       Basis Pengetahuan (Knowledge Base)
Basis pengetahuan merupakan inti dari suatu sistem pakar, yaitu berupa representasi pengetahuan dari pakar. Basis pengetahuan tersusun atas fakta dan kaidah. Fakta adalah informasi tentang objek, peristiwa, atau situasi. Kaidah adalah cara untuk membangkitkan suatu fakta baru dari fakta yang sudah diketahui.
b.      Mesin Inferensi (Inference Engine)
Mesin inferensi berperan sebagai otak dari sistem pakar. Mesin inferensi berfungsi untuk memandu proses penalaran terhadap suatu kondisi, berdasarkan pada basis pengetahuan yang tersedia. Di dalam mesin inferensi terjadi proses untuk memanipulasi dan mengarahkan kaidah, model, dan fakta yang disimpan dalam basis pengetahuan dalam rangka mencapai solusi atau kesimpulan. Dalam prosesnya, mesin inferensi menggunakan strategi penalaran dan strategi pengendalian. Strategi penalaran terdiri dari strategi penalaran pasti (Exact Reasoning) dan strategi penalaran tak pasti (Inexact Reasoning). Exact reasoning akan dilakukan jika semua data yang dibutuhkan untuk menarik suatu kesimpulan tersedia, sedangkan inexact reasoning dilakukan pada keadaan sebaliknya.Strategi pengendalian berfungsi sebagai panduan arah dalam melakukan prose penalaran. Terdapat tiga tehnik pengendalian yang sering digunakan, yaitu forward chaining, backward chaining, dan gabungan dari kedua teknik pengendalian tersebut.
c.       Basis Data (Data Base)
Basis data terdiri atas semua fakta yang diperlukan, dimana fakta fakta tersebut digunakan untuk memenuhi kondisi dari kaidah-kaidah dalam sistem. Basis data menyimpan semua fakta, baik fakta awal pada saat sistem mulai beroperasi, maupun fakta-fakta yang diperoleh pada saat proses penarikan kesimpulan sedang dilaksanakan. Basis data digunakan untuk menyimpan data hasil observasi dan data lain yang dibutuhkan selama pemrosesan.
d.      Antarmuka Pemakai (User Interface)
Fasilitas ini digunakan sebagai perantara komunikasi antara pemakai.dengan komputer.
Teknik Representasi Pengetahuan
Representasi pengetahuan adalah suatu teknik untuk merepresentasikan basis pengetahuan yang diperoleh ke dalam suatu skema/diagram tertentu sehingga dapat diketahui relasi/keterhubungan antara suatu data dengan data yang lain. Teknik ini membantu knowledge engineer dalam memahami struktur pengetahuan yang akan dibuat sistem pakarnya. Terdapat beberapa teknik representasi pengetahuan yang biasa digunakan dalam pengembangan suatu sistem pakar, yaitu :
Ø  Rule-Based Knowledge
Pengetahuan direpresentasikan dalam suatu bentuk fakta (facts) dan aturan (rules). Bentuk representasi ini terdiri atas premise dan kesimpulan.
Ø  Frame-Based Knowledge
Pengetahuan direpresentasikan dalam suatu bentuk hirarki atau jaringan frame.
Ø  Object-Based Knowledge
Pengetahuan direpresentasikan sebagai jaringan dari obyek-obyek. Obyek adalah elemen data yang terdiri dari data dan metoda (proses).
Ø  Case-Base Reasoning
Pengetahuan direpresentasikan dalam bentuk kesimpulan kasus (cases).
Inferencing dengan Rule : Forward dan Backward Chaining
Inferensi dengan rules merupakan implementasi dari modus ponen, yang direfleksikan dalam mekanisme search (pencarian). Dapat pula mengecek semua rule pada knowledge base dalam arah forward maupun backward. Proses pencarian berlanjut sampai tidak ada rule yang dapat digunakan atau sampai sebuah tujuan (goal) tercapai. Ada dua metode inferencing dengan rules, yaitu forward chaining atau data-driven dan backward chaining atau goal-driven.
1.        Backward chaining
·         Menggunakan pendekatan goal-driven, dimulai dari ekspektasi apa yang diinginkan terjadi (hipotesis), kemudian mengecek pada sebab-sebab yang mendukung (ataupun kontradiktif) dari ekspektasi tersebut.
·         Jika suatu aplikasi menghasilkan tree yang sempit dan cukup dalam, maka gunakan backward chaining.
2.        Forward chaining
·         Forward chaining merupakan grup dari multiple inferensi yang melakukan pencarian dari suatu masalah kepada solusinya.
·         Jika klausa premis sesuai dengan situasi (bernilai TRUE), maka proses akan meng-assert konklusi.
·         Forward chaining adalah data-driven karena inferensi dimulai dengan informasi yang tersedia dan baru konklusi diperoleh.
·         Jika suatu aplikasi menghasilkan tree yang lebar dan tidak dalam, maka gunakan forward chaining.

Untuk contoh Program sitem pakar dapat anda Download Disini

Dasar Program Assembly

Bahasa Assembly adalah bahasa komputer yang kedudukannya di antara bahasa mesin dan bahasa level tinggi misalnya bahasa C atau Pascal. Bahasa C atau Pascal dikatakan sebagai bahasa level tinggi karena memakai kata-kata dan pernyataan yang mudah dimengerti manusia, meskipun masih jauh berbeda dengan bahasa manusia sesungguhnya. Bahasa mesin adalah kumpulan kode biner yang merupakan instruksi yang bisa dijalankan oleh komputer. Sedangkan bahasa Assembly memakai kode Mnemonic untuk menggantikan kode biner, agar lebih mudah diingat sehingga lebih memudahkan penulisan program.
Program yang ditulis dengan bahasa Assembly terdiri dari label; kode mnemonic dan lain sebagainya, pada umumnya dinamakan sebagai program sumber (Source Code) yang belum bisa diterima oleh prosesor untuk dijalankan sebagai program, tapi harus diterjemahkan dulu menjadi bahasa mesin dalam bentuk kode biner.
Program sumber dibuat dengan program editor biasa, misalnya Notepad pada Windows atau SideKick pada DOS, selanjutnya program sumber diterjemahkan ke bahasa mesin dengan menggunakan program Assembler. Hasil kerja program Assembler adalah “program objek” dan juga “assembly listing”.
Program Objek berisikan kode kode bahasa mesin, kode-kode bahasa mesin inilah yang diumpankan ke memori-program prosesor. Dalam dunia mikrokontroler biasanya program objek ini diisikan ke UV EPROM, dan khusus untuk mikrokontroler buatan Atmel, program ini diisikan ke dalam Flash PEROM yang ada di dalam chip AT89C51 atau AT89C2051.

Assembly Listing merupakan naskah yang berasal dari program sumber, dalam naskah tersebut pada bagian sebelah setiap baris dari program sumber diberi tambahan hasil terjemahan program Assembler. Tambahan tersebut berupa nomor memori-program berikut dengan kode yang akan diisikan pada memori-program bersangkutan. Naskah ini sangat berguna untuk dokumentasi dan sarana untuk menelusuri program yang ditulis.
Yang perlu diperhatikan adalah setiap prosesor mempunyai konstruksi yang berlainan, instruksi untuk mengendalikan masing-masing prosesor juga berlainan, dengan demikian bahasa Assembly untuk masing-masing prosesor juga berlainan, yang sama hanyalah pola dasar cara penulisan program Assembly saja.

Proses Assembly

Konstruksi Program Assembly
Program sumber dalam bahasa Assembly menganut prinsip 1 baris untuk satu perintah, setiap baris perintah tersebut bisa terdiri atas beberapa bagian (field), yakni bagian Label, bagian mnemonic, bagian operand yang bisa lebih dari satu dan terakhir bagian komentar. Untuk membedakan masing-masing bagian tersebut dibuat ketentuan sebagian berikut:
o Masing-masing bagian dipisahkan dengan spasi atau TAB, khusus untuk operand yang lebih dari satu masing-masing operand dipisahkan dengan koma.
o Bagian-bagian tersebut tidak harus semuanya ada dalam sebuah baris, jika ada satu bagian yang tidak ada maka spasi atau TAB sebagai pemisah bagian tetap harus ditulis.
· Bagian Label ditulis mulai huruf pertama dari baris, jika baris bersangkutan tidak mengandung Label maka label tersebut digantikan dengan spasi atau TAB, yakni sebagai tanda pemisah antara bagian Label dan bagian mnemonic.
Label mewakili nomor memori-program dari instruksi pada baris bersangkutan, pada saat menulis instruksi JUMP, Label ini ditulis dalam bagian operand untuk menyatakan nomor memori-program yang dituju. Dengan demikian Label selalu mewakili nomor memori-program dan harus ditulis dibagian awal baris instruksi.
Disamping Label dikenal pula Symbol, yakni satu nama untuk mewakili satu nilai tertentu dan nilai yang diwakili bisa apa saja tidak harus nomor memori-program. Cara penulisan Symbol sama dengan cara penulisan Label, harus dimulai di huruf pertama dari baris instruksi.
Mnemonic (arttinya sesuatu yang memudahkan diingat) merupakan singkatan perintah, dikenal dua macam mnemonic, yakni manemonic yang dipakai sebagai instruksi mengendalikan prosesor, misalnya ADD, MOV, DJNZ dan lain sebagainya. Ada pula mnemonic yang dipakai untuk mengatur kerja dari program Assembler misalnya ORG, EQU atau DB, mnemonis untuk mengatur kerja dari program Assembler ini dinamakan sebagai ‘Assembler Directive’.
Operand adalah bagian yang letaknya di belakang bagian mnemonic, merupakan pelangkap bagi mnemonic. Kalau sebuah instrksi di-ibaratkan sebagai kalimat perintah, maka mnemonic merupakan subjek (kata kerja) dan operand merupakan objek (kata benda) dari kalimat perintah tersebut.
Tergantung pada jenis instruksinya, operand bisa berupa berbagai macam hal. Pada instruksi JUMP operand berupa Label yang mewakili nomor memori-program yang dituju misalnya LJMP Start, pada instruksi untuk pemindahan/pengolahan data, operand bisa berupa Symbol yang mewakili data tersebut, misalnya ADD A,#Offset. Banyak instruksi yang operandnya adalah register dari prosesor, misalnya MOV A,R1. Bahkan ada pula instruksi yang tidak mempunyai operand, misalnya RET.
Komentar merupakan bagian yang sekedar sebagai catatan, tidak berpengaruh pada prosesor juga tidak berpengaruh pada kerja program Assembler, tapi bagian ini sangat penting untuk keperluan dokumentasi.
Assembler Directive
Seperti sudah dibahas di atas, bagian Mnemonic dari sebuah baris perintah bisa merupakan instruksi untuk prosesor, maupun berupa Assembler Directive untuk mengatur kerja dari program Assembler. Mnemonic untuk instruksi prosesor, sangat tergantung pada prosesor yang dipakai, sedangkan mnemonic untuk Assembler Directive tergantung pada program Assembler yang dipakai. Meskipun demikian, terdapat beberapa Assembler Directive yang umum, yang sama untuk banyak macam program Assembler.
Assembler Directive yang bersifat umum tersebut, antara lain adalah
o ORG – singkatan dari ORIGIN, untuk menyatakan nomor memori yang dipakai setelah perintah itu, misalnya ORG $1000 maka memori berikutnya yang dipakai Assembler adalah $1000. ORG berlaku untuk memori program maupun memori-data. Dalam hal penomoran memori, dikenal tanda $ sebagai awalan untuk menyatakan nomor memori dari baris bersangkutan. Misalnya :
ORG 1000
LJMP $+1000
Operand $+$500 mempunyai arti nomor memori-program bersangkutan ditambah dengan $500, karena instruksi LJMP ini terletak persis di bawah ORG $1000 maka nomor memori-program baris ini adalah $1000, sehingga operand $+$500 bernilai $1500 dan instruksi ini indentik dengan LJMP $1500
o EQU – singkatan dari EQUATE, dipakai untuk menentukan nilai sebuah Symbol.
Misalnya Angka88 EQU 88 memberi nilai 88 pada Symbol Angka88, atau CR EQU $0D mempunyai makna kode ASCII dari CR (Caarriage Return) adalah $08.
o DB – singkatan dari DEFINE BYTE, dipakai untuk memberi nilai tertentu pada memori-program. Nilai tersebut merupakan nilai 1 byte, bisa berupa angka ataupun kode ASCII. DB merupakan Assembler Directive yang dipakai untuk membentuk teks maupun tabel.
ORG $0200
STRING DB ‘Atmel AT89C2051’
PANJANG EQU $-STRING
o ORG $0200 memerintahkan program Assembler agar bekerja mulai dari memori-program nomor $0200, instruksi selanjutnya memerintahkan program Assembler agar mengisi memori-program nomor $0200 dan berikutnya dengan tulisan ‘Atmel AT89C2051’’ (yang diisikan adalah kode ASCII dari ‘A’, ‘t’ dan seterusnya), PANJANG dari STRING bisa dihitung dengan cara PANJANG EQU $-STRING, yakni selisih dari nomor memori-program baris bersangkutan dikurangi dengan nomor awal memori-program yang diisi STRING.
o DW – singkatan dari DEFINE WORD, dipakai untuk memberi nilai 2 byte ke memori-program pada baris bersangkutan. Assembler Directive ini biasa dipakai untuk membentuk suatu tabel yang isinya adalah nomor-nomor memori-program.
o DS – singkatan dari Define Storage, Assembler Directive ini dipakai untuk membentuk variable. Sebagai variabel tentu saja memori yang dipakai adalah memori-data (RAM) bukan memori-program (ROM). Hal ini harus benar-benar dibedakan dengan Assembler Directive DB dan DW yang membentuk kode di memori-program. Dan karena DS bekerja di RAM, maka DS hanya sekedar menyediakan tempat di memori, tapi tidak mengisi nilai pada memori bersangkutan.
File tentang Dasar Program Assembly Bisa anda Download Disini

Bahasa Assembly adalah bahasa komputer yang kedudukannya di antara bahasa mesin dan bahasa level tinggi misalnya bahasa C atau Pascal. Bahasa C atau Pascal dikatakan sebagai bahasa level tinggi karena memakai kata-kata dan pernyataan yang mudah dimengerti manusia, meskipun masih jauh berbeda dengan bahasa manusia sesungguhnya. Bahasa mesin adalah kumpulan kode biner yang merupakan instruksi yang bisa dijalankan oleh komputer. Sedangkan bahasa Assembly memakai kode Mnemonic untuk menggantikan kode biner, agar lebih mudah diingat sehingga lebih memudahkan penulisan program.
Program yang ditulis dengan bahasa Assembly terdiri dari label; kode mnemonic dan lain sebagainya, pada umumnya dinamakan sebagai program sumber (Source Code) yang belum bisa diterima oleh prosesor untuk dijalankan sebagai program, tapi harus diterjemahkan dulu menjadi bahasa mesin dalam bentuk kode biner.
Program sumber dibuat dengan program editor biasa, misalnya Notepad pada Windows atau SideKick pada DOS, selanjutnya program sumber diterjemahkan ke bahasa mesin dengan menggunakan program Assembler. Hasil kerja program Assembler adalah “program objek” dan juga “assembly listing”.
Program Objek berisikan kode kode bahasa mesin, kode-kode bahasa mesin inilah yang diumpankan ke memori-program prosesor. Dalam dunia mikrokontroler biasanya program objek ini diisikan ke UV EPROM, dan khusus untuk mikrokontroler buatan Atmel, program ini diisikan ke dalam Flash PEROM yang ada di dalam chip AT89C51 atau AT89C2051.

Assembly Listing merupakan naskah yang berasal dari program sumber, dalam naskah tersebut pada bagian sebelah setiap baris dari program sumber diberi tambahan hasil terjemahan program Assembler. Tambahan tersebut berupa nomor memori-program berikut dengan kode yang akan diisikan pada memori-program bersangkutan. Naskah ini sangat berguna untuk dokumentasi dan sarana untuk menelusuri program yang ditulis.
Yang perlu diperhatikan adalah setiap prosesor mempunyai konstruksi yang berlainan, instruksi untuk mengendalikan masing-masing prosesor juga berlainan, dengan demikian bahasa Assembly untuk masing-masing prosesor juga berlainan, yang sama hanyalah pola dasar cara penulisan program Assembly saja.

Proses Assembly

Konstruksi Program Assembly
Program sumber dalam bahasa Assembly menganut prinsip 1 baris untuk satu perintah, setiap baris perintah tersebut bisa terdiri atas beberapa bagian (field), yakni bagian Label, bagian mnemonic, bagian operand yang bisa lebih dari satu dan terakhir bagian komentar. Untuk membedakan masing-masing bagian tersebut dibuat ketentuan sebagian berikut:
o Masing-masing bagian dipisahkan dengan spasi atau TAB, khusus untuk operand yang lebih dari satu masing-masing operand dipisahkan dengan koma.
o Bagian-bagian tersebut tidak harus semuanya ada dalam sebuah baris, jika ada satu bagian yang tidak ada maka spasi atau TAB sebagai pemisah bagian tetap harus ditulis.
· Bagian Label ditulis mulai huruf pertama dari baris, jika baris bersangkutan tidak mengandung Label maka label tersebut digantikan dengan spasi atau TAB, yakni sebagai tanda pemisah antara bagian Label dan bagian mnemonic.
Label mewakili nomor memori-program dari instruksi pada baris bersangkutan, pada saat menulis instruksi JUMP, Label ini ditulis dalam bagian operand untuk menyatakan nomor memori-program yang dituju. Dengan demikian Label selalu mewakili nomor memori-program dan harus ditulis dibagian awal baris instruksi.
Disamping Label dikenal pula Symbol, yakni satu nama untuk mewakili satu nilai tertentu dan nilai yang diwakili bisa apa saja tidak harus nomor memori-program. Cara penulisan Symbol sama dengan cara penulisan Label, harus dimulai di huruf pertama dari baris instruksi.
Mnemonic (arttinya sesuatu yang memudahkan diingat) merupakan singkatan perintah, dikenal dua macam mnemonic, yakni manemonic yang dipakai sebagai instruksi mengendalikan prosesor, misalnya ADD, MOV, DJNZ dan lain sebagainya. Ada pula mnemonic yang dipakai untuk mengatur kerja dari program Assembler misalnya ORG, EQU atau DB, mnemonis untuk mengatur kerja dari program Assembler ini dinamakan sebagai ‘Assembler Directive’.
Operand adalah bagian yang letaknya di belakang bagian mnemonic, merupakan pelangkap bagi mnemonic. Kalau sebuah instrksi di-ibaratkan sebagai kalimat perintah, maka mnemonic merupakan subjek (kata kerja) dan operand merupakan objek (kata benda) dari kalimat perintah tersebut.
Tergantung pada jenis instruksinya, operand bisa berupa berbagai macam hal. Pada instruksi JUMP operand berupa Label yang mewakili nomor memori-program yang dituju misalnya LJMP Start, pada instruksi untuk pemindahan/pengolahan data, operand bisa berupa Symbol yang mewakili data tersebut, misalnya ADD A,#Offset. Banyak instruksi yang operandnya adalah register dari prosesor, misalnya MOV A,R1. Bahkan ada pula instruksi yang tidak mempunyai operand, misalnya RET.
Komentar merupakan bagian yang sekedar sebagai catatan, tidak berpengaruh pada prosesor juga tidak berpengaruh pada kerja program Assembler, tapi bagian ini sangat penting untuk keperluan dokumentasi.
Assembler Directive
Seperti sudah dibahas di atas, bagian Mnemonic dari sebuah baris perintah bisa merupakan instruksi untuk prosesor, maupun berupa Assembler Directive untuk mengatur kerja dari program Assembler. Mnemonic untuk instruksi prosesor, sangat tergantung pada prosesor yang dipakai, sedangkan mnemonic untuk Assembler Directive tergantung pada program Assembler yang dipakai. Meskipun demikian, terdapat beberapa Assembler Directive yang umum, yang sama untuk banyak macam program Assembler.
Assembler Directive yang bersifat umum tersebut, antara lain adalah
o ORG – singkatan dari ORIGIN, untuk menyatakan nomor memori yang dipakai setelah perintah itu, misalnya ORG $1000 maka memori berikutnya yang dipakai Assembler adalah $1000. ORG berlaku untuk memori program maupun memori-data. Dalam hal penomoran memori, dikenal tanda $ sebagai awalan untuk menyatakan nomor memori dari baris bersangkutan. Misalnya :
ORG 1000
LJMP $+1000
Operand $+$500 mempunyai arti nomor memori-program bersangkutan ditambah dengan $500, karena instruksi LJMP ini terletak persis di bawah ORG $1000 maka nomor memori-program baris ini adalah $1000, sehingga operand $+$500 bernilai $1500 dan instruksi ini indentik dengan LJMP $1500
o EQU – singkatan dari EQUATE, dipakai untuk menentukan nilai sebuah Symbol.
Misalnya Angka88 EQU 88 memberi nilai 88 pada Symbol Angka88, atau CR EQU $0D mempunyai makna kode ASCII dari CR (Caarriage Return) adalah $08.
o DB – singkatan dari DEFINE BYTE, dipakai untuk memberi nilai tertentu pada memori-program. Nilai tersebut merupakan nilai 1 byte, bisa berupa angka ataupun kode ASCII. DB merupakan Assembler Directive yang dipakai untuk membentuk teks maupun tabel.
ORG $0200
STRING DB ‘Atmel AT89C2051’
PANJANG EQU $-STRING
o ORG $0200 memerintahkan program Assembler agar bekerja mulai dari memori-program nomor $0200, instruksi selanjutnya memerintahkan program Assembler agar mengisi memori-program nomor $0200 dan berikutnya dengan tulisan ‘Atmel AT89C2051’’ (yang diisikan adalah kode ASCII dari ‘A’, ‘t’ dan seterusnya), PANJANG dari STRING bisa dihitung dengan cara PANJANG EQU $-STRING, yakni selisih dari nomor memori-program baris bersangkutan dikurangi dengan nomor awal memori-program yang diisi STRING.
o DW – singkatan dari DEFINE WORD, dipakai untuk memberi nilai 2 byte ke memori-program pada baris bersangkutan. Assembler Directive ini biasa dipakai untuk membentuk suatu tabel yang isinya adalah nomor-nomor memori-program.
o DS – singkatan dari Define Storage, Assembler Directive ini dipakai untuk membentuk variable. Sebagai variabel tentu saja memori yang dipakai adalah memori-data (RAM) bukan memori-program (ROM). Hal ini harus benar-benar dibedakan dengan Assembler Directive DB dan DW yang membentuk kode di memori-program. Dan karena DS bekerja di RAM, maka DS hanya sekedar menyediakan tempat di memori, tapi tidak mengisi nilai pada memori bersangkutan.
File tentang Dasar Program Assembly Bisa anda Download Disini

Bahasa Assembly

Bahasa assembly merupakan bahasa aras bawah, dimana merupakan bahasa mesin, sangat banyak keuntungan yang kita dapatkan dari belajar bahasa ini, diantaranya kita bisa belajar untuk mengakses hardware secara langsung,disamping ukuran file hasil kompilasi juga kecil. Jurusan Teknik Informasi UIMadura menggunakan Bahasa Assembly untuk Mikroprocessor Zilog 80. Modul yang digunakan adalah KENTAC-Z80.
Untuk lebih jelasnya tentang Bahasa Assembly, dapat anda download Disni


Bahasa assembly merupakan bahasa aras bawah, dimana merupakan bahasa mesin, sangat banyak keuntungan yang kita dapatkan dari belajar bahasa ini, diantaranya kita bisa belajar untuk mengakses hardware secara langsung,disamping ukuran file hasil kompilasi juga kecil. Jurusan Teknik Informasi UIMadura menggunakan Bahasa Assembly untuk Mikroprocessor Zilog 80. Modul yang digunakan adalah KENTAC-Z80.
Untuk lebih jelasnya tentang Bahasa Assembly, dapat anda download Disni


 
Modified by analisa saham from Blogger Templates, Bibir SEO Sponsors: WooThemes Coupon Code, Rockable Press Discount Code