Hasilnya:
batch.bat
Code.c
Code.exe
Code.i
Code.s
File disassembly_code_exe.asm 5.Buka file code_O0.c, code_O1.c, code_O2.c, code_O3.c,
code_Os.c, dan code_Ofast.c dengan teks editor lalu
bandingkan kelimanya.
Hasilnya:
Code_00
Code_O2.c
Code_O3.c
Code.Ofast.c
Code_Os.c
MakeFile
3. Buatlah file bernama text.h menggunakan teks editor
Notepad++ dengan isi sebagai berikut. Sesuaikan
identitas pada header.
.
(Langkah 7)
(Langkah 1)
(Langkah 8)
(Langkah 9)
(Langkah 2)
(Langkah 10)
Pada tugas 8 ini dilakukan percobaan untuk lebih
memahami pemanggilan prosedur dan stack pada memory.
Pada proses pemanggilan prosedur, memory dapat
(Langkah 3)
dimodelkan sebagai stack.
Tugas 9 : Program Fibonacci
Buatlah program penghitung deret fibonacci yang sederhana
yaitu program yang akan menampilkan deret fibonacci dengan
banyak angka (n) yang sesuai dengan masukkan pengguna.
Contohnya, bila pengguna menginginkan banyak angka
sebesar n=7, maka deret fibonacci memiliki bentuk seperti
berikut
.
1, 1, 2, 3, 5, 8, 13 Program ini terdiri atas tiga buah file kode.
File inputn.c berisi kode-kode yang menangani proses
meminta pengguna untuk memasukkan nilai n hingga
menerima dan menyimpan nilai n yang dimasukkan oleh
pengguna. Perhatikan bahwa nilai n memiliki batas minimum
sebesar n=2 sehingga diperlukan validasi input. File fibo.c
berisi kode-kode yang menangani proses kalkulasi deret
fibonnaci sesuai jumlah angka yang akan ditampilkan dan
menampilkannya pada layar. File fibo_main.c yang berisi
program utama yang memanggil prosedur-prosedur inputn.c Setiap source code memiliki fungsi yang berbeda beda, tetap
dan fibo.c. memiliki output yang sama. Itu dikarenakan beberapa fungsi
1. Implementasi prosedur-prosedur yang dibutuhkan pada memang digunakan agar tidak terjadi pemanggilan fungsi
inputn.c dan fibo_main.c. Jangan lupa membuat file header yang lain secara berulang ulang. Pemakaian batch file adalah
untuk masing-masing file kode tersebut. salah satu contoh fungsi yang tidak harus dipanggil secara
2. Buatlah program utama pada file fibo_main.c. berulang ulang.dan mengubah code ke program yang
3. Buatlah makefile untuk melakukan kompilasi seluruh file executable.Make File juga berfungsi untuk program yang
kode program. memiliki file kompilasi yang banyak agar tidak harus
4. Jalankan program yang telah dikompilasi lalu periksalah memasukkan input yang banyak. Header adalah
fungsionalitasnya file program yang berguna untuk mendeklarasikan fungsi
Analisis: yang akan dilakukan pengeksekusian.
Pada tugas 9 ini dilakukan kompilasi program fibo_main.exe
yang merupakan executable file yang berasal dari gabungan
file fibo_main.c, inputn.c dan fibo.c . Ketiga file dihubungkan Refrensi
dengan membuat dua buah header file yaitu fibo.h dan NWS3102_Modul_ASK_2016_Final
inputn.h .Langkah langkah menerjemahkan baris-baris kode Id.scribd.com
program pada c menjadi file eksekusi dilakukan dalam 4 Template_Laporan_Praktikum
langkah meliputi preprocessor,compiler,assembler,dan linker https://el3111.bagus.my.id/wp-content
yang seluruhnya disebut kompilasi.
Simpulan
LAMPIRAN: int indeks;
Source code tugas 1 int accumulator;
indeks = 0;
Code.c accumulator = 0;
// Praktikum NWS3103 Arsitektur Sistem Komputer while(indeks<N_LOOP)
// Modul : 1 {
// Percobaan : 1
// Tanggal : 28 September 2017 accumulator = accumulator + indeks;
// Kelompok : 04 indeks = indeks + 1;
// Rombongan : 1 }
// Nama (NIM) 1 : Daniel Simarmata (14S15047) return accumulator;
// Nama (NIM) 2 : Christine sonya (14S15035) }
// Nama (NIM) 3 : Putra Oloan (14S15011)
// Nama File : code.c
// Deskripsi : Demonstrasi proses kompilasi C
// Menjumlahkan deret bilangan sebanyak N_LOOP
#define N_LOOP 500 Tugas 3
int main(void)
{ disassembly_code_o.asm
int indeks; (berupa file kosong)
int accumulator;
indeks = 0; disassembly_code_exe.asm
accumulator = 0;
while(indeks<N_LOOP)
{ code.o: file format pe-i386
Add.c
// Praktikum NWS3103 Arsitektur Sistem Komputer
// Modul : 1
// Percobaan : 1
// Tanggal : 28 September 2017
// Kelompok : 04
// Rombongan : 1
Tugas 9
Fibo.c
#include <stdio.h>
int fibo (int n) {
int i;
int a = 1;
int b = 1;
int c;
printf("Deret fibonacchi\n");
printf("1, 1, ");
for (i=1;i<=n-2;i++) {
c = a+b;
printf("%d, ",c);
a = b;
b = c;
}
return 0;
}
Fibo_main.c
#include <stdio.h>
#include "inputn.h"
#include "fibo.h"
int main(void) {
int a;
a = input();
fibo(a);
return 0 ;
}
Input.c
// Praktikum NWS3103 Arsitektur Sistem Komputer
// Modul :1
// Percobaan :1
// Tanggal : 28 September 2017
// Kelompok :3
// Rombongan :1
// Nama (NIM) 1 : Daniel Simarmata (14S15047)
// Nama (NIM) 2 : Christine Sonya (14S15035)
// Nama (NIM) 3 : Putra Oloan Hutagaol (14S15011)
// Nama File : inputn.c
// Deskripsi : Penggunaan Makefile pada GCC
#include <stdio.h>
#define START_VAL 0
int accum = START_VAL;
int input (void)
{
int n;
scanf("%d", &n);
while (n<2)
{
scanf("%d", &n);
}
return (n);
}