Laporan Praktikum Algoritma Dan Pemrograman I
April 8, 2017 | Author: Rezky Amelia Sy | Category: N/A
Short Description
Download Laporan Praktikum Algoritma Dan Pemrograman I...
Description
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.
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 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.
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 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.
4
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
berjalan(dieksekusi),cara
tetap
selama
program
untuk mengubahnya hanya melalui source
code saja. b.
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)
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 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)
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
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) {
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.
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
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. 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 #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);
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 ()
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;
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 #include
int main () { int a,c=10; printf("Masukkan sebuah nilai: ");scanf("%d",&a); if(ab) {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
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 #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; }
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 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 #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);
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
int main() { int i; for(i=1;i
View more...
Comments