Menu
Pasang iklan SEO disini Murah, 300.000/6 Bulan dan dapatkan Trafik setiap harinya

Mengoperasikan Bahasa Pemrograman Level Mesin TIK.PR02.031.01

Jul
08
2015
by : Bupeko. Posted in : blog

 

MATERI PELATIHAN BERBASIS KOMPETENSI

SEKTOR TELEMATIKA

SUB SEKTOR PROGRAMMER KOMPUTER

 

 

MENGOPERASIKAN BAHASA PEMROGRAMAN LEVEL MESIN

TIK.PR02.031.01

 

 

 

 

BUKU INFORMASI

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

DEPARTEMEN TENAGA KERJA DAN TRANSMIGRASI R.I.

DIREKTORAT JENDERAL PEMBINAAN PELATIHAN DAN PRODUKTIVITAS

Jl. Jend. Gatot Subroto Kav.51 Lt.7.B Jakarta Selatan

 

 

DAFTAR ISI

 

Daftar Isi ………………………………………………………………………………….. …….. 1

 

BAB I. 3

PENGANTAR. 3

1.1   Konsep Dasar Competency Based Training (CBT) 3

1.2   Penjelasan Modul 3

1.2.1   Desain Modul 3

1.2.2   Isi Modul 4

1.2.3   Pelaksanaan Modul 4

1.3   Pengakuan Kompetensi Terkini (RCC) 5

1.4   Pengertian-Pengertian / Istilah. 5

 

BAB II. 7

STANDAR KOMPETENSI. 7

2.1   Peta Paket Pelatihan. 7

2.2   Pengertian Unit Standar Kompetensi 7

2.3   Unit Kompetensi Yang Dipelajari 7

2.3.1 Kode dan Judul Unit 8

2.3.2 Deskripsi Unit 8

2.3.3 Elemen Kompetensi 8

2.3.4 Batasan Variabel 9

 

BAB III. 11

STRATEGI DAN METODE PELATIHAN. 11

3.1   Strategi Pelatihan. 11

3.2   Metode Pelatihan. 12

 

BAB IV. 13

MATERI UNIT KOMPETENSI. 13

4.1   Tujuan Instruksional Umum.. 13

4.2   Tujuan Instruksional Khusus 13

4.3   Pendahuluan. 14

4.4   Membuat Program COM. 17

4.5. Membuat Program Sederhana. 19

4.6. Pengulangan dengan LOOP. 23

4.7   Tipe Data. 24

4.8. Program Masukkan dari Keyboard. 26

4.9. Procedure dan Fungsi 32

 

BAB V. 36

SUMBER-SUMBER YANG DIPERLUKAN UNTUK PENCAPAIAN                          KOMPETENSI  36

5.1   Sumber Daya Manusia. 36

5.2.  Sumber-sumber Kepustakaan ( Buku Informasi ) 37

5.3   Daftar Peralatan dan Bahan yang digunakan. 38

 

DAFTAR PUSTAKA. 39

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

BAB I

PENGANTAR

 

1.1    Konsep Dasar Competency Based Training (CBT)

  • Apakah pelatihan berdasarkan kompetensi?

Pelatihan berdasarkan kompetensi adalah pelatihan yang memperhatikan pengetahuan, keterampilan dan sikap yang diperlukan di tempat kerja agar dapat melakukan pekerjaan dengan kompeten. Standar Kompetensi dijelaskan oleh Kriteria Unjuk Kerja.

 

  • Apakah artinya menjadi kompeten ditempat kerja?

Jika anda kompeten dalam pekerjaan tertentu, anda memiliki seluruh keterampilan, pengetahuan dan sikap yang perlu untuk ditampilkan secara efektif ditempat kerja, sesuai dengan standar yang telah disetujui.

 

1.2  Penjelasan Modul

Modul ini dikonsep agar dapat digunakan pada proses Pelatihan Konvensional/Klasikal dan Pelatihan Individual/Mandiri. Yang dimaksud dengan Pelatihan Konvensional/Klasikal, yaitu pelatihan yang dilakukan dengan melibatkan bantuan seorang pembimbing atau guru seperti proses belajar mengajar sebagaimana biasanya dimana materi hampir sepenuhnya dijelaskan dan disampaikan pelatih/pembimbing yang bersangkutan.

 

Sedangkan yang dimaksud dengan Pelatihan Mandiri/Individual adalah pelatihan yang dilakukan secara mandiri oleh peserta sendiri berdasarkan materi dan sumber-sumber informasi dan pengetahuan yang bersangkutan. Pelatihan mandiri cenderung lebih menekankan pada kemauan belajar peserta itu sendiri. Singkatnya pelatihan ini dilaksanakan peserta dengan menambahkan unsur-unsur atau sumber-sumber yang diperlukan baik dengan usahanya sendiri maupun melalui bantuan dari pelatih.

 

1.2.1  Desain Modul

Modul ini didesain untuk dapat digunakan pada Pelatihan Klasikal dan Pelatihan Individual / mandiri:

  • Pelatihan klasikal adalah pelatihan yang disampaiakan oleh seorang pelatih.
  • Pelatihan individual / mandiri adalah pelatihan yang dilaksanakan oleh peserta dengan menambahkan unsur-unsur / sumber-sumber yang diperlukan dengan bantuan dari pelatih.

 

1.2.2  Isi Modul

Buku Informasi

Buku informasi ini adalah sumber pelatihan untuk pelatih maupun peserta pelatihan.

 

Buku Kerja

Buku kerja ini harus digunakan oleh peserta pelatihan untuk mencatat setiap pertanyaan dan kegiatan praktek baik dalam Pelatihan Klasikal maupun Pelatihan Individual / mandiri.

 

Buku ini diberikan kepada peserta pelatihan dan berisi :

  • Kegiatan-kegiatan yang akan membantu peserta pelatihan untuk mempelajari dan memahami informasi.
  • Kegiatan pemeriksaan yang digunakan untuk memonitor pencapaian keterampilan peserta pelatihan.
  • Kegiatan penilaian untuk menilai kemampuan peserta pelatihan dalam melaksanakan praktik kerja.

 

Buku Penilaian

Buku penilaian ini digunakan oleh pelatih untuk menilai jawaban dan tanggapan peserta pelatihan pada Buku Kerja dan berisi :

  • Kegiatan-kegiatan yang dilakukan oleh peserta pelatihan sebagai pernyataan keterampilan.
  • Metode-metode yang disarankan dalam proses penilaian keterampilan peserta pelatihan.
  • Sumber-sumber yang digunakan oleh peserta pelatihan untuk mencapai keterampilan.
  • Semua jawaban pada setiap pertanyaan yang diisikan pada Buku Kerja.
  • Petunjuk bagi pelatih untuk menilai setiap kegiatan praktik.
  • Catatan pencapaian keterampilan peserta pelatihan.

 

1.2.3  Pelaksanaan Modul

Pada pelatihan klasikal, pelatih akan:

-    Menyediakan Buku Informasi yang dapat digunakan peserta pelatihan sebagai sumber pelatihan.

-    Menyediakan salinan Buku Kerja kepada setiap peserta pelatihan.

-    Menggunakan Buku Informasi sebagai sumber utama dalam penyelenggaraan pelatihan.

-    Memastikan setiap peserta pelatihan memberikan jawaban / tanggapan dan menuliskan hasil tugas praktiknya pada Buku Kerja.

 

Pada Pelatihan individual / mandiri, peserta pelatihan akan:

- Menggunakan Buku Informasi sebagai sumber utama pelatihan.

- Menyelesaikan setiap kegiatan yang terdapat pada buku Kerja.

- Memberikan jawaban pada Buku Kerja.

- Mengisikan hasil tugas praktik pada Buku Kerja.

- Memiliki tanggapan-tanggapan dan hasil penilaian oleh pelatih.

 

1.3 Pengakuan Kompetensi Terkini (RCC)

  • Apakah Pengakuan Kompetensi Terkini (Recognition of Current Competency)?

Jika Anda telah memiliki pengetahuan dan keterampilan yang diperlukan untuk elemen unit kompetensi tertentu, Anda dapat mengajukan pengakuan kompetensi terkini (RCC). Berarti Anda tidak akan dipersyaratkan untuk belajar kembali.

 

  • Anda mungkin sudah memiliki pengetahuan dan keterampilan, karena Anda telah :
  1. Bekerja dalam suatu pekerjaan yang memerlukan suatu pengetahuan dan keterampilan yang sama atau
  2. Berpartisipasi dalam pelatihan yang mempelajari kompetensi yang sama atau
  3. Mempunyai pengalaman lainnya yang mengajarkan pengetahuan dan keterampilan yang sama.

 

1.4 Pengertian-Pengertian / Istilah

Profesi

Profesi adalah suatu bidang pekerjaan yang menuntut sikap, pengetahuan serta keterampilan/keahlian kerja tertentu yang diperoleh dari proses pendidikan, pelatihan serta pengalaman kerja atau penguasaan sekumpulan kompetensi tertentu yang dituntut oleh suatu pekerjaan/jabatan.

 

