Dasar Pemrograman C
Dasar Pemrograman C
Oleh :
SAEUN MU ARIF
(NPM. 1412110300)
KATA PENGANTAR
Segala puji bagi Tuhan yang maha kuasa, yang mana telah melimpahkan
rahmat, taufiq dan hidayah-Nya sehingga saya dapat menyelesaikan Laporan
Resmi dengan judul: Praktikum Pemrograman Dasar dari Pak Andik Adi
Suryanto ,S.Kom .
Dalam menyelesaikan tugas ini saya menyadari bahwa dalam penyusunan
Laporan Resmi ini masih banyak mengalami kesulitan dan hambatan. Namun
berkat bantuan dan dorongan dari beberapa pihak maka segala kesulitan dan
hambatan yang saya hadapi dapat teratasi.
Saya menyadari bahwa dalam penulisan Laporan Resmi ini banyak
kekurangannya, untuk itu kritik dan saran yang membangun dari para pembaca
sangat saya harapkan.
Semoga isi dari Laporan Resmi ini bisa bermanfaat bagi para pembaca
sekalian dan bagi saya sendiri tentunya.
Penulis
BAB I
PENDAHULUAN
1.1 Latar Belakang
Bahasa C merupakan bahasa pemrograman yang bersifat open source.
Turunan dari bahasa C adalah salah satunya bahasa java. Oleh sebab itu, bahasa
java tidak jauh berbeda dengan bahasa C. Selain bahasa java, ada C++, mysql,
php, dan masih banyak lagi. Namun, dalam praktikum di sini akan dibahas
mengenai bahasa C yaitu induk dari bahasa pemrograman yang telah disebutkan
tadi.
Dalam praktikum Modul 1 ini, praktikan di perkenalkan dengan bahasa C
yang merupakan induk dari bahasa java. Semua orang boleh mengeksploitasi
bahasa pemrograman ini, sebab bahasa ini bersifat open source. Berdasarkan
itulah, bahasa C akan digunakan dalam praktikum kali ini.
Dari praktikum pertama ini, praktikan akan diperkenalkan struktur dasar
dari bahasa C, pendeklarasian sebuah variabel, tipe data, konstanta, dan berbagai
perkenalan mengenai struktur dari pemrograman bahasa C ini serta fungsi dan
manfaat penggunaanya.
1.2 Tujuan
Tujuan mahasiswa mengikuti praktikum Algoritma Pemrograman Modul 1
ini adalah :
1.
2.
3.
4.
5.
6.
BAB II
TINJAUAN PUSTAKA
2.1. Sejarah Perkembangan Bahasa C
Berasal dari bahasa BCPL (Basic Combined Programming Language) oleh
MARTIN RICHARD, Cambridge tahun 1967. KEN THOMPSON membuat
bahasa B untuk dipakai pada komputer DEC PDP -7 di bawah sistem operasi
UNIX pada Bell laboratory, Murray Hill, New Jersey tahun 1970.
Bahasa B merupakan suatu bahasa pemrograman yang tidak memiliki jenis
suatu data seperti halnya PL/M. Berdasarkan gambaran bahasa B, DENNIS
RITCHIE menulis bahasa C. Nama C diambil berdasarkan urutan sesudah B dari
bahasa BCPL. Tujuan bahasa C pada mulanya untuk membentuk suatu sistem
operasi yang akan digunakan pada mesin komputer DEC PDP-11 yang baru.
Pada tahun 1975, sistem operasi UNIX versi 6 dan bahasa C mulai
diberikan kepada Universitas maupun Akademi. Dan pada tahun 1979, system operasi
UNIX versi 7 dikeluarkan dengan bahasa C. Sistem operasi ini (versi 7)
seluruhnya ditulis dalam bahasa C.
Pada 1978 Dennis Ritchie dan Brian Kernighan kemudian
mempublikasikan buku The C Programming Language yang semakin memperluas
pemakaiannya dan dijadikan standar oleh ANSI (American National Standard
Institute) pada tahun 1989. C kemudian dikembangkan lagi oleh Bjarne
Stroustrup menjadi C++ (1986). C dan/atau C++ banyak digunakan (sehingga
menjadi standar) sebagai bahasa pemrograman untuk membuat sistem operasi.
File judul selain berisi dengan prototype dari fungsi-fungsi pustaka, juga
umumnya berisi dengan konstanta-konstanta terdefinisi dan makro-makro.
Misalnya nama konstanta terdefinisi M_PI telah didefinisikan di file judul math.h
oleh Turbo-C. Selanjutnya untuk menggunakan nilai phi, nama konstanta M_PI
dapat digunakan yang telah berisi dengan nilai konstanta
3.14159265358979323846.
2.4.3 Program C Sederhana
Berikut merupakan contoh program sederhana menggunakan bahasa C :
/* Program C yang sederhana */
#include <stdio.h>
main()
{
float Celcius, Fahrenheit;
printf(masukkan nilai celcius?;
scanf(%f,&Celcius);
Fahrenheit = Celcius * 1.8 + 3.2;
printf(%f celcius adalah %f fahrenheit \n,
Celcius, Fahrenheit);
}
Kekurangan Bahasa C:
- Banyaknya operator serta fleksibilitas penulisan program kadang-kadang
membingungkan pemakai.
- Bagi pemula pada umumnya akan kesulitan menggunakan pointer.
10
BAB III
PENGENALAN PEMROGRAMAN BAHASA C
3.1 Pokok Bahasan
Fungsi
Fungsi main ()
Fungsi printf ()
Praposesor #include
3.2 Tujuan
Agar mahasiswa mampu dan memahami fungsi dasar bahasa C.
Agar mahasiswa mengerti dan memahami header program bahasa C.
Agar mahasiswa dapat menggunakan fungsi-fungsi dasar
pemrograman bahasa C.
Agar mahasiswa mampu membuat program dasar sederhana .
3.3 Dasar Teori
Fungsi
Program C pada hakekatnya tersusun atas sejumlah blok fungsi. Sebuah
program minimal mengandung sebuah fungsi. Setiap fungsi terdiri dari
satu atau bebrapa pernyataan dimaksudkan untuk melaksanakan tugas
khusus. Secara umum fungsi mempunyai bentuk ssebagai berikut.
nama fungsi (daftar parameter)
deklarasi parameter;
{
bagian isi fungsi
}
Fungsi main ()
Fungsi main( ) harus ada pada program, sebab fungsi inilah yang
menjadi titik awal dan akhir eksekusi program. Tanda { diawal fungsi
menyatakan awal tubuh fungsi
dan
11
Maka hasil dari pembenaran program di atas akan seperti pada gambar di
bawah ini :
12
3.4.2 Percobaan 2
Membuat biodata pribadi
Di sini saya akan membuat sebuah contoh program yang cukup sederhana ,
yaitu menampilkan sebuah biodata pribadi tentang latar belakang diri saya ,
Berikut di bawah ini scripnya :
#include <stdio.h>
main ()
{
printf ("\t\tBIODATA PRIBADI\n");
printf
("==========================================\n");
printf ("NAMA\t = SAEUN MU'ARIF\n");
printf ("NPM\t = 1412110300\n");
printf ("PRODI\t = TEKNIK INFORMATIKA\n");
printf ("ALAMAT\t = SOKO - TUBAN\n");
printf ("\tTELEPON\t = 081515624505\n");
printf ("\tKODE POS = 62372\n");
printf ("ASAL SEKOLAH\t = SMKN 2 BOJONEGORO\n");
printf ("HOBY\t\t = OTAK-ATIK KOMPUTER dll.\n");
printf ("AGAMA\t\t = ISLAM\n");
printf ("TEMPAT/LAHIR\t = TUBAN , 06 MARET 1992\n");
printf
("==========================================\n");
}
Maka dari hasil scrip program di atas akan menghasilkan output atau
sebuah keluaran seperti pada gambar di bawah ini :
13
14
BAB IV
15
Total
Kapasitas
Keterangan
Bit
Char
Karakter
Int
16
Float
32
Double
64
Void
Bil. Interger
Tak bertipe
Variable
Bentuk pendeklarasian variabel :
16
Tipe
daftar-variabel
Contoh deklarasi :
int jumlah; float, harga, bayar;
Operator Aritmatika
Perkalian
Tanda minus
Pembbagian
Tanda plus
Sisa pembagian
Penjumlahan
Pengurangan
17
4.4.1 Percobaan 1
Menganalisa sebuah kesalahan program
Berikut dibawah ini adalah scrip yang salah :
#include <stdio.h>
#include <math.h>
int main()
{
float a,b,c;
printf("masukkan a: ")
scanf("%f",a);
printf("masukkan b: ")
scanf("%f",b);
c=a*a+b*b
printf("jadi sisi miring segitiga
adalah=%2.f",sqrt(c));
}
Dari output program di atas ,sebuah proses masih belum selesai karena
saya masih akan menginputkan sebuah nilai a dan nilai b, contoh di
sini saya akan menginput nilai a=4 dan nilai b=5 , seperti pada gambar
18
Dan langkah terakhir saya akan menekan enter program di atas , maka
akan menghasilkan sebuah tampilan seperti pada gambar di bawah ini :
Jadi dari program di atas telah dihasilkan sebuah sisi miring segitiga
dengan nilai 6.
Keterangan : Manfaat dari program diatas yaitu mahasiswa mampu
menganalisa kesalahan serta dapat memperbaiki dan menghasilkan sisi
miring segitiga .
4.4.2 Percobaan 2
Membuat program mencari luas permukaan balok, keliling dan luas
lingkaran,serta volum sebuah kubus.
Berikut di bawah ini scripnya :
Ket : dari sebuah scrip program di bawah ini saya telah menggabungkan
scrip dari program luas permukaan balok,keliling dan luas lingkaran
serta volume kubus , jadi intinya satu program bisa menghasilkan
beberapa hasil output ,
#include<stdio.h>
main ()
{
19
int la,p,l,t,v,s,r;
double luas,k;
printf ("======================================\n");
printf ("\t Luas permukaan Balok\n");
printf ("======================================\n");
printf ("Masukan panjang : ");scanf("%d",&p);
printf ("Masukan lebar
: ");scanf("%d",&l);
: ");scanf("%d",&t);
la = 2*((p*l)+(p*t)+(l*t));
printf ("Luas permukaan Balok : %d\n",la);
printf ("======================================\n");
printf ("\tKeliling dan Luas Lingkaran\n");
printf ("======================================\n");
printf ("Masukan jari-jari : ");scanf("%d",&r);
if (r%7 == 0)
{k=2*22/7*r;
printf ("Keliling Lingkaran: %.2lf\n",k);}
else
{k = 2*3.14*r;
printf ("Keliling Lingkaran: %.2lf\n",k);}
if (r%7 ==0)
{luas = 22/7*7*7;
printf ("Luas Lingkaran : %.2lf\n",luas);}
else
{luas = 3.14*r*r;
printf ("Luas Lingkaran : %.2lf\n",luas);}
printf ("======================================\n");
printf ("\t Volume Kubus\n");
printf ("======================================\n");
printf ("Masukan rusuk : ");scanf("%d",&s);
v = s*s*s;
printf ("Volume Kubus : %d\n",v);
}
Dari scrip program diatas saya telah menginputkan beberapa nilai dai
luas permukaan balok,keliling dan luas lingkaran,serta volume kubus ,
20
Maka hasil akhir setelah saya menginputkan beberapa nilai diatas akan
menghasilkan sebuah tampilan keluaran seperti pada gambar berikut di
bawah ini :
: ");scanf("%lf",&v);
kp = q/v;
printf ("Kapasistansi : %.2lf",kp);
21
22
BAB V
PENGAMBILAN KEPUTUSAN DENGAN IF ELSE
5.1 Pokok Bahasan
Operator relasi.
Operator logika.
Prioritas operator logika dan relasi
Pernyataan If
5.2 Tujuan
Mahasiswa mampu mengenal dan memahami operator untuk control
bahasa C.
Mahasiswa mampu mengerti dan memahami struktur control if else.
Mahasiswa dapat menggunakan struktur control if else dalam program.
5.3 Dasar Teori
Operator Relasi
Operator relasi biasa digunakan untuk membandingkan 2 buah
nilai. Hasil pembandingan berupa keadaan benar atau salah. Adapun
operator relasi dalam Bahasa C, sebagai berikut :
>
Lebih dari
>=
<
Kurang dari
<=
==
Sama dengan
!=
Operator Logika
Operator logika biasa digunakan untuk menghubungkan ungkapan relasi.
Adapun operator logika dalam Bahasa C, sebagai berikut :
&&
dan (AND)
||
atau (OR)
tidak (NOT)
23
= = !=
&&
Terend
ah
||
Pernyataan If
Pernyatan if mempunyai bentuk penggunaan yang bermacam-macam
sesuai dengan kasus pengambilan keputusan yang dikerjakan .
Contoh Program
Program 1
#include <stdio.h>
main()
{
double beli, diskon, bayar;
printf(jumlah pembelian = Rp. );scanf(%lf, &beli);
if (beli >= 100000)
diskon = 10000;
else
diskon = 0;
bayar = beli diskon;
printf(jumlah pembelian =
Rp. %.2lf, beli);
printf(besar diskon = Rp.
%.2lf, beli); printf(total
pembayaran = Rp. %.2lf,
bayar);
}
Program 2
#include <stdio.h>
main()
{
int data;
printf(Masukkan Nilai data = );
scanf(%d,&data);
if (data == 2)
24
Proses : Nilai Akhir = 45% x Nilai UAS + 30% Nilai Tugas + 25%
Nilai UTS
Nilai Akhir
Huruf
90 100
70 89
60 69
50 59
0 49
: ");gets(nm);
printf ("NPM \t
: ");scanf("%lf",&npm);
: ");scanf("%lf",&nu);
: ");scanf("%lf",&nas);
25
26
Dari scrip program di atas maka akan di dapat output seperti terlihat pada
gambar di bawah ini :
27
Dari keterangan output program di atas , maka kita akan diarahkan untuk
memasukan sebuah bilangan angka untuk di cek , di sini misalnya saya
akan menginputkan angka 11 , apakah angka 11 termasuk bilangan prima
atau kah tidak , berikut di bawah ini jawabanya :
28
Maka dari output program di atas saya akan menetukan sebuah nilai yang
kesatu 56, kedua 98, ketiga 76 , selanjutnya saya akan mengeksekusi
sebuah program diatas maka akan menghasilkan tampilan seperti pada
gambar di bawah ini :
29
BAB VI
PENGAMBILAN KEPUTUSAN DENGAN SWITCH
6.1 Pokok Bahasan
Pernyataan Switch
6.2 Tujuan
Mahasiswa mampu dan mengenal struktur control switch dalam bahasa C.
Mahasiswa dapat menggunakan struktur control switch dalam sebuah
program.
6.3 Dasar Teori
Pernyataan swicth
Pernyataan
30
brea
k;
case
kons
tant
a-x:
pern
yata
an-x
brea
k;
default:
pernyataan-n
}
Contoh Program
#include <stdio.h>
#include <conio.h>
main()
{
char operatore;
double operand1, operand2;
clrscr();
puts("Program kalkulator
sederhana.....\n");
puts("operator yang dapat
digunakan adalah : "); puts("*
=> perkalian\n");
puts("/ =>
pembagian\n");
puts("+ =>
penjumlahan\n")
; puts("- =>
pengurangan\n")
31
;
puts("Contoh Menghitung => 5 / 2 Lalu tekan
ENTER");
printf("\nSilahkan Menghitung Angka : ");
scanf("%lf %c %lf", &operand1, &operatore,
&operand2);
switch (operatore)
{
case '*' : printf("Hasil = %.10lg",
operand1 * operand2); break; case '/' :
printf("Hasil = %.10lg", operand1 /
operand2); break; case '+' : printf("Hasil
= %.10lg", operand1 + operand2); break;
case '-' : printf("Hasil = %.10lg",
operand1 - operand2); break; default :
puts("\nPerintah Anda Salah Silahkan
Ulangi");
}
}
32
33
printf("masukkan R3 :");
scanf("%d",&r3);
total=r1+r2+r3;
printf("Rtotal =%d \n",total);
printf("Tekan Sembarang Untuk Ke menu :");
scanf("%s",&sembarang);
goto menu;
case 2:
clrscr();
printf("masukkan R1 :");
scanf("%d",&r1);
printf("masukkan R2 :");
scanf("%d",&r2);
printf("masukkan R3 :");
scanf("%d",&r3);
if((r1>=r2)&&(r1>=r3))
max=r1;
if((r2>=r1)&&(r2>=r3))
max=r2;
if((r3>=r1)&&(r3>=r2))
max=r3;
printf("R terbesar adalah=%d \n",max);
if((r1<=r2)&&(r1<=r3))
min=r1;
if((r2<=r1)&&(r2<=r3))
min=r2;
if((r3<=r2)&&(r3<=r1))
min=r3;
printf("R terkecil adalah=%d \n",min);
printf("Tekan Sembarang Untuk Ke menu :");
scanf("%s",&sembarang);
goto menu;
case 3 : _exit(0); break;
default : printf("salah input");
34
break;
}
}
Dari scrip program di atas , maka akan dihasilkan sebuah output seperti
pada gambar di bawah ini :
35
6.4.2 Percobaan 2
Membuat program Menu pilihan proses RANGKAIAN PARALEL
Berikut di bawah ini scripnya :
#include<stdio.h>
#include<stdlib.h>
#include<conio.h>
main(){
float c,d,s,x,y,a,z,r_tot;
char pilih;
menu:
clrscr();
puts("\t\tMenu Pilihan Proses");
puts("===========================================
===");
puts("[1] Masukan R Total Rangkaian Paralel\n");
puts("[2] Menentukan nilai R Terbesar dan
Terkecil\n");
puts("[3] selesai\n");
puts("===========================================
===");
printf("Pilihan Anda [ 1 / 2 / 3 ] : ");
scanf("%s",&pilih);
clrscr();
switch(pilih){
case '1':
printf("Masukkan Nilai R1 : ");
scanf("%f",&x);
printf("Masukkan Nilai R2 : ");
scanf("%f",&y);
printf("Masukkan Nilai R3 : ");
scanf("%f",&a);
r_tot=(1/x)+(1/y)+(1/a);
printf("R total Dari Rangkaian Paralel
adalah : %.2f\n",r_tot);
break;
36
case '2':
puts("Menentukan nilai R Terbesar dan
Terkecil");
z = max(x, y);
s = max(z, a);
c = min(x, y);
d = min(c, a);
printf("Nilai Terbesar adalah :
%.0f\n",s);
printf("Nilai Terkecil adalah :
%.0f\n",d);
break;
case '3':
goto keluar;
break;
default:
puts("Maaf Pilihan Yang Anda Masukkan
Salah");
printf("Kembali Ke menu sebelumnya
[y/t] : ");
scanf("%s",&pilih);
if(pilih=='y'||pilih=='Y')
goto menu;
else
goto keluar;
break;
}
printf("Kembali Ke menu sebelumnya [y/t] : ");
scanf("%s",&pilih);
if(pilih=='y'||pilih=='Y')
goto menu;
else
goto keluar;
keluar:
clrscr();
printf("Terima Kasih");
37
38
BAB VII
PERULANGAN
7.1 Pokok Bahasan
Do while
While
Pernyataan for
7.2 Tujuan
Mahasiswa mampu mengenal dan mengerti proses pengulangan do while
dan for.
Mahasiswa dapat menggunakan perulangan do while dan for pada
program.
7.3. Dasar Teori
Do-while
Tahapan proses : mula-mula pernyataan dijalankan dulu, kemudian kondisi
di uji, jika kondisi bernilai benar , maka pernyataan dijalankan lagi dan
jika nilai salah maka pernyataan tidak dijalankan lagi (dihentikan).
While
Tahapan proses : dari awal langsung dilakukan tes kondisi jika kondisi
bernilai benar maka menjalankan pernyataan dan jika kondisi bernilai
salah maka akan keluar dari lop. Jadi pada perulangan menggunakan while
memungkinkan sebuah pernyataan tidak dijalankan sama sekali.
Yang membedakan antara perulangan menggunakan do-while dan
while,
biasanya adalah pada pernyataan while harus diberikan terlebih dahulu
inisialisasi terhadap variabel yang akan dijadikan sebagai kondisi dari
while.
Pernyataan for
Tahapan proses: pernyataan akan dijalankan mulai dari nilai awal
(ungkapan1) dan keluar dari lop jika sudah dengan nilai akhir (ungkapan2).
Sintaks :
For (ungkapan1,ungkapan2,ungkapan3)
Pernyataan
39
Contoh program
Program 1
#include <stdio.h>
#include <conio.h>
main()
{
int hitung1,hitung2;
hitung1 = 0;
while (hitung1 < 6)
{
printf("Nilai Hitung %d\n",hitung1);
hitung1 = hitung1 + 1;
}
hitung2= 6;
while (hitung2 < 15)
{
printf("Nilai Hitung %d\n",hitung2);
hitung2 = hitung2 + 1;
}
gets(0); return(0);
}
Maka dari program di atas akan dihasilkan output seperti dibawah ini :
40
- Program 2
#include <stdio.h>
main()
{
int baris, kolom, hasil_tambah;
for (baris = 1; baris <= 5; baris++)
{
for (kolom = 1; kolom <= 5; kolom++)
{
hasil_tambah = baris + kolom;
printf (" %2d", hasil_tambah);
}
printf("\n");
}
}
Dari contoh scrip program di atas makan akan dihasilkan tampilan berikut
di bawah ini :
41
Maka dari scrip program di atas akan menghasilkan sebuah output si bawah
ini :
42
7.4.2 Percobaan 2
Membuat program seperti output di bawah ini :
1
232
34543
4567654
567898765
Keterangan : scrip di bawah ini sengaja saya modifikasi dalam bentuk
pencarian segitiga pyramid ,
Berikut di bawah ini scripnya :
#include <stdio.h>
#include <conio.h>
int main()
{
int a,b,c,tinggi;
clrscr();
printf("Masukkan Tinggi Segitiga : ");
scanf("%d",&tinggi);
printf("\n\n");
clrscr();
printf("Berikut Tampilan Segitiganya\n");
for(a=1; a<=tinggi; a++)
{
for(c=tinggi; c>=a; c--)
printf(" ");
for(c=a;c<2*a;c++)
{
b=c%10;
printf("%d",b);
}
for(c=2*(a-1);c>=a; c--)
{
b= c%10;
43
printf("%d",b);
}
printf("\n");
}
getch();
}
Dari scrip program di atas maka telah dihasilkan sebuah piramida segitiga ,
berikut di bawah ini outputnya :
44
{
hasil=fpb(y,x);
return(hasil);
}
else
sisabagi=x%y;
hasil=fpb(y,sisabagi);
return(hasil);
}
main()
{
int hasil,m,n;
printf("Masukkan bilangan pertama :");
scanf("%d",&m);
printf("Masukkan bilangan kedua
:");
scanf("%d",&n);
printf("==============================");
hasil=fpb(m,n);
printf("\nFPB dari kedua angka tersebut adalah
%d",hasil);
getch ();
}
Maka dari scrip program di atas akan menampilkan sebuah program dan di
sini saya akan menginputkan 2 bilangan , yaitu bilangan pertama : 2 dan
bilangan kedua: 4 , maka hasil FPB dari kedua bilangan di atas : 2
berikut outputnya :
45
46
BAB VIII
FUNGSI
8.1 Pokok Bahasan
Tujuan Fungsi
Cara Melewati Parameter ke dalam Fungsi
o Pemanggilan dengan nilai (call by value)
o Pemanggilan dengan referensi (call by refrense)
8.2 Tujuan
Mahasiswa mampu mengenal dan memahami fungsi parametik dan non
parametik .
Mahasiswa dapat menggunakan fungsi dalam pemrograman.
8.3 Dasar Teori
Tujuan fungsi
Fungsi adalah kumpulan baris perintah (blok program) yang di buat
untuk melaksanakan tugus tertentu, yang tujuanya adalah :
1. Program menjadi lebih terstruktur, sehingga mudah untuk dipahami,
mencari kesalahan kode dan dikembangkan lebih lanjut.
2. Untuk mengurangi penulisan kebali kode yang telah dibuat.
Fungsi memerlukan masukan
parameter, yang akan diolah oleh fungsi. Hasil akhir dari sebuah fungsi
adalah sebuah nilai berupa nilai keluaran fungsi.
Tipe_fungsi nama_fungsi(parameter)
Deklarasi parameter
Bagian fungsi
Contoh Program
#include <stdio.h>
main( )
{
int a, b;
x =
isika
47
n_a(
);
print
f( x
=
%d\n
,x);
y =
isika
n_b(
);
print
f( y
=
%d\n
,y);
}
isikan_a( )
{
return (0);
}
isikan_b( )
{
return (0);
}
48
49
printf("=====================================\n");
printf("1. Mencari Luas segitiga\n");
printf("2. Masukan sisi miring segitiga\n");
printf("=====================================\n");
printf("Masukan pilihan anda\n");
scanf("%d",& pil);
if(pil==2)
sisi_miring();
else
printf("anda salah pilih");
}
Dari scrip program di atas maka akan menghasilkan output seperti pada
gambar di bawah ini :
50
Selanjutnya saya akan memilih salah satu dari pilihan menu di atas , misal
saya akan memilih no. 2 , di mana saya akan menginputkan sebuah angka
yaitu a: 4, b:5 , maka hasil yang di dapat =6 , untuk membuktikanya
langsung lihat tampilan di bawah ini :
8.4.2 Percobaan 2
Membuat program mencari permutasi !
Berikut di bawah ini scripnya :
#include<stdio.h>
void permutasi()
{
int n,r,x,y,i,j,p;
printf("===============================\n");
printf("\tMencari Permutasi\n");
printf("===============================\n");
printf("Masukan Nilai n: ");
scanf("%d",& n);
printf("Masukan nilai r: ");
scanf("%d",& r);
if(n>r)
51
{
x=1;
y=1;
for(i=1;i<=n;i++);
{x=x*i;}
for(j=1;j<=(n-r);j++);
{y=y*j;}
p=x/y;
printf("permutasi p(%d,%d);%d",n,r,p);
}
else
printf("permutasi p(%d,%d);tidak valid",n,r);
}
main()
{permutasi();}
Dari scrip program di atas maka akan dihasilkan tampilan berikut di bawah
ini :
52
53
BAB IX
ARRAY DAN STRING
9.1 Pokok Bahasan
Array berdimensi Satu
Array berdimensi dua
Variabel string
Input output data string
Menampilkan isi variabel string
9.2 Tujuan
Mahasiswa mampu mengenal dan memahami fungsi parametik dan
nonparametik.
Mahasiswa dapat menggunakan fungsi array dalam pemrograman.
Mahasiswa mampu mengenal dan memahami konsep string.
Mahasiswa dapat menggunakan I/O pada string.
9.3 Dasar Teori
Array berdimensi satu
Pendeklarasian dengan bentuk umum berupa :
Tipe nama_var[ukuran]
Contoh deklarasi :
float nilai[5];
Bentuk pengaksesan
nama_var[indeks]
Array berdimensi dua
Pendeklarasian dengan bentuk umum berupa :
Tipe nama_var[ukuran1][ukuran2]
54
Contoh deklarasi :
float data_nilai[4][3]
Bentuk pengaksesan
Misalnya :
char name[15];
atau
#include <stdio.h>
scanf(%s, nama_array);
55
atau
printf("%s",var_string);
Contoh program 2:
#include <stdio.h>
main()
{
char nama[50];
printf(Masukkan nama anda : );
gets(jur);
printf(\n Nama anda :
56
%s,nama);
printf(Jumlah
karakter
%d
karakter\n,strlen(nama));
}
57
cout<<endl;
// Mengisikan nilai ke dalam elemen-elemen matriks2
cout<<"inputen matriks 2"<<endl;
for (i=0; i<2; i++) {
for (j=0; j<2; j++) {
for (k=0;k<2; k++) {
cout<<"matriks2["<<i<<"]["<<j<<"]["<<k<<"] = ";
cin>>matriks2[i][j][k];
}
}
}
cout<<endl;
// Melakukan penjumlahan matriks1,matriks2, dan
matriks 3
// dan menyimpan hasilnya ke dalam jumlahmatriks
for (i=0; i<2; i++) {
for (j=0; j<2; j++) {
for (k=0;k<2; k++) {
jumlahmatriks[i][j][k] = matriks1[i][j][k] +
matriks2[i][j][k];
}
}
}
// Menampilkan hasil penjumlahan
cout<<"hasil penjumlahan matriks"<<endl;
for (i=0; i<2; i++) {
for (j=0; j<2; j++) {
for (k=0;k<2; k++) {
cout<<"matriks["<<i<<"]["<<j<<"]["<<k<<"] =
"<<jumlahmatriks[i][j][k]<<endl;
}
}
58
}
cout <<endl;
// Melakukan pengurangan matriks1,matriks2, dan
matriks 3
// dan menyimpan hasilnya ke dalam jumlahmatriks
for (i=0; i<2; i++) {
for (j=0; j<2; j++) {
for (k=0;k<2; k++) {
hasilmatriks[i][j][k] = matriks1[i][j][k] matriks2[i][j][k];
}
}
}
// Menampilkan hasil penjumlahan
cout<<"hasil pengurangan matriks"<<endl;
for (i=0; i<2; i++) {
for (j=0; j<2; j++) {
for (k=0;k<2; k++) {
cout<<"matriks["<<i<<"]["<<j<<"]["<<k<<"] =
"<<hasilmatriks[i][j][k]<<endl;
}
}
}
return 0;
}
59
Dari hasil scrip di atas maka akan di dapat sebuah outputan berikut
gambar di bawah ini :
60
9.4.2 Percobaan 2
Membuat program menghitung nilai karakter.
Berikut di bawah ini scripnya :
#include<stdio.h>
#include<conio.h>
main()
{
char kar,kalimat;
int jumkar=1, jumspasi=0;
printf("\tMasukkan Kalimat : ");
scanf("%c",&kalimat);
while((kar = getchar()) != '\n'){
// jumlah karakter yang diinput tambah 1 hingga
menemukan karakter enter
jumkar++;
// jika terdapat karakter spasi,maka variabel akan
dihitung 1
if (kar == ' ') jumspasi++;
}
printf("\n\tJumlah karakter\t= %d", jumkar);
printf("\n\tJumlah spasi\t= %d\n", jumspasi);
}
Dari hasil scrip di atas maka akan didapatkan sebuah program berikut di
bawah ini :
61
Dan selanjutnya saya akan memasukan kalimat di mana kalimat yang akan
saya masukan nanti akn di hitung jumlah karakter serta spasinya , berikut
di bawah ini output programnya :
9.4.3 Percobaan 3
Menganalisa dan memperbaiki kesalahan dari sebuah program .
Berikut di bawah ini scripnya yang salah :
#include<stdio.h>
void main(){
struct date{
int tgl;
int bulan;
int tahun;}
struct person{
char nama[30];
struct date lahir;}
struct person siswa[2];
int i;
printf("Masukkan Data siswa : \n");
for (i=0;i<2;i+)
{
printf("Masukkan Nama
:");
fgets(siswa[i].nama, sizeof siswa[i].
nama, stdin);
Printf("Masukkan Tanngal lahir : ");
scanf("%d", &siswa[i].lahir.tgl);
62
struct person{
char nama[30];
struct date lahir;};
struct person siswa[2];
int i;
printf("\t\tMasukkan Data siswa : \n");
printf("\t==================================\n");
for (i=0;i<2;i++)
{
63
Dari hasil pembenaran program di atas , maka akan di dapat sebuah output
program berikut seperti pada gambar di bawah ini :
64
65
BAB XI
PENUTUP
10.1 Kesimpulan
Dari
pelaksanaan
praktikum
yang
telah
berjalan
dengan
lancar,
10.2 Saran
Dalam mempelajari pemrogaman bahasa C banyak sekali hal yang harus
diperhatikan. Maka dari itu diperlukan adanya ketelitian dan kesabaran, serta
analisa.
66
67
10.4 LAMPIRAN
68