Anda di halaman 1dari 24

MODUL PRAKTIKUM

DASAR DASAR PEMROGRAMAN BAHASA C

D3 TEKNIK INFORMATIKA

FAKULTAS MATEMATIKA DAN ILMU PENGETAHUAN ALAM

UNIVERSITAS SUMATERA UTARA

MEDAN

2015
MODUL I

PENGENALAN PROGRAM

Program merupakan sekumpulan instruksi yang diberikan kepada komputer dalam sebuah
bahsa pemrograman untuk melaksanakan tugas-tugas yang diperlukan dalam
menyelesaikan sebuah persoalan. Dalam melaksakan pemrogaman tersebut dibutuhkan
seorang yang merangkai bahasa pemrograman tersebut yang disebut programmer.
Sedangkan untuk mencapai sebuah penyelesain persoalan tersebut dibutuhkan sebuah
rancangan penyelesaian yang biasa disebut dengan istilah Algoritma. Selain bahasa C ,
komputer juga dapat mengerjakan berbagai instruksi dari bahasa pemrograman lainnya
seperti, C/C++, Pascal, Frontran, Basic, Java, Prolog, dan lainnya. Dalam makalah ini
bahasa pemrograman yang saya gunakan adalah bahasa C.

2.1 Tipe Data

Didalam kita melakukan sebuah pemecahan masalah dalam pemrograman, kita perlu
mengetahui terebih dahulu tipe data yang akan digunakan. Tipe data dalam bahasa C
adalah data-data yang kita input-kan kedalam pemrograman dan dapat dimengerti oleh
bahasa C sehingga data-data tersebut dapat dieksekusi. Tipe data merupakan bagian
program yang paling penting karena tipe data mempengaruhi setiap instruksi yang akan
dilaksanakan oleh komputer.
Berikut ini adalah beberapa tipe data dasar yang dapat kita gunakan didalam
pemrograman bahasa C :

a. Tipe data Char


Tipe data Char adalah tipe data berupa karaktek tunggal (tidak lebih dari satu
karakter). Tipe data ini memiliki jumlah bit sebanyak 8 bit (1 byte). Dalam
penulisan di progam C , struktur penulisan deklarasi tipe data Char adalah seperti
berikut :
Char [nama variabel];

b. Tipe data Integer


Tipe data Integer adalah tipe data berbentuk bilangan real. Segala yang berbentuk
bilangan real menggunakan tipe data ini. Integer memiliki jumlah bit sebanyak
16 (2 byte). Dalam pendeklarasiannya , integer menggunakan struktur seperti
berikut:
Int [nama_variabel];

c. Tipe data Float


Tipe data Float adalah tipe data berbentuk bilangan desimal atau pecahan. Dalam
bahasa C tipe data ini memiliki jumlah bit sebanyak 32 bit (4 byte).
Pendeklarasiannya adalah sebagai berikut
Float [nama_variabel];

d. Tipe data Double


Sama halnya dengan tipe data Float , Double adalah tipe data berbentuk desimal ,
tapi yang membedakannya adalah Double memiliki presisi angka lebih teliti atau
banyak angka di belakang koma (,). Pendeklarasiannya adalah :
Double [nama_variabel];

Tipe Fungsi Format


char Menyatakan sebuah abjad/karakter atau %c
untuk bilangan bulata kecil
int Menyatakan bilangan bulat %d
float Menyatakan bilangan real dengan ketelitian %f
rendah (15 digit)
Long Menyatakan bilangan bulat namun jumlah %ld Tabel 1.1 Tipe data dalam

nilainya lebih banyak dari biasanya atau bahasa C

%li
Double Menyatakan bilangan real dengan ketelitian %f
tinggi (15 digit)
Long Menyatakan bilangan cacah dengan %lf
double ketelitian ganda panjang
2.2 Operator

