Anda di halaman 1dari 43

1

BAB I PENDAHULUAN

1.1.

Latar Belakang Dalam penulisan laporan praktikum ini, penulis akan memberikan

beberapa pengertian yang berhubungan dengan judul laporan, karena tanpa pengertian yang jelas akan menyebabkan informasi yang disajikan tidak sesuai dengan hasil praktikum yang dipaparkan. Algoritma dan pemrograman merupakan ilmu yang sangat esensial dalam membuat program. Dengan pemrograman itu sendiri, sebuah program bisa disusun dibantu dengan algoritma. Algoritma membantu penyelesaian masalah yang ingin dipecahkan untuk membuat sebuah program,kemudian program disusun oleh programmer dengan mengcompile source code menjadi sebuah program yang dapat dieksekusi. Algoritma dapat disusun dalam bentuk pseudo code maupun flowchart. Pseudo code adalah Kode atau tanda yang menyerupai (pseudo) program atau merupakan penjelasan cara menyelesaikan suatu masalah. Pseudo-code sering digunakan oleh manusia untuk menuliskan algoritma. Sementara flowchart adalah suatu teknik untukk menyusun rencana program yang telah dipergunakan oleh kalangan programmer komputer sebelum algoritma menjadi populer. Flowchart menggunakan simbol gambar yang menunjukkan aliran dari proses terhadap data. Listing pemrograman tersebut ditulis dalam bahasa pemrograman. Terdapat macam macam bahasa pemrograman, dari tingkat rendah seperti bahasa mesin sampai bahasa tingkat tinggi seperti Pascal, C, Delphi dll. Setiap bahasa pemrograman memiliki kelemahan dan kelebihan masing-masing. Tinggal peran programmer itu sendiri yang memilih bahasa pemrograman yang sesuai dengan kebutuhannya.

Tentunya ada faktor lain yang perlu diperhatikan dalam pemrograman, seperti efisiensi dalam menuliskan source dan seberapa user friendlynya program tersebut. Semua itu tentunya penting agar program yang dibuat lebih berdaya guna dan memudahkan pengguna komputer. 1.2. Tujuan Praktikum 1. Untuk mengenal dan memahami fungsi dasar dalam Bahasa C. 2. Agar bisa menggunakan fungsi dasar Bahasa C. 3. Untuk bisa mengaplikasikan Bahasa C dalam pembuatan berbagai program.

1.3.

Manfaat Praktikum

1. Menambah wawasan mengenai pemrograman bahasa C. 2. Memberikan pengetahuan mengenai struktur dan sintaks bahasa C. 3. Memberikan pengetahuan mengenai bagaimana mengaplikasikan bahasa C dalam pembuatan berbagai program.

BAB II LANDASAN TEORI

Dalam praktikum ini digunakan bahasa pemrograman C, untuk itu dibawah ini akan diuraikan beberapa teori dasar mengenai bahasa C sebagai berikut ini: 2.1. Sejarah Bahasa C Bahasa C diciptakan oleh Dennis Ritchie bersama dengan Brian Kernighan pada tahun 1970-an di Bell Telephone Laboratories Inc. Bahasa ini mendapat sambutan dari para programmer dan berhasil digunakan untuk menciptakan berbagai software baru seperti VisiCalc, WordStar,Lotus dll. Bahkan system operasi UNIX juga dilahirkan dari bahasa ini. Bahasa C dikatakan sebagai bahasa pemrograman terstruktur, karena strukturnya menggunakan fungsi-fungsi sebagai subroutinenya(fungsi lain selain fungsi utama). Subroutine ini ditulis setelah fungsi utama(main) atau diletakkan pada file pustaka(library). Bila file pustaka ini akan dipakai dalam suatu program, maka nama file headernya harus dilibatkan dalam program menggunakan preprocessor directive 2.2. Struktur Bahasa C Bahasa C memiliki beberapa elemen dasar seperti: 1. Karakter Mengacu dari system standar kode internasional ANSI karakter yang dikenal didalam bahasa C adalah karakter abjad/huruf, angka, dan simbol-simbol khusus.

