Anda di halaman 1dari 49

1 DASAR ALGORITMA C

1.1 Tujuan Praktikum


- Mahasiswa dapat mengerti dan mengenal apa pemrograman Bahasa C.
- Mahasiswa dapat mengerti sintak-sintak pada Bahasa C, terutama yang dilakukan
pada praktikum ini.
- Mahasiswa dapat membuat dan membaca program yang telah dibuat.
- Mahasiswa dapat membuat algoritma dan flowchart dari program yang dibuat.
- Mahasiswa dapat memberi kesimpulan dari program yang telah dibuatnya.

1.2 Landasan Teori


C merupakan bahasa pemrograman yang berkekuatan tinggi dan fleksibel
yang telah banyak digunakan oleh para programmer professional untuk
mengembangkan program-program yang sangat bervarisai dalam berbagai bidang.
Pada praktikum ini kita dapat paham dan mengerti dari program-program
yang kita buat. Dalam praktikum ini kita menggunakan sintak-sintak dasar dalam
kerangka programnya.
Setiap program yang ditulis dengan menggunakan bahasa C harus mempunyai
fungsi utama yang bernama main (). Fungsi inilah yang akan dipanggil pertama kali
pada saat proses eksekusi program.
File header yang akan kita gunakan harus kita daftarkan dengan menggunakan
directive #include. Directive #include ini berfungsi untuk memberitahu kepada
kompilator bahwa program yang kita buat akan menggunakan file-file yang
didaftarkan.
Dalam membuat suatu program computer, kita tidak lepas dari proses
masukan dan keluaran. Untuk melakukan hal tersebut, di dalam bahasa C telah
disediakan fungsi pustaka, yaitu fungsi printf () dan scanf (). Fungsi printf () yang
berguna untuk menampilkan keluaran data. Sedangkan fungsi scanf () untuk
membaca masukan data.

1.3 Alat-alat dan Komponen


- Komputer / Laptop
- Software program Dev C++
- Bolpoin
- Kertas

1 Buku Petunjuk Praktikum


Algoritma dan Pemrograman
1.4 Prosedur Percobaan
1.4.1 Kegiatan 1
- Mencetak kalimat “Hello World!” dalam satu baris

1.4.2 Kegiatan 2
- Mencetak kalimat dalam beberapa baris, dengan tampilan sbb :
Hello...
..oh my
...when do i stop?
1
..2
...3

1.4.3 Kegiatan 3
- Menghitung penjumlahan 1024 + 4096 dan mencetak hasilnya.

1.4.4 Kegiatan 4
- Mengisi nilai 2 variabel int, menjumlahkan kedua isi variabel tersebut dan
mencetak hasilnya.

1.4.5 Kegiatan 5
- Mengisi nilai sebuah variabel float, mengalikan isi variabel tersebut dengan 50
dan mencetak hasilnya.

1.4.6 Kegiatan 6
- Menampilkan nilai sebuah bilangan float dengan tanpa menentukan format
tampilannya (default).

1.4.7 Kegiatan 7
- Menampilkan nilai sebuah bilangan float dengan format :lebar medan 10 digit
dan 2 digit di belakang koma.

1.4.8 Kegiatan 8
- Menerima masukan dengan format int dan char kemudian menampilkannya
kembali dengan format yang sesuai.

2 Buku Petunjuk Praktikum


Algoritma dan Pemrograman
1.5 Data Hasil Percobaan

3 Buku Petunjuk Praktikum


Algoritma dan Pemrograman
4 Buku Petunjuk Praktikum
Algoritma dan Pemrograman
5 Buku Petunjuk Praktikum
Algoritma dan Pemrograman
6 Buku Petunjuk Praktikum
Algoritma dan Pemrograman
1.6 Analisis Data dan Pembahasan

7 Buku Petunjuk Praktikum


Algoritma dan Pemrograman
1.7 Kesimpulan

1.8 Lembar Evaluasi


No Kegiatan Keterangan TTD TTD
Asisten Dosen
1 Tugas Pendahuluan
2 Pengambilan data
3 Asistensi

8 Buku Petunjuk Praktikum


Algoritma dan Pemrograman
2 TIPE DATA PEMROGRAMAN C

2.1 Tujuan Praktikum


- Menjelaskan tentang beberapa tipe data dasar (jenis dan jangkauannya).
- Menjelaskan tentang Variabel.
- Menjelaskan tentang konstanta.
- Menjelaskan tentang berbagai jenis operator dan pemakaiannya.
- Menjelaskan tentang intruksi I/O.

2.2 Landasan Teori


2.2.1 Tipe Data Dasar
Data berdasarkan jenisnya dapat dibagi menjadi lima kelompok, yang
dinamakan sebagai tipe data dasar. Kelima tipe data dasar adalah:
a. Bilangan bulat (integer)
b. Bilangan real presisi-tungga
c. Bilangan real presisi-ganda
d. Karakter
e. Tak-bertipe (void).
Kata-kunci yang berkaitan dengan tipe data dasar secara berurutan di
antaranya adalah int (short int, long int, signed int dan unsigned int), float, double,
dan char.

