Anda di halaman 1dari 23

LAPORAN PRAKTIKUM PEMROGRAMAN TERSTRUKTUR MODUL I SYNTAX DASAR C DAN INPUT/OUTPUT

DOSEN PEMBINA: M.T. Andarbeni, S.Kom. OLEH: KELOMPOK 19 KHOIRUL HIDAYAT 201110370311284

LABORATORIUM DMAG DAN RPL PROGRAM STUDI TEKNIK INFORMATIKA FAKULTAS TEKNIK UNIVERSITAS MUHAMMADIYAH MALANG 2011/2012

I. TUJUAN tipe. Mahasiswa memahami dan mampu memanfaatkan tipe data, variable dan konstanta Mahasiswa mampu menggunakan macam-macam operator dalam memecahkan Mahasiswa mampu membuat flowchart untuk algoritma untuk memecahkan masalah Mahasiswa mampu memanfaatkan instruksi untuk memasukkan data dalam berbagai pada bahasa c masalah yang terdapat di bahasa C. dalam bahasa C

II. ALAT YANG DIGUNAKAN KOMPUTER SOFTWARE BORLAND TURBO C++ 4.5

III. DASAR TEORI Bahasa pemrograman C merupakan salah satu bahasa pemrograman komputer. Dibuat pada tahun 1972 oleh Dennis Ritchie untuk Sistem Operasi Unix di Bell Telephone Laboratories. Meskipun C dibuat untuk memprogram sistem dan jaringan komputer namun bahasa ini juga sering digunakan dalam mengembangkan software aplikasi. C juga banyak dipakai oleh berbagai jenis platform sistem operasi dan arsitektur komputer, bahkan terdapat beberepa compiler yang sangat populer telah tersedia. C secara luar biasa memengaruhi bahasa populer lainnya, terutama C++ yang merupakan extensi dari C. Versi Bahasa C C K&R Pada tahun 1978, Dennis Ritchie dan Brian Kernighan menerbitkan edisi pertama dari buku yang berjudul The C Programming Language. Buku ini hingga sekarang diakui sebagai kitab suci bahasa C dan merupakan referensi utama seorang pemrogram yang ingin mengetahui tentang bahasa C, terutama karena begitu lengkapnya cakupan buku ini tentang bahasa C dan mudahnya program yang dicontohkan dalam buku ini.

Versi bahasa C yang ditampilkan dalam buku ini kemudian dikenal dalam kalangan pemrogram sebagai C K&R. Pada buku The C Programming Language edisi kedua kemudian melingkupi ANSI C yang diperkenalkan belakangan. ANSI C & ISO C Pada perkembangannya, muncul versi-versi C lain yang pada akhirnya membuat kebingungan di kalangan pemrogram. Karena itu, pada tahun 1983, American National Standards Institute (ANSI) membuat sebuah komite untuk membuat sebuah versi standar dari bahasa C. Setelah melalui proses yang panjang dan sengit, pada tahun 1989, telah berhasil disahkan standar yang dinamakan ANSI X3.159-1989, versi ini seringkali dinamakan ANSI C, atau kadang-kadang C89. Pada 1990, versi ANSI C diadopsi oleh Organization for Standardization (ISO) dengan sedikit perubahan dengan nama ISO/IEC 9899:1990. Versi ini seringkali dinamakan ISO C atau C90. Karena versi ANSI C dan ISO C hanya memiliki sedikit perbedaan, pemanggilan C90 dan C89 merujuk pada bahasa yang sama. C99 Versi C99 dibuat oleh ISO C pada tahun 1999. Versi ini dimaksudkan terutama untuk memperbanyak dukungan kepada pemrograman berorientasi objek, terutama setelah C++, yang dibuat berdasarkan bahasa ini mendapat tempat yang istimewa di kalangan pemrogram I. Proses Kompilasi Progam (Bahasa C)

Agar suatu program dalam bahasa pemrograman dapat dimengerti oleh komputer, program haruslah diterjemahkan dahulu ke dalam kode mesin. Adapun penerjemah yang digunakan bisa berupa interpreter atau kompiler. Interpreter adalah suatu jenis penerjemah yang menerjemahkan baris per baris instruksi untuk setiap saat. Proses dari bentuk program sumber C (source program, yaitu program yang ditulis dalam bahasa C) hingga menjadi program yang executable (dapat dieksekusi secara langsung) ditunjukkan pada gambar di bawah ini.