2.

Keyword Keyword adalah suatu kata yang memiliki makna dan fungsi tertentu,

karena itu ia disebut juga reserved word. Hampir semua keyword ditulis dalam huruf kecil. 3. Identifier Identifier dapat dikatakan sebagai suatu tempat untuk menyimpan nilai. Identifier dapat diberi nama unik dan bisa memiliki tipe data.Ia dibagi menjadi dua: a. Konstanta: nilainya tetap selama program

berjalan(dieksekusi),cara code saja. b.

untuk mengubahnya hanya melalui source

Variabel: nilainya dapat berubah atau diubah selama program

berjalan(dieksekusi).Yang mengubahnya hanyalah user atau proses. 4. Tipe data Merupakan pengelompokan data yang digunakan untuk merepresentasikan jenis sebuah nilai yang terdapat pada program. 5. Operator Operator berkaitan erat dengan kata operasi. Operator ditandai dengan sebuah atau beberapa simbol dan kata. 6. Punctuator Punctuator adalah simbol-simbol yang berkenaan sebagai tanda baca pada struktur penulisan bahasa C.

2.3.

Macam-macam Pernyataan Ada macam-macam pernyataan atau statement yang digunakan dalam

bahasa C. Pernyataan pernyataan itu diuraikan sebagai berikut:

2.3.1. Pernyataan Kosong(Null Statement)

Pernyataan

ini merupakan yang paling sederhana, kita hanya perlu

menambahkan pengakhir titik koma(;) saja di bagian akhirnya.Tidak ada tindakan yang dilakukan dalam pernyataan ini.

2.3.2. Pernyataan Ungkapan(Expression Statement) Sementara pernyataan yang ini dibentuk dari suatu ungkapan dan diakhiri dengan titik koma.

2.3.3. Pernyataan kendali(Control Statement) Statement ini digunakan untuk mengendalikan proses dari program, yaitu: Penyeleksian kondisi(percabangan): a) If, case dan switch Fungsi if dapat dibagi menjadi 3 yaitu: -If tunggal: If(kondisi) { Perintah benar; }

-If-else:

If(kondisi) { Perintah benar; }

-Nested if:

If(kondisi 1) { If(kondisi 2)

{ Perintah benar kondisi 2; } Else { Perintah salah kondisi 2;} } Else Perintah salah kondisi 1; Fungsi switch memiliki struktur sebagai berikut:

switch (ungkapan) { case nilai1: perintah jika nilai1=ungkapan;break; case nilai2: perintah jika nilai2=ungkapan;break; case nilaiN: perintah jika nilaiN=ungkapan;break; default: perintah salah nilai 1 s/d N; }

b)

.Lompatan(perulangan):

Looping atau perulangan adalah pengulangan perintah perintah sampai mencapai keadaan tertentu. Fungsi-fungsi perulangan dapat dibagi menjadi:for, while, do-while, goto, break dan continue. -For: Perulangan for digunakan untuk menghasilkan pengulangan beberapa kali tanpa penggunaan kondisi apapun. Bentuk dasarnya adalah:

For(nilai awal;batas;pencacah) {

Badan perulangan }

-While: Perulangan while merupakan salah satu pernyataan yang berguna untuk memproses suatu pernyataan atau beberapa pernyataan beberapa kali tanpa diketahui pasti berapa kali perulangan tersebut akan dilakukan. Struktur umum perulangan ini adalah: Nilai awal; While(batas) { Badan perulangan; Pencacah; }

-Do while: Mirip seperti while,hanya saja pada do while pernyataannya hanya sekali dieksekusi. Bentuk umumnya adalah: Nilai awal; do { Badan perulangan; Pencacah; } while(batas);

-continue-break: Biasanya digunakan pada switch dan loop. Bila digunakan pada for bentuknya adalah: for(nilai awal;batas;pencacah) {

If(batas) continue; { pernyataan;} If(batas) break; } -goto: Bentuk umumnya adalah: goto bawah; Pernyataan1; Pernyataan2; bawah: pernyataan3;

