Anda di halaman 1dari 68

LAPORAN RESMI

PRAKTIKUM PEMROGRAMAN DASAR

Oleh :

SAEUN MU ARIF

(NPM. 1412110300)

Dosen : Andik Adi S,S.Kom

PROGRAM STUDI TEKNIK INFORMATIKA

FAKULTAS TEKNIK

UNIVERSITAS PGRI RONGGOLAWE TUBAN

2012

1
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.

Tuban, 12 April 2012


Ttd

Penulis

2
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. Untuk mengetahui struktur pemrograman Bahasa C
2. Untuk mengetahui macam-macam tipe data dalam Bahasa C
3. Untuk mengetahui pendeklarasian variabel dan konstanta dalam
Bahasa C
4. Untuk mengimplementasikan program yang telah dibuat.
5. Dapat membuat program sederhana dengan menggunakan bahasa C.
6. Memahami fungsi standar untuk operasi numerik & matematika serta
operasi karakter & string pada bahasa C.

3
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.
2.2. Pengenalan Turbo C++
Turbo C++ dengan IDE yang terintegrasi yang dikembangkan oleh Borland,
terkenal karena kecepatannya dalam kompilasi dan linking. Produk ini merupakan
bagian dari keluarga kompiler borland yang sangat populer termasuk Turbo
Pascal, Turbo Basic, Turbo Prolog, dan Turbo C. Turbo C++ merupakan suksesor
dari Turbo C yang merupakan pengembangan lebih lanjut dengan keseragaman
tata cara dalam kompiler seperti halnya cara yang terdapat pada Turbo Pascal 5.5
dalam menambahkan fungsionalitas object pada versi-versi Turbo Pascal
sebelumnya. Namun tidak seperti halnya Turbo Pascal, Turbo C++ senantiasa
mengikuti dan mempertahankan standar-standar yang berlaku pada bahasa C++.

4
2.3. Pengenalan Algoritma
Definisi
Definisi algoritma adalah urutan langkah-langkah logis penyeselaian
masalah yang disusun secara sistematis dan logis. Kata logis (logika) merupakan
kata kunci dalam algoritma. Langkah-langkah dalam algoritma harus dapat
ditentukan bernilai benar atau salah.
Algoritma Dalam Kehidupan
Algoritma adalah jantung ilmu komputer atau informatika. Banyak cabang
ilmu komputer yang diacu dalam terminologi algoritma. Namun algoritma juga
digunakan dalam kehidupan sehari-hari, contohnya resep makanan. Di dalam
resep makanan terdapat langkah-langkah yang merupakan algoritma. Selain itu
masih banyak contoh algoritma yang lain.

5
2.4. Pengenalan Program C
2.4.1 Proses Penerjemahan bahasa C
Untuk dapat dimengerti oleh komputer, bahasa C yang ditulis harus
diterjemahkan terlebih dahulu ke dalam bentuk yang dikenal oleh bahasa mesin.
Ada dua jenis translator atau penerjemah yang digunakan dalam bahasa C, yaitu
interpreter dan compiler .
Interpreter merupakan suatu translator yang menerjemahkan bahasa C ke
dalam bahasa yang dikenal mesin satu persatu, dan hasil terjemahan langsung
dikerjakan. Sedangkan pada compiler, diterjemahkan secara keseluruhan dan hasil
terjemahan tersebut disimpan dalam bentuk kode mesin (object code), dan kode
eksekusi (execute code).
Object code dari compiler baru dapat dilaksanakan setelah object code
tersebut diubah menjadi execute code oleh linker. Secara lengkap prosesnya adalah
sebagai berikut :

Gambar 2.1 Proses Penerjemah Bahasa C


2.4.2 Struktur Program C
Untuk dapat memahami bagaimana suatu program ditulis, maka struktur
dari program harus dimengerti terlebih dahulu. Tiap bahasa komputer mempunyai
struktur program yang berbeda. Jika struktur dari program tidak diketahui, maka
akan sulit bagi pemula untuk memulai menulis suatu program dengan bahasa yang
bersangkutan.
Struktur dari program C terdiri dari koleksi satu / lebih fungsi-fungsi.
Fungsi pertama yang harus ada di program C sudah ditentukan namanya, yaitu
bernama main() . Suatu fungsi di dalam program C dibuka dengan kurung kurawal
buka { dan ditutup dengan kurung kurawal tutup }. Di antara kurung kurawal