Format dan Struktur Penulisan bahasa c Format penulisan untuk program dalam bahasa C terdiri dari 1. Komentar 2. Preprocessor 3. Deklarasi Variabel Global 4. Protype fungsi 5. Main / Utama Berikut ini penjelasan mendasar dari format penulisan bahasa C 1. Komentar Bagian ini digunakan untuk memberikan keterangan pada program agar mudah dibaca dan akan diabaikan oleh kompiler. Cara penulisan : /*.......*/ // Contoh : 1: /* Berikut ini merupakan contoh komentar dalam bentuk paragraf */ 2: //Berikut ini merupakan contoh komentar per baris Digunakan untuk komentar bentuk paragrah Digunakan untuk komentar per baris

2.Preprocessor Preprocessor #include biasanya digunakan untuk menyertakan file header (.h) ataupun file library. File include berguna untuk memberitahu kompiler agar membaca file yang di include-kan lebih dahulu agar mengenali definisi-definisi yang digunakan dalam program agar tidak dianggap error Cara penulisan : #include <....> Digunakan ketika lokasi dari file yang dingin di-include-kan telah ditentukan oleh kompiler dan biasanya terletak pada folder direktor kompiler tersebut #include "..." Digunakan ketika lokasi file yang ingin di-include-kan terletak pada folder tempat program diletakan Contoh: 1: #include <avr/io.h> //file include terletak di direktori kompiler 2: #include "uart.h" /*file include terletak di folder yang sama dengan program utama*/ Selain perintah #include, terdapat juga perintah lain yang digunakan untuk mendefinisikan konstanta atau makro Cara penulisan : #define indentifier konstanta Contoh : 1: #define on 1 Berati setiap kemunculan "on" akan digantikan dengan angka 1 atau 1: #define lcd_port PORTD setiap menuliskan "lcd_port", berarti mengakses PORTD

3. Deklarasi Variabel Global Variabel global dideklarasikan di luar semua fungsi termasuk fungsi utama dan lataknya harus di atas. Sifat variable global yaitu dapat diakses(dibaca/ditulis) oleh semua penyataan dalam program.

Cara penulisan: TipeData nama Variabel; Contoh: 1: #include "transceiver.h" 2: uint8_t StartState = 0xFF;

4. Prototype fungsi Berguna untuk mendeklarasikan fungsi yang ditulis di bawah fungsi "main". Jika fungsi tersebut berada di atas fungsi "main", maka perlu untuk mendeklarasikan fungsi tersebut. Cara penulisan: TipeDATA namaFUNGSI (TipeDATA, ... , ...); TipeDATA namaFUNGSI (TipeDATA namaPARAMETER, ...);

5. Main/Utama Main/Utama merupakan fungsi pertama yang akan dieksekusi dengan urutan dari atas ke bawah. Jika di tengah2 program terdapat instruksi pemanggilan fungsi, maka alur program akan lompat ke fungsi tersebut dan akan kembali lagi jika pengerjaan tugas di fungsi tersebut sudah selesai. Cara penulisan: 1. Untuk fungsi tanpa nilai balik (output) dan tanpa parameter (input) NamaFUNGSI(); 2. Untuk fungsi dengan nilai balik (output) dan tanpa parameter (input) VariabelPENAMPUNG = namaFUNGSI(); 3. Untuk fungsi tanpa nilai balik (output) dan dengan parameter (input) namaFUNGSI(variabel/konstanta, ... , ... );

4. Untuk fungsi dengan nilai balik (output) dan dengan parameter (input) VariabelPENAMPUNG = namaFUNGSI(variabel/konstanta, ... , ... ); II. Fungsi-fungsi Dasar dalam Bahasa C

Fungsi-fungsi Dasar : a. printf fungsi dalam library stdio.h yang digunakan untuk menampilkan ke layar baik tipe string maupun placeholders. b. puts fungsi yang digunakan untuk menampilkan sebuah string ke layar ketika tidak menggunakan placeholders. c. scanf fungsi yang digunakan untuk menyimpan data yang tipenya diwakili oleh sebuah placeholder dalam format string ke alamat memori variabel yang telah ditentukan. d. getch fungsi yang digunakan untuk membaca data bertipe karakter tanpa perlu penekanan tombol enter tetapi karakter tidak akan ditampilkan. Biasanya digunakan untuk menahan tampilan output pada layar. e. getche fungsi yang digunakan untuk membaca data bertipe karakter tanpa perlu penekanan tombol enter dan karakter akan ditampilkan. f. getchar fungsi yang digunakan untuk membaca data bertipe karakter dimana karakter yang dimasukkan terlihat pada layar dan harus diakhiri dengan penekanan tombol enter. g. clrscr fungsi yang digunakan untuk membersihkan layar teks pada saat itu dan mengembalikan kursor ke pojok kiri atas.