2.3.4. Pernyataan Jamak(Compound /Block Statement) Pernyataan atau statement yang terdiri dari gabungan beberapa statement tunggalyang ditulis pada posisi diantara tanda kurung kurawal({dan})

2.4.

Fungsi Fungsi adalah suatu kumpulan instruksi/perintah/program yang

dikelompokkan menjadi satu,letaknya terpisah dari program yang menggunakan fungsi tersebut, memiliki nama tertentu yang unik, dan digunakan untuk mengerjakan suatu tujuan tertentu. Sementara parameter adalah nama nama peubah yang dideklarasikan pada bagian header fungsi.Secara harfiah, penulisan dalam bahasa C disusun secara modular. Bafhkan pada program utamanya juga berbentuk modul. Secara umum bentuk fungsi C adalah sebagai berikut:

Tipe_data nama fungsi (daftar_parameter) { Tubuh_fungsi;

2.4.1. Deklarasi

Ada dua cara untuk mendeklarasikan fungsi yaitu secara langsung dan tidak langsung. Pada deklarasi langsung, fungsi ditempatkan diatas fungsi main(). Sementara secara tidak langsung dapat dilakukan dengan menempatkan nama prototype fungsi diatas fungsi main() dan implementasinya dibawahnya. 2.4.2. Parameter Parameter bisa dilewatkan kedalam sebuah fungsi dengan dua cara sbb: 1. Call by Value

Adalah suatu cara melewatkan sebuah nilai pada parameter.

2.

Call by Reference

Adalah suatu cara melewatkan alamat sebuah variable pada sebuah parameter. Untuk jenis parameter ini, perlu ditambahkan operator pointer yaitu & atau * di depannya.

3.

Rekursif

Rekursif adalah pemanggilan oleh dirinya sendiri. Oleh karena fungsi bisa menghasilkan nilai balik, maka fungsi juga bisa memanggil dirinya sendiri.

2.5.

Array Array adalah suatu bentuk struktur data yang menampung satu data atau

lebih dari satu data yang sejenis. setiap elemen atau anggota array dapat dikenali atau diakses melalui suatu indeks. array dibagi tiga berdasarkan jumlah dimensinya. array berdimensi satu disebut vektor, yang berdimensi dua disebut matriks serta yang berdimensi lebih dari dua disebut tensor.

10

BAB III HASIL PRAKTIKUM


3.1. Modul I 3.1.1. Latihan

1.

Listing #include <stdio.h> #include <conio.h>

int main () { int c; double a; float b; long int x; char nama[15]; char F; printf("Masukkan angka berdasarkan tipe data\n"); printf("Bilangan Bulat(int): ");scanf("%d",&c); printf("Bilangan Riil (float): ");scanf("%f",&b); printf("Bilangan Double: ");scanf("%lf",&a); printf("Bilangan long integer: ");scanf("%li",&x); printf("Bilangan karakter: ");scanf("%s",&F);

11

printf("Masukkan Nama Anda: ");scanf("%s",&nama);

printf("\n Tampilkan kembali yang anda input tadi\n"); printf("integer:%d\n Long Integer: %li\n Float:%f \n Long Float: %lf\n Karakter: %c\n String:

%s",c,x,b,a,F,nama); return 0; } Hasil Eksekusi

Gambar 1.1 Program yang menghasilkan input sesuai tipe data. 2. Listing #include<stdio.h>

int main ()

12

{ int angka1,angka2,total; printf("Masukkan angka pertama: "); scanf("%i",&angka1); printf("Masukkan angka kedua: "); scanf("%i",&angka2); total=angka1+angka2; printf("Hasil penjumlahan adalah %i",total); return 0; } Hasil Eksekusi

Gambar 1.2 Program yang menyatakan penjumlahan. 3. Listing #include<conio.h> #include<stdio.h> #include<stdlib.h>

using namespace std;

13

int main () { char nim [25]; char nama [25]; char alamat [25]; printf("\t\tLaboraturium Pemrograman\t\t\n"); printf("\t\tTeknik Informatika Unimal\t\t\n"); printf("================================ =======================\n"); printf("NIM\t: ");scanf("%s",&nim); printf("\n"); printf("NAMA\t: ");scanf("%s",&nama); printf("\n"); printf("ALAMAT\t: ");scanf("%s",&alamat); printf("\n"); printf("================================ =======================\n"); printf("NIM\t\tNAMA\t\tALAMAT"); printf("\n"); printf("================================ =======================\n"); printf("%s",nim);

14

printf(" "); printf("%s",nama); printf(" "); printf("%s", alamat); printf(" "); printf("\n"); printf("================================ =======================\n"); return EXIT_SUCCESS; } Hasil Eksekusi

Gambar 1.3 Program yang memberikan output data pribadi.

3.2.

Modul II 3.2.1. Latihan

15

1.

Listing #include<stdio.h> #include<conio.h>

int main () { int a,c=10; printf("Masukkan sebuah nilai: ");scanf("%d",&a); if(a<10) {printf("Nilai %d lebih kecil dari %d\n",a,c);} printf("Jumlah %d+%d=%d\n",a,c,a+c); return 0; } Hasil Eksekusi

Gambar 2.1.1 Hasil eksekusi latihan 1 apabila diberikan input angka yang lebih kecil dari 10.

Gambar 2.1.2 Hasil eksekusi latihan 1 apabila diberikan input angka yang lebih besar dari 10. 2. Listing

16

#include<stdio.h> #include<conio.h>

int main () { int a,c; printf("Masukkan nilai angka pertama: ");scanf("%d",&a); printf("Masukkan nilai angka kedua: ");scanf("%d",&c); if(a<c) {printf("Nilai %d lebih kecil dari %d\n",a,c);} else {printf("Nilai %d lebih besar dari %d\n",a,c);} return 0; } Hasil Eksekusi

Gambar 2.2.1 Hasil eksekusi latihan 2 apabila diberikan input angka pertama 4 dan angka kedua 5.

17

Gambar 2.2.2 Hasil eksekusi latihan 2 apabila diberikan input angka pertama 5 dan angka kedua 4. 3. Listing #include<stdio.h> #include<conio.h>

int main () { int a,b,c; printf("Masukkan nilai angka pertama: ");scanf("%d",&a); printf("Masukkan nilai angka kedua: ");scanf("%d",&b); printf("Masukkan nilai angka ketiga: ");scanf("%d",&c); if(a>c && a>b) {printf("Angka %d terbesar dari %d dan %d \n",a,b,c);} else if (c>a && c>b) {printf("Angka %d terbesar dari %d dan %d \n",c,b,a);} else {printf("Angka %d terbesar dari %d dan %d \n",b,c,a);} return 0; } Hasil Eksekusi

Gambar 2.3 Program pembanding tiga angka. 4. Listing #include<stdio.h> #include<conio.h>

18

int main () { int a,b,c;

printf("masukkan nilai angka pertama: ");scanf("%d",&a); printf("masukkan nilai angka kedua: ");scanf("%d",&b); printf("masukkan nilai angka ketiga: ");scanf("%d",&c); if(a>c) { if(a>b) printf("Angka %d terbesar dari %d dan %d \n",a,b,c); else printf("Angka %d terbesar dari %d dan %d \n",b,c,a); } else if (c>a) { if(c>b) printf("Angka %d terbesar dari %d dan %d \n",c,b,a); else printf("Angka %d terbesar dari %d dan %d \n",b,c,a); } else { printf("Angka %d terbesar dari %d dan %d \n",b,c,a); }

19

return 0; } Hasil Eksekusi

Gambar 2.4 Program yang membandingkan 3 angka. 5. Listing #include<stdio.h> #include<conio.h>

int main () { int a,b,c;

printf("Masukkan sebuah angka antara 1-3: ");scanf("%d",&a); switch(a) { case 1:printf("Anda memasukkan angka satu");break; case 2:printf("Anda memasukkan angka dua");break; case 3:printf("Anda memasukkan angka tiga");break; default: printf("Inputan salah, Input angka 1-3"); } return 0; }

20

Hasil Eksekusi

Gambar 2.5.1 Hasil Eksekusi latihan 5 bila angka yang diinput 1-3.

Gambar 2.5.2 Hasil Eksekusi Latihan 5 bila angka yang diinput lebih dari 3, dalam hal ini angka 5. 6. Listing #include<stdio.h> #include<conio.h>

int main () { char unit; int j;

printf("Anda unit apa? (A/B/C): ");scanf("%c",&unit); switch(unit) { case 'A':printf("Apa jenis kelamin Anda (L/P)?:\n"); printf("Angka 1 untuk lakilaki dan angka 2 untuk perempuan: ");scanf("%d",&j);

21

switch(j) { case 1: printf("Anda dari unit %c yang berjenis kelamin Laki-laki",unit);break; case 2: printf("Anda dari unit %c yang berjenis kelamin perempuan",unit);break; default: printf("Inputan jenis kelamin salah"); } break; case 'B':printf("Apa jenis kelamin Anda (L/P)?:\n"); printf("Angka 1 untuk lakilaki dan angka 2 untuk perempuan: ");scanf("%d",&j); switch(j) { case 1: printf("Anda dari unit %c yang berjenis kelamin Laki-laki",unit);break; case 2: printf("Anda dari unit %c yang berjenis kelamin perempuan",unit);break; default: printf("Inputan jenis kelamin salah"); } break; case 'C':printf("Apa jenis kelamin Anda (L/P)?:\n"); printf("Angka 1 untuk lakilaki dan angka 2 untuk perempuan: ");scanf("%d",&j); switch(j) { case 1: printf("Anda dari unit %c yang berjenis kelamin Laki-laki",unit);break;

22

case 2: printf("Anda dari unit %c yang berjenis kelamin perempuan",unit);break; default: printf("Inputan jenis kelamin salah"); } break;

default:printf("Inputan salah, input unit A/B/C"); } return 0; } Hasil Eksekusi

Gambar 2.6 Program yang memberikan output data sesuai yang dimasukkan. 3.2.2. Tugas Listing #include<stdio.h> #include<conio.h>

int main() { int ukuran,nama; printf("Masukkan no produk(1.Nutrilon/2.Promil/3.Similac: ");scanf("%d",&nama); switch(nama) { case 1:printf("Masukkan ukuran: ");scanf("%d",&ukuran);

23

switch(ukuran) { case 400:printf("Harga produk adalah Rp 77.000,-");break; case 900:printf("Harga produk adalah Rp 145.000,-");break; default:printf("Ukuran yang anda masukkan salah "); }break; case 2:printf("Masukkan ukuran: ");scanf("%d",&ukuran); switch(ukuran) { case 400:printf("Harga produk adalah Rp 45.000,-");break; case 900:printf("Harga produk adalah Rp 90.000,-");break; default:printf("Ukuran yang anda masukkan salah "); }break; case 3:printf("Masukkan ukuran: ");scanf("%d",&ukuran); switch(ukuran) { case 400:printf("Harga produk adalah Rp 90.000,-");break; case 900:printf("Harga produk adalah Rp 175.000,-");break; default:printf("Ukuran yang anda masukkan salah "); }break; default:printf("No produk yang anda masukkan salah\n"); } return 0; } Hasil Eksekusi

Gambar 2.7 Program mengenai harga produk susu. 3.3. Modul III 3.3.1. Latihan 1. Listing

24

#include<stdio.h>

int main() { int i; for(i=1;i<=10;i++) { printf("%d\t",i); } return 0; } Hasil Eksekusi

Gambar 3.1 Program perulangan angka menggunakan for. 2. Listing #include<stdio.h> #include<conio.h>

int main() { int i,j; for (i=1;i<=10;i++) { for(j=1;j<=10;j++) { printf("*"); } printf("\n");

25

} return 0; } Hasil Eksekusi

Gambar 3.2 Program perulangan for yang berbentuk nested.. 3. Listing #include<stdio.h> #include<conio.h>

int main() { int i;

i=1; while(i<=10) { printf("%d\t",i); i=i+1; } return 0; } Hasil Eksekusi

26

Gambar 3.3 Program perulangan menggunakan while. 4. Listing #include<stdio.h> #include<conio.h>

int main() { int i; do { printf("%d\t",i); i=i+1; }while(i<=10); return 0; } Hasil Eksekusi

Gambar 3.4 Program perulangan do-while.. 5. Listing #include<stdio.h> #include<conio.h>

int main() { int i,j; for(i=1;i<=10;i++)

27

{ if(i==4) continue; { printf("%d\t",i); } if(i==9) break; } return 0; } Hasil Eksekusi

Gambar 3.5 Program perulangan menggunakan break. 6. Listing #include<stdio.h> #include<conio.h>

int main() { printf("Pernyataan Pertama \n"); goto bawah; printf("Pernyataan Kedua\n"); bawah:printf("Pernyataan Ketiga");

return 0; } Hasil Eksekusi

28

Gambar 3.6 Program perulangan menggunakan goto. Tugas 1. Listing #include<stdio.h> #include<conio.h>

int main() { int i; for(i=10;i>=1;i--) { printf(" "); printf("%d",i); } return 0; } Hasil Eksekusi

Gambar 3.7 Program perulangan angka secara mundur. 2. Listing #include<stdio.h> #include<conio.h> #include<iomanip.h>

29

#define maxs 7 int main() { int a,b; for (a=0;a<=maxs;a+=2) { for(b=a;b<=maxs;b++)

{ if (b %2==1) setw(2); else printf("*"); } printf("\n"); } return 1; } Hasil Eksekusi

Gambar 3.8 Program perulangan bintang. 3. Listing #include<stdio.h> #include<conio.h>

int main () { int i,h;

30

int j = 8; for(i=5;i>0;i--) { h=j-i; printf("%i\t", h); printf("\n");

} return 0; } Hasil Eksekusi

Gambar 3.9 Program perulangan angka secara menurun.

3.4.

Modul IV 3.4.1. Latihan

1.

Listing #include<stdio.h> #include<conio.h>

int kali(int angka_1, int angka_2) { return angka_1 * angka_2; } int main() { printf("Hasil kali angka 2 dan 3 adalah",kali(2,3));

31

return 0; }

Hasil Eksekusi

Gambar 4.1 perkalian menggunakan fungsi 2. Listing #include<stdio.h> #include<conio.h>

int kali(int angka_1, int angka_2); int jumlah(int*angka_1,int*angka_2);

int main() { int a,b; a=10;b=10;

printf("Hasil kali antara a dan b adalah %d\n",kali(a,b)); printf("Hasil jumlah antara a dan b adalah %d",jumlah(&a,&b));

return 0; }

32

int kali(int angka_1, int angka_2) //implementasi prototype fungsi { angka_1=angka_1 * angka_2; return angka_1; }

int jumlah(int *angka_1, int *angka_2) //implementasi prototype fungsi { *angka_1=*angka_1+*angka_2; return *angka_1; } Hasil Eksekusi

Gambar 4.2 Fungsi call by reference

3.

Listing #include<stdio.h> #include<conio.h>

int faktorial(int); //deklarasi fungsi int main() { printf("%d",faktorial(5)); return 0; }

33

int faktorial(int angka_1) //implementasi prototype fungsi { if(angka_1==0) return 1; else return angka_1*faktorial(angka_11); } Hasil Eksekusi

Gambar 4.3 Fungsi rekursif

3.4.2. Tugas 1. Listing

#include<stdio.h> #include<conio.h>

int segitiga(int angka_1,int angka_2); int main() { int a, b; a=8;b=5;

printf("Luas segitiga adalah%d\n",segitiga(a,b));

return 0; } int segitiga(int angka_1, int angka_2)

34

{ angka_1=0.5*angka_1*angka_2; return angka_1; } Hasil Eksekusi

Gambar 4.4 Fungsi menghitung luas bangun segitiga

3.5. Modul V 3.5.1. Latihan 1. Listing #include<stdio.h> #include<conio.h> int main() { int i,bil_bulat[5]; float bil_real[5]; char nama[20];

for(i=0;i<=5;i++) { printf("Masukkan bilangan bulat ke %d:",i+1); scanf("%d",&bil_bulat[i]); printf("Masukkan bilangan pecahan ke %d:",i+1); scanf("%f",&bil_real[i]); }

35

printf("Masukkan nama anda :"); scanf("%s",&nama); for(i=0;i<5;i++) { printf("bilangan bulat ke %d: %d\n",i+1,bil_bulat[i]); printf("bilangan bulat ke %d: %f\n",i+1,bil_real[i]); } printf("Nama Anda : %s",nama);

return 0;

} Hasil Eksekusi