2.2.2 Variabel
Aturan penulisan pengenal untuk sebuah variabel, konstanta atau fungsi yang
didefinisikan oleh pemrogram adalah sebagai berikut :
a. Pengenal harus diawali dengan huruf (A..Z, a..z) atau karakter garis bawah ( _ ).
b. Selanjutnya dapat berupa huruf, digit (0..9) atau karakter garis bawah atau tanda
dollar ($).
c. Panjang pengenal boleh lebih dari 31 karakter, tetapi hanya 31 karakter pertama
yang akan dianggap berarti.
d. Pengenal tidak boleh menggunakan nama yang tergolong sebagai kata-kata
cadangan (reserved words) seperti int, if, while dan sebagainya.

2.2.3 Konstanta
Konstanta menyatakan nilai yang tetap. Berbeda dengan variabel, suatu
konstanta tidak dideklarasikan. Namun seperti halnya variabel, konstanta juga
memiliki tipe. Penulisan konstanta mempunyai aturan tersendiri, sesuai dengan tipe
masing-masing.
a. Konstanta karakter misalnya ditulis dengan diawali dan diakhiri dengan tanda
petik tunggal, contohnya : ‘A’ dan ‘@’.
9 Buku Petunjuk Praktikum
Algoritma dan Pemrograman
b. Konstanta integer ditulis dengan tanda mengandung pemisah ribuan dan tak
mengandung bagian pecahan, contohnya : –1 dan 32767
c. Konstanta real (float dan double) bisa mengandung pecahan (dengan tanda
berupa titik) dan nilainya bisa ditulis dalam bentuk eksponensial (menggunakan
tanda e), contohnya : 27.5f (untuk tipe float) atau 27.5 (untuk tipe double)
dan 2.1e+5(maksudnya 2,1 x 105 ).
d. Konstanta string merupakan deretan karakter yang diawali dan diakhiri dengan
tanda petik-ganda (“), contohnya :“Pemrograman Dasar C”.

2.2.4 Operator
Operator merupakan simbol atau karakter yang biasa dilibatkan dalam
program untuk melakukan sesuatu operasi atau manipulasi, seperti menjumlahkan
dua buah nilai, memberikan nilai ke suatu variabel, membandingkan kesamaan dua
buah nilai. Sebagian operator C tergolong sebagai operator binary, yaitu operator
yang dikenakan terhadap dua buah nilai(operand).
Contoh
a+b
Simbol + merupakan operator untuk melakukan operasi penjumlahan dari
kedua operand-nya (yaitu a dan b). Karena operator penjumlahan melibatkan dua
operator ini tergolong sebagai operator binary.
-c
Simbol - (minus) juga merupakan operator. Simbol ini termasuk sebagai operator
unary, yaitu operator yang hanya memiliki sebuah operand (yaitu c pada contoh ini).

2.3 Alat-alat dan Komponen


- Komputer / Laptop
- Software program Dev C++
- Bolpoin
- Kertas

2.4 Prosedur Percobaan


2.4.1 Kegiatan 1 (Perbedaan format %g, %e, dan %f)
#include <stdio.h>
Main ()
{
Float x;
Printf (“Masukkan nilai pecahan yg akan ditampilkan : “);
Scanf (“%f”, &x);
Printf (“format e => %e\n”,x);
Printf (“format f => %f\n”,x);
Printf (“format g => %g\n”,x);
}

2.4.2 Kegiatan 2 (Penggunaan format panjang medan data)

10 Buku Petunjuk Praktikum


Algoritma dan Pemrograman
#include <stdio.h>
Main ()
{
Char nama1[10]=”Dita”, nama2[10]=”Ani”, nama3[10]=”Fitri”;
Float a = 88.5, b = 90.8, c = 98.2;
Printf(“%8s\t %7s\t %8s”, nama1, nama2, nama3);
Printf(“\n%8.2f \t %8.2f \t %8.2f”, a, b, c);
}

2.4.3 Kegiatan 3 (Penggunaan operator)


#include <stdio.h>
Main ()
{
Int a, b;
A = 8+2*3/6;
B= (8+2)*3/6;
Printf(“A=8+2*3/6\n”);
Printf(“B= (8+2)*3/6\n”);
Printf (“Hasil dari A = %d\n”,a);
Printf(“Hasi dari B = %d\n”,b);
}

2.4.4 Kegiatan 4 (Penggunaan Operator Modulus)


#include <stdio.h>
Main ()
{
Int a = 14, b = 2, c = 3, d = 4;
Printf(“a=%d, b=%d, c=%d, d=%d\n\n”, a, b, c, d);
Printf(“Hasil a %% b = %d\n”, a % b);
Printf(“Hasil a %% c = %d\n”, a % c);
Printf(“Hasil a %% d = %d\n”, a % d);
Printf(“Hasil a/d*d+a%%d=%d\n”, a/d*d+a%d);
}

2.4.5 Kegiatan 5 (Penggunaan Operator Increment)


#include <stdio.h>
Main ()
{
Int a = 10, b = 5;
Printf(“Nilai A = %d”,a);
Printf(“\nNilai ++A = %d”, ++a);
Printf(“\nNilai B = %d”, b);
Printf(“\nNilai –B = %d”, --b);
}