6
dapat dituliskan statemen-statemen program C dan pada setiap statemen diakhiri
dengan tanda titik koma ;. Berikut adalah struktur dari program C:

Gambar 2.2 Struktur Umum Bahasa C


Bahasa C dikatakan sebagai bahasa pemrograman terstruktur, karena
strukturnya menggunakan fungsi-fungsi sebagai program-program bagian
(subroutine). Fungsi-fungsi selain fungsi utama merupakan program-program
bagian. Fungsi-fungsi ini dapat ditulis setelah fungsi utama atau diletakkan pada
file pustaka dan akan dipakai di suatu program, maka nama judulnya (header file)
harus dilibatkan di dalam program yang menggunakan preprocessor directive
#include .
Header file merupakan file yang berisi dengan prototype (judul, nama,
sintak) dari sekumpulan fungsi-fungsi pustaka tertentu. Jadi file ini hanya berisi
dengan prototipe dari fungsi-fungsi pustaka, sedangkan fungsi-fungsi pustakanya
sendiri disimpan dalam file pustaka (library file dengan nama extension file -nya
adalah .LIB). Misalnya prototipe dari fungsi-fungsi pustaka printf() dan scanf()
terdapat di file stdio.h, sehingga jika fungsi-fungsi ini digunakan di program,
maka nama file judulnya harus dilibatkan dengan menggunakan preposcessor
#include. File judul stdio.h berisi prototype fungsi-fungsi pustaka untuk operasi
input dan output standar. Ada dua cara melibatkan file judul disuatu program C,
yaitu :
#include<stdio.h> atau #include stdio.h.
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

7
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);
}
Output dari listing program di atas adalah :
masukkan nilai celcius?10
10.000000 celcius adalah 50.000000 fahrenheit
Pembahasan program secara singkat :
1. Untuk memberi keterangan program, suatu komentar bebas dapat
diletakkan
dimanapun di program C. Komentar atau keterangan program diawali
dengan
bentuk /* dan diakhiri dengan bentuk */ yang terlihat sebagai berikut :
/* Program C yang sederhana */
2. Karena program ini menggunakan fungsi-fungsi pustaka printf() dan
scanf() yang disediakan oleh C dan diletakkan di file pustaka, maka
nama
file yang berisi prototype dari fungsi-fungsi ini (file ini disebut header file)
harus disebutkan dengan prepocessor directive #include. File judul
(header
file) untuk fungsi-fungsi printf() dan scanf() adalah dengan nama
stdio.h. Nama extention file .h menunjukkan suatu header file.
3. Di dalam fungsi utama, digunakan lima buah statemen sebagai berikut:
float Celcius, Fahrenheit;

8
printf(masukkan nilai celcius?;
scanf(%f,&Celcius);
Fahrenheit = Celcius * 1.8 + 3.2;
printf(%f celcius adalah %f fahrenheit \n,
Celcius, Fahrenheit);
Masing-masing statemen ditulis dengan diakhiri oleh titik koma.
Statemenstatemen
(pernyataan-pernyataan) di program C dapat dibentuk dari kata-kata
kunci (seperti misalnya float, int, for atau if), dibentuk dari fungsi-fungsi
(misalnya printf(), scanf()) atau dibentuk dari suatu pengerjaan (seperti
perhitungan, memindahkan suatu nilai ke suatu variabel).
2.4.4 Kelebihan dan kelemahan Bahasa C
Kelebihan Bahasa C:
- Bahasa C tersedia hampir di semua jenis computer.
- Kode bahasa C sifatnya adalah portable dan fleksibel untuk semua jenis
computer.
- Bahasa C hanya menyediakan sedikit kata-kata kunci. hanya terdapat 32
kata kunci.
- Proses executable program bahasa C lebih cepat
- Dukungan pustaka yang banyak.
- C adalah bahasa yang terstruktur
- Bahasa C termasuk bahasa tingkat menengah
penempatan ini hanya menegaskan bahwa c bukan bahasa pemrograman
yang
berorientasi pada mesin. yang merupakan ciri bahasa tingkat rendah.
melainkan
berorientasi pada obyek tetapi dapat dinterprestasikan oleh mesin dengan
cepat.
secepat bahasa mesin. inilah salah satu kelebihan c yaitu memiliki
kemudahan dalam menyusun programnya semudah bahasa tingkat tinggi
namun dalam mengesekusi program secepat bahasa tingkat rendah.

9
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 juga sebagai awal program
dijalankan, sedangkan tanda } di akhir fungsi merupakan akhir bagian
isi fungsi dan sekaligus adalah akhir dari eksekusi program.