Operator adalah simbol-simbol yang dipakai dalam penyelesaian sebuah masalah baik
data berupa angka maupun huruf. Dalam bahasa C , operator yang digunakan memiliki
tingkatan. Tingkatan ini memliki arti bahwa ada beberapa operator yang dijadikan
prioritas dalam pengerjaaanya. Beberapa operator yang dapat digunakan sesuai dengan
permasalahannya adalah sebagai berikut :

1. Operator Tanda Kurung ( )


Operator ini digunakan saat untuk mengelompokan operasi yang akan dikerjakan
terlebih dahulu. Sama halnya seperti tanda kurung dalam pengerjaan matematika.

2. Operator Aritmatika *, /, %, +, -
Operator aritmatika merupakan operator yang digunakan untuk fungsi/operasi
matematika, operator aritmatika dasar untuk C dan tanpa proses include :
* : Digunakan untuk operasi perkalian.
/ : Digunakan untuk operasi pembagian.
+ : Digunakan untuk operasi penjumlahan.
- : Digunakan untuk operasi pengurangan.
% : Digunakan untuk operasi modulus (sisa pembagian).

3. Operator Bitwise >>, <<


Operator ini digunakan untuk menyelesaikan nilai bit dari nilai data variabel yang kita
buat.
a. << : Pergeseran bit ke kiri
b. >> : Pergeseran bit ke kanan

4. Operator Perbandingan >, <, >=, <=


Operator ini berhubungan dengan penentuan nilai TRUE dan FALSE.
> : lebih besar dari
< : lebih kecil dari
>= : lebih besar dari atau sama dengan
<= : lebih kecil dari atau sama dengan

5. Operator Persamaan dan pertidaksamaan ==, !=


Operator ini juga berhubungan dengan penentuan nilai TRUE dan FALSE
== : sama dengan
!= : tidak sama dengan

6. Operator Logika &&, ||


Operator ini digunakan dalam pengkondisian/if.
&& : and (dan)
|| : or (atau)
Prosesnya akan berhenti segera setelah TRUE atau kepada FALSE dari hasilnya
diketahui.
7. Operator Assigment = *= += -=
= : sama dengan
*= : nilai operand 1 di awal dikalikan dengan nilai operand 2
+= : nilai operand 1 di awal dijumlahkan dengan nilai operand 2
-= : nilai operand 1 di awal dikurangi dengan nilai operand

2.3 Input dan Output

Input dan output dalam pemrograman bahasa C adalah sebatas memberikan perintah
melalui keyboard dan di terima oleh program untuk diproses dalam pemrograman
selanjutnya sesuai rancangan program itu sendiri. Pada dasarnya Input dan Output yang
digunakan disesuaikan dengan file header yang digunakan. Untuk standartnya biasanya
menggunakan file header <stdio.h>. Berikut ini adalah perintah Input dan Output
dasar yang biasa digunakan dalam pemrograman bahasa C.
1. Output
a. printf ( )
Printf ( ) adalah fungsi output yang dapat menampilkan semua jenis data baik itu
karakter, bilangan , maupun string. Berikut ini adalah contoh penggunaan printf ( ).
#include <stdio.h>
main ()
{
printf ("Hay nama saya angga");
}

2.Input
a. scanf ( )
Sedangkan fungsi scanf ini digunakan untuk membaca data dengan tipe array,
karakter yang selanjutnya kita sebut dengan istilah string, maka fungsi ini hanya akan
membaca data sampai ditemukan blank(space). Dengan demikian nilai setelah blank
dianggap bukan lagi nilai dari variabel yang akan mengisi variabel tersebut. Fungsi scanf
lebih cocok digunakan untuk data-data numerik. Fungsi scanf biasanya digunakan
bersama-sama dengan fungsi printf. Perhatikan contoh berikut :