2.5 Data Hasil Percobaan

11 Buku Petunjuk Praktikum


Algoritma dan Pemrograman
12 Buku Petunjuk Praktikum
Algoritma dan Pemrograman
13 Buku Petunjuk Praktikum
Algoritma dan Pemrograman
14 Buku Petunjuk Praktikum
Algoritma dan Pemrograman
2.6 Analisis Data dan Pembahasan

15 Buku Petunjuk Praktikum


Algoritma dan Pemrograman
2.7 Kesimpulan

2.8 Lembar Evaluasi


No Kegiatan Keterangan TTD TTD
Asisten Dosen
1 Tugas Pendahuluan
2 Pengambilan data
3 Asistensi

16 Buku Petunjuk Praktikum


Algoritma dan Pemrograman
3 Kondisi (if, if-else, switch)

3.1 Tujuan Praktikum


- Menjelaskan tentang operator kondisi (operator relasi dan logika).
- Menjelaskan penggunaan pernyataan if, if – else, dan if dalam if (nested if).
- Menjelaskan tentang pernyataan switch.

3.2 Landasan Teori


Untuk keperluan pengambilan keputusan, C menyediakan beberapa jenis
pernyataan, berupa :
a. Pernyataan if
b. Pernyataan if-else, dan
c. Pernyataan switch
Pernyataan-pernyataan tersebut memerlukan suatu kondisi, sebagai basis dalam
pengambilan keputusan. Kondisi umum yang dipakai berupa keadaan benar dan
salah.

3.2.1 Operator Relasi


Operator relasi biasa dipakai untuk membandingkan dua buah nilai. Hasil
pembandingan berupa keadaan benar atau salah. Keseluruhan operator relasi pada C
ditunjukkan pada Tabel 3-1.
Tabel 3-1. Operasi relasi
Operator Makna
> Lebih dari
>= Lebih dari atau sama dengan
< Kurang dari
<= Kurang dari atau sama dengan
== Sama dengan
!= Tidak sama dengan

3.2.2 Operator Logika.


Operator logika biasa dipakai untuk menghubungkan ekspresi relasi. Keseluruhan
operator logika ditunjukkan pada tabel 3-2.
Tabel 3-2. Operator logika
Operator Makna
&& dan (AND)
!! atau (OR)
! tidak (NOT)

17 Buku Petunjuk Praktikum


Algoritma dan Pemrograman
Bentuk pemakaian operator && dan || adalah :
operand1 operator operand2

3.2.3 Pernyataan if
Pernyataan if mempunyai bentuk umum :
if (kondisi )
pernyataan;

Bentuk ini menyatakan :


- Jjika kondisi yang diseleksi adalah benar (bernilai logika = 1), maka
pernyataan yang mengikutinya akan diproses.
- Sebaliknya, jika kondisi yang diseleksi adalah tidak benar (bernilai logika =
0), maka pernyataan yang mengikutinya tidak akan diproses.
- Mengenai kodisi harus ditulis diantara tanda kurung, sedangkan pernyataan
dapat berupa sebuah pernyataan tunggal, pernyataan majemuk atau
pernyataan kosong.

Diagram alir dapat dilihat seperti gambar 3.1.

3.2.4 Pernyataan if-else


Pernyataan if-else memiliki bentuk :
if (kondisi)
pernyataan-1;
else
pernyataan-2;

18 Buku Petunjuk Praktikum


Algoritma dan Pemrograman
Diagram alir dapat dilihat seperti gambar 3.2.

Arti dari pernyataan if-else :


- Jika kondisi benar, maka pernyataan-1 dijalankan.
- Sedangkan bila kondisi bernilai salah, maka pernyataaan-2 yang dijalankan.

Masing-masing pernyataan-1 dan pernyataan-2 dapat berupa sebuah


pernyataan tunggal, pernyataan majemuk ataupun pernyataan kosong. Contoh
penggunaan pernyataan if-else adalah untuk menyeleksi nilai suatu bilangan
pembagi. Jika nilai bilangan pembagi adalah nol, maka hasil pembagian dengannilai
nol akan mendapatkan hasil tak berhingga. Jika ditemui nilai pembaginya nol, maka
proses pembagian tidak akan dilakukan.

3.2.5 Pernyataan if di dalam if


Di dalam suatu pernyataan if (atau if-else) bisa saja terdapat pernyataan if
(atau if-else) yang lain. Bentuk seperti ini dinamakan sebagai nested if. Secara umum,
bentuk dari pernyataan ini adalah sebagai berikut :

if (kondisi-1)
if (kondisi-2)
if(kondisi-n)
pernyataan;
else
pernyataan;
else
pernyataan;
else
pernyataan;

Kondisi yang akan diseleksi pertama kali adalah kondisi yang terluar (kondisi-
1). Jika kondisi-1 bernilai salah, maka statement else yang terluar (pasangan if
yang bersangkutan) yang akan diproses. Jika else (pasangannya tsb) tidak ditulis,
maka penyeleksian kondisi akan dihentikan.
Jika kondisi-1 bernilai benar, maka kondisi berikutnya yang lebih dalam
(kondisi-2) akan diseleksi. Jika kondisi-2 bernilai salah, maka statement else
pasangan dari if yang bersangkutan yang akan diproses. Jika else (untuk kondisi-
2) tidak ditulis, maka penyeleksian kondisi akan dihentikan.