Fungsi printf()

11
Merupakan fungsi yang umum dipakai utuk menampilkan suatu
keluaran pada layar peraga.
Praposesor #include
#include merupakan salahsatu jenis pengarah praprosesor yang dipakai
untuk membaca file yang dinamakan file-judul (header file). File-judul
yaitu file yang diantaranya berisi deklarasi fungsi dan definisi
konstanta. File ini mempunyai ciri yaitu nama file-nya diakhiri dengan
extensi .h , misalnya = stdio.h.
3.4 Hasil Praktikum
3.4.1 Percobaan 1
Menganalisa kesalahan dari menampilkan data ke layar di bawah ini :
#include stdio.h
Main() {
Printf(belajar pemrograman bahasa C)
Printf(dengan Borland turbo c++ versi 4.5);
Printf(PRODI STUDI TEKNIK PERANGKAT LUNAK);
}
Berikut di bawah ini adalah pembenaranya :
#include <stdio.h>
main ()
{
printf ("belajar Pemrograman Bahasa C\n");
printf ("dengan borland turbo c++ versi 4.5\n");
printf ("PRODI TEKNIK INFORMATIKA");
}

Maka hasil dari pembenaran program di atas akan seperti pada gambar di
bawah ini :

Gambar 3.1 percobaan

Keterangan : manfaat dari program di atas yaitu , mahasiswa mampu


menganalisa kesalahan program serta dapat membenarkanya.

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
Gambar 3.2 percobaan 2
Keterangan : Manfaat dari program di atas yaitu mahasiswa dapat
membuat program biodata dengan fungsi dasar bahasa C++.
3.4.3 Percobaan 3
Mencari Letak kesalahan dari listing program di bawah ini :
#include <stdio.h>
Main () {
Printf(%d dan %d adalah bilangan genap 2 , 4);
Printf(%s pangkal %s, rajin , pandai );
}
Maka dari kesalahan srcip program di atas , akan menghasilkan sebuah
pembenaran seperti scrip program di bawah ini
#include <stdio.h>
main()
{
printf ("% d dan % d adalah bilangan genap\n", 2,4);
printf ("% s pangkal % s","rajin","pandai");
}

Dari pembenaran scrip program diatas , maka akan menghasilkan sebuah


output atau keluaran seperti pada gambar berikut di bawah ini :

14
Gambar 3.3 percobaan 3
Keterangan : Manfaat dari program di atas yaitu mahasiswa mampu
menganalisa letak kesalahan program serta memperbaikinya.

BAB IV

15
DASAR PEMROGRAMAN DAN OPERASI MASUKAN-
KELUARAN
4.1 Pokok Bahasan
Pengenal (identifitier)
Kata kunci (reserved word)
Tipe Data Dasar
Variabel
Operator Aritmatika
4.2 Tujuan
Agar mahasiswa mampu dan mengerti pengenal dan kata kunci dalam
bahasa C.
Agar mahasiswa mampu menggunakan variabel dan tipe variabel dalam
sebuah program.
Agar mahasiswa mampu mengenal dan mengerti variabel , tipe data dalam
bahasa C.

4.3 Dasar Teori


Tipe Data Dasar
Data berdasarkan jenisnya dapat dibagi menjadi lima kelompok, yang
dinamakan sebagai tipe data dasar. Kelima tipe data dasar :
Tipe Total Kapasitas Keterangan
Bit
Char 8 -128 s/d 127 Karakter
Int 16 -32768 s/d 32767 Bil. Interger
Float 32 3.4E-38 s/d 3.4E+38 Bil. Real (presisi tunggal)
Double 64 1.7E-308 s/d 1.7E_308 Bil. Real (presisi ganda)
Void 0 Tak bertipe

Variable
Bentuk pendeklarasian variabel :

16
Tipe daftar-variabel

Contoh deklarasi :
int jumlah; float, harga, bayar;

Operator Aritmatika

Yang tergolong operator binary Yang tergolong operator unary


* Perkalian - Tanda minus
/ Pembbagian + Tanda plus
% Sisa pembagian
+ Penjumlahan
- Pengurangan