#include
int main()
{
char a[25];
int b;
printf("a = ");scanf("%s",a);
printf("b = ");scanf("%d",&b);
printf("Data yang anda masukkan adalah \n");
printf("a = %s \n",a);
printf("b = %d \n",b);
}
2.4 Algoritma dan Flowchart
Algoritma merupakan kunci dari bidang ilmu komputer, dan pada dasarnya setiap hari
kita melakukan aktivitas algoritma. Kata algoritma berasal dari sebutan Algorizm (Abu
Abdullah Muhammad Ibn Musa Al Khwarizmi, ahli matematika Uzbekistan)

Pengertian Algoritma adalah urutan langkah-langkah logis penyelesaian masalah


yang disusun secara terstruktur dan logis untuk pemecahan suatu permasalahan. Arti
umum adalah serangkaian urutan langkah-langkah yang tepat, logis, terperinci, dan
terbatas untuk menyelesaikan suatu masalah yang disusun secara sistematis.
Langkah-langkah dalam algoritma harus logis dan harus dapat ditentukan bernilai
salah atau benar.
Pembuatan algoritma harus selalu dikaitkan dengan:
1. Kebenaran algoritma
2. Kompleksitas (lama dan jumlah waktu proses dan penggunaan memori)

Kriteria Algoritma yang baik:


1. Tepat, benar, sederhana, standar dan efektif
2. Logis, terstruktur dan sistematis
3. Semua operasi terdefinisi
4. Semua proses harus berakhir setelah sejumlah langkah dilakukan
5. Ditulis dengan bahasa yang standar dengan format pemrograman agar mudah
untuk diimplementasikan dan tidak menimbulkan arti ganda.

Jadi didalam pemrograman Algoritma sangatlah penting , karena tanpa adanya


Algoritma kita tidak dapat menyelesaikan masalah secara sistematis dan terstruktur.

Sedangkan Flowchart adalah bagan-bagan yang mempunyai arus dan arti tersendiri dalam
setiap bentuknya dalam penyelesaian masalah. Flowchart dan Algoritma mempunyai
keterkaitan. Karena flowchart merupakan implementasi awal dari sebuah algoritma.
Bentuk Flowchart Keterangan
Digunakan untuk mewakili simbol Start (mulai) dan End
(akhir). Simbol ini diberi label kata Start untuk memulai dan
End untuk mengakhiri.

oval
Digunakan untuk menunjukan proses alur. Sebuah anak panah
dari satu simbol ke simbol lainnya, menandakan bahwa proses
arrow yang terjadi berpindah dari simbol awal anak panah ke simbol
yang dituju anak panah.
Digunakan untuk menunjukan sebuah proses seperti
perhitungan dan instruksi-instruksi lainnya.

rectangle
Digunakan untuk menyatakan input/output. Untuk
membedakan antara input dan output biasanya input
menggunakan simbol trapesium, sedangkan untuk output
menggukan simbol trapesium yang bentuknya pada bagian
bawah melengkung.

Parallelogram atau
trapezium
Dalam pembuatan flowchart tidak ada aturan baku yang harus dipenuhi. Tapi secara garis
besar besar flowchart memiliki 3 unsur inti yaitu , input, output, dan processing. Meski
tidak ada aturan baku, tetapi dalam pembuatannya haruslah dimulai dari satu titik Start
dan diakhiri dititik End. Berikut ini adalah contoh dari sebuah flowchart :

Tabel 1.2 Bentuk-bentuk Flowchart


MODUL II

KEPUTUSAN

Didalam bahasa pemograman C terdapat berbagai instruksi untuk menyelesaikan suatu


persoalan. Dengan berbagai struktur instruksi yang ada , programmer dapat lebih leluasa
dalam menyelesaikan persoalan dalam pemrograman. Oleh karena itu bahasa C dapat
digolongkan kedalam bahasa tinggkat tinggi karena mampu menyelesaikan persoalan
logika. Terdapat lima struktur keputusan yang akan saya bahas disini.

3.1 Struktur If

IF merupakan struktur kendali dalam bahasa C yang paling sederhana. IF digunakan