19 Buku Petunjuk Praktikum


Algoritma dan Pemrograman
Dengan cara yang sama, penyeleksian kondisi akan dilakukan sampai dengan
kondisi-n, jika kondisi-kondisi sebelumnya bernilai benar.

3.2.6 Pernyataan else-if


Contoh implementasi nested if ini misalnya pembuatan sebuah program
kalkulator sederhana. User memberikan masukan dengan format :

operand1 operator operand2

Jenis operasi yang dikenakan bergantung pada jenis operator yang


dimasukkan oleh user. Oleh karena itu program akan mengecek apakah operator
berupa tanda ‘*’, ‘/’, ‘+’, ataukah tanda ‘-‘ .
- Jika operator berupa tanda ‘*’ maka operand1 akan dikalikan dengan operand2.
- Jika operator berupa tanda ‘/’ maka operand1 akan dibagi dengan operand2.
- Jika operator berupa tanda ‘+’ maka operand1 akan dijumlahkan dengan
operand2.
- Jika operator berupa tanda ‘-’ maka operand1 akan dikurangi dengan operand2.
- Kalau operator yang dimasukkan bukan merupakan salah satu dari jenis operator
di atas, maka ekspresi tersebut tidak akan diproses, dan user akan mendapatkan
pesan berupa : “Invalid operator !”

3.2.7 Pernyataan switch


Pernyataan switch merupakan pernyataan yang dirancang khusus untuk menangani
pengambilan keputusan yang melibatkan sejumlah alternatif, misalnya untuk
menggantikan pernyataan if bertingkat. Bentuk umum pernyataan switch adalah :
switch (ekspresi)
{
case konstanta-1:
pernyataan-1;
break;
case konstanta-2:
case konstanta-n:
pernyataan-n;
break;
default:
break;
}
Dengan ekspresi dapat berupa ekspresi bertipe integer atau bertipe karakter.
Demikian juga konstanta-1, konstanta-2, …, konstanta-n dapat berupa konstanta
integer atau karakter. Setiap pernyataan-i (pernyataan-1, … , pernyataan-n) dapat
berupa pernyataan tunggal ataupun pernyataan jamak. Dalam hal ini urutan penulisan
pernyataan case tidak berpengaruh. Proses penyeleksian berlangsung sebagai berikut
:
- Pengujian pada switch akan dimulai dari konstanta-1. Kalau nilai konstanta-
1 cocok dengan ekspresi maka pernyataan-1 dijalankan. Kata kunci break

20 Buku Petunjuk Praktikum


Algoritma dan Pemrograman
harus disertakan di bagian akhir setiap pernyataan case, yang akan
mengarahkan eksekusi ke akhir switch.
- Kalau ternyata pernyataan-1 tidak sama dengan nilai ekspresi, pengujian
dilanjutkan pada konstanta-2, dan berikutnya serupa dengan pengujian pada
konstanta-1.
- Jika sampai pada pengujian case yang terakhir ternyata tidak ada kecocokan,
maka pernyataan yang mengikuti kata kunci default yang akan dieksekusi.
Kata kunci default ini bersifat opsional.
- Tanda kurung kurawal tutup (}) menandakan akhir dari proses penyeleksian
kondisi case.

3.3 Alat-alat dan Komponen


- Komputer / Laptop
- Software program Dev C++
- Bolpoin
- Kertas

3.4 Prosedur Percobaan


3.4.1 Kegiatan 1 (Pemakaian if – else untuk mengecek hasil modulus)
#include<stdio.h>
main()
{
int bil1,bil2,sisa;
printf("Masukkan bilangan pertama: ");
scanf("%d",&bil1);
printf("Masukkan bilangan kedua: ");
scanf("%d",&bil2);
sisa= bil1%bil2;
printf("\n");
if (sisa==0)
printf("%d habis dibagi dengan %d\n\n", bil1,bil2);
else
printf("%d tidak habis dibagi dengan %d\n\n", bil1,bil2);
}
}

3.4.2 Mengkategorikan karakter masukan


#include<stdio.h>
main()
{
char karakter;
printf("Masukkan sebuah karakter: ");
scanf("%c",&karakter);
if ((karakter >= 'a' && karakter <= 'z') || (karakter >= 'A' && karakter <= 'Z'))
printf("%c adalah karakter alphabet \n", karakter);
else

21 Buku Petunjuk Praktikum


Algoritma dan Pemrograman
if (karakter >= '0' && karakter <= '9')
printf("%c adalah bilangan\n", karakter);
else
printf("%c adalah karakter khusus\n", karakter);
}
}
}

3.4.3 Membuat Program