Standarisasi

Standardisasi adalah proses merumuskan, menetapkan serta menerapkan suatu standar tertentu.

 

Penilaian / Uji Kompetensi

Penilaian atau Uji Kompetensi adalah proses pengumpulan bukti melalui perencanaan, pelaksanaan dan peninjauan ulang (review) penilaian serta keputusan mengenai apakah kompetensi sudah tercapai dengan membandingkan bukti-bukti yang dikumpulkan terhadap standar yang dipersyaratkan.

 

Pelatihan

Pelatihan adalah proses pembelajaran yang dilaksanakan untuk mencapai suatu kompetensi tertentu dimana materi, metode dan fasilitas pelatihan serta lingkungan belajar yang ada terfokus kepada pencapaian unjuk kerja pada kompetensi yang dipelajari.

 

Kompetensi

Kompetensi adalah kemampuan seseorang untuk menunjukkan aspek sikap, pengetahuan dan keterampilan serta penerapan dari ketiga aspek tersebut ditempat kerja untuk mwncapai unjuk kerja yang ditetapkan.

 

 

Standar Kompetensi

Standar kompetensi adalah standar yang ditampilkan dalam istilah-istilah hasil serta memiliki format standar yang terdiri dari judul unit, deskripsi unit, elemen kompetensi, kriteria unjuk kerja, ruang lingkup serta pedoman bukti.

 

Sertifikat Kompetensi

Adalah pengakuan tertulis atas penguasaan suatu kompetensi tertentu kepada seseorang yang dinyatakan kompeten yang diberikan oleh Lembaga Sertifikasi Profesi.

 

Sertifikasi Kompetensi

Adalah proses penerbitan sertifikat kompetensi melalui proses penilaian / uji kompetensi.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

BAB II

STANDAR KOMPETENSI

 

2.1 Peta Paket Pelatihan

Modul yang sedang Anda pelajari ini bertujuan untuk mencapai satu unit kompetensi. Adapun kompetensi ini termasuk dalam satu paket pelatihan, yang terdiri atas unit-unit kompetensi berikut:

  1. TIK.PR02.031.01     Mengoperasikan Bahasa Pemrograman Level Mesin

 

2.2 Pengertian Unit Standar Kompetensi

Apakah Standar Kompetensi? Setiap Standar Kompetensi menentukan :

  1. Pengetahuan dan keterampilan yang diperlukan untuk mencapai kompetensi.
  2. Standar yang diperlukan untuk mendemonstrasikan kompetensi.
  3. Kondisi dimana kompetensi dicapai.

 

Di dalam unit kompetensi ini, Anda akan mempelajari bagaimana cara merancang dan menerapkan basis data.

 

Sistem pelatihan berbasis kompetensi terfokus pada pencapaian kompetensi, bukan pada lamanya waktu. Namun, diharapkan pelatihan ini dapat dilaksanakan dan dicapai dalam jangka waktu tidak lebih dari seminggu, tiga sampai lima hari. Pelatihan ini diperuntukkan khusus bagi para technical support, walaupun tidak menutup kemungkinan bagi semua orang yang terlibat dalam penggunaan komputer.

 

Jika Anda belum mencapai kompetensi pada usaha/kesempatan pertama, Pelatih Anda akan mengatur rencana pelatihan dengan Anda. Rencana ini akan memberikan Anda kesempatan kembali untuk meningkatkan level kompetensi Anda sesuai dengan level yang diperlukan. Jumlah maksimum usaha/kesempatan yang disarankan adalah 3 (tiga) kali.

 

2.3 Unit Kompetensi Yang Dipelajari

Dalam sistem pelatihan Standar Kompetensi diharapkan menjadi panduan bagi peserta pelatihan untuk dapat:

  1. Mengidentifikasikan apa yang harus dikerjakan peserta pelatihan.
  2. Memeriksa kemajuan peserta pelatihan.
  3. Menyakinkan bahwa semua elemen (sub-kompetensi) dan kriteria unjuk   kerja telah dimasukkan dalam pelatihan dan penilaian.

 

2.3.1 Kode dan Judul Unit

Kode Unit        : TIK.PR02.031.01

Judul Unit       : Mengoperasikan Bahasa Pemrograman Level Mesin

 

2.3.2 Deskripsi Unit

Unit menentukan kompetensi yang di perlukan untuk membuat program menggunakan bahasa level mesin. Bahasa pemrograman level mesin pemrograman merupakan bahasa untuk membuat program dengan menggunakan instruksi yang berorientasi pada mesin.

2.3.3 Elemen Kompetensi

 

ELEMEN KOMPETENSI

KRITERIA UNJUK KERJA

01 Memanfaatkan tipe data 1.1   Aturan membuat program di manfaatkan. Letak pendefinisian data dan instruksi di ketahui dan di coba

1.2   Kontrol program dimanfaatkan.  Urutan instruksi dapat di baca dan di runut

02 Memanfaatkan Mnemonics (bahasa      program)      2.1   Sintak kode bahasa pemrograman (Mnemonics) dimanfaatkan. Sintak kode   bahasa program (Mnemonics) diketahui macam dan fungsinya

2.2   Kompiler bahasa pemrograman dimanfaatkan. Kode program yang dibuat di kompilasi dengan menggunakan kompiletr bahasa pemrograman tersebut

03 Membuat program     sederhana 3.1     Kode program baca tulis ke standar input/output di buat. Program untuk membaca masukan data dari keyboard dan menampilkan ke layar monitor sudah di buat dan di kompilasi.

3.2   Algoritma percabangan dan pengulangan di gunakan dalam kode program. Percabangan melibatkan instruksi perbandingan dan pengulangan (counter) di manfaatkan sesuai dengan kebutuhan program

04 Membuat program     menggunakan fungsi   dan prosedur 4.1   Prosedur dibuat dalam kode program. Prosedur merupakan anak/sub program yang mengumpulkan instruksi kode program sesuai dengan tujuan instruksi program

4.2   Fungsi dibuat dalam kode program. Fungsi merupakan anak/sub program yang mengumpulkan instruksi perhitungan

2.3.4 Batasan Variabel

1. Unit ini berlaku untuk seluruh sektor teknologi informasi dan komunikasi

  1. Mengoperasikan bahasa pemrograman level mesin bersifat internal dan terbatas pada bidang: Pemrograman Teknologi Informasi dan Komunikasi

