Modul Algoritma & Pemrograman
Modul Algoritma & Pemrograman
MODUL PRAKTIKUM
ALGORITMA DAN PEMROGRAMAN
REVISI II
UNIT PELAKSANA
FAKULTAS TEKNOLOGI INFORMASI DAN KOMUNIKASI
UNIVERSITAS MULAWARMAN
2015
KATA PENGANTAR
Puji syukur kepada Tuhan Yang Maha Esa, sehingga modul praktikum mata kuliah
Algoritma dan Pemrograman ini dapat disusun dengan baik. modul praktikum ini
disusun sedemikian rupa agar dapat digunakan dengan mudah oleh mahasiswa
teknik informatika sebagai panduan dalam memahami praktikum matakuliah
Algoritma dan Pemrograman, meliputi Profil lulusan dan kompetensi matakuliah,
Pengantar Bahasa C dan penulisan Program, tipe data dan variabel, Operasi Input
Output, Pemilihan (Decision : if & if … else Nested if & else if ) dan Pengulangan
(Looping : For while, do … while), Array dan dasar Fungsi. Translasi notasi
algoritma kebahasa pemrograman menggunakan bahasa C, editor source Borland C
dan Aplikasi Raptor sebagai interpreter flowchartnya.
Terima kasih yang sebesar-besarnya kami ucapkan pada berbagai pihak yang telah
membantu dan mendukung pembuatan Modul praktikum ini, tim asisten
laboratorium UP. FTIK Unmul, Tim creative INTEGER. Harapan kami semoga ini
dapat memberikan manfaat bagi para pembacanya.
Penulis
DAFTAR ISI
hal
Modul 7 Array
Daftar Pustaka
1. Deskripsi Singkat
b. Kompetensi Dasar
Kompetensi dasar matakuliah ini adalah :
1) Mahasiswa akan dapat menjelaskan konsep dasar dan notasi algoritmik
dalam pemecahan masalah
2) Mahasiswa akan dapat menjelaskan struktur dasar algoritma dan
memecahkan masalah dengan beberapa paradigma pemrograman tanpa
tergantung pada bahasa pemrograman apapun
3) Mahasiswa akan dapat merepresentasikan data dan algoritma secara efektif
dan efisien kedalam bahasa pemrograman
4) Mahasiswa akan dapat menjelaskan berbagai jenis tipe data, variabel,
konstanta dan operator serta penggunaanya dalam bahasa pemrograman
5) Mahasiswa akan dapat menjelaskan struktur kontrol kondisional maupun
kontrol pengulangan dalam bahasa pemrograman
6) Mahasiswa akan dapat membuat macam array, function dan procedure
dalam bahasa pemrograman
7) Mahasiswa akan dapat membuat sub program dan program yang berkaitan
dengan pemecahan masalah-masalah matematika
8) Mahasiswa akan dapat membuat dan menyelesaikan berbagai macam kasus
menggunakan bahasa program
Lulusan memiliki kemampuan computational thinking yang tinggi, mampu mengabstraksikan domain
problem dan solusinya ke dalam representasi data dan algoritma secara efektif dan efisien dalam berbagai
paradigma, bahasa, dan platform (hardware and software) pemrograman untuk membangun perangkat
lunak khususnya program yang berkaitan dengan pemecahan masalah-masalah matematika
SK
7 8
6
Mahasiswa akan dapat
membuat macam array,
function dan procedure dalam
bahasa pemrograman
5 4
Mahasiswa akan dapat menjelaskan Mahasiswa akan dapat menjelaskan
struktur kontrol kondisional berbagai jenis tipe data, variabel,
maupun kontrol pengulangan 5 4 konstanta dan operator serta
dalam bahasa pemrograman penggunaanya dalam bahasa
LIFE pemrograman
CYCLE
Mahasiswa akan dapat menjelaskan
Mahasiswa akan dapat struktur dasar algoritma dan
merepresentasikan data dan memecahkan masalah dengan
algoritma secara efektif dan efisien 3 2 beberapa paradigma pemrograman
kedalam bahasa pemrograman tanpa tergantung pada bahasa
pemrograman apapun
1
Mahasiswa akan dapat
menjelaskan konsep dasar dan
notasi algoritmik dalam
pemecahan masalah
MODUL 1
Contoh :
Buat algoritma untuk menentukan apakah suatu bilangan merupakan bilangan
ganjil atau bilangan genap.
Algoritmanya :
1) Masukkan sebuah bilangan sembarang
2) Bagi bilangan tersebut dengan bilangan
3) Hitung sisa hasil bagi pada langkah 2.
4) Bila sisa hasil bagi sama dengan 0 maka bilangan itu adalah bilangan genap tetapi
bila sisa hasil bagi sama dengan 1 maka bilangan itu adalah bilangan ganjil
Dari contoh algoritma menentukan apakah suatu bilangan adalah bilangan ganjil atau
bilangan genap, flowchart dari program diilustrasikan pada gambar 1.2.
c. Menentukan apakah umur yang dimasukkan termasuk telah tua atau masih
muda, dengan aturan jika umur lebih kecil dari 45 masih muda dan jika umur
lebih besar dari 45 sudah tua.
d. Mengecek bilangan di antara 2 bilangan masukan, apakah sama ataukah
lebih besar salah satunya, dan tampilkan hasilnya Menulis kata
“ALGORITMA” sebanyak 5 kali
e. Menghitung sigma (akumulasi) dari bilangan 1 sampai dengan n, dan
menampilkan hasilnya.
MODUL 2
kurung kurawal tutup (}). Di antara kurung kurawal itu dapat dituliskan statemen-
statemen program C. Namun pada kenyataannya, suatu fungsi bisa saja tidak
mengandung pernyataan sama sekali.
Walaupun fungsi tidak memiliki pernyataan, kurung kurawal haruslah tetap ada.
Sebab kurung kurawal mengisyaratkan awal dan akhir definisi fungsi.
2.4. PERCOBAAN
Implementasikan semua desain yang telah dibuat dalam tugas
pendahuluan menggunakan bahasa pemrograman C
3. Kerjakan soal-soal di bawah ini, dan sertakan jawaban Anda pada Laporan
Resmi
a. Berapakah nilai jawaban yang ditampilkan oleh program di bawah ini :
main()
{
int jawab, hasil;
jawab = 100;
hasil = jawab - 10;
main()
{
int value1, value2, sum;
value1 = 35;
value2 = 18;
sum = value1 + value2;
main ()
{
INT jumlah;
/* PERHITUNGAN HASIL
jumlah = 25 + 37 - 19;
/* TAMPILKAN HASIL
printf("Berapa hasil perhitungan 25 + 37 - 19 ?\n);
printf("Jawabannya adalah %d\n" jumlah);
}
#include <Studio.h>
main ()
{
float a, b, c;
a = 3;
b = 4.0;
c = a * a + b
* b printf("c
* c = %d",c);
}
MODUL 3
Variabel
Aturan penulisan pengenal untuk sebuah variabel, konstanta atau fungsi
yang didefinisikan oleh pemrogram adalah sebagai berikut :
Pengenal harus diawali dengan huruf (A..Z, a..z) atau karakter garis bawah ( _ ).
Selanjutnya dapat berupa huruf, digit (0..9) atau karakter garis bawah atau tanda
dollar ($).
Panjang pengenal boleh lebih dari 31 karakter, tetapi hanya 31 karakter pertama
yang akan dianggap berarti.
Pengenal tidak boleh menggunakan nama yang tergolong sebagai kata-kata
cadangan (reserved words) seperti int, if, while dan sebagainya.
Konstanta
Konstanta menyatakan nilai yang tetap. Penulisan konstanta mempunyai aturan
tersendiri, sesuai dengan tipe masing-masing.
Konstanta karakter misalnya ditulis dengan diawali dan diakhiri dengan tanda
petik tunggal, contohnya : „A‟ dan „@‟.
Konstanta integer ditulis dengan tanda mengandung pemisah ribuan dan tak
mengandung bagian pecahan, contohnya : –1 dan 32767.
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 ).
Konstanta string merupakan deretan karakter yang diawali dan diakhiri dengan
tanda petik-ganda (“), contohnya :“Pemrograman Dasar C”.
Operator Aritmatika
Operator untuk operasi aritmatika yang tergolong sebagai operator binary adalah :
* perkalian
/ pembagian
% sisa pembagian
+ penjumlahan
- pengurangan
#include <stdio.h>
main()
{
char kar = „A‟;
kar = kar + 32;
printf("%c\n",kar);
}
MODUL 4
Fungsi printf()
Bentuk umum pernyataan printf() :
printf(“string kontrol”,argumen1, argumen2,...);
String kontrol dapat berupa keterangan yang akan ditampilkan pada layar
beserta penentu format (seperti %d, %f,%c). Penentu format dipakai untuk
memberi tahu kompiler mengenai jenis data yang akan ditampilkan.
Argumen sesudah string kontrol (argumen1, argumen2,...)adalah data yang
akan ditampilkan ke layar. Argumen ini dapat berupa variabel, konstanta dan
bahkan ungkapan. Misal :
printf(“%d”,20); //argumen berupa konstanta
%u untuk menampilkan data bilangan tak bertanda (unsigned) dalam bentuk desimal.
%d untuk menampilkan bilangan integer bertanda (signed) dalam bentuk desimal
%i
%o untuk menampilkan bilangan bulat tak bertanda dalam bentuk oktal.
%x untuk menampilkan bilangan bulat tak bertanda dalam bentuk heksadesimal
%X (%x notasi yang dipakai : a, b, c, d, e dan f sedangkan %X notasi yang
dipakai : A, B, C, D, E dan F )
%f untuk menampilkan bilangan real dalam notasi : dddd.dddddd
%e untuk menampilkan bilangan real dalam notasi eksponensial
%E
%g untuk menampilkan bilangan real dalam bentuk notasi seperti %f,%Eatau %F
%G bergantung pada kepresisian data (digit 0yang tak berarti tak akan ditampilkan)
l merupakan awalan yang digunakan untuk %d,%u,%x,%X,%o untuk menyatakan
long int (misal %ld). Jika diterapkan bersama %e,%E,%f,%F,%g atau %G akan
menyatakan double
L Merupakan awalan yang digunakan untuk %f,%e,%E,%g dan %G untuk
menyatakan long double
h Merupakan awalan yang digunakan untuk %d,%i,%o,%u,%x, atau %X, untuk
menyatakan short int.
Fungsi getchar()
Fungsi getchar() digunakan khusus untuk menerima masukan berupa sebuah
karakter dari keyboard. Contoh :
c = getchar();
maka variabel c akan berisi karakter yang diketikkan oleh user atau EOF (end of
file) jika ditemui akhir dari file. Selain fungsi scanf() dan getchar() adalagi fungsi
lain untuk menginputkan untuk sebaris karakter yaitu fungsi puts().
Fungsi scanf()
Fungsi ini digunakan untuk memasukkan berbagai jenis data. Misalnya untuk
memasukkan data jari-jari lingkaran pada program menghitung luas lingkaran.
scanf(“%f”,&radius);
Ab a d 2 0
Kalau hanya jumlah digit pecahan yang perlu ditentukan, panjang medan tak perlu
disertakan, misal :
printf(“%.2f\n”, 600.0);
printf(“%.2f\n”, 7500.25);
hasilnya :
600.00
7500.25
Untuk data yang berupa string, contoh :
printf(“%12s”, “Bahasa C”);
maka akan ditampilkan sebagai berikut
B a h a s a C
Tampak dalam berbagai jenis data di atas, penentu format yang mengandung panjang
medan, secara default akan menampilkan data dalam bentuk rata kanan terhadap
panjang medan yang diberikan. Untuk data string yang biasanya dikehendaki untuk
ditampilkan dalam bentuk rata kiri, maka sesudah tanda % pada penentu format %s
perlu disisipkan tanda – (minus), contoh :
printf(“%-12s”, “Bahasa C”);
menyatakan bahwa string akan ditampilkan dalam medan dengan panjang 12 karakter
dan diatur rata kiri. Sehingga tampilan di atas berubah menjadi :
B a h a s a C
Contoh:
Seandainya akan dibeli 10 tiket, maka:
10 tiket 3 x 3 + 1 3 x (2 x Rp 50.000,-) + Rp 50.000,-
= Rp 350.000,-
Seandainya akan dibeli 23 tiket, maka:
23 tiket 7 x 3 + 2 7 x (2 x Rp 50.000,-) + 2 x Rp 50.000,-
= Rp 800.000,-
Seandainya akan dibeli jmTiket buah tiket, maka:
Hitung jmTiket / 3 .
Seandainya diperoleh hasil bagi jm3 dan sisa bagi sm3, maka biaya adalah:
jm3 x (2 x Rp 50.000,-) + sm3 x Rp 50.000,-
4.4. PERCOBAAN
Implementasikan semua desain yang telah dibuat dalam tugas pendahuluan
menggunakan bahasa pemrograman C
main()
{
char c, d;
c = 'd';
d = c;
printf("d = %c", d);
}
MODUL 5
Pernyataan if
Pernyataan if mempunyai bentuk umum :
if (kondisi )
pernyataan;
Sebaliknya, jika kondisi yang diseleksi adalah tidak benar (bernilai logika = 0),
maka pernyataan yang mengikutinya tidak akan diproses.
Mengenai kondisi harus ditulis diantara tanda kurung, sedangkan pernyataan dapat
berupa sebuah pernyataan tunggal, pernyataan majemuk atau pernyataan kosong.
Diagram alir dapat dilihat seperti gambar 5.1
5.4. PERCOBAAN
1. Buat program yang membaca nilai integer dan menuliskan “Nilai a positif” jika
a >= 0 dan “Nilai a negatif” jika a < 0.
2. Buat program untuk menginputkan sebuah bilangan, kemudian cetak ke layar
bilangan
tersebut dan beri komentar apakah bilangan tersebut ganjil atau genap.
Contoh input = 15
Output = Bilangan yang diinputkan adalah 15.
Bilangan tersebut adalah bilangan ganjil.
3. Buat program menggunaan pernyataan if adalah untuk menentukan besarnya
potongan
harga yang diterima oleh seorang pembeli, berdasarkan kriteria :
tidak ada potongan harga jika total pembelian kurang dari Rp. 100.000
(dalam hal ini potongan harga diinisialisasi dengan nol).
bila total pembelian lebih dari atau sama dengan Rp. 100.000, potongan
harga yang diterima dirubah menjadi sebesar 5% dari total pembelian.
Contoh input = 50.000
Output = Total pembelian adalah Rp. 50.000
4. Buat program yang menerima dua buah bilangan. Output dari program adalah
“Bilangan pertama adalah kelipatan persekutuan bilangan kedua” jika bilangan
pertama habis dibagi bilangan kedua atau “Bilangan pertama bukan kelipatan
persekutuan bilangan kedua” jika tidak habis dibagi.
Contoh input = 36 dan 3
Output = Bilangan pertama adalah kelipatan persekutuan bilangan
kedua
5. Gunakan pernyataan if…else untuk membuat program yang menerima 2 buah
bilangan bulat masukan. Tampilkan hasil dari pembagian bilangan pertama
dengan bilangan kedua, dengan ketelitian 3 desimal.
Input : bil1 dan bil2
Output : hasil bagi bil1 dengan bil2
Nilai tambah : program bisa mengecek pembagian dengan nol, yaitu jika
bilangan kedua adalah nol, maka tidak dilakukan proses pembagian, namun
ditampilkan pesan kesalahannya (division by zero).
MODUL 6
Looping : For
while, do … while
6.1. TUJUAN PEMBELAJARAN
a. Menjelaskan proses pengulangan menggunakan pernyataan for
b. Menjelaskan tentang variasi pernyataan for
c. Menjelaskan tentang pernyataan for dengan menentukan jumlah langkah
d. Menjelaskan perbedaan for dan while serta do-while
e. Menjelaskan proses pengulangan menggunakan pernyataan while
f. Menjelaskan proses pengulangan menggunakan pernyataan do-while
Keterangan:
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;
.
.
}
Pada pernyataan while, pemeriksaan terhadap loop dilakukan di bagian awal
(sebelum tubuh loop). Pernyataan while akan diulangi terus selama kondisi bernilai
benar, atau diulangi selama kondisinya benar, jika kondisinya salah maka perulangan
(loop) dianggap selesai. Lebih jelasnya, bentuk pernyataan while adalah sebagai
berikut :
dengan pernyataan dapat berupa pernyataan tunggal, pernyataan majemuk ataupun
pernyataan kosong. Dengan melihat gambar 10.1, tampak bahwa ada kemungkinan
pernyataan yang merupakan tubuh loop tidak dijalankan sama sekali, yaitu kalau
hasil pengujian kondisi while yang pertama kali ternyata bernilai salah.
while (kondisi)
pernyataan;
6.4. PERCOBAAN
3. Gunakan loop for dengan kenaikan varibel negatif untuk menampilkan seluruh
karaker dari Z sampai dengan A dalam baris-baris yang terpisah.
4. Gunakan loop for untuk membuat program sebagai berikut:
input : n
output : 1 -2 3 -4 5 -6 7 -8 … n
5. Gunakan loop for untuk mendefinisikan apakah sebuah bilangan adalah
bilangan pima atau bukan
input : 27
output : Bilangan adalah bilangan prima
6. Dengan menggunakan looping dan switch case atau else if buatlah program
dalam C untuk menghitung Indeks Prestasi Semester seorang
mahasiswa, dimana yang diinputkan adalah nilai huruf dari 5 mata kuliah
yang diikutinya dan jumlah jam mata kuliah tsb.
Dimana konversi nilai huruf ke angka untuk menghitung IPS adalah sebagai
berikut:
A -> 4, B->3, C->2, D->1, E->0 dan rumus IPS = jumlah (nilai *
jam)/jumlah jam keseluruhan
Contoh : Input :
Nilai Mata Kuliah 1 : A jumlah jam : 2
Nilai Mata Kuliah 2 : C jumlah jam : 2
Nilai Mata Kuliah 3 : B jumlah jam : 3
Output:
Indeks Prestasi Semester : 3
Output di atas didapatkan dari :
(4*2 + 2*2 + 3*3 + 4*3 + 2*3)/(2+2+3+3+3) = 39/13
7. Gunakan loop while untuk membuat program yang dapat menampilkan semua
karakter yang diketikkan di keyboard sampai yang diketikkan pada keybord
huruf „X‟ (x besar).
8. Gunakan loop while untuk membuat program yang dapat mencari total angka
yang dimasukkan dengan tampilan sebagai berikut :
Masukkan bilangan ke-1 : 5
Mau memasukkan data lagi [y/t] ? y
Masukkan bilangan ke-2 : 3
Mau memasukkan data lagi [y/t] ? t
Total bilangan = 8
4. Jika nilai c adalah kenaikan dari tahun sebelumnya dan setiap 6 bulan sekali
dia mendapatkan bonus gaji sebesar d ribu yang selalu dia gunakan untuk
menambah tabungan hajinya berapa bulan dia butuhkan agar biaya hajinya
terpenuhi?
MODUL 7
Array
7.1. TUJUAN PEMBELAJARAN
a. Memahami konsep array dan penyimpanannya dalam memori
b. Mempelajari pengunaan variabel array berdimensi satu
c. Memahami penggunaan variabel array berdimensi dua
d. Dapat menerapkan penggunaan array berdimensi satu dan dua pada program
sederhana
dengan :
tipe_data : untuk menyatakan tipe dari elemen array, misalnya int, char, float.
nama_var : nama variabel array
ukuran : untuk menyatakan jumlah maksimal elemen array.
Contoh pendeklarasian array :
float nilai_tes[5];
menyatakan bahwa array nilai_tes mengandung 5 elemen bertipe float.
nama_var[indeks]
berarti “alamat dari nilai_tes[2]”. Perlu diingat bahwa scanf() memerlukan argumen
berupa alamat dari variabel yang digunakan untuk menyimpan nilai masukan.
7.4. PERCOBAAN
a. Deklarasikan sebuah variabel array of int, selanjutnya isi array tsb kemudian
tampilkan isi variabel tersebut menggunakan statement for(). Ingat apabila
jumlah deklarasi index adalah n maka nilai index-nya adalah dimulai dari 0
sampai dengan n-1.
b. Deret fibonacci adalah deret yang dimulai dengan dua angka yang bernilai 0
dan 1, kemudian deret ketiga ditentukan dari penjumlahan kedua angka
tersebut, sedangkan deret keempat ditentukan dari dua angka sebelumnya
begitu seterusnya. Sehingga didapatkan deret fibonanci sebagai berikut:
0 1 1 2 3 5 8 13 21 …
Buatlah program untuk meminta input dari user berupa sebuah bilangan,
kemudian tampilkan deret fibonacci mulai dari 1 sampai dengan bilangan tsb.
c. Buat penjumlahan dua matriks A[2][2]dengan B[2][2]. Hasil
penjumlahan tersebut disimpan dalam matrik C. Tampilkan di layar masing-
masing isi dari matriks A, B dan C
Catatan modifikasi (gunakan nested loop) :
indeks MAKS dibuat konstanta
variabel ordo matriks diinputkan
memungkinkan pengulangan proses dengan menginputkan ordo yang lain
d. Buatlah sebuah variabel array of int yang memiliki ukuran MAKS. Dengan
menggunakan looping for(), masukkan sebanyak n data ke dalam array
tsb kemudian carilah nilai terbesar yang ada dalam array tsb.
MODUL 8
Dasar Fungsi
8.1. TUJUAN PEMBELAJARAN
a. Memecah program dalam fungsi fungsi yang sederhana.
b. Menjelaskan tentang pemrograman terstruktur.
Dasar Fungsi
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.
Parameter Keluaran
Fungsi
FUNGSI
Keterangan :
tipe-keluaran-fungsi, dapat berupa salah satu tipe data C, misalnya char
atau int
Kalau penentu tipe tidak disebutkan maka dianggap bertipe int (secara default).
tubuh fungsi berisi deklarasi variabel (kalau ada) dan statemen-statemen
yang akan melakukan tugas yang akan diberikan kepada fungsi yang
bersangkutan. Tubuh fungsi ini ditulis di dalam tanda kurung kurawal buka
dan kurung kurawal tutup.
Sebuah fungsi yang sederhana bisa saja tidak mengandung parameter sama
sekali dan tentu saja untuk keadaan ini deklarasi parameter juga tidak ada. Contoh :
int inisialisasi()
{
return(0);
}
inisialisasi()
{
return(0);
}
Program pada gambar 8.1 sekaligus menjelaskan bahwa suatu fungsi cukup
didefinisikan satu kali tetapi bisa digunakan beberapa kali. Pada keadaan semacam ini
seandainya tubuh fungsi mengandung banyak pernyataan, maka pemakaian fungsi
dapat menghindari duplikasi kode dan tentu saja menghemat penulisan program
maupun kode dalam memori.
Misalnya pada saat pernyataan
x = inisialisasi();
dijalankan, mula-mula eksekusi akan diarahkan ke fungsi inisialisasi(), selanjutnya
suatu nilai keluaran (hasil fungsi) akhir fungsi diberikan ke x. Proses yang serupa,
dilakukan untuk pernyataan
y = inisialisasi();
Bagi suatu fungsi, jika suatu pernyataan return dieksekusi, maka eksekusi terhadap
fungsi akan berakhir dan nilai pada parameter return akan menjadi keluaran fungsi.
Untuk fungsi yang tidak memiliki pernyataan return, tanda } pada bagian akhir
fungsi akan menyatakan akhir eksekusi fungsi.
Di bawah ini diberikan contoh sebuah fungsi yang mengandung dua buah pernyataan
return. Fungsi digunakan untuk memperoleh nilai minimum di antara 2 buah nilai
yang menjadi parameternya.
int minimum(int x, int y)
{
if (x < y)
return(x);
else
return(y);
}
Pada fungsi di atas terdapat dua buah parameter berupa x dan y. Oleh karena itu fungsi
juga mengandung bagian untuk mendeklarasikan parameter, yang menyatakan x dan y
bertipe int. Adapun penentuan nilai keluaran fungsi dilakukan pada tubuh fungsi,
berupa pernyataan
if (x < y)
return(x);
else
return(y);
yang menyatakan :
jika x < y maka nilai keluaran fungsi adalah sebesar nilai x.
untuk keadaan lainnya (x >= y) maka keluaran fungsi adalah sebesar y.
Perhatikan, di depan nama minimum diberikan tipe keluaran fungsi berupa float.
Seluruh parameter sendiri juga didefinisikan dengan tipe float.
Khusus untuk fungsi yang dirancang tanpa memberikan nilai keluaran (melainkan
hanya menjalankan suatu tugas khusus) biasa didefinisikan dengan diawali kata kunci
void (di depan nama fungsi).
Prototipe Fungsi
Prototipe fungsi digunakan untuk menjelaskan kepada kompiler mengenai :
tipe keluaran fungsi
jumlah parameter
tipe dari masing-masing parameter.
Bagi kompiler, informasi dalam prototipe akan dipakai untuk memeriksa keabsahan
(validitas) parameter dalam pemanggilan fungsi. Salah satu keuntungannya adalah,
kompiler akan melakukan konversi seandainya antara tipe parameter dalam fungsi dan
parameter saat pemanggilan fungsi tidak sama, atau akan menunjukan kesalahan bila
jumlah parameter dalam definisi dan saat pemanggilan berbeda.
Contoh prototipe fungsi;
float jumlah (float x, float y);
atau
float jumlah (float, float);
Catatan :
Untuk fungsi-fungsi pustaka, prototipe dari fungsi-fungsi berada di file-file
judulnya (header file). Misalnya fungsi pustaka printf() dan scanf() prototipenya
berada pada file dengan nama stdio.h
Untuk fungsi pustaka pencantuman pada prototipe fungsi dapat dilakukan dengan
menggunakan preprocessor directive #include.
8.4. PERCOBAAN
1. a. Buatlah sebuah fungsi yang berfungsi untuk menampilkan sebuah string
(dilayar) = “Pilihan Menu” (misalkan nama fungsinya = menu).
Fungsi tersebut tidak memiliki nilai kembalian (return value) dan juga
tidak menerima parameter masukan apapun.
b. Tulislah prototipe fungsi untuk fungsi tersebut.
c. Buat function main untuk memanggil function menu() secara berulang-
ulang, dengan jumlah perulangan yang merupakan input dari user.
2. a. Buatlah sebuah fungsi untuk menghitung jumlah triangular n (misal
nama fungsinya = triangular). Fungsi tersebut memiliki sebuah parameter
berupa bilangan int (n) yang akan dicari triangularnya serta tidak memiliki
nilai kembalian (return value)
E. LAPORAN RESMI
1. Untuk setiap listing program dari percobaan-percobaan di atas, ambil capture
outputnya.
2. Tuliskan kesimpulan dari percobaan yang telah anda lakukan.
DAFTAR PUSTAKA
Aho, Hopcroft, Ullman, "Data Structures and Algorithms", Prentice Hall, 1987.
Knuth, D.E., "The Art of Computer Programming", Vol. 1 : "Fundamentals
Algoritms", Addison Wisley, 1968.
Munir, R dan Lidya, L. 2001. Algoritma dan Pemrograman Dalam Bahasa Pascal
dan C. Bandung: Informatika.
P.J. Deitel, H.M. Deitel, “C How to Program”, Pearson International Edition Fifth
Edition, 2007.
Robert Setiadi. “Algoritma Itu Mudah”, PT Prima Info sarana Media, Kelompok
Gramedia. Jakarta. 2008