- Buatlah sebuah program untuk menghitung jumlah konsumsi bahan bakar suatu
mobil, dengan input kilometer awal dan akhir perjalanan, isi awal dan akhir tangki
dalam liter. Sedangkan output program mencetak jarak tempuh, jumlah konsumsi,
dan konsumsi per kilometer.
- Buatlah sebuah program untuk mencetak bilangan terbesar dari 5 buah bilangan
yang dimasukkan oleh user, dengan cara membandingkan bilangan sebelumnya
dengan bilangan berikutnya. Misalnya bilangan tersebut A, B, C, D, dan E. Maka
A dan B diperbandingkan. Jika A lebih besar dari B maka A dibandingkan dengan
C, jika A lebih besar dari C maka A dibandingkan dengan D, demikian seterusnya
sampai didapat nilai yang terbesar.

Tabel 3.1 Program pembayaran


Jenis No Judul Harga
1. Jalan Sepi Rp7500
Horor 2. Rumah Sepi Rp6000
3. Rumah Hantu Rp4000
1. I Love You Rp5000
Romantic 2. Now and Forever Rp3000
3. My Girl Rp2500

Output:
a. Buatlah tampilan menu
b. Baru pilih horor atau romantic
Horor :2
Romantic :3
c. Hitung total harga : Total Harga Rp 8500,-

22 Buku Petunjuk Praktikum


Algoritma dan Pemrograman
3.5 Data Hasil Percobaan

23 Buku Petunjuk Praktikum


Algoritma dan Pemrograman
24 Buku Petunjuk Praktikum
Algoritma dan Pemrograman
3.6 Analisis Data dan Pembahasan

25 Buku Petunjuk Praktikum


Algoritma dan Pemrograman
3.7 Kesimpulan

3.8 Lembar Evaluasi


No Kegiatan Keterangan TTD TTD
Asisten Dosen
1 Tugas Pendahuluan
2 Pengambilan data
3 Asistensi

26 Buku Petunjuk Praktikum


Algoritma dan Pemrograman
4 Pengulangan (for, while, do-while)

4.1 Tujuan Praktikum


- Menjelaskan proses perulangan menggunakan pernyataan for, while, dan do-while.
- Menjelaskan penggunaan pernyataan break, continue, dan go to.
- Menjelaskan loop di dalam loop (nested loop) dan contoh kasusnya.

4.2 Landasan Teori


4.2.1 Pernyataan For
Pernyataan pertama yang digunakan untuk keperluan pengulangan proses
adalah pernyataan for. Bentuk pernyataan ini :
for (ungkapan1; ungkapan2; ungkapan3)
pernyataan;

Kegunaan dari masing-masing ungkapan pada pernyataan for.


- Ungkapan1 : digunakan untuk memberikan inisialisasi terhadap variabel
pengendali loop.
- Ungkapan2 : dipakai sebagai kondisi untuk keluar dari loop.
- Ungkapan3 : dipakai sebagai pengatur kenaikan nilai variabel pengendali loop.

Ketiga ungkapan dalam for tersebut harus dipisahkan dengan tanda titik koma
(;). Dalam hal ini pernyatan bisa berupa pernyataan tunggal maupun jamak. Jika
pernyataannya berbentuk jamak, maka pernyataan-pernyataan tersebut harus
diletakkan di antara kurung kurawal buka ({) dan kurung kurawal tutup (}), sehingga
formatnya menjadi :
for (ungkapan1; ungkapan2; ungkapan3)
{
pernyataan;
pernyataan;
}

Sesungguhnya ungkapan yang dipakai sebagai kondisi keluar dari loop juga
bisa dihilangkan, sehingga bentuknya menjadi
for (;;)
pernyataan
Suatu pertanyaan mungkin timbul “Lalu bagaimana caranya kalau ingin
keluar dari loop pada bentuk di atas?”. Caranya adalah dengan menggunakan
pernyataan yang dirancang khusus untuk keluar dari loop.

27 Buku Petunjuk Praktikum


Algoritma dan Pemrograman
4.2.2 Pernyataan While
Pada pernyataan while, pengecekan terhadap loop dilakukan di bagian awal
(sebelum tubuh loop). Lebih jelasnya, bentuk pernyataan while adalah sebagai
berikut :
while (kondisi)
pernyataan;
dengan pernyataan dapat berupa pernyataan tunggal, pernyataan majemuk ataupun
pernyataan kosong. Contoh pemakaian while misalnya untuk mengatur agar tombol
yang ditekan oleh pemakai program berupa salah satu diantara 'Y','y', 'T' atau 't'.
Impelementasinya :

Contoh eksekusi :
Pilihlah Y atau T
Pilihan anda adalah Y

28 Buku Petunjuk Praktikum


Algoritma dan Pemrograman
4.2.3 Pernyataan do-while
Bentuk pernyataan do-while
do
pernyataan;
while (kondisi)

Pada pernyataan do-while, tubuh loop berupa pernyataan,dengan pernyataan


bisa berupa pernyataan tunggal, pernyataan majemuk ataupun pernyataan kosong.
Pada pernyataan do, mula-mula pernyataan dijalankan. Selanjutnya, kondisi diuji.
Sendainya kondisi bernilai benar, maka pernyataan dijalankan lagi, kemudian kondisi
diperiksa kembali, dan seterusnya. Kalau kondisi bernilai salah pada saat dites, maka
pernyataan tidak dijalankan lagi. Untuk lebih jelasnya dapat dilihat pada gambar.
Berdasarkan gambar terlihat bahwa tubuh loop minimal akan dijalankan sekali.
Program berikut memberikan contoh pemakaian do-while untuk mengatur
penampilan tulisan "BAHASA C" sebanyak sepuluh kali. Contoh:
i = 0;
do
{
puts (“BAHASA C”);
i++;
} while (i<10);