IV. PROSEDUR PELAKSANAAN Membuat program sederhana menggunakan preposesor (define dan include), fungsi Memanggil library stdio.h kemudian menggunakan fungsi printf() untuk main() dan variabel-variable yang menggunakan tipe data int, double, float dan char. menampilkan isi variabel dan scanf() untuk menerima inputan. Melanjutkan program dengan menggunakan operator aritmatika(+,-,?,*.%). Mahasiswa mengerjakan tugas praktikum. Mahasiswa mendemokan hasil praktikum kepada asisten dan menulis laporan.

V. HASIL DAN ANALISIS 1. Buat program untuk 1. Menginputkan dan menampilkan nama(terdiri dari satu karakter) dan nilai yang diperoleh (int) dari 3 orang mahasiswa 2. Menampilkan Nilai total 3. Menampilkan Nilai rata rata Contoh: Input : 3 pasang karakter dan nilai Output : Nama A B C Nilai total : 210 Nilai rata-rata : 70 Source code #include <stdio.h> main( ) { int n1,n2,n3,total,average; char m1 [45],m2 [45],m3 [45]; printf("\t program penilaian kelas \n"); printf(" masukan nama mahasiswa 1 : \n"); scanf("%s",&m1); printf(" masukan nilai mahasiswa 1 : \n"); scanf("%d",&n1); printf(" masukan nama mahasiswa 2 : \n"); scanf("%s",&m2); printf(" masukan nilai mahasiswa 2 : \n"); scanf("%d",&n2); printf(" masukan nama mahasiswa 3 : \n"); scanf("%s",&m3); printf(" masukan nilai mahasiswa 3 : \n"); scanf("%d",&n3); printf(" \t| nama \t|\t nilai\t | \n"); printf(" \t| %s \t|\t %d \t | \n",m1,n1); printf(" \t| %s \t|\t %d \t | \n",m2,n2); printf(" \t| %s \t|\t %d \t | \n",m3,n3); 80 60 70 Nilai

total=n1+n2+n3; average=total/3; printf("nilai total = %d \n",total); printf("nilai rata-rata = %d \n",average); } Screenshoot:

Pembahasan source code soal no.1 : 1. int n1,n2,n3,total,average; menggunakan variable / deklarasi variable bilangan bulat/integer yang terdiri dari ( n1 sebagai variable nilai mahasiswa 1) , ( n2 sebagai variable nilai mahasiswa 2), ( n3 sebagai variable nilai mahasiswa 3), ( total sebagai variable hasil penjumlahan variable n1,n2 dan n3), ( average sebagai variable rata-rata n1,n2 dan n3). 2. char m1 [45],m2 [45],m3 [45]; menggunakan variable / deklarasi variable string yang terdiri dari ( m1 sebanyak 45 karakter sebagai variable nama mahasiswa 1), ( m2 sebanyak 45 karakter sebagai variable nama mahasiswa 2), ( m3 sebanyak 45 karakter sebagai variable nama mahasiswa 3). 3. printf("\t program penilaian kelas \n"); menampilkan kalimat program penilaian kelas. 4. printf(" masukan nama mahasiswa 1 : \n"); scanf("%s",&m1); printf(" masukan nilai mahasiswa 1 : \n"); scanf("%d",&n1); memulai menginputkan nama mahasiswa dan nilai mahasiswa,dan kemudian diproses dan disimpan kedalam masing masing variable 5. printf(" \t| nama \t|\t nilai\t | \n"); printf(" \t| %s \t|\t %d \t | \n",m1,n1); printf(" \t| %s \t|\t %d \t | \n",m2,n2); printf(" \t| %s \t|\t %d \t | \n",m3,n3); menampilkan Output : Nama doni dina dono total=n1+n2+n3; average=total/3; printf("nilai total = %d \n",total); printf("nilai rata-rata = %d \n",average); menampilkan Output : Nilai total : 210 Nilai rata-rata : 70 Nilai 80 60 70

ALGORITMA: 1. 2. 3. 4. 5. INPUT / masukan nama mahasiswa1 dan nilai mahasiswa1, nama mahasiswa2 dan nilai mahasiswa2, nama mahasiswa3 dan nilai mahasiswa3. Tampilkan inputan tersebut dalam bentuk tabel Jumlahkan nilai mahasiswa 1-3 Hitung rata-rata dari ketiga nilai OUTPUT/tampilkan hasil nilai total dan nilai rata-rata.