4.4 Hasil Praktikum

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 scrip program kesalahan diatas , maka akan didapatkan sebuah
pembenaranya seperti pada scrip berikut dibawah ini :
#include<stdio.h>
#include<math.h>
main()
{
float a,b,c ;
printf ("masukan a : ");
scanf ("%f",&a);
printf ("masukan b : ");
scanf ("%f",&b);
c=a*a+b*b;
printf ("jadi sisi miring segitiga adalah :
%2.f",sqrt(c));
}
Dari scrip program pembenaran di atas akan dapat menghasilkan sebuah
keluaran seperti pada gambar di bawah ini :

Gambar 4.1 percobaan 1


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
di bawah ini hasilnya :

Gambar 4.2 menginputkan nilai a dan nilai b


Dan langkah terakhir saya akan menekan enter program di atas , maka
akan menghasilkan sebuah tampilan seperti pada gambar di bawah ini :

Gambar 4.3 hasil sisi miring segitiga


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);
printf ("Masukan tinggi : ");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 :

Gambar 4.4 hasil dari penjumlahan


Keterangan : Manfaat dari program di atas yaitu mahasiswa dapat
membuat program dengan sekaligus 3 fungsi .
4.4.3 Percobaan 3
Program menghitung kapasitansi :
Input : banyaknya muatan (Q), Tegangan (V)
Output : Kapasitansi
Proses : Q dibagi V
Berikut di bawah ini adalah scripnya :

#include<stdio.h>
main()
{
double q,v,kp;
printf ("**************************************\n");
printf ("\t Menghitung Kapasistansi\n");
printf ("**************************************\n");
printf ("Banyak Muatan : ");scanf("%lf",&q);
printf ("Tegangan : ");scanf("%lf",&v);
kp = q/v;
printf ("Kapasistansi : %.2lf",kp);

21
}
di sini saya menyontohkan memasukan nilai input banyak muatan : 7 ,
Tegangan : 4 , maka akan menghasilkan Kapasitansi 1.75
Maka hasil dari scrip di atas akan menghasilkan sebuah output seperti
gambar di bawah :

Gambar 4.5 hasil kapasitas