Pada program di atas, variabel pencacah dipakai untuk menghitung jumlah


tulisan yang sudah ditampilkan pada layar. Selama nilai pencacah kurang dari 10,
maka perintah :
puts (“BAHASA C”);

akan dilaksanakan kembali

Penanganan pembacaan tombol pada contoh program pilihan.c yang memakai while
di atas, kalau diimplementasikan dengan memakai do-while adalah sebagai berikut :

29 Buku Petunjuk Praktikum


Algoritma dan Pemrograman
Contoh eksekusi :
Pilihlah Y atau T
Pilihan anda adalah T

Mula-mula tombol dibaca dengan menggunakan getchar() dan kemudian


diberikan ke variabel pilihan. Sesudah itu, variabel sudah_benar akan diisi dengan
nilai benar (1) atau salah (0) tergantung dari nilai pilihan. Kalau pilihan berisi salah
satu diantara ‘Y’,‘y’, ‘T’ atau ‘t’, maka sudah berisi salah satu diantara ‘Y’, ‘y’, ‘T’
atau ‘t’, maka sudah_benar akan berisi benar. Nilai pada vaiabel sudah_benar ini
selanjutnya dijadikan sebagai kondisi do-while. Pengulangan terhadap pembacaan
tombol akan dilakukan kembali selama sudah_benar benilai salah.

4.2.4 Loop didalam Loop


Dalam suatu loop bisa terkandung loop yang lain. Loop yang terletak di dalam
loop biasa disebut dengan loop di dalam loop (nested loop). Salah satu contoh
nested loop misalnya pada permasalahan untuk membuat tabel perkalian:

30 Buku Petunjuk Praktikum


Algoritma dan Pemrograman
Implementasi dalam program selengkapnya adalah sebagai berikut :

Bagian yang terletak dalam bingkai di depan dapat dapat diperoleh melalui

dengan MAKS didefinisikan bernilai 8. Bagian loop yang terdalam

digunakan untuk mencetak suatu deret hasil perkalian dalam satu baris. Untuk
berpindah ke baris berikutnya, pernyataan yang digunakan yaitu

31 Buku Petunjuk Praktikum


Algoritma dan Pemrograman
printf(“\n”);

Adapun pencetakan untuk semua baris dikendalikan melalui


for (baris = 1; baris <= MAKS; baris++)

Pernyataan di atas mempunyai arti “dari baris ke-1 sampai dengan baris ke-
MAKS”.

4.2.5 Pernyataan Break


Pernyataan break sesungguhnya telah diperkenalkan pada pernyataan switch.
Pernyataan ini berfungsi untuk keluar dari loop for, do-while dan while. Sedangkan
pada switch yaitu untuk menuju ke akhir (keluar dari) struktur switch. Sebagai
contoh dapat dilihat pada gambar 7.1. Kalau pernyataan break dijalankan maka
eksekusi akan dilanjutkan ke pernyataan yang terletak sesudah akhir tubuh loop for.

Pada contoh potongan program berikut, pembacaan dan penampilan terhadap tombol
yang ditekan akan berakhir kalau tombol yang ditekan adalah ENTER (‘\n’).
Pernyataan yang digunakan untuk keperluan ini :
if (kar == ‘\n’)
break; /*keluar dari loop for */

Yang menyatakan “Jika tombol yang ditekan berupa ENTER, maka keluarlah dari
loop for”. Untuk lebih jelasnya, perhatikan program di bawah ini.

4.2.6 Pernyataan Continue


Pernyataan continue digunakan untuk mengarahkan eksekusi ke iterasi
(proses) berikutnya pada loop yang sama. Pada do-while dan while, pernyataan
continue menyebabkan eksekusi menuju ke kondisi pengujian pengulangan, seperti
yang dilukiskan pada Gambar 7.2. Pada loop for, pernyataan contunue
menyebabkan bagian penaik variabel pengendali loop dikerjakan (ungkapan3 pada
struktur for) dan kondisi untuk keluar dari loop for (ungkapan2 pada struktur for)
diuji kembali.Program ini digunakan untuk memasukkan data harus diulangi dan hal
ini dikendalikan dengan continue. Untuk mengakhiri pemasukan data, data yang
dimasukkan harus bernilai kurang dari 0. Perlu diketahui kondisi bernilai 1.

32 Buku Petunjuk Praktikum


Algoritma dan Pemrograman
Menyatakan bahwa kondisi selalu dianggap benar. Untuk keluar dari loop,
pernyataan yang digunakan berupa break. Pengaruh continue pada loop for
diperlihatkan pada dibawah ini. Program ini dipakai untuk menampilkan bilangan
ganjil yang terletak antara 7 sampai dengan 25, kecuali 15.

Contoh eksekusi :
7 9 11 13 17 19 21 23 25