3.  Bahasa pemrograman yang perlu di kuasai di sesuaikan dengan kebutuhan sistim dan mesin (sistim komputer yang di gunakan

 

2.3.5 PANDUAN PENILAIAN

  1. 1.   Pengetahuan dan keterampilan penunjang

Untuk mendemonstrasikan kompetensi diperlukan bukti keterampilan dan pengetahuan di bidang pengetahuan dasar:

1.1     Memahami algoritma pemrograman

1.2     Mamahami flowchart

 

  1. 2.   Konteks Penilaian

Unit ini dapat di nilai di dalam tempat kerja atau tempat lain secara praktek komputer dengan kondisi kerja sesuai dengan keadaan normal

 

  1. 3.   Aspek penting penilaian

Aspek yang harus di perhatikan :

3.1     Kemampuan membuat program dengan bahasa mnemonic

3.2     Kemampuan untuk membuat program dengan menggunakan kompiler bahasa program

  1. 4.   Kaitan dengan unit lain:

4.1.   Unit ini di dukung oleh pengetahuan dan keterampilan dalam unit-unit kompetensi yang berkaitan dengan :

4.1.1.1   TIK.PR02.002.01 Membuat algoritma pemrograman lanjut

4.1.1.2   TIK.PR02.005.01 Menulis program dasar

4.1.1.3   TIK.PR02.008.01 Mengoperasikan bahasa pemrograman   terstruktur

 

4.2   Unit ini juga mendukung kinerja dalam unit kompetensi yang berkaitan   dengan pengembangan aplikasi real time dan embeded

4.3   Pengembangan pelatihan untuk memenuhi persyaratan dalam unit ini perlu dilakukan dengan hati-hati. Untuk pelatihan pra kejuruan umum, institusi harus menyediakan pelatihan yang mempertimbangkan serangkaian konteks industri seutuhnya tanpa bias terhadap sector       tertentu. Batasan variable akan membantu dalam hal ini. Untuk sector tertentu/khusus pelatihan harus di sesuaikan untuk memenuhi kebutuhan sector tersebut.

 

2.3.6 Kompetensi Kunci

 

NO

KOMPETENSI KUNCI DALAM UNIT INI

TINGKAT

1

Mengumpulkan, mengorganisir dan menganalisa informasi

2

2

Mengkomunikasikan ide-ide dan informasi

2

3

Merencanakan dan mengorganisir aktivitas-aktivitas

2

4

Bekerja dengan orang lain dan kelompok

2

5

Menggunakan ide-ide dan tehnik matematika

3

6

Memecahkan masalah

2

7

Menggunakan teknologi

2

 

 

 

 

 

 

 

 

 

BAB III

STRATEGI DAN METODE PELATIHAN

 

3.1        Strategi Pelatihan

Belajar dalam suatu Sistem Berbasis Kompetensi berbeda dengan yang sedang “diajarkan” di kelas oleh Pelatih. Pada sistem ini Anda akan bertanggung jawab terhadap belajar Anda sendiri, artinya bahwa Anda perlu merencanakan belajar Anda dengan Pelatih dan kemudian melakukan praktek sesuai dengan rencana yang telah dibuat.

 

Persiapan/perencanaan

  1. Membaca bahan/materi yang telah diidentifikasi dalam setiap tahap belajar dengan tujuan mendapatkan tinjauan umum mengenai isi proses belajar Anda.
  2. Membuat catatan terhadap apa yang telah dibaca.
  3. Memikirkan bagaimana pengetahuan baru yang diperoleh berhubungan dengan pengetahuan dan pengalaman yang telah Anda miliki.
  4. Merencanakan aplikasi praktik pengetahuan dan keterampilan Anda.

 

Permulaan dari proses pembelajaran

  1. Mencoba mengerjakan seluruh pertanyaan dan tugas praktik yang terdapat pada tahap belajar.
  2. Merevisi dan meninjau materi belajar agar dapat menggabungkan pengetahuan Anda.

 

Pengamatan terhadap tugas praktik

  1. Mengamati keterampilan praktik yang didemonstrasikan oleh Pelatih atau orang yang telah berpengalaman lainnya.
  2. Mengajukan pertanyaan kepada Pelatih tentang konsep sulit yang Anda temukan.

 

Implementasi

  1. Menerapkan pelatihan kerja yang aman.
  2. Mengamati indikator kemajuan personal melalui kegiatan praktik.
  3. Mempraktikkan keterampilan baru yang telah Anda peroleh.

 

        Penilaian

Melaksanakan tugas penilaian untuk penyelesaian belajar Anda.

 

3.2        Metode Pelatihan

Terdapat tiga prinsip metode belajar yang dapat digunakan. Dalam beberapa kasus, kombinasi metode belajar mungkin dapat digunakan.

 

Belajar secara mandiri

Belajar secara mandiri membolehkan Anda untuk belajar secara individual, sesuai dengan kecepatan belajarnya masing-masing. Meskipun proses belajar dilaksanakan secara bebas, Anda disarankan untuk menemui Pelatih setiap saat untuk mengkonfirmasikan kemajuan dan mengatasi kesulitan belajar.

 

Belajar Berkelompok

Belajar berkelompok memungkinkan peserta untuk dating bersama secara teratur dan berpartisipasi dalam sesi belajar berkelompok. Walaupun proses belajar memiliki prinsip sesuai dengan kecepatan belajar masing-masing, sesi kelompok memberikan interaksi antar peserta, Pelatih dan pakar/ahli dari tempat kerja.

 

Belajar terstruktur

Belajar terstruktur meliputi sesi pertemuan kelas secara formal yang dilaksanakan oleh Pelatih atau ahli lainnya. Sesi belajar ini umumnya mencakup topik tertentu.

BAB IV

MATERI UNIT KOMPETENSI

4.1 Tujuan Instruksional Umum

  • Siswa mampu memanfaatkan tipe data.
  • Siswa dapat menerapkan mnemonics (bahasa program).
  • Siswa dapat membuat program sederhana.
  • Siswa dapat membuat program menggunakan fungsi dan prosedur.

 

4.2 Tujuan Instruksional Khusus

  • Siswa dapat memanfaatkan kontrol program.
  • Siswa mampu memahami aturan dalam pembuatan program.
  • Siswa mampu memanfaatkan dan menerapkan mnemonics (bahasa program).
  • Siswa mampu memanfaatkan kompiler bahasa program.
  • Siswa mampu membuat program sederhana seperti program standar input/output.
  • Siswa mampu memahami dan menggunakan algoritma percabangan dan perulangan.
  • Siswa dapat membuat prosedur dan fungsi.

 

 

 

 

 

 

 

 

 

 

4.3 Pendahuluan

 

4.3.1 Text Editor

Untuk menuliskan source file untuk program assembly bisa anda gunakan berbagai editor, misalkan SideKick, WordStar dan Word Perfect. Source file yang diketikkan harus berupa file ASCII, file ini bisa anda hasilkan melalui WordStar dengan file ‘NON DOCUMEN’, atau dengan SideKick.

 

Untuk meyakinkan bahwa source file yang anda buat adalah file ASCII, bisa anda coba ketikkan perintah Type pada A>. Bila file yang terlihat dengan perintah type sama persis dengan yang anda ketikkan pada editor, tanpa tambahan karakter-karakter yang acak, maka file tersebut adalah file ASCII. Source file untuk assembly harus berektensi .ASM.

 

4.3.2 Compiler

Source file ASCII yang telah anda ketikkan perlu dicompile kebentuk file object dengan extensi .OBJ, dari file object inilah nantinya dapat dijadikan kebentuk file .EXE atau .COM.

 

Untuk mengcompile source file, misalnya file COBA.ASM menjadi file object dengan extensi .OBJ bisa anda gunakan file TASM.EXE dengan mengetikkan:

 

C:\>tasm coba

Turbo Assembler Version 2.0 Copyright (c) 1988,

1990 Borland International

Assembling file: coba.ASM

Error messages: None

Warning messages: None

Passes: 1

Remaining memory: 307k

C:\>dir coba.*

Volume in drive C is Data

Directory of C:\

COBA OBJ 128 08-12-94 10:42p

COBA ASM 128 08-12-94 10:41p

2 file(s) 246 bytes

1,085,952 bytes free

 

4.3.3 Linking

File objects yang telah terbentuk dengan TASM, belum dapat dieksekusi secara langsung. Untuk membuat file object ke bentuk file yang dapat dieksekusi (ektensi .COM atau .EXE) bisa anda gunakan file TLINK.EXE.

 

Bila source program yang anda buat dalam bentuk EXE maka untuk membentuk file dengan ektensi EXE bisa anda ketikkan:

C:\>tlink coba

Turbo Link Version 3.0 Copyright (c) 1987,

1990 Borland International

 

Bila source program yang dibuat adalah file COM, maka bisa anda ketikkan:

C:\>tlink/t coba

Turbo Link Version 3.0 Copyright (c) 1987,

1990 Borland International

 

4.3.4 Perbedaan Program COM dan EXE

Program dengan ektensi COM dan EXE mempunya berbagai perbedaan yang menyolok, antara lain:

 

Program COM:

- Lebih pendek dari file EXE

- Lebih cepat dibanding file EXE

- Hanya dapat menggunakan 1 segmen

- Ukuran file maksimum 64 KB (ukuran satu segment)

- sulit untuk mengakses data atau procedure  yang terletak pada segment yang lain.

- 100h byte pertama merupakan PSP(Program Segment Prefix) dari program tersebut.

- Bisa dibuat dengan DEBUG

 

Program EXE :

- Lebih panjang dari file COM

- Lebih lambat dibanding file COM

- Bisa menggunakan lebih dari 1 segmen

- Ukuran file tak terbatas sesuai dengan ukuran memory.

- Mudah mengakses data atau procedure pada segment yang lain.

- Tidak bisa dibuat dengan DEBUG

 

4.3.5 Bentuk Angka

Assembler mengizinkan penggunaan beberapa bentuk angka, yaitu:

1. Desimal

Untuk menuliskan angka dalam bentuk desimal, bisa digunakan tanda ‘D’ pada akhir angka tersebut atau bisa juga tidak diberi tanda sama sekali, contoh : 298D atau 298 saja.

 

2. Biner

Untuk menuliskan angka dalam bentuk biner(0..1), harus ditambahkan tanda ‘B’ pada akhir angka tersebut, contoh : 01100111B.

 

3. Hexadesimal

Untuk menuliskan angka dalam bentuk hexadesimal(0..9,A..F), harus ditambahkan tanda ‘H’ pada akhir angka tersebut. Perlu diperhatikan bahwa bila angka pertama dari hexa berupa karakter(A..F) maka angka nol harus ditambahkan didepannya. Bila hal ini tidak dilakukan, assembler akan menganggapnya sebagai suatu label, bukannya sebagai nilai hexa. Contoh penulisan yang benar: 0A12H, 2A02H.

 

4. Karakter

Penulisan karakter atau string diapit oleh tanda petik dua () atau tanda petik satu(), Contoh: Ini adalah karakter .

 

4.3.6 Label

Label bisa anda definisikan dengan ketentuan akhir dari nama label tersebut harus berupa tanda titik dua (:). Pemberian nama label bisa digunakan:

- Huruf : A..Z (Huruf besar dan kecil tidak dibedakan)

- Angka : 0..9

- Karakter khusus : @ . _ $

 

Nama pada label tidak boleh terdapat spasi dan didahului oleh angka, Contoh dari penulisan label yang benar: mulai: MOV CX,7. Nama label terpanjang yang dapat dikenali oleh assembler adalah 31 karakter.

 

4.3.7 Komentar

Untuk memberikan komentar pada source file digunakan tanda ‘;‘. Apapun yang dtuliskan dibelakang tanda ‘;‘ akan dianggap sebagai komentar, Contoh: mulai: MOV BX,7 ; berikan nilai 7 pada BX

 

4.3.8 Perintah MOV

Perintah MOV digunakan untuk mengcopy nilai atau angka menuju suatu register, variabel atau memory. Adapun syntax untuk perintah MOV ini adalah:

MOV Tujuan,Asal

Sebagai contohnya:

MOV AL,9 ; masukkan nilai 9 pada AL.

MOV AH,AL ; nilai AL=9 dan AH=9

MOV AX,9 ; AX=AH+AL hingga AH=0 dan AL:=9

 

Pada baris pertama(MOV AL,9), kita memberikan nilai 9 pada register AL. Kemudian pada baris kedua(MOV AH,AL) kita mengcopykan nilai register AL untuk AH. Jadi setelah operasi ini register AL akan tetap bernilai 9, dan register

 

AH akan sama nilainya dengan AL atau 9. Pada baris ketiga(MOV AX,9), kita memberikan register AX nilai 9. Karena AX terdiri atas AH dan AL, maka register AH akan bernilai 0, sedangkan AL akan bernilai 9.

 

Perintah MOV akan mengcopykan nilai pada sumber untuk dimasukan ke Tujuan, nilai sumber tidaklah berubah. Inilah sebabnya MOV(E) akan kita terjemahkan disini dengan mengcopy, dan bukannya memindahkan.

 

4.3.9 Perintah INT

Didalam pemrograman assambler, kita akan banyak sekali menggunakan interupsi untuk membantu kita dalam mengerjakan suatu pekerjaan. Untuk menghasilkan suatu interupsi digunakan perintah INT dengan syntax:

INT NoInt

 

Dengan NoInt adalah nomor interupsi yang ingin dihasilkan. Sebagai contohnya bila kita ingin menghasilkan interupsi 21h, bisa dituliskan dengan: INT 21h, maka interupsi 21h akan segera terjadi.

 

4.4 Membuat Program COM

4.4.1 Model Program COM

Untuk membuat program .COM yang hanya menggunakan 1 segment, bisa anda buat dengan model program seperti gambar 6.1. Bentuk yang digunakan disini adalah bentuk program yang dianjurkan(Ideal). Dipilihnya bentuk program ideal dalam buku ini dikarenakan pertimbangan dari berbagai keunggulan bentuk program ideal ini seperti, prosesnya lebih cepat dan lebih mudah digunakan oleh berbagai bahasa tingkat tinggi yang terkenal(Turbo Pascal dan C).

 

———————————————————–

.MODEL SMALL

.CODE

ORG 100H

Label1 : JMP Label2

+———————+

| TEMPAT DATA PROGRAM |

+———————+

Label2 : +———————+

| TEMPAT PROGRAM |

+———————+

INT 20H

END Label1

———————————————————–

 

Supaya lebih jelas bentuk dari program ideal, marilah kita telusuri lebih lanjut dari bentuk program ini.

 

4.4.1.1 Model Small

Tanda directive ini digunakan untuk memberitahukan kepada assembler bentuk memory yang digunakan oleh program kita. Supaya lebih jelas model-model yang bisa digunakan adalah:

- Tiny

Jika program anda hanya menggunakan 1 segment seperti program COM. Model ini disediakan khusus untuk program COM.

 

- Small

Jika data dan code yang digunakan oleh program kurang dari ukuran 1 segment atau 64 KB.

 

- Medium

Jika data yang digunakan oleh program kurang dari 64 KB tetapi code yang digunakan bisa lebih dari 64 KB.

 

- Compact

Jika data yang digunakan bisa lebih besar dari 64 KB tetapi codenya kurang dari 64 KB.

 

- Large

Jika data dan code yang dipakai oleh program bisa lebih dari 64 KB.

 

- Huge

Jika data, code maupun array yang digunakan bisa lebih dari 64 KB.

Mungkin ada yang bertanya-tanya mengapa pada program COM yang dibuat digunakan model SMALL dan bukannya TINY? Hal ini disebabkan karena banyak dari compiler bahasa tingkat tinggi yang tidak bisa berkomunikasi dengan model TINY, sehingga kita menggunakan model SMALL sebagai pemecahannya.

 

4.4.1.2 Code

Tanda directive ini digunakan untuk memberitahukan kepada assembler bahwa kita akan mulai menggunakan Code Segment-nya disini. Code segment ini digunakan untuk menyimpan program yang nantinya akan dijalankan.

 

 

 

4.4.1.3 Org 100h

Pada program COM perintah ini akan selalu digunakan. Perintah ini digunakan untuk memberitahukan assembler supaya program pada saat dijalankan(diload ke memory) ditaruh mulai pada offset ke 100h(256) byte. Dapat dikatakan juga bahwa kita menyediakan 100h byte kosong pada saat program dijalankan. 100h byte kosong ini nantinya akan ditempati oleh PSP(Program Segment Prefix) dari program tersebut. PSP ini digunakan oleh DOS untuk mengontrol jalannya program tersebut.

 

4.4.1.4. JMP

Perintah JMP (JUMP) ini digunakan untuk melompat menuju tempat yang ditunjukkan oleh perintah JUMP. Adapun syntaxnya adalah:

 

JUMP Tujuan

Dimana tujuannya dapat berupa label seperti yang digunakan pada bagan diatas. Mengenai perintah JUMP ini akan kita bahas lebih lanjut nantinya.

 

Perintah JUMP yang digunakan pada bagan diatas dimaksudkan agar melewati tempat data program, karena jika tidak ada perintah JUMP ini maka data program akan ikut dieksekusi sehingga kemungkinan besar akan menyebabkan program anda menjadi Hang.

 

4.4.1.5 INT 20h

Perintah INT adalah suatu perintah untuk menghasilkan suatu interupsi dengan syntax:

INT NoInt

                                                                                        Interupsi 20h berfungsi untuk mengakhiri program dan menyerahkan kendali sepenuhnya kepada Dos. Pada program COM cara ini bukanlah satu-satunya tetapi cara inilah yang paling efektif untuk digunakan. Bila anda lupa untuk mengakhiri sebuah program maka program anda tidak akan tahu kapan harus selesai, hal ini akan menyebabkan komputer menjadi hang.

 

4.5 Membuat Program Sederhana

4.5.1 Mencetak Huruf

Bila dihasilkan interupsi 21h apa yang akan dikerjakan oleh komputer ?. Jawabnya, ada banyak sekali kemungkinan. Pada saat terjadi interupsi 21h maka pertama-tama yang dilakukan komputer adalah melihat isi atau nilai apa yang terdapat pada register AH. Misalkan bila nilai AH adalah 2 maka komputer akan mencetak sebuah karakter, berdasarkan kode ASCII yang terdapat pada register DL. Bila nilai pada register AH bukanlah 2, pada saat dilakukan interupsi 21h maka yang dikerjakaan oleh komputer akan lain lagi.

 

Dengan demikian kita bisa mencetak sebuah karakter yang diinginkan dengan meletakkan angka 2 pada register AH dan meletakkan kode ASCII dari karakter yang ingin dicetak pada register DL sebelum menghasilkan interupsi 21h.

 

;~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~;

; PROGRAM : A0.ASM ;

; FUNGSI : MENCETAK KARAKTER ;

; ‘A’ DENGAN INT 21 ;

;==========================S’tyo=;

.MODEL SMALL

.CODE

ORG 100h

Proses :

MOV AH,02h ; Nilai servis ntuk mencetak karakter

MOV DL,’A’ ; DL = Karakter ASCII yang akan dicetak

INT 21h ; Cetak karakter !!

INT 20h ; Selesai ! kembali ke DOS

END Proses

Program  Mencetak sebuah karakter

 

Setelah program anda ketik compile-lah dengan menggunakan TASM.EXE dengan perintah:

 

C:\>tasm a0

Turbo Assembler Version 2.0 Copyright (c) 1988, 1990

Borland International

Assembling file: a0.ASM

Error messages: None

Warning messages: None

Passes: 1

Remaining memory: 306k

C:\>dir a0.*

Volume in drive C is S’to

Directory of C:\

A0 ASM 506 08-14-94 3:56p

A0 OBJ 179 08-14-94 11:24p

2 file(s) 685 bytes

1,267,200 bytes free

 

Sampai disini sudah dihasilkan suatu file object dari KAL.ASM yang siap dijadikan file COM (karena kita membuat file dengan format program COM). Untuk itu lakukanlah langkah kedua, dengan perintah:

 

C:\>tlink/t a0

Turbo Link Version 3.0 Copyright (c) 1987, 1990

Borland International

C:\>tlink/t a0

Turbo Link Version 3.0 Copyright (c) 1987, 1990

Borland International

C:\>dir a0.*

Volume in drive C is S’to

Directory of C:\

A0 ASM 506 08-14-94 3:56p

A0 OBJ 179 08-14-94 11:26p

A0 MAP 229 08-14-94 11:26p

A0 COM 8 08-14-94 11:26p

4 file(s) 922 bytes

1,266,176 bytes free

 

Setelah kedua proses itu selesai maka dihasilkanlah suatu program COM yang sudah siap untuk dijalankan. File-file yang tidak digunakan bisa anda hapus. Bila program 7.1. dijalankan maka pada layar akan ditampilkan.

C:\>A0

A

 

Kita lihat disini bahwa karakter yang tercetak adalah yang sesuai dengan kode ASCII yang ada pada register DL. Sebagai latihan cobalah anda ubah register DL dengan angka 65 yang merupakan kode ASCII karakter ‘A’. Hasil yang didapatkan adalah sama.

 

Pelajarilah fungsi ini baik-baik, karena akan banyak kita gunakan pada bab-bab selanjutnya.

 

4.5.2. Mencetak Karakter Beserta Atribut

Sebuah karakter disertai dengan warna tentunya akan lebih menarik. Untuk itu anda bisa menggunakan interupsi ke 10h dengan aturan pemakaiannya:

INPUT

AH = 09h

AL = Kode ASCII dari karakter yang akan dicetak

BH = Nomor halaman(0 untuk halaman 1)

BL = Atribut atau warna dari karakter yang akan dicetak

CX = Banyaknya karakter tersebut akan dicetak

 

Setelah semua register dimasukkan nilainya maka lakukanlah interupsi 10h. Perlu anda perhatikan bahwa interupsi ini mencetak karakter tanpa menggerakkan kursor.

 

;=================================;

; PROGRAM : A1.ASM ;

; FUNGSI : MENCETAK KARATER ‘A’;

; BESERTA ATRIBUTNYA ;

; DENGAN INT 10h ;

;=================================;

.MODEL SMALL

.CODE

ORG 100h

Proses :

MOV AH,09h ; Nilai servis untuk mencetak karakter

MOV AL,’A’ ; AL = Karakter yang akan dicetak

MOV BH,00h ; Nomor Halaman layar

MOV BL,93h ; Warna atau atribut dari karakter

MOV CX,03h ; Banyaknya karakter yang ingin dicetak

INT 10h ; Laksanakan !!!

INT 20h ; Selesai ! kembali ke DOS

END Proses

Program mencetak karakter beserta atributnya

 

Bila program  dieksekusi maka akan ditampilkan huruf ‘A’ sebanyak 3 kali dengan warna dasar biru kedip dan warna tulisan Cyan(sesuai dengan nilai register BL). Mengenai halaman layar dan atribut(warna) akan kita bahas lebih lanjut pada bagian yang lain.

B:\>A1

AAA

 

Anda bisa merubah-rubah register AL dan BL untuk merubah karakter dan warna yang ingin dicetak.

 

4.5.4 Mencetak Beberapa Karakter

Untuk mencetak beberapa karakter, bisa anda gunakan proses looping. Sebagai contoh dari penggunaan looping ini bisa dilihat pada program:

 

;~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~;

; PROGRAM : ABC0.ASM ;

; FUNGSI : MENCETAK 16 BUAH ;

; KARAKTER DENGAN ;

; INT 21h SERVIS 02 ;

;==============================;

.MODEL SMALL

.CODE

ORG 100h

Proses :

MOV AH,02h ; Nilai servis

MOV DL,’A’ ; DL=karakter ‘A’ atau DL=41h

MOV CX,10h ; Banyaknya pengulangan yang akan

Ulang :

INT 21h ; Cetak karakter !!

INC DL ; Tambah DL dengan 1

LOOP Ulang ; Lompat ke Ulang

INT 20h

END Proses

Program  Pengulangan dengan perintah LOOP

 

Bila program dijalankan maka akan ditampilkan :

ABCDEFGHIJKLMNOP

 

Perintah INC DL akan menambah register DL dengan 1, seperti intruksi , DL:=DL+1 dalam Pascal. Lebih jauh mengenai operasi aritmatika(INC) ini akan dibahas pada bab selanjutnya.

 

4.6. Pengulangan dengan LOOP

Perintah LOOP digunakan untuk melakukan suatu proses yang berulang-ulang. Adapun syntax dari perintah ini adalah :

LOOP Tujuan

 

Tujuan dapat berupa suatu label yang telah didefinisikan, contoh:

MOV CX,3 ; Banyaknya pengulangan yang dilakukan

Ulang : INT 10h ; Tempat terjadinya pengulangan

LOOP Ulang ; Lompat ke label ‘Ulang’

 

Pada proses pengulangan dengan perintah LOOP, register CX memegang suatu peranan yang khusus dimana register ini dijadikan sebagai counter/penghitung terhadap banyaknya looping yang boleh terjadi. Setiap ditemui perintah LOOP, maka register CX akan dikurangi dengan 1 terlebih dahulu, kemudian akan dilihat apakah CX sudah mencapai 0. Proses looping akan selesai bila nilai pada register CX mencapai nol. Seperti pada contoh diatas, maka interupsi 10h akan dihasilkan sebanyak 3 kali(sesuai dengan nilai CX).

 

Perlu diperhatikan bahwa jangan sampai anda menaruh CX kedalam proses LOOP karena hal ini akan menyebabkan nilai CX diSET terus sehingga proses looping tidak bisa berhenti.

 

TRICK:

Bila anda menetapkan nilai CX menjadi nol pada saat pertama kali sebelum dilakukan loop, maka anda akan mendapatkan proses looping yang terbanyak. Hal ini dikarenakan proses pengurangan 0 dengan 1 akan menghasilkan nilai FFFFh(-1), Contoh:

  MOV CX,00

            Ulang: LOOP Ulang

 

4.7 Tipe Data

Didalam assembler kita bisa menyimpan data dengan berbagai tipe data yang berbeda-beda. Kita dapat memberikan nama pada data tersebut, untuk memudahkan dalam pengaksesan data tersebut. Adapun tipe data yang terdapat pada assembler dapat anda lihat pada gambar berikut.

 

————————————————————————————————

NAMA                                       UKURAN

DB<Define Byte>              1 BYTE

DW<Define Word>           2 BYTE

DD<Define DoubleWord> 4 BYTE

DF<Define FarWords>      6 BYTE

DQ<Define QuadWord>     8 BYTE

DT<Define TenBytes>      10 BYTE

————————————————————————————————

Gambar Berbagai Tipe Data

 

Sebagai contohnya lihatlah bagaimana tipe data pada gambar di atas digunakan:

 

.MODEL SMALL

.CODE

ORG 100h

TData :

JMP Proses

A DB 4 ; 1 byte, nilai awal=’4′

B DB 4,4,4,2,? ; 1*5 byte, nilai awal=4,4,4,2,?

C DB 4 DUP(5) ; 1*4 byte, nilai awal=’5′

D DB ‘HAI !!’ ; 6 byte berisi 6 karakter

E DW ? ; 1 word tidak diketahui isinya

F DW ?,?,? ; 3 word tidak diketahui isinya

G DW 10 DUP(?) ;10 word tidak diketahui isinya

H DD ? ; 1 DoubleWord tanpa nilai awal

I DF ?,? ; 2 FarWord tanpa nilai awal

J DQ 0A12h ; 1 QuadWord, nilai awal=’0A12′

K DT 25*80 ; 1 TenBytes, nilai awal=’2000′

L EQU 666 ; Konstanta, L=666

M DB ’123′ ; String ’123′

N DB ’1′,’2′,’3′ ; String ’123′

O DB 49,50,51 ; String ’123′

Proses : ;

;

;

END Tdata

 

Pada baris pertama (“A DB 4“) kita mendefinisikan sebanyak satu byte untuk variabel dengan nama “A“, variabel ini diberi nilai “4″.

 

Pada baris kedua (“B DB 4,4,4,2,?“) kita mendefinisikan sebanyak 5 byte yang berpasangan untuk variabel dengan nama “B“. Tiga byte pertama pada variabel “B” tersebut semuanya diberi nilai awal “4″, byte ke empat diberi nilai awal 2 sedangkan byte ke lima tidak diberi nilai awal.

 

Pada baris ketiga (“C DB 4 DUP(5)“) kita mendefinisikan sebanyak 4 byte data yang diberi nilai awal “5″ semuanya (DUP=Duplikasi). Jadi dengan perintah DUP kita dapat mendefinisikan suatu Array.

 

Pada baris keempat (“D DB ‘HAI !! ‘“) kita mendefinisikan suatu string

dengan DB. Untuk mendefinisikan string selanjutnya akan selalu kita pakai tipe data DB. Bila kita mendefinisikan string dengan DW maka hanya 2 karakter yang dapat dimasukkan, format penempatan dalam memorypun nantinya akan membalikkan angka tersebut.

 

Pada baris kelima (“E DW ?“) kita mendefinisikan suatu tipe data Word yang tidak diberi nilai awal. Nilai yang terdapat pada variabel “E” ini bisa berupa apa saja, kita tidak perduli.

 

Pada baris keduabelas (“L EQU 666“) kita mendefinisikan suatu konstanta untuk variabel “L”, jadi nilai pada “L” ini tidak dapat dirubah isinya.

 

Pada variabel M, N, O kita mendefinisikan suatu string “123″ dalam bentuk yang berbeda. Ketiganya akan disimpan oleh assembler dalam bentuk yang sama, berupa angka 49, 50 dan 51.

 

Pada program-program selanjutnya akan dapat anda lihat bahwa kita selalu melompati daerah data (“TData:JMP Proses“), mengapa demikian ? Bila kita tidak melompati daerah data ini maka proses akan melalui daerah data ini. Data-data program akan dianggap oleh komputer sebagai suatu intruksi yang akan dijalankan sehingga apapun mungkin bisa terjadi disana. Sebagai contohnya akan kita buat sebuah program yang tidak melompati daerah data, sehingga data akan dieksekusi sebagai intruksi. Program ini telah diatur sedemikian rupa untuk membunyikan speaker anda, pada akhir data diberi nilai CD20 yang merupakan bahasa mesin dari intruksi INT 20h.

 

;=====================================;

; PROGRAM : BHSMESIN.ASM ;

; AUTHOR : S’to ;

; FUNGSI : MEMBUNYIKAN SPEAKER ;

; DENGAN DATA PROGRAM ;

; ;

;=====================================;

.MODEL SMALL

.CODE

ORG 100h

Tdata:DB0E4h,61h,24h,0FEh,0E6h,61h,0B9h,0D0h,7h,0BBh,9Ah

DB 2h,8Bh,0D1h,51h,34h,2h,0E6h,61h,0D1h,0C3h,73h,6h

DB 83h,0C1h,0h,0EBh,0Bh,90h,52h,2Bh,0D1h,87h,0D1h,5Ah

DB 81h,0C1h,34h,8h,0E2h,0FEh,59h,0E2h,0E2h,0CDh,20h

END Tdata

                      Program Yang Mengeksekusi Daerah Data

 

4.8 Program Masukkan dari Keyboard

Keyboard merupakan sarana bagi kita untuk berkomunikasi dengan program. Pada bagian ini akan kita lihat bagaimana caranya untuk menanggapi masukan dari keyboard. Tetapi sebelumnnya anda tentunya harus mengerti sedikit mengenai beberapa hal penting yang berkaitan dengan keyboard itu.

 

4.8.1 Kode SCAN Dan ASCII

Prosesor pada keyboard mendeteksi setiap penekanan maupun pelepasan tombol pada keyboard. Prosesor ini menterjemahkan setiap sinyal yang terjadi berdasarkan posisi tertentu menjadi apa yang dinamakan kode Scan. Dengan demikian tombol “A” dan “B” akan mempunyai kode Scan yang berbeda karena posisinya memang berbeda. Lain halnya untuk tombol “A”<A besar> dan “a”<a kecil> yang terdapat pada posisi yang sama, akan mempunyai kode Scan yang sama. Kode Scan ini biasanya tidak berguna bagi kita. Kita biasanya hanya menggunakan kode ASCII dan Extended yang merupakan hasil terjemahan dari kode scan oleh keyboard handler.

 

Kode ASCII adalah kode yang melambangkan suatu karakter baik berupa huruf,angka, maupun simbol-simbol grafik. Misalkan angka “1″ akan dilambangkan dengan kode ASCII 49. Untuk kode ASCII ini bisa anda lihat pada lampiran.

 

4.8.2 Apa Itu Kode Extended?

Kode ASCII telah menyediakan sebanyak 256 karakter dengan beberapa karakter kontrol, misalnya #10 untuk pindah baris dan #13 untuk Enter yang akan menggerakkan kursor kesamping kiri. Tetapi fungsi yang telah disediakan ini tidak mampu untuk menampilkan ataupun mendeteksi tombol fungsi misalnya F1, F2, F3 dan Home. Tombol kombisasi juga tidak dapat dideteksi oleh karakter ASCII , misalnya penekan tombol shif disertai tombol F1, penekanan Ctrl disertai tombol Home, dan lain-lain. Penekanan terhadap tombol-tombol fungsi dan tombol kombinasi akan menghasilkan kode ASCII 0<nil>.

 

Karena alasan diatas maka diciptakanlah suatu kode yang dinamakan sebagai kode EXTENDED. Kode Extended ini dapat mendeteksi penekanan terhadap tombol-tombol fungsi maupun tombol kombinasi. Untuk kode extended bisa anda lihat pada lampiran.

 

4.8.3 Masukan Satu Karakter

Interupsi dari BIOS, yaitu interupsi 16h servis 0 dapat digunakan untuk mendapatkan masukan satu karakter dari keyboard.

 

Hasil dari pembacaan karakter fungsi ini akan diletakkan pada register AX. Bila terjadi penekanan pada tombol biasa maka byte rendah dari AX<AL>, akan menunjukkan kode ASCII dari tombol tersebut dan byte tnggi dari AX<AH> akan berisi kode Scan dari tombol tersebut.

 

Bila yang ditekan adalah tombol khusus(extended) yang akan menghasilkan kode ASCII 0 maka byte rendah dari register AX<AL> akan menghasilkan kode ASCII 0 dan byte tinggi dari AX<AH> akan akan berisi kode extended dari tombol tersebut.

 

;/=====================================\;

; Program : READKEY.ASM ;

; Author : S’to ;

; Fungsi : Input satu karakter ;

; dari keyboard. ;

;=======================================;

; INTERUPSI 16h ;

;=======================================;

; Input: OutPut: ;

; AH = 0 Jika tombol biasa, maka: ;

; AL = ASCII ;

; AH = SCAN ;

; ;

; Jika Tombol khusus, maka ;

; AL = 00 ;

; AH = Extended ;

; ;

;\=====================================/;

.MODEL SMALL

.CODE

ORG 100h

TData : JMP Proses

T_ASCII DB 13,10,’Ini adalah tombol ASCII : $’

T_Extended DB 13,10,’Ini adalah tombol Extended $’

Proses :

MOV AH,0 ; Servis Input satu karakter

INT 16h ; Laksanakan

PUSH AX ; Simpan hasil pembacaan pada stack

CMP AL,00 ; Apakah ini karakter extended ?

JE Extended ; Ya !, Lompat ke Extended

ASCII:

LEA DX,T_ASCII ; Ambil alamat efektif T_ASCII

MOV AH,09 ; Servis cetak kalimat

INT 21h ; Cetak kalimat !

POP AX ; Ambil kembali nilai AX pada stack

MOV DL,AL ; Ambil kode ASCII yang ditekan

MOV AH,2 ; Servis cetak karakter

INT 21h ; Cetak karakter !

CMP AL,’Q’ ; Apakah yang ditekan huruf ‘Q’ ?

JE exit ; Ya !, lompat ke Exit

CMP AL,’q’ ; Apakah yang ditekan huruf ‘q’ ?

JE exit ; Ya !, lompat ke Exit

JMP Proses ; Lompat ke Proses

Extended:

LEA DX,T_Extended ; Ambil alamat efektif T_Extended

MOV AH,09 ; Servis cetak kalimat

INT 21h ; Cetak kalimat !

JMP Proses ; Lompat ke Proses

exit: INT 20h ; Kembali ke DOS !

END TData

Program Menunggu masukan satu karakter dari Keyboard

 

Bila anda menekan tombol extended, seperti penekanan tombol anak panah, F1, F2 dan sebagainya maka pada layar akan ditampilkan :

Ini adalah tombol Extended

 

Bila anda ingin mengetahui lebih lanjut mengenai tombol apa yang ditekan maka kode extendednya bisa dilihat pada register AH. Sedangkan bila yang ditekan adalah tombol biasa, seperti huruf ‘S’ maka pada layar akan ditampilkan:

Ini adalah tombol ASCII : S

Program akan selesai jika anda menekan tombol “q” atau “Q”.

 

4.8.4 Mendekteksi Penekanan Sembarang Tombol

Dengan fungsi 11h dari interupsi 16h, kita bisa mendeteksi terhadap penekanan tombol,sama halnya seperti yang dilakukan oleh fungsi keypressed pada bahasa pascal. Fungsi ini akan mendeteksi keyboard buffer, bila pada keyboard buffer terdapat suatu tombol maka ia akan membuat zerro flags menjadi nol<0> dan register AL berisi kode ASCII dari karakter tersebut sedangkan register AH akan berisi kode Scan dari tombol tersebut. Sebaliknya jika pada keyboard buffer tidak ada karakter maka zerro flags akan bernilai satu <1>.

 

Keyboard buffer adalah suatu penampung yang digunakan untuk menampung setiap penekanan tombol pada keybaord. Daya tampung normal dari keyboard buffer adalah 15 karakter. Jika keyboard buffer telah penuh, speaker akan mengeluarkan tanda berupa suara beep.

 

;/=====================================\;

; Program : KEYPRESS.ASM ;

; Author : S’to ;

; Fungsi : Mengecek apakah ada ;

; tombol yang ditekan ;

;=======================================;

; INTERUPSI 16h ;

;=======================================;

; Input: OutPut: ;

; AH = 1 Jika Ada tombol yang ditekan ;

; ZF = 0 dan ;

; AL = kode ASCII ;

; AH = Scan Code ;

; ;

; Jika Tidak ada penekanan Tombol ;

; ZF = 1 ;

; ;

;\====================================/;

.MODEL SMALL

.CODE

ORG 100h

TData : JMP Proses

Kal0 DB ‘Tekan sembarang tombol untuk berhenti !

DB 13,10,’$’

Proses :

MOV AH,1 ; Servis untuk mengecek buffer keyboard

INT 16h ; Laksanakan !

JNZ EXIT ; Jika ada tombol yang ditekan, lompat

MOV AH,09 ; Servis untuk cetak kalimat

LEA DX,Kal0 ; Ambil alamat efektif Kal0

INT 21h ; Cetak kalimat !

JMP Proses ; Lompat ke Proses

exit : INT 20h ; Kembali ke DOS !

END TData

Program Membuat fungsi Keypressed

Bila program  dijalankan, maka pada layar akan ditampilkan tulisan:

Tekan sembarang tombol untuk berhenti !

Tulisan ini akan ditampilkan terus sampai anda menekan sembarang tombol.

 

4.8.5 Masukan Kalimat Dari Keyboard

Pada program-program sebelumnya kita hanya bisa mendapatkan masukan satu karakter pada keybaord, bagaimana jika diinginkan masukan berupa suatu kalimat? Untuk itu DOS telah menyediakannya.

 

Interupsi 21h servis ke 0Ah, digunakan untuk mendapatkan masukan dari keyboard lebih dari satu karakter. Adapun aturan pemakainya adalah:

 

INPUT OUTPUT

AH = 0Ah Buffer yang berisi string

DS:DX= Buffer hasil masukan dari keyboard

 

Untuk menggunkan fungsi ini anda harus menyediakan sebuah buffer untuk menampung hasil masukan dari keyboard. Anda bisa membuat sebuah buffer seperti:

Buffer DB X,Y,Z DUP(?)

 

Pada byte pertama yang kita gambarkan sebagai “X”, digunakan sebagai tanda dari banyaknya karakter yang dapat dimasukkan dari keyboard ditambah 1. Seperti bila anda memberikan nilai 23, maka karakter maksimum yang dapat dimasukkan adalah 22 karakter, karena satu karakter lagi digunakan khusus oleh tombol Enter(0Dh).

 

Pada byte kedua yang kita gambarkan sebagai “Y” ,digunakan oleh fungsi ini sebagai indikator banyaknya karakter yang telah diketikkan oleh user(Tombol Enter<0Dh> tidak akan dihitung). Anda bisa memberikan tanda “?” untuk byte kedua ini, karena nilainya akan diisi secara otomatis nantinya.

 

Pada byte ketiga yang kita gambarkan sebagai “Z” inilah yang nantinya merupakan awal dari masukan string akan ditampung. Anda harus menyediakan banyaknya byte yang dibutuhkan, sesuai dengan byte pertama(“X”).

 

;=======================================;

;=======================================;

; Input: ;

; AH = 0Ah ;

; DS:DX = Penampung dengan spesifikasi: ;

; Byte 1 = Maksimum karakter yang dapat dimasukkan ;

; Byte 2 = Akan dijadikan Indikator banyaknya ;

; karakter yang dimasukkan ;

; Byte 3 keatas = Tempat hasil masukan ditampung ;

; ;

; ;

;\=====================================/;

.MODEL SMALL

.CODE

ORG 100h

TData : JMP Proses

T_Enter EQU 0Dh

Kal0 DB ‘Ketikkan satu Kalimat : $’

Kal1 DB 13,10,’Kalimat pada buffer : $’

Buffer DB 23,?,23 DUP(?)

Proses : MOV AH,09

LEA DX,Kal0

INT 21h ; Cetak kalimat Kal0

MOV AH,0Ah ; Servis Input kalimat

LEA DX,Buffer ; DX menunjuk pada offset Buffer

INT 21h ; Input kalimat !

MOV AH,09

LEA DX,Kal1

INT 21h ; Cetak kalimat Kal1

LEA BX,Buffer+2 ; BX menunjuk byte ke 3 Buffer

Ulang:

CMP BYTE PTR [BX],T_Enter ; Apakah karakter Enter?

JE EXIT ; Ya! Lompat ke Exit

MOV DL,[BX] ; Masukkan karakter pada DL

MOV AH,02 ; Servis cetak karakter

INT 21h ; Cetak karakter

INC BX ; BX := BX+1

JMP Ulang ; Lompat ke Ulang

EXIT: INT 20h ; Kembali ke DOS !

END TData

Program Masukan string dari Keyboard

Contoh dari hasil eksekusi program. setelah mendapat masukan dari keyboard:

Ketikkan satu Kalimat : Equasoft

;/=====================================\;

; Program : IN-KAL.ASM ;

; Author : S’to ;

; Fungsi : Input Kalimat dari ;

; keyboard. ; ; INTERUPSI 21h ;

 

Kalimat pada buffer : Equasoft

Adapun proses yang dilakukan pada program adalah:

MOV AH,09

LEA DX,Kal0

INT 21h

 

Pertama-tama cetak kalimat Kal0 dengan servis 9 interupsi 21h, setelah itu:

MOV AH,0Ah

LEA DX,Buffer

INT 21h

 

Pada bagian inilah kita meminta masukan dari keyboard, dengan DX menunjuk pada buffer yang digunakan sebagai penampung.

MOV AH,09

LEA DX,Kal1

INT 21h

Setelah itu cetaklah kalimat pada Kal1

LEA BX,Buffer+2

 

Dengan perintah ini maka BX akan menunjuk pada byte ke 3, atau awal masukan string dari keyboard. Supaya lebih jelas, nilai pada buffer setelah mendapat masukan adalah:

 

Offset BX=Offset+2

_ _

+—+—+—+—+—+—+—+—+—+—+—+

| 9 | 8 | E | q | u | a | s | o | f | t | 0D|

+—+—+—+—+—+—+—+—+—+—+—+

 

Setelah BX mnunjuk pada karakter pertama hasil masukan, maka:

CMP BYTE PTR [BX],T_Enter

JE EXIT

 

Periksalah, apakah karakter yang ditunjukkan BX adalah 0D(Enter)? Bila ya, berarti akhir dari masukan. Perlu anda perhatikan disini, bahwa kita menggunakan BYTE PTR. Bila tidak digunakan, assembler akan bingung apakah kita ingin membandingkan isi alamat BX sebanyak 1 byte atau lebih dengan T_Enter.

MOV DL,[BX]

MOV AH,02

INT 21h

 

Bila bukan karakter enter, maka ambil karakter tersebut dan masukkan pada register DL untuk dicetak.

INC BX

JMP Ulang

 

Tambahlah BX denga satu sehingga BX akan menunjuk pada karakter selanjutnya. Proses dilanjutkan sampai ketemu tanda 0D atau karakter Enter.

 

4.9. Procedure dan Fungsi

Procedure merupakan suatu alat bantu yang sangat berguna. Dengan procedure suatu program yang besar bisa diselesaikan dengan lebih mudah. Proses pencarian kesalahanpun akan lebih mudah bila digunakan procedure.

 

 

4.9.1 Membuat Procedure

Untuk membuat procedure bisa anda gunakan bentuk seperti pada gambar.

————————————————————-

NamaP PROC NEAR/FAR

+———+

| Program |

+———+

RET

NamaP ENDP

————————————————————-

Gambar Model Procedure

“NamaP” adalah nama dari procedure yang kita definisikan sendiri. Untuk memudahkan nama untuk procedure bisa anda definisikan sesuai dengan fungsi dari procedure tersebut, seperti CLS untuk procedure yang tugasnya menghapus layar.

 

Dibelakang kata “PROC” anda harus memilih bentuk dari procedure tersebut, yaitu “NEAR” atau “FAR”. Bentuk “NEAR” digunakan jika procedure tersebut nantinya dipanggil oleh program yang letaknya masih satu segment dari procedure tersebut. Pada program COM yang terdiri atas satu segment, kita akan selalu menggunakan bentuk “NEAR”. Sebaliknya bentuk “FAR” ini digunakan bila procedure dapat dipanggil dari segment lain. Bentuk ini akan kita gunakan pada program EXE.

 

Perintah “RET(Return)” digunakan untuk mengembalikan Kontrol program pada sipemanggil procedure. Pada bentuk NEAR perintah RET ini akan memPOP atau mengambil register IP dari stack sebagai alamat loncatan menuju program pemanggil procedure. Sedangkan pada bentuk “FAR” perintah RET akan mengambil register IP dan CS dari stack sebagai alamat loncatan menuju program pemanggil procedure. Alamat kembali untuk procedure disimpan pada stack pada saat procedure tersebut dipanggil dengan perintah “CALL”, dengan syntax:

CALL NamaP

Perintah Call ini akan menyimpan register IP saja bila procedure yang dipanggil berbentuk “NEAR”. Bila procedure yang dipanggil berbentuk “FAR”, maka perintah “CALL” akan menyimpan register CS dan IP.

 

4.9.2 Menggunakan Procedure

Sebagai contoh dari pemakaian procedure akan kita lihat pada program  yang mencetak karakter dengan procedure.

 

;~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~;

; PROGRAM : PROC_KAR.ASM ;

; FUNGSI : MENCETAK KARATER ;

; DENGAN PROCEDURE ;

; ;

;==========================S’tyo=;

.MODEL SMALL

.CODE

ORG 100h

Proses : CALL Cetak_Kar ; Panggil Cetak_Kar

INT 20h

Cetak_Kar PROC NEAR

MOV AH,02h

MOV DL,’S’

INT 21h ; Cetak karakter

RET ; Kembali kepada si pemanggil

Cetak_Kar ENDP ; END Procedures

END Proses

Program Menggunakan Procedure

Bila program dijalankan, maka pada layar akan ditampilkan huruf “S”. Untuk membuat sebuah procedure ingatlah untuk menyimpan semua register yang digunakan oleh procedure tersebut dan mengembalikan semua isi register pada akhir procedure. Hal ini dilakukan untuk menjaga supaya program utama yang menggunakan procedure tersebut tidak menjadi kacau nantinya. Sebagai contohnya bisa anda lihat pada program.

 

;~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~;

; PROGRAM : PROC_KA1.ASM ;

; FUNGSI : MENCETAK KARATER ;

; DENGAN PROCEDURE ;

; ;

;==========================S’to=;

.MODEL SMALL

.CODE

ORG 100h

TData : JMP Proses

Kar DB ?

Klm DB ‘BATMAN SI MANUSIA KELELAWAR ‘ ; 28 Karakter

Proses : MOV CX,28 ; Banyaknya pengulangan

XOR BX,BX ; Addressing Mode

Ulang :

MOV DL,Klm[BX]

MOV Kar,DL

CALL Cetak_Kar ; Panggil Cetak_Kar

INC BX

LOOP Ulang

INT 20h

Cetak_Kar PROC NEAR

PUSH AX ; Simpan semua register

PUSH DX ; Yang digunakan

MOV AH,02h

MOV DL,Kar

INT 21h ; Cetak karakter

POP DX ; Kembalikan semua register

POP AX ; Yang disimpan

RET ; Kembali kepada si pemanggil

Cetak_Kar ENDP ; END Procedures

END TData

Program Menggunakan Procedure

 

Bila program dijalankan, maka pada layar akan ditampilkan:

BATMAN SI MANUSIA KELELAWAR

 

Pada procedure kita tidak bisa menggunakan parameter, inilah salah satu kelemahan dari procedure yang sangat berarti. Untuk menggunakan parameter anda harus menggunakan MACROS.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

BAB V

SUMBER-SUMBER YANG DIPERLUKAN UNTUK PENCAPAIAN                          KOMPETENSI

 

5.1 Sumber Daya Manusia

 

Dalam proses pencapaian kompetensi sumber yang dapat diandalkan adalah sumber daya manusia. Sumber daya manusia yang dimaksud disiini adalah orang-orang yang dapat mendukung proses pencapaian kompetensi yang dimaksud, antara lain:

 

  • Pembimbing

Pembimbing Anda merupakan orang yang dapat diandalkan karena beliau memiliki pengalaman. Peran Pembimbing adalah untuk :

  1. Membantu Anda untuk merencanakan proses belajar.
  2. Membimbing Anda melalui tugas-tugas pelatihan yang dijelaskan dalam tahap belajar.
  3. Membantu Anda untuk memahami konsep dan praktik baru dan untuk menjawab pertanyaan Anda mengenai proses belajar Anda.
  4. Membantu Anda untuk menentukan dan mengakses sumber tambahan lain yang Anda perlukan untuk belajar Anda.
  5. Mengorganisir kegiatan belajar kelompok jika diperlukan.
  6. Merencanakan seorang ahli dari tempat kerja untuk membantu jika diperlukan.

 

  • Penilai

Penilai Anda melaksanakan program pelatihan terstruktur untuk penilaian di tempat kerja. Penilai akan :

  1. Melaksanakan penilaian apabila Anda telah siap dan merencanakan proses belajar dan penilaian selanjutnya dengan Anda.
  2. Menjelaskan kepada Anda mengenai bagian yang perlu untuk diperbaiki dan merundingkan rencana pelatihan selanjutnya dengan Anda.
  3. Mencatat pencapaian / perolehan Anda.

 

  • Teman kerja/sesama peserta pelatihan

Teman kerja Anda/sesama peserta pelatihan juga merupakan sumber dukungan dan bantuan. Anda juga dapat mendiskusikan proses belajar dengan mereka. Pendekatan ini akan menjadi suatu yang berharga dalam membangun semangat tim dalam lingkungan belajar/kerja Anda dan dapat meningkatkan pengalaman belajar Anda.

5.2.    Sumber-sumber Kepustakaan ( Buku Informasi )

 

Pengertian sumber-sumber kepustakaan adalah material yang menjadi pendukung proses pembelajaran ketika peserta pelatihan sedang menggunakan Pedoman Belajar ini.

 

Sumber-sumber tersebut dapat meliputi:

1.   Buku referensi (text book)

2.   Lembar kerja

3.   Diagram-diagram, gambar

4.   Contoh tugas kerja

5.   Rekaman dalam bentuk kaset, video, film dan lain-lain.

 

Ada beberapa sumber yang disebutkan dalam pedoman belajar ini untuk membantu peserta pelatihan mencapai unjuk kerja yang tercakup pada suatu unit kompetensi. Prinsip-prinsip dalam CBT mendorong kefleksibilitasan dari penggunaan sumber-sumber yang terbaik dalam suatu unit kompetensi tertentu, dengan mengijinkan peserta untuk menggunakan sumber-sumber alternatif lain yang lebih baik atau jika ternyata sumber-sumber yang direkomendasikan dalam pedoman belajar ini tidak tersedia/tidak ada.

 

Untuk referensi mengenai materi-materi yang dapat digunakan, Anda dapat melihat dari Daftar Pustaka yang terlampir dihalaman terakhir modul ini.

 

 

 

 

 

 

 

 

 

5.3     Daftar Peralatan dan Bahan yang digunakan

 

  1. Judul/Nama Pelatihan        :    Menoperasikan Bahasa Pemrograman Mesin
  2. Kode Program Pelatihan    :    TIK.PR02.031.01

 

NO

UNIT

KOMPETENSI

KODE UNIT

DAFTAR PERALATAN

DAFTAR BAHAN

KETERANGAN

1.

Mengoperasikan bahasa pemrograman level mesin

TIK.PR02.031.01

- Unit PC (Personal Computer) dengan CD atau floppy disk drive.

- Sistem operasi Windows XP

- Keyboard dan mouse

- RAM dan harddisk.

- Turbo Assembler.

 

   -Buku informasi Pemrograman Bahasa Mesin.

 

-

 

 

 

 

 

 

 

 

 

 

 

 

DAFTAR PUSTAKA

 

Susanto, (1994), Pemrograman dengan Bahasa Assembly. Elex Media Komputindo.

 

Website:

http://www.jasakom.com

Testimoni

artikel lainnya Mengoperasikan Bahasa Pemrograman Level Mesin TIK.PR02.031.01



bebas bayar, pembayaran mudah dan cepat, transaksi online, pembayaran tagihan dan tiket, transfer dana online

bebas bayar, pembayaran mudah dan cepat, transaksi online, pembayaran tagihan dan tiket, transfer dana online
Thursday 4 September 2014 | blog

RENCANA PELAKSANAAN PEMBELAJARAN (RPP)   Mata Pelajaran             : Teknologi Informasi Komunikasi (TIK) Kelas/Semester            : XI…

Friday 9 November 2012 | blog

Perihal :  Sragen Techno Park (STP) Operation Manual - Draft Terima kasih atas kepercayaan yang diberikan…

Wednesday 13 August 2014 | blog

1 TAHUN PELAJARAN 2013-2014 NO NIS NAMA KD KLS 1 12365 Aditya Nur Sahid L S…

Monday 15 December 2014 | blog

  MODUL PELATIHAN BERBASIS KOMPETENSI SUB BIDANG METODOLOGI PELATIHAN KERJA     MERANCANG DAN MENCIPTAKAN LINGKUNGAN…