-
7/22/2019 Laporan Praktikum Algoritma Dan Pemrograman I
1/43
1
BAB I
PENDAHULUAN
1.1. Latar BelakangDalam 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.
-
7/22/2019 Laporan Praktikum Algoritma Dan Pemrograman I
2/43
2
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 Praktikum1.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 Praktikum1.Menambah wawasan mengenai pemrograman bahasa C.2.Memberikan pengetahuan mengenai struktur dan sintaks bahasa C.3.Memberikan pengetahuan mengenai bagaimana mengaplikasikan bahasa Cdalam pembuatan berbagai program.
-
7/22/2019 Laporan Praktikum Algoritma Dan Pemrograman I
3/43
3
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 CBahasa 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 CBahasa C memiliki beberapa elemen dasar seperti:
1. KarakterMengacu dari system standar kode internasional ANSI karakter yang
dikenal didalam bahasa C adalah karakter abjad/huruf, angka, dan simbol-simbol
khusus.
-
7/22/2019 Laporan Praktikum Algoritma Dan Pemrograman I
4/43
4
2. KeywordKeyword adalah suatu kata yang memiliki makna dan fungsi tertentu,
karena itu ia disebut juga reserved word. Hampir semua keyword ditulis dalam
huruf kecil.
3. IdentifierIdentifier 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 programberjalan(dieksekusi),cara untuk mengubahnya hanya melalui source
code saja.
b. Variabel: nilainya dapat berubah atau diubah selama programberjalan(dieksekusi).Yang mengubahnya hanyalah user atau proses.
4. Tipe dataMerupakan 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. PunctuatorPunctuator adalah simbol-simbol yang berkenaan sebagai tanda baca pada
struktur penulisan bahasa C.
2.3. Macam-macam PernyataanAda macam-macam pernyataan atau statement yang digunakan dalam
bahasa C. Pernyataan pernyataan itu diuraikan sebagai berikut:
2.3.1. Pernyataan Kosong(Null Statement)
-
7/22/2019 Laporan Praktikum Algoritma Dan Pemrograman I
5/43
5
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 switchFungsi 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)
-
7/22/2019 Laporan Praktikum Algoritma Dan Pemrograman I
6/43
6
{
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)
{
-
7/22/2019 Laporan Praktikum Algoritma Dan Pemrograman I
7/43
7
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)
{
-
7/22/2019 Laporan Praktikum Algoritma Dan Pemrograman I
8/43
8
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. FungsiFungsi 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
-
7/22/2019 Laporan Praktikum Algoritma Dan Pemrograman I
9/43
9
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. ParameterParameter bisa dilewatkan kedalam sebuah fungsi dengan dua cara sbb:
1. Call by ValueAdalah suatu cara melewatkan sebuah nilai pada parameter.
2. Call by ReferenceAdalah suatu cara melewatkan alamat sebuah variable pada sebuah
parameter. Untuk jenis parameter ini, perlu ditambahkan operator pointer
yaitu & atau * di depannya.
3. RekursifRekursif adalah pemanggilan oleh dirinya sendiri. Oleh karena fungsi bisa
menghasilkan nilai balik, maka fungsi juga bisa memanggil dirinya
sendiri.
2.5. ArrayArray 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.
-
7/22/2019 Laporan Praktikum Algoritma Dan Pemrograman I
10/43
10
BAB III
HASIL PRAKTIKUM
3.1. Modul I3.1.1. Latihan
1. Listing#include
#include
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);
-
7/22/2019 Laporan Praktikum Algoritma Dan Pemrograman I
11/43
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
int main ()
-
7/22/2019 Laporan Praktikum Algoritma Dan Pemrograman I
12/43
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
#include
#include
using namespace std;
-
7/22/2019 Laporan Praktikum Algoritma Dan Pemrograman I
13/43
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);
-
7/22/2019 Laporan Praktikum Algoritma Dan Pemrograman I
14/43
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 II3.2.1. Latihan
-
7/22/2019 Laporan Praktikum Algoritma Dan Pemrograman I
15/43
15
1. Listing#include
#include
int main ()
{
int a,c=10;
printf("Masukkan sebuah nilai: ");scanf("%d",&a);
if(a
-
7/22/2019 Laporan Praktikum Algoritma Dan Pemrograman I
16/43
16
#include
#include
int main ()
{
int a,c;
printf("Masukkan nilai angka pertama:
");scanf("%d",&a);
printf("Masukkan nilai angka kedua: ");scanf("%d",&c);
if(a
-
7/22/2019 Laporan Praktikum Algoritma Dan Pemrograman I
17/43
17
Gambar 2.2.2 Hasil eksekusi latihan 2 apabila diberikan
input angka pertama 5 dan angka kedua 4.
3. Listing#include
#include
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
#include
-
7/22/2019 Laporan Praktikum Algoritma Dan Pemrograman I
18/43
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);
}
-
7/22/2019 Laporan Praktikum Algoritma Dan Pemrograman I
19/43
19
return 0;
}
Hasil Eksekusi
Gambar 2.4 Program yang membandingkan 3 angka.
5. Listing#include
#include
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;
}
-
7/22/2019 Laporan Praktikum Algoritma Dan Pemrograman I
20/43
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
#include
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 laki-
laki dan angka 2 untuk perempuan: ");scanf("%d",&j);
-
7/22/2019 Laporan Praktikum Algoritma Dan Pemrograman I
21/43
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 laki-
laki 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 laki-
laki dan angka 2 untuk perempuan: ");scanf("%d",&j);
switch(j)
{
case 1: printf("Anda dari
unit %c yang berjenis kelamin Laki-laki",unit);break;
-
7/22/2019 Laporan Praktikum Algoritma Dan Pemrograman I
22/43
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. TugasListing
#include
#include
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);
-
7/22/2019 Laporan Praktikum Algoritma Dan Pemrograman I
23/43
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 III3.3.1. Latihan
1. Listing
-
7/22/2019 Laporan Praktikum Algoritma Dan Pemrograman I
24/43
24
#include
int main()
{
int i;
for(i=1;i
-
7/22/2019 Laporan Praktikum Algoritma Dan Pemrograman I
25/43
25
}
return 0;
}
Hasil Eksekusi
Gambar 3.2 Program perulangan for yang berbentuk
nested..
3. Listing#include
#include
int main()
{
int i;
i=1;
while(i
-
7/22/2019 Laporan Praktikum Algoritma Dan Pemrograman I
26/43
26
Gambar 3.3 Program perulangan menggunakan while.
4. Listing#include
#include
int main()
{
int i;
do
{
printf("%d\t",i);
i=i+1;
}while(i
-
7/22/2019 Laporan Praktikum Algoritma Dan Pemrograman I
27/43
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
#include
int main()
{
printf("Pernyataan Pertama \n");
goto bawah;
printf("Pernyataan Kedua\n");
bawah:printf("Pernyataan Ketiga");
return 0;
}
Hasil Eksekusi
-
7/22/2019 Laporan Praktikum Algoritma Dan Pemrograman I
28/43
28
Gambar 3.6 Program perulangan menggunakan goto.
Tugas
1. Listing#include
#include
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
#include
#include
-
7/22/2019 Laporan Praktikum Algoritma Dan Pemrograman I
29/43
29
#define maxs 7
int main()
{
int a,b;
for (a=0;a
-
7/22/2019 Laporan Praktikum Algoritma Dan Pemrograman I
30/43
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 IV3.4.1. Latihan
1. Listing#include
#include
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));
-
7/22/2019 Laporan Praktikum Algoritma Dan Pemrograman I
31/43
31
return 0;
}
Hasil Eksekusi
Gambar 4.1perkalian menggunakan fungsi
2. Listing#include
#include
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;
}
-
7/22/2019 Laporan Praktikum Algoritma Dan Pemrograman I
32/43
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
#include
int faktorial(int); //deklarasi fungsi
int main()
{
printf("%d",faktorial(5));
return 0;
}
-
7/22/2019 Laporan Praktikum Algoritma Dan Pemrograman I
33/43
33
int faktorial(int angka_1) //implementasi prototype fungsi
{
if(angka_1==0)
return 1;
else
return angka_1*faktorial(angka_1-
1);
}
Hasil Eksekusi
Gambar 4.3 Fungsi rekursif
3.4.2. Tugas1. Listing#include
#include
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)
-
7/22/2019 Laporan Praktikum Algoritma Dan Pemrograman I
34/43
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 V3.5.1. Latihan
1. Listing#include
#include
int main()
{
int i,bil_bulat[5];
float bil_real[5];
char nama[20];
for(i=0;i
-
7/22/2019 Laporan Praktikum Algoritma Dan Pemrograman I
35/43
35
printf("Masukkan nama anda :");
scanf("%s",&nama);
for(i=0;i
-
7/22/2019 Laporan Praktikum Algoritma Dan Pemrograman I
36/43
36
#include
int main()
{
int i,j;
int matrikA[3][3],matrikB[3][3], matrikhasil[3][3];
for (i=0;i
-
7/22/2019 Laporan Praktikum Algoritma Dan Pemrograman I
37/43
37
}
printf("\n");
}
printf("\n Elemen dari matriks B adalah:\n");
for (i=0;i
-
7/22/2019 Laporan Praktikum Algoritma Dan Pemrograman I
38/43
38
return 0;
}
Hasil Eksekusi
Gambar 5.2 Array Dua Dimensi
-
7/22/2019 Laporan Praktikum Algoritma Dan Pemrograman I
39/43
39
BAB IV
ANALISA PROGRAMDari hasil praktikum diatas dapat dihasilkan analisa yang menunjukkan
bahwa dalam menuliskansource 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 atauberkas-berkas fungsi maupun pendefinisian konstanta atau fungsi makrotertentu. Header file ini berisi perintah tertentu yang akan dipakai dalam
mengoperasikan program misalnya printf dan scanf yang terdapat dalam
, jadi gunakanlah header file sesuai dengan perintah yang ingin
digunakan.
b. Suatu program C minimal harus memiliki function main(), tanpa function itumaka program C tidak dapat dieksekusi tapi bisa dikompilasi. Fungsi main ini
umumnya ditulis dalam bentukint 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 adalahsuatu baris instruksi/perintah tertentu. Statement menyebabkan suatu tindakan
akan dilakukan oleh komputer. Perlu diperhatikan bahwa pemberian tanda
kurung kurawal di awal dan akhirstatement. Jika tidak compiler tidak akan
membaca statement tersebut dan program tidak bisa dieksekusi karena
dianggap error.
d. Deklarasi variabel menyebabkan komputer menyediakan tempat yang diberinama (identifier). Kita bebas memberi nama identifier asal tidak menyamai
reserved keyword.
-
7/22/2019 Laporan Praktikum Algoritma Dan Pemrograman I
40/43
40
e. Untuk mencetak teks ke layar computer dibutuhkan perintah printf. lalu untukmembaca 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 arrayagar 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 danpenyamaan 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, namunjangan 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 switchmembaca 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.
-
7/22/2019 Laporan Praktikum Algoritma Dan Pemrograman I
41/43
41
k. Selain fungsi main() dapat ditambahkan fungsi lain Jika fungsi akandiletakkan 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 dilihatdalam 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.
-
7/22/2019 Laporan Praktikum Algoritma Dan Pemrograman I
42/43
42
BAB V
PENUTUP5.1.KesimpulanBahasa 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 kelemahan-kelemahan 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.
-
7/22/2019 Laporan Praktikum Algoritma Dan Pemrograman I
43/43
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 Pemrograman.Yogyakarta :
Andi.
Soulie,Juan.2007.C++ Language Tutorial.
http://dickynd.wordpress.com/tag/tutorial-c/
http://dickynd.wordpress.com/tag/tutorial-c/http://dickynd.wordpress.com/tag/tutorial-c/http://dickynd.wordpress.com/tag/tutorial-c/