Keterangan : Manfaat dari program di atas yaitu mahasiswa mampu
menghitung hasil kapasitansi.

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
>= Lebih dari atau sama dengan
< Kurang dari
<= Kurang dari atau sama dengan
== Sama dengan
!= Tidak 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)
Prioritas operator Logika daan relasi
Tertinggi !
> >= < <=

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
printf("Data Sekarang %d\n",data);
else if (data < 5)
printf("Data Sekarang %d,lebih kecil dari
5\n",data);
else
printf("Data Sekarang %d,Lebih Besar Dari
4\n",data);
}
5.4 Hasil Praktikum
5.4.1 Percobaan 1
Membuat program algoritma di bawah ini :
- Masukan : NAMA, NPM, Nilai UTS, Nilai UAS , Nilai Tugas
- Proses : Nilai Akhir = 45% x Nilai UAS + 30% Nilai Tugas + 25%
Nilai UTS
Nilai Akhir Huruf
90 100 A
70 89 B
60 69 C
50 59 D
0 49 E
Berikut adalah scripnya :
#include <stdio.h>
#include <string.h>
main ()
{
double nu,na,nas,nt,npm;
char nm[25];
printf
("=========================================\n");
printf ("NAMA\t : ");gets(nm);
printf ("NPM \t : ");scanf("%lf",&npm);
printf ("Nilai UTS : ");scanf("%lf",&nu);
printf ("Nilai UAS : ");scanf("%lf",&nas);
printf ("Nilai Tugas: ");scanf("%lf",&nt);

25
na = (45*nas)/100 + (30*nt)/100 + (25*nu)/100;
//printf ("Nilai Akhir :%.2",&na);
if (na<=100&&na>=90)
{printf ("Nilai Akhir %s adalah : A",nm);}
else if (na<=89&&na>=70)
{printf ("Nilai Akhir %s adalah : B",nm);}
else if (na<=69&&na>=60)
{printf ("Nilai Akhir %s adalah : C",nm);}
else if (na<=59&&na>=50)
{printf ("Nilai Akhir %s adalah : D",nm);}
else if (na<=49&&na>=0)
{printf ("Nilai Akhir %s adalah : D",nm);}
printf
("\n=========================================");
}

Gambar 5.1 nilai akhir


Keterangan : Manfaat dari program di atas yaitu mahasiswa dapat
mengetahui hasil dari nilai akhir atas UTS, UAS, TUGAS .
5.4.2 Percobaan 2
Membuat program menentukan bilangan prima yang di inputkan dari
keyboard !
Berikut scripnya di bawah ini :
#include <stdio.h>
main()
{
int x;

26
printf("Masukkan bilangan yang akan di Cek: ");
scanf("%d",&x);
int prima = 1;
for(int i=2; i<x; i++)
{
if(x%i==0)
prima=0;
}
if (prima)
{
printf("%d Adalah bilangan prima",x);
}
else
{
printf("%d Bukan bilangan prima",x);
}
}
Dari scrip program di atas maka akan di dapat output seperti terlihat pada
gambar di bawah ini :

Gambar 5.2 output

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 :

Gambar 5.3 11 adalah bilangan prima


Keterangan : Manfaat dari program di atas yaitu mahasiswa mampu
untuk membuat sebuah program untuk mengecek bilangan prima atau
tidak .
5.4.3 Percobaan 3
Program menentukan nilai terbesar dan terkecil
Berikut di bawah ini scripnya :
#include <stdio.h>
main()
{
int a,b,c;
printf("================================\n");
printf ("Masukan angka kesatu : ");
scanf ("%d", & a);
printf ("Masukan angka kedua : ");
scanf ("%d", & b);
printf("Masukan angka ketiga : ");
scanf ("%d", & c);
printf("================================\n");
if ((a>b)&&(b>c))
printf("Angka kesatu terbesar\nAngka ketiga
terkecil");
else if ((a>c)&&(c>b))
printf("Angka kesatu terbesar\nAngka kedua terkecil");
else if ((b>a)&&(a>c))

28
printf("Angka kedua terbesar\nAngka ketiga terkecil");
else if ((b>c)&&(c>a))
printf("Angka kedua terbesar\nAngka kesatu terkecil");
else if ((c>a)&&(a>b))
printf("Angka ketiga terbesar\nAngka kedua terkecil");
else if ((c>b)&&(b>a))
printf("Angka ketiga terbesar\nAngka kesatu
terkecil\n");

}
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 :

Gambar 5.4 nilai terbesar dan terkecil


Keterangan : Manfaat dari program di atas yaitu mahasiswa dapat
menentukan nilai terbesar dan terkecil dengan menggunakan program
sederhana seperti di atas.

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 switch merupakan pernyataan yang dirancang khusus
untuk menangani pengambilan keputusan yang melibatakan sejumlah
alternatif.
Bentuk umum pernyataan switch.
switch (ekspresi)
{
case
konst
anta-
1:
pern
yataa
n-1
brea
k;
case
konst
anta-
2:
pern
yataa
n-2

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");
}
}

Hasil output dari program di atas :

Gambar 6.1 contoh program kalkulator

32
6.4 Hasil Praktikum
6.4.1 Percobaan 1
Membuat program Menu pilihan proses RANGKAIAN SERI
Berikut di bawah ini scripnya :
#include<stdio.h>
#include<conio.h>
#include<stdlib.h>
main()
{
int r1,r2,r3,pilihan,total,max,min,menu;
char sembarang;
menu:
clrscr();
gotoxy(35,6);printf("Menu Pilihan Proses");
gotoxy(20,7);printf("===============================
=================");
gotoxy(20,8);printf("[1] Menentukan R Total
Rangkaian Seri");
gotoxy(20,9);printf("[2] Menentukan nilai R Terbesar
dan Terkecil");
gotoxy(20,10);printf("[3] Selesai");
gotoxy(20,11);printf("==============================
==================");
gotoxy(20,12);printf("Masukkan Pilihan Anda
[1/2/3]=");
scanf("%d",&pilihan);
switch(pilihan)
{
case 1:
clrscr();
printf("Menentukan R pada rangkaian seri \n");
printf("masukkan R1 :");
scanf("%d",&r1);
printf("masukkan R2 :");
scanf("%d",&r2);

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"); break;

34
}
}
Dari scrip program di atas , maka akan dihasilkan sebuah output seperti
pada gambar di bawah ini :

Gambar 6.2 pilihan proses


Dan selanjutnya saya akan mencontohkan memilih menu pilihan di atas
, missal saya akan memilih pilihan nomor 1 , langkahnya kita tinggal
memasukan angka 1 lalu tekan enter dan setelah itu saya akan
memasukan sebuah angka R1 : 4, R2 : 6, R3 : 3, hasil yang di dapat
pada Rtotal=13 . berikut outputnya :

Gambar 6.3 hasil dari Rangkaian seri


Keterangan : Manfaat dari program di atas yaitu mahasiswa mampu
untuk mencari hasil dari sebuah rangkaian seri.

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
}
Dari scrip program di atas maka akan dihasilkan tampilan tepatnya
seperti pada gambar di bawah ini :

Gambar 6.4 pilihan parallel


Selanjutnya saya akan mencontohkon memilih menu nomer 1 ,
misalnya saya akan menginputkan sebuah nilai R1: 3, R2: 5, R3: 6 ,
maka nilai yang dihasilkan dari totalR 0.70 , untuk membuktikan
berikut dibawah ini outputnya :

Gambar 6.5 hasil totalR paralel


Keterangan : Manfaat dari program di atas yaitu mahasiswa mampu
menghitung total nilai parallel.

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
- Ungkapan1 digunakan untuk memberikan inisialisasi terhadap variabel
pengendali loop.
- Ungkapan2 digunakan sebagai kondisi keluar loop.
- Ungkapan3 digunakan sebagai pengatur kenaikan nilai ariabel pengendali
loop.
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 :

Gambar 7.1 contoh 1

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 :

Gambar 7.2 contoh 2

41
7.4 Hasil Praktikum
7.4.1 Percobaan 1
Membuat sebuah program seperti output di bawah ini :
1
22
333
4444
55555
Berikut di bawah ini scripnya :
#include <stdio.h>
main()
{
int a,b;
for(a=1;a<=5;a++){
for(b=1;b<=a;b++){
printf("%d",a);}
printf("\n");}
}
Maka dari scrip program di atas akan menghasilkan sebuah output si bawah
ini :

Gambar 7.3 hasil percobaan 1


Keterangan : Manfaat dari program di atas yaitu mahasiswa dapat
menyusun sebuah angka dalam bentuk segitiga siku siku.

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 :

Gambar 7.4 percobaan 2


Keterangan : Manfaat dari program di atas yaitu mahasiswa mampu
menyusun angka dalam bentuk segitiga pyramid atau segitiga sama kaki.
7.4.3 Percobaan 3
Membuat program mencari FPB dari dua bilangan yang diinputkan dari
keyboard.
Berikut di bawah ini scripnya :
#include <stdio.h>
#include <conio.h>
#include <math.h>
int fpb(int x,int y)
{

int hasil,sisabagi;
if(y<=x && x%y==0)
{
return(y);
}
else if(x<y)

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 :

Gambar 7.5 percobaan 3

45
Keterangan : Manfaat dari program di atas yaitu mahasiswa mampu
menghitung hasil Faktor Persekutuan Terbesar (FPB) dari nilai yang telah
diinputkan di atas.

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 yang dinamakan argumen atau
parameter, yang akan diolah oleh fungsi. Hasil akhir dari sebuah fungsi
adalah sebuah nilai berupa nilai keluaran fungsi.

Tipe_fungsi nama_fungsi(parameter) tipe_fungsi = tipe keluaran fungsi


Deklarasi parameter Nama_fungsi= nama fungsi
{ Parameter= daftar parameter
Bagian fungsi Deklarasi parameter= deklarasi variabel
} bagian fungsi= tubuh/isi 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);
}

Cara Melewatkan Parameter ke dalam Fungsi


Ada dua cara yang dapat dilakukan untuk melewatkan parameter, yaitu
1. Pemanggilan dengan nilai (call by value)
Nilai dari parameter aktual akan disalin dalam parameter formal,
sehingga nilai pada parameter aktual tidak bisa berubah sekalipun nilai
parameter formalnya mengalami perubahan.
2. Pemanggilan dengan referensi (call by reference)
Dengan melewatkan alamat dari suatu variabel kedalam fungsi. Dengan
cara
ini isi dari sebuah variabel dapat diubah diluar fungsi dengan
proses perubahan didalam fungsi.

48
8.4 Hasil Praktikum
8.4.1 Percobaan 1
Membuat program dengan menggunakan minimal 2 fungsi !
Di sini saya akan menghitung Luas Segitiga serta Sisi miringnya , berikut
di bawah ini scripnya :
#include <stdio.h>
#include <math.h>
void luas_segitiga()
{
double a,t,L;
printf("Masukan alas : ");
scanf("%1f",& a);
printf("Masukan Tinggi : ");
scanf("%1f", & t);
L=0,5*a*t ;
printf("luas segitiga:%.21f",L);
}
void sisi_miring()
{
int a,b;
double c;
printf("Masukan a : ");
scanf("%d",& a);
printf("masukan b : ");
scanf("%d",& b);
c=a*a+b*b;
printf("Sisi miring segitiga: %.21f",sqrt(c));
}
main()
{
int pil;
pil:
printf("=====================================\n");
printf("Menghitung sisi miring dan luas segitiga\n");
printf("=====================================\n");

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 :

Gambar 8.1 menu pilihan

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 :

Gambar 8.2 hasil sisi miring segitiga


Keterangan : Manfaat dari program di atas yaitu mahasiswa mampu
membuat program sekaligus dengan 2 fungsi yang dimaksudkan disini
Mencari Luas dan Sisi Miring segitiga.

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 :

Gambar 8.3 mencari permutasi

52
Selanjutnya saya akan menginputkan nilai n dan r , berikut nilai n saya
misalkan 8 dan nilai r 6 maka akan di dapat hasil permutasinya 3 , berikut
di bawah ini untuk lebih jelasnya :

Gambar 8.4 hasil permutasi

Keterangan : Manfaat dari program di atas yaitu mahasiswa mampu


mencari nilai permutasi dari sebuah bilangan dengan menggunakan
program fungsi bahasa C++.

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

nama_var[indeks pertama] [indeks kedua]


String merupakan bentuk data yang biasa dipakai dalam bahasa
pemrograman untuk keperluan menampung dan memanipulasi data teks,
misalnya untuk menampung (menyimpan) suatu kalimat. Pada bahasa C,
string bukanlah merupakan tipe data tersendiri, melainkan hanyalah
kumpulan dari nilai-nilai karakter yang berurutan dalam bentuk array
berdimensi satu.
1. Variabel string
Variabel string adalah variabel yang dipakai utuk menyimpan nilai
string.
Char nama_var [size]
Misalnya :
char name[15];
merupakan instruksi untuk mendeklarasikan variabel string dengan
panjang maksimal 15 karakter (termasuk karakter NULL). Deklarasi
tersebut sebenarnya tidak lain merupakan deklarasi array bertipe char.
Input Output Data String
Pemasukan data string ke dalam suatu variabel biasa dilakukan dengan
fungsi gets() atau scanf(). Bentuk umum pemakaiannya adalah sebagai
berikut :
#include <stdio.h>
gets(nama_array);
atau
#include <stdio.h>
scanf(%s, nama_array);

55
Menampilkan isi variable string
Untuk menampilkan isi variabel string, fungsi yang digunakan
adalah puts() atau printf(). Bentuk umum pemakaiannya adalah sebagai
berikut :
#include <stdio.h>
puts(var_string);
atau
printf("%s",var_string);
Fungsi-fungsi Mengenai string
Fungsi strcpy() untuk menyalin nilai string
Fungsi strlen() untuk mengetahui panjang nilai string
Fungsi strcat() untuk menggabung nilai string
Fungsi strcmp() untuk membandingkan dua nilai string
Fungsi strchr() untuk mencari nilai karakter dalam string
Contoh Program 1:
#include <stdio.h>
main()
{
char jur[25];
printf(Masukkan Jurusan yang dipilih : );
gets(jur);

printf(\n Jurusan yang anda pilih %s,jur);


}
Contoh program 2:
#include <stdio.h>
main()
{
char nama[50];
printf(Masukkan nama anda : );
gets(jur);

printf(\n Nama anda : %s,nama);

56
printf(Jumlah karakter = %d
karakter\n,strlen(nama));
}
9.4 Hasil Praktikum
9.4.1 Percobaan 1
Membuat program penjumlahan dan pengurangan matrik ordo 3x3 !
Berikut di bawah ini scripnya :
Ket : Sengaja scrip di bawah ini saya beri komentar hal ini bertujuan
untuk memperjelas penggunakan dari setiap fungsi.
#include <iostream.h>

main() {

// Mendefinisikan tipe data yang berbentuk array dua


dimensi
typedef int MATRIK33 [3][3][3];

// Mendeklarasikan matriks1 sebagai array dua dimensi


MATRIK33
matriks1,matriks2,matriks3,jumlahmatriks,hasilmatriks
;

int i, j, k; // Mendeklarasikan variabel


// untuk indeks pengulangan

// Mengisikan nilai ke dalam elemen-elemen matriks1


cout<<"inputan matriks 1"<<endl;
for (i=0; i<2; i++) {
for (j=0; j<2; j++) {
for (k=0; k<2; k++) {
cout<<"matriks1["<<i<<"]["<<j<<"]["<<k<<"] = ";
cin>>matriks1[i][j][k];
}
}
}

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 :

Gambar 9.1 inputan matrik


Dan langkah selanjutnya saya akan menginputkan beberapa bilangan
pada program di atas , maka hasil yang di dapat akan seperti pada
gambar di bawah ini :

Gambar 9.2 hasil percobaan 1


Keterangan : Manfaat dari program di atas yaitu Mahasiswa mampu
menghitung nilai matrik pengurangan dan penjumlahan dengan
menggunakan fungsi program array.

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 :

Gambar 9.3 masukan kalimat

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 :

Gambar 9.4 hasil percobaan 2

Keterangan : Manfaat dari program di atas yaitu Mahasiswa mampu


menghitung jumlah dari nilai kaarakter dan spasi yang telaah
diiunputkan pada program.

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
Printf("Masukkan bulan lahir : ");
scanf("%d", &siswa[i].lahir.bulan);
printf("Masukkan tahun lahir : ");
scanf("%d", &siswa[i].lahir.tahun)
fflush(stdin);
printf("\n");
};
for(i=0;i<2;i++)
{
printf(" data ke : %d \n ",i+1);
printf("Nama Siswa : %s",siswa[i].nama);
printf("Tanggal lahir : %d-%d-%d
",siswa[i].lahir.tgl,siswa[i].lahir.bulan,siswa[i
].lahir.tahun)
printf("\n\n") ;
}
}
Berikut di bawah ini pembenaranya :

#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("\t\tMasukkan Data siswa : \n");

printf("\t==================================\n");

for (i=0;i<2;i++)

63
printf("Masukkan Nama\t\t : ");

fgets(siswa[i].nama, sizeof siswa[i].nama, stdin);

printf("Masukkan Tanggal lahir\t : ");

scanf("%d", &siswa[i].lahir.tgl);

printf("Masukkan bulan lahir\t : ");

scanf("%d", &siswa[i].lahir.bulan);

printf("Masukkan tahun lahir\t : ");

scanf("%d", &siswa[i].lahir.tahun);

fflush(stdin);

printf("\n");

for(i=0;i<2;i++)

printf("data ke : %d \n ",i+1);

printf("Nama Siswa\t : %s",siswa[i].nama);

printf("Tanggal lahir\t : %d-%d-%d


",siswa[i].lahir.tgl,siswa[i].lahir.bulan,siswa[i].lah
ir.tahun);

printf("\n\n") ;

Dari hasil pembenaran program di atas , maka akan di dapat sebuah output
program berikut seperti pada gambar di bawah ini :

Gambar 9.5 input data

64
Langkah selanjutnya saya akan menginputkan nama, tanggal lahir,bulan
lahir dan tahun lahir pada diri saya pribadi , maka tampilan yang akan di
dapat berikut di bawah ini :

Gambar 9.6 hasil akhir percobaan 3

Keterangan : Manfaat dari program di atas yaitu Mahasiswa dapat


menganalisa kesalahan program serta dapat membenarkanya .

65
BAB XI
PENUTUP
10.1 Kesimpulan
Dari pelaksanaan praktikum yang telah berjalan dengan lancar,
alhamdulillah saya dapat memahami materi yang di ajarkan tentang pemrogaman
bahasa C dengan cukup jelas.
Bahasa C merupakan pemrogaman bahasa yang cukup rumit. Tetapi apabila
kita tekuni dan berusaha sedikit, maka bahasa C adalah termasuk pemrogaman
yang mudah untuk dipelajari.

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
10.3 Daftar Pustaka

Modul praktikum pemrograman dasar


http://informatika11f.blogspot.com
http://informatiak11d.wordpress.com
http://ilmukomputer.com

67
10.4 LAMPIRAN

68

Anda mungkin juga menyukai