untuk mengeksekusi sebuah persoalan dengan ekspresi tertentu. IF akan meneksekusi
nilai benar dari sebuah ekspresi. Secara umum struktur IF dapat ditulis seperti berikut:
If (ekspresi)
Pernyataan

Didalam struktur IF kata kunci ekspresi harus diapit oleh tanda kurung.
Sedangkan pernyataan dapat berupa sebuah pernyataan tunggal ataupun sebuah blok.
Untuk mengilustrasikan cara kerja struktur IF kita dapat melihat pada bagan 3.1.1
Masuk

Evaluasi
ekspresi

Uji hasil
Salah
ekspresi

Benar

Pernyataan

Keluar

Gambar 3.1 Cara kerja struktur IF

3.2 Struktur If Else

Seperti halnya IF , IF Else juga mengeksekusi nilai benar , tapi lain halnya IF. IF Else
mempunyai sebuah pengecualian pada sturktur Else itu sendiri. Sebagai gambaran , kita
dapat lihat struktur If else dibawah ini.

a. Bentuk If..Else

if ( kondisi )
statement1;
else
statement2;

Statement setelah kondisi atau statement sesudah else dapat berupa statment
kosong, statement tunggal maupun blok statement. Statement 1 akan dijalankan jika
kondisi benar, jika salah maka statement 2 yang akan diproses.

contoh :
#include <stdio.h>
int main()
{
int a;
printf("masukan bilangan : ");
scanf("%d",&a);
if(a>0)
{
printf("Bilangan Positif\n");
}
else
{
printf("Bilangan Negatif\n");
}
}

3.3 Struktur Else-If

Else-If adalah sebuah struktur dimana sebuah pernyataan If memiliki sebuah pernyataan
If lainnya didalam Else-nya. Sehingga ddidapat kesimpulan disebut Else-If.

a. Bentuk If..else ifelse


if ( kondisi 1)
statement1;
else if ( kondisi 2 )
statement2;
else if ( kondisi 3)
statement3;
.
else
statement default;

Proses eksekusi program else-if adalah dimana statement I akan dieksekusi


apabila sudah memenuhi syarat. Jika belum, proses selanjutnya akan terjadi pada
statementt II. Proses ini akan terus berlangsung, jika tidak menemukan hasil maka proses
akan berakhir pada nilai deafult.

contoh :
#include <stdio.h>
int main(){
int Nilai; char Mutu;
printf("Mencari Mutu Nilai\n\n");
printf("Input Nilai Mahasiswa : ");scanf("%d",
&Nilai);
if (Nilai<50) Mutu = 'E';
else if(Nilai<65) Mutu = 'D';
else if(Nilai<75) Mutu ='C';
else if (Nilai<85) Mutu ='B';
else Mutu = 'A';
printf("\n\nNilai Mahasiswa yang diinput = %d",
Nilai);
printf("\nMutu Nilai = %c", Mutu);
return 0; }
Output : Mencari Mutu Nilai
Input Nilai Mahasiswa : 78
Nilai Mahasiswa yang diinput = 78
Mutu Nilai = B

3.4 Struktur Switch

Struktur switch seperti halnya if , bedanaya disini adalah swicth memiliki alternatif
pernyataan. Jadi pernyataan itu tidak di eksekusi satu persatu. Tetapi sesuai input yang
diarah untuk pernyataan tersebut dieksekusi.

Bentuk Umumnya :
switch (ekspresi)
{
case konstanta1 :
pernyataan1 ;
break ;
case konstanta2 :
pernyataan2 ;
break ;
case konstanta3 :
pernyataan3 ;
break ;
:
:
case konstantaN :
pernyataanN ;
break ;
default :
pernyataan lain;
}
Contoh :
#include <stdio.h>
main()
{
char huruf;
printf("masukan huruf :");
scanf("%c" ,&huruf);
switch(huruf)
{
case 'a':
{
printf ("Yang anda pilih matkul :");
printf ("Daspro");
}
break;
case 'b':
{
printf ("Yang anda pilih matkul : ");
printf ("Paket aplikasi");
}
break;
case 'c':
{
printf ("Yang anda pilih matkul : ");
printf ("Kalkulus");
}
break;
case 'd':
{
printf ("Yang anda pilih matkul : ");
printf ("Logika Matematika");
}
break;
default:
printf ("Matakuliah tidak teredia");
}
}

