200 likes | 335 Views
PEMROGRAMAN C DI LINUX DAN KOMPILASI PROGRAM C DI LINUX. Praktikum Sistem Operasi. Pretest. Jelaskan secara singkat apa yang Anda ketahui tentang Bahasa Pemrograman C? (30)
E N D
PEMROGRAMAN C DI LINUX DAN KOMPILASI PROGRAM C DI LINUX PraktikumSistemOperasi
Pretest Jelaskansecarasingkatapa yang AndaketahuitentangBahasaPemrograman C? (30) Dalamsistemoperasi Linux, terdapat compiler untukBahasaPemrograman C. Apakah yang dimaksuddengan compiler? (30) Tuliskansebuah program sederhanamenggunakanBahasaPemrograman C yang bisamenghitungluaspersegipanjang! (40)
Persiapan • Text Editor • Compiler • Compiler adalah program yang mengkonversi source code menjadibahasamesin (biasadisebut object code atau machine code) sehinggadapatdimengertilangsungoleh CPU. • C compiler termasukdalam GNU Compiler Colection (GCC), salahsatukomponenpentingdalamdistribusilinux. • Untukmengecek GCC padasistemketikkangccpada command line, jikapesan yang diterimaberupa : "no input files" berartigcctelahterinstalldansiapdigunakan, jikatidakpesan yang diterimaadalah "command not found"
Pembuatan Program Pembuatan program C padalinuxbisadilakukandenganmenggunakan text editor, contohnyaadalah VIM dangedit. Hal yang perludiingatadalah script program harusdisimpandengannama .c. Contohnyanamafile.c, agar script tersebutbisadibacasebagai program C.
Kompilasi Program Kompilasidengan $ gccnamafile.c Kompilasidengan $ gcc -o namafilenamafile.c Kompilasidenganmakefile
Kompilasidenganmakefile Buatlah script makefile, yang disimpandalam folder yang samadengan script program. Contohmakefile: CFLAGS = -g -Wall CC = gcc SRSC = namafile.c OBJS = namafile.o all: make make: $(OBJS) $(CC) $(CFLAGS) -o namafile $(OBJS)
Kompilasidenganmakefile Setelahdisimpan, jalankan terminal dantuliskanperintah $ make all atau $ make namafilepada folder tempatmakefiledan script program.
Menjalankan Program Jika script tersebutsudahdikompilasidengancara $ gccnamafile.c, makauntukmenjalankanprogramnyaadalahmengetikkan ./a.out Jika script tersebutdikompilasidengancara $ gcc -o namafilenamafile.cataudenganmakefile, makacaranyaadalahmengetikkan ./namafile
Langkah-LangkahPraktikum Buatlahsebuah folder untuksetiappercobaan yang dilakukan Untukmembuat script, gunakan text editor (misalnyagedit). Padanama file, diisikan .c. Misalnyainginmembuat file dengannamacontoh. File tersebutharusbernamacontoh.c. LetakkanKodeSumber (.c) untuksetiappercobaandimasing-masing folder.
Langkah-LangkahPraktikum • Untukmelakukankompilasi, Lakukanuntuksetiappercobaan, masukkesetiap folder tersebut. • lakukan $gccnamafile.c, perhatikanapa yang terjadi, ada file apasajaygterciptadi folder tsb • lakukan $gcc -o namafilenamafile.c , perhatikanfile apayang terbentukdalam folder tersebut • untukmengkompilasidengan make, buat 1 file dengannamamakefile, kemudian - tentukanaturan-aturannyadidalam file itu. kemudiansetelahselesai, jalankanperintah $make. perhatikanapaygterbentukdalam folder tersebut
LatihanPraktikum Perbaiki Script-Script dibawahini, kompilasidengan $gcc, #gcc –o, danmakefile Dalamlaporansertakan script, script yang sudahdiperbaiki, script makefile, screenshot program yang sudahdiperbaiki, serta Jelaskanperbaikan script yang dilakukan Jelaskanperbedaanhasilkompilasidariketigajeniskompilasitersebut.
Latihan 1 #include main() { printf("Hello, world!\n"); return 0; }
Latihan 2 #include <stdio.h> #include <stdlib.h> #include <unistd.h> void main() { printf(<Files in Directory are: \>); system(<ls –l>; ) }
TugasTambahan Buatlahdanjelaskansebuah program yang dapatmenghitungluasdankelilingdarisegitiga, persegipanjangdanlingkaran. BuatlahdanJelaskansebuah program yang dapatmenampilkansegitigasepertiberikut: * *** ***** bisamemasukkantinggisesuaikeinginan,gambardiatasberatisegitigamempunyaitinggi 3.
TugasTambahan Eksekusi program berikutdenganmenggunakan make file danberikanpenjelasan: #include <stdio.h> #include <stdlib.h> #include <unistd.h> void main() { printf(‘’Files in Directory are: \n’’); execl(‘’/bin/ls’’,’’ls’’, ’’-l’’,0); }
Pengumuman Tugasdikumpul 5 April 2011. Jam 23.55 waktu server. Format sepertilaporanmodulsebelumnya. Pengumpulanterlambatatauselainpadaelearningtidakakandiperiksa.