Pada program di atas, untuk menghindari agar nilai 15 tidak ditampilkan ke layar,
pernyataan yang digunakan berupa
if (x == 15)
continue;
Artinya, jika kondisi x == 15 bernilai benar, pernyataan continue menyebabkan
pernyataan sisanya yaitu
printf (“%d”,x);
diabaikan dan eksekusi diarahkan kepada ungkapan :
x == 2
dan kemudian menguji kondisi :
x <= 23
Pada program di atas, pernyataan :

33 Buku Petunjuk Praktikum


Algoritma dan Pemrograman
dapat ditulis dalam bentuk lain sebagai berikut :

4.2.7 Pernyataan goto


Pernyataan goto merupakan intruksi untuk mengarahkan eksekusi ke
pernyataan yang diawali dengan suatu label. Label sendiri berupa suatu pengenal
(identifier) yang diikuti dengan tanda titik dua (:). Contoh pemakaian goto ditujukan
pada program dibawah ini:
Pernyataan
goto cetak;
Mengisyaratkan agar eksekusi dilanjutkan ke pernyataan yang diawali dengan label
cetak:

Mempunyai arti :
- Naikkan nilai pencacah sebesar 1
- Kemudian, jika pencacah kurang dari atau sama dengan 10 maka eksekusi
menuju ke label cetak.

Penerapan goto biasanya dilakukan pada loop di dalam loop (nested loop), dengan
tujuan memudahkan untuk keluar dari loop terdalam menuju ke pernyataan yang
terletak di luar loop terluar.

4.2.7 Menggunakan exit ( ) Untuk Menghentikan Eksekusi Program.


Suatu eksekusi program dapat dihentikan (secara normal) melalui
pemanggilan fungsi exit( ). Hal ini biasa dilakukan, jika di dalam suatu eksekusi
terdapat suatu kondisi yang tak dikehendaki. Prototipe dari fungsi exit()
didefinisikan pada file stdlib.h, yang memiliki deklarasi sebagai berikut :
void exit (int status);

Menurut kebiasaan, nilai nol diberikan pada argumen exit() untuk menunjukkan
penghentian program yang normal. Sedangkan untuk menunjukkan kesalahan, nilai
yang diberikan pada argumen fungsi diisi dengan nilai bukan-nol. Pada contoh
program berikut, eksekusi program akan dihentikan hanya jika tombol ‘X’ ditekan

34 Buku Petunjuk Praktikum


Algoritma dan Pemrograman
4.3 Alat-alat dan Komponen
- Komputer / Laptop
- Software program Dev C++
- Bolpoin
- Kertas

4.4 Prosedur Percobaan


4.4.1 Kegiatan 1 (membuat tabel dari jumlah triangular yang diinputkan)
#include <stdio.h>
main ()
{
int n, bil, jumlah = 0;
printf ("Masukkan bilangan triangular : ");
scanf ("%d", &bil);
printf ("\nTABEL PENJUMLAHAN TRIANGULAR\n\n");
printf ("%3s%10s\n\n", "n", "Jumlah");
for (n=1; n<=bil; n++)
{
jumlah = jumlah + n;
printf ("%3d %7d\n", n, jumlah);
}
}

4.4.2 Pemakaian break untuk keluar dari looping.


#include <stdio.h>
main ()
{
char kar;
printf ("Ketik sembarang kalimat");
printf (" dan akhiri dengan ENTER\n\n");
35 Buku Petunjuk Praktikum
Algoritma dan Pemrograman
for ( ; ; )
{
kar = getchar ();
if (kar == '\n')
break;
}
printf ("Selesai\n");
}

4.4.3 Kegiatan 3
- Bilangan bulat factorial n, ditulis dengan n! adalah dihasilkan dari mengalikan
dari 1 sampai dengan n. Contohnya 5! = 1 x 2 x 3 x 4 x 5 = 120.
- Buatlah program untuk menampilkan table hasil factorial dari suatu bilangan yang
diinputkan (tampilan bilangan rata kanan).
Contoh : Input : Masukkan factorial = 5
Output : n n!
-----------------------
1 1
2 2
3 6
4 24
5 120

4.4.4 Kegiatan 4
- Buat program untuk menampilkan bilangan prima.
Input : Jumlah bilangan prima = 5
Output : 2 3 5 7 11

4.4.5 Kegiatan 5
- Buatlah program untuk mencetak tampilan sebagai berikut:
Input : Jumlah star = 5
Output : *****
****
***
**
*
4.4.6 Kegiatan 6
- Buatlah program untuk menghitung deret sebagai berikut:
Input : Jumlah star = 5
1 1 1 1
Output : 1+2+3+4+5

36 Buku Petunjuk Praktikum


Algoritma dan Pemrograman
4.5 Data Hasil Percobaan

37 Buku Petunjuk Praktikum


Algoritma dan Pemrograman
38 Buku Petunjuk Praktikum
Algoritma dan Pemrograman
39 Buku Petunjuk Praktikum
Algoritma dan Pemrograman
4.6 Analisis Data dan Pembahasan

40 Buku Petunjuk Praktikum


Algoritma dan Pemrograman
4.7 Kesimpulan

4.8 Lembar Evaluasi