Gambar 5.1 Latihan Array Dimensi satu

2.

Listing #include<stdio.h>

36

#include<conio.h>

int main() { int i,j; int matrikA[3][3],matrikB[3][3], matrikhasil[3][3];

for (i=0;i<3;i++) { for(j=0;j<3;j++) { printf("Masukkan elemen A[%d][%d]: ",i+1,j+1); scanf("d",&matrikA[i][j]); } } for (i=0;i<3;i++) { for (j=0;j<3;j++) { printf("Masukkan elemen B[%d][%d]: ",i+1,j+1); scanf("%d",&matrikB[i][j]); } } printf("\n Elemen dari matriks A adalah:\n"); for (i=0;i<3;i++) { for(j=0;j<3;j++) { printf("%d\t",matrikA[i][j]);

37

} printf("\n"); } printf("\n Elemen dari matriks B adalah:\n"); for (i=0;i<3;i++) { for (j=0;j<3;j++) { printf("%d\t",matrikB[i][j]); } printf("\n"); }

for (i=0;i<3;i++) { for(j=0;j<3;j++) {

matrikhasil[i][j]=matrikA[i][j]+matrikB[i][j]; } }

for (i=0;i<3;i++) { for(j=0;j<3;j++) {

printf("%d\t",matrikhasil[i][j]); } printf("\n"); }

38

return 0; } Hasil Eksekusi