FLOWCHART: start

input mahasiswa1,nilai1, mahasiswa2,nilai2, mahasiswa3,nilai3

Total = nilai1+nilai2+nilai3

Average = total /3

Output Nama Nilai Nilai total : Nilai rata-rata :

end

2. Buat program untuk menghitung volume kerucut. i. ii. iii. iv. Source code #include <stdio.h> #define phi 3.14 main() { float jari,tinggi,volume; printf("\t program menghitung volume kerucut \n"); printf(" masukan panjang jari-jari kerucut :"); scanf("%f",&jari); printf(" masukan tinggi kerucut : "); scanf("%f",&tinggi); volume=(jari*jari*phi*tinggi)/3; printf("volume kerucut= %.2f",volume); } Screenshoot: Mendefinisikan konstanta PHI 3.14 / gunakan perintah # define phi 3.14 Menerima inputan dari user berupa panjang jari-jari alas dan tinggi Menampilkan hasil perhitungan Karena hasil nya desimal maka gunakan type data yang menghasilkan desimal.

Pembahasan source code soal no.2 : 1. #define phi 3.14 Merupakan library yang berfungsi untuk mendefinisikan bahwa phi=3.14 2. float jari,tinggi,volume; menggunakan variable / deklarasi variable bilangan desimal yang terdiri dari ( jari sebagai variable jari jari lingkaran) , ( tinggi sebagai variable tinggi bangun), ( volume sebagai variable nilai hasil volume) 3. printf("\t program menghitung volume kerucut \n"); menampilkan kalimat program menghitung volume karucut 4. printf(" masukan panjang jari-jari kerucut :"); scanf("%f",&jari); printf(" masukan tinggi kerucut : "); scanf("%f",&tinggi); memulai menginputkan panjang jari-jari kerucut dan timggi kerucut ,dan kemudian diproses dan disimpan kedalam masing masing variable. 5. volume=(jari*jari*phi*tinggi)/3; printf("volume kerucut= %.2f",volume); memulai menghitung volume,dan menampilkan hasil perhitungan. ALGORITMA: 1. 2. 3. 4. 5. input/masukan panjang jari-jari input/masukan tinggi phi=3.14 hitung volume = =(jari*jari*phi*tinggi)/3 output/cetak hasil volume

FLOWCHART:

start

input jari-jari, tinggi kerucut ,PHI=3.14

Volume=(jarijari*jarijari*phi*tinggi)/3

Volume kerucut

end

3. Buat program untuk menghitung luas bangun yang diarsir berikut ini.Input yang dimasukkan adalah sisi bujur sangkar. Sdangkan output yang dikeluarkan adalah luas bangun yang diarsir. Tentukan rumus yang akan dipergunakan. Source code #include <stdio.h> #define phi 3.14 main() { float sisi,jari,luas1,luas2,luas; printf("\t program menghitung luas di arsir (pada gambar) \n"); printf(" masukan panjang sisi :"); scanf("%f",&sisi); jari=sisi/2; luas1=sisi*sisi; luas2=phi*jari*jari; luas=l1-l2; printf("luas yang di arsis= %.2f",luas); } Screenshoot:

Pembahasan source code soal no.3 : 1. #define phi 3.14 Merupakan library yang berfungsi untuk mendefinisikan bahwa phi=3.14 2. float sisi,jari,luas1,luas2,luas; menggunakan variable / deklarasi variable bilangan desimal yang terdiri dari ( jari sebagai variable jari jari lingkaran) , ( tinggi sebagai variable tinggi bangun), ( luas1 sebagai variable nilai hasil luas bangun persegi) , ( luas2 sebagai variable nilai hasil luas bangun lingkaran), , ( luas sebagai variable nilai hasil luas bangun yang diarsir) 3. printf("\t program menghitung luas di arsir (pada gambar) \n"); menampilkan kalimat program menghitung luas di arsir (pada gambar) 4. printf(" masukan panjang sisi :"); scanf("%f",&sisi); memulai menginputkan panjang sisi dan kemudian diproses dan disimpan kedalam variable. 5. volume=(jari*jari*phi*tinggi)/3; printf("volume kerucut= %.2f",volume); memulai menghitung volume,dan menampilkan hasil perhitungan. ALGORITMA: 1. 2. 3. 4. 5. 6. 7. input/masukan panjang sisi diketahui /didefinisikan phi=3.14 hitung jarijari=sisi/2 hitung luas1=sisi*sisi hitung luas2=phi*jarijari*jarijari hitung luas =luas1-luas2 output/cetak hasil dari luas