3.5 Nested If

Seperti namanya , nested if merupakan struktur dari if tetapi dalam hal ini if bersarang
didalam if. Jadi disini memiliki lebih banyak lagi ekspresi yang dapat diprogram. Sebagai
contoh sebagai berikut :

#include <stdio.h>

int main()
{
int n;
printf(" Berikan bilangan bulat: ");
scanf("%d" , &n);

/* nested if */
if (n>0)
{
if (n % 2 == 0)
printf("positif dan genap\n");
else
printf("positif dan ganjil\n");
}
if (n<0)
{
if (n % 2 == 0)
printf("negatif dan genap\n");
else
printf("negatif dan ganjil\n");
}

MODUL III
PERULANGAN

Struktur pengulangan adalah struktur yang diprogram untuk melakukan sebuah perintah
operasi secara berulang-ulang.Walau pun perintah yang dikerjakan hanya itu saja dan
diulang-ulang , tetapi hasil akhirnya tidak boleh tidak bernilai sama sekali. C memiliki
tiga unsur pengulangan: for, while, dan do-while. Masing-masing struktur pengulangan
memiliki keistimewaan sendiri-sendiri yang secara terperinci akan dibahas pada bagian-
bagian berikut ini.

Pengulangan for melakukan sejumlah iterasi yang telah ditetapkan. Pada bentuk
pengulangan ini terdapat tiga ekspresi yang digunakan untuk mengendalikan proses
pengulangan

3.1 Pengulangan For

Pengulangan for mengerjakan perintah yang telah ditetapkan. Pada bentuk pengulangan
ini terdapat tiga ekspresi yang digunakan untuk mengendalikan proses pengulangan.
Bentuk umum struktur pengulangannya adalah:

for(ekspr1; ekspr2, ekspr3)


Pernyataan

Ketiga komponen pengulangan for merupakan ekspresi-ekspresi. Pada umunya,


ekspr1 adalah yang digunakan sebagai pemberi harga awal terhadap pengulangan yang
dilakukan, ekspr2 adalah ekspresi untuk menguji apakah pengulangan masih akan terus
dilakukan, dan ekspr3 adalah ekspresi untuk melakukan penambahan terhadap harga awal
yang telah ditentukan. Pengulangan for dapat berupa pengulangan yang memiliki
inisialisasi dan inkremen sedehana untuk melakukan sejumlah pengulangan. Pada
pengulangan ini dilakukan sebanyak n kali yang dimulai dari I = n 1, dimana disetiap
iterasi dilakukan penulisan bilangan-bilangan 0, 1, 2, , n 1. Seperti di bawah ini:

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


printf(%d\n,i);

Pengulangan for dapat pula berupa pengulangan dengan dekremen sederhana.


Dimana pada pengulangan tersebut dilakukan sepuluh kali iterasi mulai dari detik = 10
hingga detik = 1 dan di setiap iterasi dilakukan penulisan bilangan-bilangan 10, 9, 8,, 1.
. Contoh program pengulangan for:

#include <stdio.h>
#include <conio.h>

int main()
{
int x;
printf("pengulangan kata :\n");
printf("\"aguero\"");
printf("sebanyak 2 kali\n\n");

for(x=1; x<=2; x++)


{
printf("\"aguero\"\n");
}
getch();
return 0;
Gambar 4.1 Hasil program perulangan For

3.2 Pengulangan While

Struktur ini akan mengerjakan pernyataan didalam badanpernyataan secara berulang-


ulang selama ekspresi yang dikoreksi bernilai benar.

Perintah while adalah pengulangan yang dilakukan oleh program selama (while)
dalam keadaan tertentu. Misalnya saja, ada sebuah kondisi yang mengharuskan program
agar melakukan pekerjaan tertentu selama keadaan itu terpenuhi (true).
Contoh:
Mencetak angka 1 sampai 1000

#include <iostream>
using namespace std;
void main() {
int i = 1;

while (i <= 1000) {


//perintah untuk mencetak nilai dari i dan
kemudian membuat
//baris baru
cout << i << \n;
//iterasi
++i;
//i = i + 1;
//i += 1;
}

3.3 Pengulangan Do-While

Bahasa C menyediakan satu struktur pengulangan lain, yaitu pengulangan yang


melakukan pengujian terhadap ekspresi setelah melaksanakan badan pengulangan setiap
kali iterasi dilakukan. Dengan perkataan lain, pengujian dilakukan dibagian akhir setelah
melalui badan pengulangan, sehingga badan pengulangan pastilah pernah dilaksanakan,
paling sedikit satu kali. Pengulangan tersebut adalah pengulangan do-while. Karena
pengujian ekspresi dilakukan setelah iterasi dilakukan, pengulangan do-while ini dikenal
sebagai pengulangan syarat keluar (exit-condition loop)

Seperti halnya struktur-struktur pengulangan yang lain, pernyataan dapat berupa


sebuah pernyataan tunggal yang diakhiri dengan titik koma, ataupun sebuah blok
pernyataan yang diawali oleh kurung kurawal buka dan diakhiri dengan kurung kurawal
tutup.

Struktur pengulangan do-while juga mengikuti aturan logika semi-Boolean. Jika nilai
ekspresi yang tidak dievaluasi tidak nol (true), maka kendali program dikembalikan ke
awal pernyataan do dan proses berulang kembali. Apabila hasil evaluasi menghasilkan
nol, kendali program diserahkan ke pernyataan berikutnya. Umumnya pengulangan do-
while lebih sedikit digunakan dibandingkan dengan pengulangan while dan for. Akan
tetapi dalam hal-hal tertentu, kadang-kadang lebih tepat jika kita menggunakan do-while
yaitu apabila badan pengulangan hendak dilaksanakan paling sedikit satu kali. Hal hal
yang cocok untuk keadaan ini antara lain misalnya: meminta pemakai untuk memberika
kata sandi, memberikan jawaban y ayau t untuk memastikan apakah perlu
pemrosesan ulang, dan sebagainya. Contoh program pengulangan do-while:

#include <stdio.h>
#include <conio.h>

int main()
{
int x=1;
printf("mengulang kata :\n");
printf("\"aguero\"");
printf("sebanyak 2 kali\n\n");
do

{
printf("\"aguero\"\n");
x++;
}
while (x<=2);
getch();
return 0;
}
Gambar 4.2 Contoh program Do-While

3.4 Pengulangan Nested for

Pengulangan bertingkat (nested for) adalah suatu struktur pengulangan yang badan
pengulangannya mengandung satu atau lebih struktur pengulangan yang lain. Struktur
pengulangan yang berada di bagian dalam dikenal sebagai pengulangan dalam (inner
loop), sedangkan yang berada di luar disebut pengulangan luar (outer loop). Adapun
pengulangan luar dan pengulangan dalam itu dapat berupa struktur pengulangan yang
sama, dapat pula tidak.. Perhatikan kerangka struktur-struktur pengulangan berikut.

#include <stdio.h>
int main()
{
int i, j;
for(i = 0; i <= 10; i++)
{
printf("i=%2d -> ", i);

printf("j=");
for(j = 10; j > i; j--)
printf("%d", j);
printf("\n");
}
return 0;
}

Gambar 4.3 Contoh program Nested-For

Anda mungkin juga menyukai