Gambar 5.2 Array Dua Dimensi

39

BAB IV ANALISA PROGRAM


Dari hasil praktikum diatas dapat dihasilkan analisa yang menunjukkan bahwa dalam menuliskan source code ada hal-hal essensial yang harus dipenuhi agar program dapat berjalan , seperti struktur mana yang harus ada dan tata cara penulisan struktur tersebut, yaitu:

a. Preprosessor Directive adalah bagian yang berisi pengikutsertaan file atau berkas-berkas fungsi maupun pendefinisian konstanta atau fungsi makro tertentu. Header file ini berisi perintah tertentu yang akan dipakai dalam mengoperasikan program misalnya printf dan scanf yang terdapat dalam <stdio.h>, jadi gunakanlah header file sesuai dengan perintah yang ingin digunakan.

b. Suatu program C minimal harus memiliki function main(), tanpa function itu maka program C tidak dapat dieksekusi tapi bisa dikompilasi. Fungsi main ini umumnya ditulis dalam bentuk int main ( ) yang berarti bahwa nilai kembali dari fungsi adalah integer, atau void main ( ) yang berarti fungsi tersebut tidak memiliki nilai kembali

c. Selanjutnya setiap menulis bahasa C diperlukan statement. Statement adalah suatu baris instruksi/perintah tertentu. Statement menyebabkan suatu tindakan akan dilakukan oleh komputer. Perlu diperhatikan bahwa pemberian tanda kurung kurawal di awal dan akhir statement. Jika tidak compiler tidak akan membaca statement tersebut dan program tidak bisa dieksekusi karena dianggap error.