No Kegiatan Keterangan TTD TTD
Asisten Dosen
1 Tugas Pendahuluan
2 Pengambilan data
3 Asistensi

41 Buku Petunjuk Praktikum


Algoritma dan Pemrograman
5 PEMBUATAN FUNGSI

5.1 Tujuan Praktikum


- Menjelaskan tentang prinsip dasar fungsi.
- Menjelaskan tentang parameter formal dan parameter actual.
- Menjelaskan cara pemanggilan fungsi.
- Menjelaskan jenis variabel fungsi berdasarkan kelas penyimpangan.s
- Menjelaskan cara membuat beberapa fungsi dalam sebuah program.

5.2 Landasan Teori


Fungsi standar C yang mengemban tugas khusus contohnya adalah.
 printf() , yaitu untuk menampilkan informasi atau data ke layar.
 scanf() , yaitu untuk membaca kode tombol yang diinputkan.

Pada umumnya fungsi memerlukan nilai masukan atau parameter yang disebut
sebagai argumen. Nilai masukan ini akan diolah oleh fungsi. Hasil akhir fungsi
berupa sebuah nilai (disebut sebagai return value atau nilai keluaran fungsi).Oleh
karena itu fungsi sering digambarkan sebagai "kotak gelap" seperti ditunjukkan pada
gambar di bawah ini.

Gambar 5.1 Keluaran fungsi


Parameter Formal dan Aktual

Gambar 5.2 Script

Parameter formal adalah variabel yang ada pada daftar parameter dalam
definisi fungsi. Pada contoh program di atas misalnya, maka dalam fungsi jumlah()
variabel x dan y dinamakan sebagai parameter formal. Adapun parameter aktual

42 Buku Petunjuk Praktikum


Algoritma dan Pemrograman
adalah parameter (tidak selalu berupa variabel) yang dipakai dalam pemanggilan
fungsi.

Pada pernyataan :
x = jumlah(a, b);
y = jumlah(20.1, 45.6);

a dan b merupakan parameter aktual dari fungsi jumlah() dalam hal ini
parameter berupa variabel. Demikian juga 20.1 dan 45.6 adalah parameter aktual,
dalam hal ini berupa konstanta. Bahkan bisa juga parameter aktual berupa ungkapan
yang melibatkan operator, misalnya :

5.3 Alat-alat dan Komponen


- Komputer / Laptop
- Software program Dev C++
- Bolpoin
- Kertas

5.4 Prosedur Percobaan


5.4.1 Kegiatan 1 (mencari bilangan prima dalam rentang 1-100)
#include <stdio.h>
int cekprima(int);
main()
{
int i;
int prima;
printf("Bilangan prima yang ditemukan: \n");
for (i=1;i<=100;i++)
{
prima = cekprima(i);
if (prima==1)
printf("%d\n",i);
}
}
int cekprima(int bil)
{
int bagi=3;
int batas;
if (bil==1)
return(0);
else if (bil==2||bil==3)
return(1);

43 Buku Petunjuk Praktikum


Algoritma dan Pemrograman
else if (bil%2==0)
return(0);
else
while (batas > bagi)
{
if (bil%bagi==0)
{
return(0);
break;
}
batas = bil / bagi;
bagi+=2;
}
return(1);
}

5.4.2 Kegiatan 2
Didenifisikan sebuah fungsi float konversi (suhu, asal, tuj), untuk
mengkonversikan suhu dari Celcius ke Fahrenheit, Celcius ke Reamur, Fahrenheit ke
Celcius, Fahrenheit ke Reamur, Reamur ke Celcius, dan Reamur ke Fahrenheit,
dimana suhu adalah suhu sumber, asal adalah satuan awal suhu yang akan dikonversi
dan tuj adalah satuan hasil konversi

Menulis prototipe fungsi untuk fungsi tersebut.

Membuat function main () untuk memanggil function konversi (), setelah sebelumnya
meminta masukan nilai suhu, satuan asal dan satuan tujuannya.

Contoh tampilan :
Memasukkan suhu sumber = 100 C
Memasukkan satuan asal =C
Memasukkan satuan tujuan =R
Hasil konversi suhu 100 C = 80 R

44 Buku Petunjuk Praktikum


Algoritma dan Pemrograman
5.5 Data Hasil Percobaan

45 Buku Petunjuk Praktikum


Algoritma dan Pemrograman
46 Buku Petunjuk Praktikum
Algoritma dan Pemrograman
5.6 Analisis Data dan Pembahasan

47 Buku Petunjuk Praktikum


Algoritma dan Pemrograman
5.7 Kesimpulan

5.8 Lembar Evaluasi


No Kegiatan Keterangan TTD TTD
Asisten Dosen
1 Tugas Pendahuluan
2 Pengambilan data
3 Asistensi

48 Buku Petunjuk Praktikum


Algoritma dan Pemrograman
DAFTAR PUSTAKA

[1] A.Kadir, dan Heriyanto, Algoritma Pemrograman C++, penerbit Andi, 2005.

[2] J.Liberty, dan D.Xie, Programming C#3.0, O’REILLY, 2001.

49 Buku Petunjuk Praktikum


Algoritma dan Pemrograman

Anda mungkin juga menyukai