PRAKTIKAN
RETNO INDRIANI ARDINI
2415100017
ASISTEN
ARVIANDI CIKADIARTA
2413031064
KATA PENGANTAR
Puji syukur kehadirat Tuhan Yang Maha Esa karena berkat rahmat serta hidayah-NYA
praktikan dapat menyelesaikan laporan individu tepat pada waktunya. Praktikan
mengucapkan terima kasih kepada :
1
2
3
Bapak Purwadi selaku dosen pengajar mata pemrograman komputer yang telah
membimbing kami dalam penyusunan laporan ini.
Para asisten laboratorium pemrograman komputer ini sehingga penulis bisa
menyelesaikan laporan ini.
Pihak-pihak yang telah membantu penyusunan laporan praktikum pemrograman
komputer.
Praktikan sadar bahwa laporan individu ini masih jauh dari kata sempurna, oleh karena
itu praktikan mengharapakn kritik dan saran yang bersifat membangun dari para pembaca demi
perbaikan penyusunan laporan praktikum. Praktikan berharap dengan adanya laporan
praktikum ini dapat menjadi sarana bagi kita semua untuk belajar tentang pemrograman bahasa
C. Atas perhatiannya kami ucapkan terima kasih.
Praktikum 0
1. Jelaskan yang dimaksud dengan library dan header file dalam bahasa C.
- Library merupakan fungsi-fungsi yang disediakan oleh bahasa C ataupun
C++ dalam file file header atau librarynya.
- Header File merupakan file yang berisi deklarasi untuk berbagai fungsi
yang dibutuhkan oleh program baik itu sebagai standar input/output
Surabaya, 19 Mei 2016
maupun sebagai syntax.Biasanya digunakan untuk memanggil librarylibrary yang ada sehingga fungsi dapat digunakan secara baik dan benar.
2. Jelaskan dan apa fungsi :
- #include merupakan sebuah prosessor pengarah yang mengatakan kepada
kompiler untuk meletakkan kode dari header file iostream.h ke dalam
program.
Penulis
- Printf merupakan sebuah fungsi keluaran
yang digunakan untuk
menampilkan informasi / pesan ke layar secara terformat / menentukan tipe
data yang akan dikeluarkan.
3. Beri comments tiap baris pada percobaan terakhir dan jelaskan secara singkat
dalam 1-2 paragraf!
Kode yang diawali dengan # sebuah prosessor. Prosessor memberitahukan
kompiler untuk melakukan sesuatu sebeum melakukan kompilasi prosessor.
Include akan memberitahukan compiler untuk menginclude iostream library
yang berguna untuk standart input output pada program. Using namespace std
bertujuan untuk penulisan kode langsung tanpa penulisan scape std. Hal ini
dikarenakan ada iostrem C++ melakukan pembungkusan semua fungsi input
output dalam name std, jika tidak dilakukan maka tiap baris output harus
ditambah std
Int main menyatakan pembuatan suatu fungsi main program C/C++. Cout nutk
menampilkan ouput pada layar. End digunakan untuk ganti baris/enter. (Cout
& end ) termasuk library dan menyatakan program berakhir dengan normal.
4. Apa yang anda ketahui tentang :
- Variabel merupakan suatu pengenal / identifier yang digunakan untuk
mewakili suatu nilai tertentu didalam proses program, yang mana nilainya
bisa diubah-ubah sesuai kebutuhan.
- Tipe Data adalah sesuatu yang digunakan untuk mempresentasikan jenis
dari suatu nilai tertentu.
- Input/Output merupakan pemasukan data dan menampilkannya. Data
dimasukkan dari keyboard dan selanjutnya ditampilkan dilayar monitor.
5. Sebutkan dan jelaskan macam-macam tipe data dalam bahasa C
Macam macam tipe data dalam Bahasa C
- Tipe Data Bilangan Bulat
Suatu tipe data yang digunakan untuk menyimpan nilai nilai yang
berbentuk bilangan bulat.
-
Praktikum 1
1. Buatlah program untuk konversi dari desimal ke biner dan jelaskan
#include<stdio.h> //library yang digunakan yaitu stdio.h
int b(int n) //variabel
{
if(n>1) //jika n>1 maka akan dieksekusi kondisi n/2
b(n/2);
printf("%d",n%2); //menampilkan dilayar
}
int main()
{
int a; // variabel
printf("Masukkan bilangan yang akan dikonversi: "); // mencetak dilayar
scanf("%d",&a); //input dari keyboard
printf("%d dalam biner: ", a); //mencetak bilangan yang sudah dikonversi
b(a); //memanggil program diatas
return 0; //mengakhiri program
}
2. Buatlah program untuk mengubah input huruf kecil menjadi output huruf
besar beserta penjelasannya
#include<stdio.h> //menggunakan library stdio.h
#include<string.h> // menggunakan library string.h
#define m 25 // mendefinisikan bahwa ada 25 deret abjadnya
main(void) // menyatakan pembuatan fungsi main program C
{
int i, n,x; //variabel
char besar[m]; // variabel
char kecil[m]; //variabel
printf("Masukkan kata dengan huruf besar: "); // mencetak dilayar
scanf("%s",besar); //memasukkan data dari keyboard
n=strlen(besar); //mendefinisikan jumlah variabel besar yang dimasukkan
for(i=0;i<n;i++) //looping
{
kecil[i]=besar[i]+32; //abjad huruf alphabet dalam huruf kecil=97
printf("%c", kecil[i]); // menampilkan dilayar char(huruf kecil)
}
printf("\n");
}
3. Buatlah program untuk mengubah input besar menjadi output huruf kecil dan
penjelasannya
#include<stdio.h> //menggunakan library stdio.h
#include<string.h> // menggunakan library string.h
#define m 25 // mendefinisikan bahwa ada 25 deret abjadnya
main(void) // menyatakan pembuatan fungsi main program C
{
int i, n,x; //variabel
char besar[m]; //variabel
char kecil[m]; //variabel
printf("Masukkan kata dengan huruf kecil: "); // mencetak dilayar
scanf("%s",kecil); //memasukkan data dari keyboard berupa huruf kecil
n=strlen(kecil); //mendefinisikan jumlah variabel kecil yang dimasukkan
for(i=0;i<n;i++) looping
{
besar[i]=kecil[i]-32; abjad besar dimulai = 65, kecil = 97-32=65
printf("%c", besar[i]); // menampilkan dilayar char(huruf besar)
}
printf("\n");
}
4. Apa yang anda ketahui tentang
- If adalah salah satu statement yang digunakan untuk penyeleksi
kondisi. Jika suatu kondisi terpenuhi/true maka akan di jalankan fungsi
tertentu, namun apabila tidak maka tidak akan dijalankan.
- If else adalah pengembangan dari if, ketika suatu kondisi tidak
terpenuhi maka akan menjalankan dan melakukan pengembangan
pengecekan fungsi kembali / fungsi lain.
- Else akan melakukan pengecekan terhadap suatu kondisi terkahir
- For untuk mengulang /looping suatu proses yang diketahui berapa
jumlahnya
Praktikum 2
1. Buatlah program dengan menggunakan if, if else, else
#include<stdio.h>
int main(void)
{
int x;
printf("Masukkan bilangan integer: ");
scanf("%d", &x);//
if(x>0)
{
printf("Anda memasukkan bilangan positif");
}
else if(x==0)
{
printf("Anda memasukkan bilangan nol");
}
else
{
printf("Anda memasukkan bilangan negatif");
}
}
While
#include<stdio.h> //library//
int main(void)
{
int n, x; //variabel fungsi//
printf("Masukkan bilangan integer:"); //mencetak dilayar berupa "masukkan
bilangan integer//
scanf("%d", &n);
// menginput bil integer dari keyboard//
x=1;
while(x<=n)
{
//keadaan x=1//
// pengecekan jika kondisi benar maka
program akan terus berlanjut//
}
}
-
Do While
#include<stdio.h>
int main(void)
{
int x, n;
printf("Masukkan bilangan integer: ");
scanf("%d",&n);
x=1;
do
{
printf("Bilangan %d", x);
printf("\n");
x++;
}
while(x<=n);
//library//
//variabel //
//mencetak
dilayar
berupa
"masukkan bilangan integer//
//
menginput bil integer dari
keyboard//
//kondisi x=1(yang akan dibaca)//
//mencetak dilayar kondisi x//
//x akan bertambah 1//
//pe
ngecekan berada dibawah, jika kondisi
benar maka akan terjadi looping dan x
bertambah 1//
}
3. Buatlah program dengan menggunakan loop for
#include<stdio.h>
int main(void)
{
int x,y, n;
printf("Masukkan bilangan : ");
//library//
//variabel fungsi//
//mencetak
dilayar
"Masukkan bilangan : " //
scanf("%d", &n);
for(y=1;y<=n;y++)
{
for(x=1;x<=n;x++)
{
//menginput
bilangan
keyboard//
//perulangan ganti baris//
//perulangan cetak tanda * //
dari
if(y==x||x+y==n+1)
printf("*");
else
printf("0");
//kondisi
jika
y==x
atau
x+y=n+1//
//mencetak dilayar tanda * (nilai
benar)//
//mencetak dilayar
tanda 0 (nilai salah)//
}
printf("\n");
}
}
4. Buatlah program dengan menggunakan switch
#include<stdio.h>
int main(void)
{
int n;
char coba, y;
do
{
printf("masukkan angka 1 sampai 3: ");
scanf("%d", &n);
printf("Anda memasukkan angka: ");
switch(n){
case 1:
printf("SATU");
break;
case 2:
printf("DUA");
break;
case 3:
printf("TIGA");
break;
default :
maka kendali
default
printf("Data yang dimasukkan salah");
break;
diteruskan
ke
}
printf ("\n");
}
while (coba='y');
}
//ganti baris
Praktikum 3
1. Buatlah program dengan output sebagai berikut
****
**0*
*0**
****
#include<stdio.h>
int main(void)
{
int x, y, bil1, jb=0, jo=0;
printf("masukkan bilangan : ");
scanf("%d", &bil1);
for(y=1;y<=bil1;y++)
{
for(x=1;x<=bil1;x++)
{
if(x==1||y==1||x==bil1||y==bil1||x==y)
{
printf("*");
jb=jb+1;
}
else
{
printf("0");
jo=jo+1;
}
}
printf("\n");
}
printf("jumlah bintang = %d\n", jb);
printf("jumlah nol = %d\n", jo);
}
2. Buatlah program kasir sederhana untuk toko yang menjual buah durian,
mangga, pisang, dan pepaya. Inputnya adalah jumlah buah yang dibeli dan
uang yang disetor. Outputnya adalah harga total dan kembalian.
#include<stdio.h>
int main(void)
{
int d, m, p, b,jd,jm,jp,jb ,cash, kembali, total=0;
printf("Masukkan jumlah pepaya: ");
scanf("%d",&p);
jp=p*10000;
printf("Masukkan jumlah durian: ");
scanf("%d",&d);
jd=d*12000;
printf("Masukkan jumlah mangga: ");
scanf("%d",&m);
jm=m*5000;
printf("Masukkan jumlah pisang: ");
scanf("%d",&b);
jb=b*3000;
total=jp+jd+jm+jb;
printf("\n Jumlah total belanja : %d\n", total);
printf("uang cash : ");
scanf("%d", &cash);
kembali=cash-total;
printf("Kembali : %d\n", kembali);
}
3. Program untuk menghitung deret aritmatika dan deret geometri
-
Deret aritmatika
#include<stdio.h>
int main(void)
{
float a, b, sn=0;
int n, i;
printf("berikan suku pertama :\n ");
scanf("%f", &a);
printf("berikan beda : ");
scanf("%f", &b);
printf("Jumlah deret hingga suku keberapa : ");
scanf("%d", &n);
sn =(n/2)*(2*a+((n-1)*b));
printf("Jumlah deret hingga %d suku adalah %f\n", n, sn);
}
Deret Geometri
#include <stdio.h>
#include<math.h>
int main()
{
float a, r, sn;
int n, i;
printf("berikan suku pertama : ");
scanf("%f", &a);
printf("berikan ratio :");
scanf("%f", &r);
printf("jumlah deret sampai suku keberapa ?");
scanf("%d", &n);
sn = (a*((pow(r,n))-1))/(r-1);
printf("\njumlah deret hingga %d suku = %f\n", n, sn);
return 0;
}
4. Apa yang dimaksud dengan debug?
Debugging merupakan sebuah metode yang dilakukan dengan cara merunut
program, untuk mengetahui kesalahan program (mempunyai fungsi yang sama
seperti trace into).
Praktikum 4
1. Buatlah sebuah fungsi sembarang
#include<stdio.h>
int luassegitiga (int a,int t)
{
return ((a*t)/2);
}
main()
{
int a,t,z;
printf("P= ");
scanf("%d ", &a);
scanf("%d", &t);
printf("Q= ");
z=luassegitiga(a,t);
printf("\n Nilai dari ((P*Q)/2) = %d , z\n");
}
2. Buatlah fungsi yang mengembalikan nilai dan fungsi yang tidak mengembalikan
nilai
-
#include<stdio.h>
int main()
{
int x,y, n;
printf("Masukkan bilangan : ");
scanf("%d", &n);
for(y=1;y<=n;y++)
{
for(x=1;x<=n;x++)
{
if(y==x||x+y==n+1)
printf("*");
else
printf("0");
}
printf("\n");
}
return 0;
}
Fungsi tak mengembalikan nilai
#include<stdio.h>
int main(void)
{
int pj, lb, luas;
printf("Masukkan panjang : ");
scanf("%d ", &pj);
printf("Masukkan lebar : ");
scanf("%d", &lb);
luas = pj*lb;
printf("luas = %d", luas);
}
3. Fungsi untuk menghitung faktorial dengan teknik fungsi rekursif
#include<stdio.h>
int faktorial (int N);
main()
{
int f;
int n;
printf("Masukkan bilangan positif : ");
scanf("%d", &n);
if(n<0)
{
printf("Bilangan yang di entry salah");
}
else
{
f=faktorial(n);
printf("Nilai faktorial dari %d adalah : %d", n, f);
}
}
int faktorial(int N)
{
int F;
if(N<=1)
{
return(1);
}
else
{
F=N*faktorial(N-1);
return (F);
}
}
4. Buatlah program untuk mengecek apakah sebuah bilangan termasuk bil.prima
#include<stdio.h>
int main()
{
int x, j=0, n;
printf("Masukkan bilangan : ");
scanf("%d", &x);
for(n=1;n<=x;n++)
{
if(x%n==0)
{
j++;
}
}
if(j==2)
{
printf("%d adalah bilangan prima \n", x);
}
else
{
printf("%d bukan prima\n", x);
}
return(0);
}
Praktikum 5
1. Buatlah fungsi rekursif dan fungsi non rekursif
//rekursif
#include<stdio.h>
int pangkat(int x, int y);
int main()
{
int x,y; //variabel
printf("Bilangan yang akan dipangkatkan: ");
scanf("%d",&x);
//mencetak dilayar
//menginputkan
dari
keyboard
printf("Pangkat bilangan : ");
//mencetak dilayar
scanf("%d",&y);
//menginputkan data dari
keyboard
printf("%d pangkat %d adalah %d", x,y,pangkat(x,y)); //mencetak dilayar
serta memanggil program
pangkat (x,y)
}
int pangkat(int x, int y)
{
int z = y-1;
if(y==0)
//library baru
//int z nilainya yaitu y
yang
diinputkan
dikurangi 1
//jika y=0 maka program
akan berlanjur kebawah
dikembalikan ke 1
{
return 1;
}
else
{
return x = pangkat(x,z);
}
}
-
Non rekursif
#include<stdio.h>
#include<math.h>
int main()
{
int x, y;
printf("Bilangan yang akan dipangkatkan : ");
scanf("%d", &x);
printf("Pangkat Bilangan : ");
scanf("%d", &y);
Pass by reference
#include<stdio.h>
int tukar(int *a, int *b);
int main()
{
int a, b;
printf("Masukkan nilai a : ");
scanf("%d", &a);
printf("Masukkan nilai b : ");
scanf("%d", &b);
printf("Sebelum pemanggilan fungsi\n");
printf("a=%d dan b = %d\n", a, b);
tukar(&a,&b);
printf("Setelah pemanggilan fungsi\n");
printf("a=%d dan b=%d\n", a,b);
//m
enggunakan library stdio.h
//merupakan
program
baru bernama tukar(int*a,
int *b)
//variabel
//mencetak dilayar
//input data dari user
//mencetak dilayar
//input data dari usesr
//mencetak dilayar
//mencetak dilayar nilai a
dan b yang masih belum
ditukarkan
//program baru tukar
dipanggil
//mencetak dilayar
//mencetak dilayar nilai a
dan b yang sudah
ditukarkan
}
{
int c;
c=*a;
*a=*b;
*b=c;
}
-
Pass by value
#include<stdio.h>
//li
digunakan
brary yang
adalah stdio.h
//program tukar nilai baru
{
int a, b;
printf("masukkan nilai a: ");
scanf("%d", &a);
printf("Masukkan nilai b: ");
scanf("%d", &b);
printf("\n Sebelum pemanggilan fungsi \n");
printf("a=%d dan b=%d", a, b);
tukarnilai(a,b);
printf("\n Setelah pemanggilan fungsi \n");
printf("a = %d dan b= %d", a,b);
}
int tukarnilai(int a, int c)
{
int c;
c=a;
a=b;
b=c;
Praktikum 6
1. Buatlah program yang memuat pointer
#include<stdio.h>
int main()
int hitung(int a,*int b){
*D=15;
}
int main()
{
int y,z;
y=10;
z=50;
printf("Sebelum fungsi dijalankan \n");
printf("y=%d\n", y);
printf("z=%d\n", z);
hitung(y, &z);
printf("Setelah fungsi dijalankan\n");
printf("y=%d\n", y);
printf("z=%d\n", z);
}
2. Buatlah program yang memuat array
#include<stdio.h>
int main()
{
int deret[10],i,a,b;
printf("Nilai a= ");
scanf("%d", &a);
printf("Nilai b = ");
scanf("%d", &b);
deret[0]=a;
deret[1]=b;
printf("%d %d", deret[0], deret[1]);
for(i=2;i<10;i++)
{
deret[i]=deret[i]+deret[i-2];
printf("%d", deret[i]);
}
return 0;
}
3. Buatlah fungsi yang mengubah skrip dari C++ ke bahasa C
#include<stdio.h>
int main()
{
int i, min, max, jml=0;
float rata2;
int numi[10];
printf("Masukkan 10 angka: ");
for(i=0;i<10,i++)
{
scanf("%d", &numi[1]);
jml=jml+numi[1];
if(i==0){
min=max=numi[i]}
else
{
if(numi[i]<min);
min=numi[i];
if(numi[i]>max);
max=numi[i];
}
}
rata2 = jml/10;
printf("Rata-rata adalah %2f\n", rata2);
printf("Min : %d\n", min);
printf("Max : %d\n", max);
return 0;
}
Praktikum 7
1. Buatlah program C yang memuat struct
#include <stdio.h>
#include <stdlib.h>
int main (void)
{
int a,b,c;
struct info{
int nomor;
int nim;
char nama[20];
char nilai[2];
};
struct info mahasiswa[10];
printf("Masukkan Jumlah Data Mahasiswa (Maks. 10 orang) : ");
scanf ("%d", &a);
for(b=0;b<a;b++)
{
mahasiswa[b].nomor=b+1;
printf("\n%d.\n", b+1);
printf("NIM : ");
scanf ("%d", &mahasiswa[b].nim);
printf("Nama : ");
scanf ("%s", &mahasiswa[b].nama);
printf("Nilai : ");
scanf("%s", &mahasiswa[b].nilai);
}
printf("\n%d Data Mahasiswa Telah Dimasukkan", b);
printf("\nNOMOR\t NIM\t Nama\t Nilai\n");
for (c=0;c<b;c++)
{
printf("\n %d\t %d\t %s\t %s\t\n", mahasiswa[c].nomor,
mahasiswa[c].nama, mahasiswa[c].nilai);
}
system("pause");
return(0);
}
2. Buatlah program C yang memuat linked
#include <stdio.h>
#include <stdlib.h>
struct NODE {
int number;
struct NODE *next;
};
mahasiswa[c].nim,