d. Deklarasi variabel menyebabkan komputer menyediakan tempat yang diberi nama (identifier). Kita bebas memberi nama identifier asal tidak menyamai reserved keyword.

40

e. Untuk mencetak teks ke layar computer dibutuhkan perintah printf. lalu untuk membaca hasil inputan dari perintah yang diberikan teks tersebut, dibutuhkan scan, lalu hasil inputan itu disimpan dalam variable tertentu. %i untuk integer, %c untuk char dan string.

f. Dalam bahasa C tidak dikenal string, sehingga dibutuhkan penggunaan array agar bisa menggunakan string. Contoh dapat dilihat pada latihan 3 modul I dan hasil eksekusinya dapat dilihat seperti gambar 1.3.

g. Dalam setiap program tentunya diperlukan operasi entah itu aritmatika dan penyamaan variabel, dsb. Penulisan hasil dari operasi biasanya dituliskan di sebelah kiri dan operasinya disebelah kanan.

h. Berikan tanda kurung saat menuliskan statement dalam fungsi if, namun jangan berikan tanda semicolon(;). Jika tidak, statement itu tidak akan dibaca sebagai fungsi if. Fungsi if terdapat tiga jenis yaitu if biasa, if-else dan dan nested if. Pada if, statement hanya dijalankan apabila ia bernilai benar. Sementara pada nested if jika kondisi pada salah satu statement ia juga akan membaca statement yang lain, dan begitu seterusnya sampai statement terakhir. i. Fungsi switch (case) hanya membaca variabel integer, bila ingin agar switch membaca char maka variabel char pada fungsi case harus diberi tanda petik satu () dan berikan perintah break di tiap akhir statement.

