PERCOBAAN 2.
Object code adalah hasil dari compiling dan assembler yang berbentuk
relocatable machine code, atau file masih berbentuk sebuah object yang belum
bisa dieksekusi langsung tetapi siap untuk linker. Object code disimpan dalam
computer dengan format biner dan tidak dapat dilihat secara langsung.
Tugas Abstrak 1
Bahasa C merupakan tingkat tinggi yang setara dengan bahasa pemrograman c++,
JavaScript, dll. Mesin dapat memahami bahasa c yang memiliki tingkat kesulitan, oleh
karena itu ada bahasa yang dinamakan bahasa assembly. Cara manusia membantu
mesin untuk mengerti bahasa tingkat tinggi yaitu kompilasi.
Proses kompilasi menggunakan GCC :
1. Preprocessor
2. Compiler
3. Assembler
4. Linker
Menulis program c dalam dua file p1.c dan p2.c dapat dilakukan dengan cara
mengkomplikasi kode program tersebut dengan mengetikan cmd: $ gcc -O2 -o prog
p1.c p2.c Perintah gcc merupakan compiler default pada linux yang menggunakan
GNU C Compiler.
Flag -O2 memerintahkan compiler untuk melakukan optimasi tingkat-2. Secara umum,
jika tingkat optimasi meningkat maka program akan berjalan lebih cepat, tetapi hal ini
beresiko meningkatkan waktu debugging kode program. Optimasi tingkat-2
merupakan kompromi yang baik antara kinerja optimasi dan kemudahan debugging.
Flag-o memerintahkan compiler untuk memberi nama file eksekusi yang dihasilkan
dengan nama prog. Jika hanya melakukan prepocessing , kita dapat menggunakan
opsi“-E“ pada command line: $gcc -E p1.c
Untuk melihat kode assembly yang dihasilkan oleh compiler C, kita dapat
menggunakan opsi“-S“ pada command line: $gcc -O2 -S p1.c
Untuk menghasilkan kode yang dapat dieksekusi, kita harus menjalankan linker pada
seluruh file kode objek. Program eksekusi akan dihasilkan dengan menggabungkan
seluruh file kode pada command line: $gcc -O2 -o prog code.o main.c
File program eksekusi prog yang dihasilkan berisi tidak hanya kode yang kita
masukkan, tetapi juga informasi yang digunakkan untuk memulai dan mengakhiri
program. Kita juga dapat melakukan disassembler file prog: $objdump -d prog.
Tugas Pendahuluan 2
Tugas Abstrak 2
Operator Bitwise
Operator bitwise adalah operator yang menangani bilangan biner seperti and,
or, not, dan sebagainya. Operator bitwise ini akan menangani data sesuai dengan
tipenya, misalnya sebuah data bertipe char atau byte maka bilangan yang dihasilkan
sebesar 8 bit.
Contoh Soal :
Tabel Kebenaran :
A B 𝐴̅ 𝐵̅ 𝐴̅𝐵 𝐴𝐵 𝐴̅𝐵 +
𝐴𝐵̅
0 0 1 1 0 0 0
0 1 1 0 1 0 1
1 0 0 1 0 1 1
1 1 0 0 0 0 0
Tugas Praktikum 2
SOAL NO 1.)
Source Code :
1. Enkrip
2. Menkripsi
3. Makefile
Output :
SOAL NO 2.)
Source Code :
1. Enkrip
2. Makefile
Output :
Tugas Pendahuluan 3