FLOWCHART:

start

input sisi dan PHI=3.14

Jarijari=sisi/2

Luas1=sisi*sisi

Luas2=phi*jari*jari

Luas=luas1+luas2

Output Luas

end

4.

Buatlah program untuk menghitung keliling bangun dibawah ini. Inputan yang digunakan adalah panjang sisi persegi dan tinggi segitiga . Hitung kelililing bangun tersebut !

Source code #include <stdio.h> #include <math.h> main() { float sisi,tinggi,miring,keliling; printf("\t program menghitung keliling bangun (pada gambar) \n"); printf(" masukan panjang sisi :"); scanf("%f",&sisi); printf(" masukan tinggi segitiga :"); scanf("%f",&tinggi); miring=sqrt(tinggi*tinggi+sisi*sisi); printf("sisi miring= %.2f \n",miring); keliling=miring+tinggi+sisi+sisi+sisi; printf("keliling bangun = %.2f",keliling); } Screenshot:

Pembahasan source code soal no.4 : 1. 2. 3. #include <math.h> Penambahan library fungsi matematika untuk operator sqrt float sisi,tinggi,miring,keliling; variable yang disebutkan printf(" masukan panjang sisi :"); scanf("%f",&sisi); menampilkan kalimat tersebut,dan menginputkan panjang sisi. 4. printf(" masukan tinggi segitiga :"); scanf("%f",&tinggi); menampilkan kalimat tersebut,dan menginputkan tinggi segitiga 5. miring=sqrt(tinggi*tinggi+sisi*sisi); printf("sisi miring= %.2f \n",miring); penambahan sqrt yang berarti fungsi akar dan menghitung rumus yang disebutkan diatas. 6. keliling=miring+tinggi+sisi+sisi+sisi; printf("keliling bangun = %.2f",keliling); menghitung rumus keliling dan mencetak hasil dari perhitungan keliling.

ALGORITMA: 1. 2. 3. 4. 5. INPUT/masukan panjang sisi INPUT/masukan tinggi segitiga Hitung sisi miring = sqrt(tinggi*tinggi+sisi*sisi) Hitung keliling = sisimiring+sisi+sisi+sisi+tinggi OUTPUT/cetak hasil keliling

FLOWCHART:

start

input sisi,tinggi segitiga

miring=sqrt(tinggi*tinggi+sisi*sisi);

Output miring

keliling=miring+tinggi+sisi+sisi+sisi

Output keliling

end

VI.

KESIMPULAN
Setelah penyusun menyelesaikan laporan Syntax Dasar C Dan Input/Output ini,maka

penyusun dapat menyimpulkan bahwa pemrogaman dengan Bahasa pemrograman C merupakan salah satu bahasa pemrograman komputer dengan penerjemah yang digunakan bisa berupa interpreter atau kompiler. Interpreter adalah suatu jenis penerjemah yang menerjemahkan baris per baris instruksi untuk setiap saat. Proses dari bentuk program sumber C (source program, yaitu program yang ditulis dalam bahasa C) hingga menjadi program yang executable (dapat dieksekusi secara langsung) dengan format penulisan :

Baris pertama : #include <stdio.h.h> Baris kedua : int main () Baris ketiga : { Kurung kurawal buka menandakan awal program Baris keempat : std::cout << "Hello world\n"; } Kurung kurawal tutup menandakan akhir program. Penulis juga ingin menyimpulkan bahwa bahasa c mempunyai kelebihan yaitu: Berbeda dengan bahasa pemrograman yang lain, yang menggunakan algoritma konvensionl sebagai teknik pencariannya seperti pada Delphi, Pascal, Basic, COBOL dan bahasa pemrograman yang sejenisnya, maka prolog menggunakan teknik pencarian yang di sebut heuristik (heutistic) dengan menggunakan pohon logika. Melakukan komputasi rumit pada data yang kompleks.

Mengekpresikan algoritma dengan baik. Mengalokasikan memori secara dinamis sehingga programmer tidak harus mendeklarasikan ukuran sebuah struktur data sebelum membuatnya.

Mengembangkan dan memodifikasi dirinya sendiri sehingga sebuah program dapatbelajar melalui informasi yang didapat selama program dijalankan