j. Untuk membatasi perulangan dalam fungsi loop dibutuhkan nilai awal, kondisi dan yang paling penting: pencacah. Setiap kondisi harus memiliki akhir agar tidak terjadi loop tak berhingga.

41

k. Selain fungsi main() dapat ditambahkan fungsi lain Jika fungsi akan diletakkan disembarang tempat dari fungsi main(), maka fungsi tersebut harus dideklarasikan terlebih dahulu sebelum fungsi main( ).

l. Array dapat berbentuk satu dimensi dan dua dimensi, contohnya dapat dilihat dalam latihan di modul V. Tanda kurung siku pada array ada dua. Yang satudigunakan sebagai ukuran array, sementara yang satu lagi sebagai tempat penyimpanan array.

m. Untuk mengakhiri program, pertama perhatikan fungsi main yang digunakan. Bila ia berbentuk void, Anda dapat menulis perintah getch ( ); atau membiarkannya kosong. Bila int main ( ), maka akhiri program dengan menuliskan nilai kembalinya dengan format return 0; atau return 1; untuk perulangan.

42

BAB V PENUTUP
5.1. Kesimpulan Bahasa C memang termasuk sebagai bahasa popular karena kemudahan dalam eksekusi dan menyelesaikan masalah dalam algoritma dengan bentuk programnya yang berupa modular. Jadi, setiap algoritma yang dibuat lebih mudah diaplikasikan kedalam bahasa ini. Selain itu sintaksnya juga tidak sulit di baca.

Namun disamping semua kelebihannya itu, terdapat juga kelemahankelemahan seperti misalnya, bahasa C terkesan boros bila dibandingkan dengan bahasa versi barunya yaitu C++, selain itu bahasa C susah dipakai dalam pembuatan program yang besar, belum mendukung string, serta penggunaan pointer yang lumayan yang cukup susah bagi pemula.

Dalam mempelajari bahasa C ini kami menemui banyak kesulitan, namun justru itulah yang menantang kami, dan membuat kami jadi semakin ingin mempelajari bahasa pemrograman yang lain.

43

DAFTAR PUSTAKA
Rizal,S.Si.,M.IT.2010. Modul Praktikum Algoritma dan Pemrograman I. Drs.Suarga,M.Sc.,M.Math.,Ph.D.2006.Algoritma Andi. Soulie,Juan.2007.C++ Language Tutorial.
http://dickynd.wordpress.com/tag/tutorial-c/

Pemrograman.Yogyakarta