i
III.2 Dasar Teori ...................................................................................................................... 16
III.2.1 Pengulangan............................................................................................................ 16
III.2.2 Fungsi ....................................................................................................................... 17
III.3 Percobaan ........................................................................................................................ 18
III.3.1 Percobaan III-1: Pengulangan while .................................................................... 18
III.3.2 Percobaan III-2: Pengulangan do-while .............................................................. 18
III.3.3 Percobaan III-3: Pengulangan for ......................................................................... 19
III.3.4 Percobaan III-4: Pengulangan for untuk segitiga............................................... 19
III.3.5 Percobaan III-5: Fungsi tanpa parameter ............................................................ 20
III.3.6 Percobaan III-6: Fungsi dengan parameter ......................................................... 20
III.4 Tugas Akhir ..................................................................................................................... 21
IV. Percobaan 4 Array .............................................................................................................. 22
IV.1 Tujuan Percobaan ........................................................................................................... 22
IV.2 Dasar Teori ...................................................................................................................... 22
IV.2.1 Pengertian Array .................................................................................................... 22
IV.2.2 Jenis-Jenis Array ..................................................................................................... 22
IV.3 Percobaan ........................................................................................................................ 23
IV.3.1 Percobaan IV-1: Array 1 dimensi ......................................................................... 23
IV.3.2 Percobaan IV-2: Array 2 dimensi ......................................................................... 24
IV.3.3 Percobaan IV-3: Mengakses string sebagai array .............................................. 25
IV.4 Tugas Akhir ..................................................................................................................... 25
LEMBAR ASISTENSI PRAKTIKUM ALGORITMA DAN PEMPROGRAMAN
LABORATORIUM TEKNIK KOMPUTER JURUSAN TEKNIK ELEKTRO FAKULTAS
TEKNIK UNIVERSITAS LAMPUNG 2014 .................................................................................. I
ii
KATA PENGANTAR
Alhamdulillah, kami ucapkan syukur ke hadirat Allah SWT, bahwa berkat rahmat dan
karunia-Nya, kami masih diberikan kesempatan untuk melaksanakan kegiatan Praktikum
Algoritma dan Pemrograman. Praktikum Algoritma dan Pemrograman merupakan
pengimplementasian atau kegiatan praktik untuk menerapkan teori yang sudah dipelajari
dalam mata kuliah Algoritma dan Pemrograman. Tentunya ilmu yang akan didapatkan
dalam praktikum ini akan lebih bertambah dan lebih berkembang jika praktikum ini
dilaksanakan dengan sebaik-baiknya.
Perkembangan teknologi dewasa ini telah membuat dunia menjadi lebih dinamis dan
komunikatif. Perkembangan ini tidak terlepas dari peran serta insan teknik elektro serta
ilmu pengetahuan yang tercakup di dalamnya. Sehingga kita harus menambah
pengetahuan untuk ikut serta dalam mengembangkan teknologi agar semakin maju dan
berdampak positif bagi kehidupan manusia. Ucapan terima kasih, kami sampaikan
kepada Ketua Jurusan Teknik Elektro Unila, segenap dosen, teknisi dan tim Laboratorium
Teknik Komputer, karyawan dan mahasiswa Teknik Elektro Universitas Lampung, atas
dukungan dan perhatian yang telah diberikan.
Panduan Praktikum ini selalu membutuhkan peningkatan, untuk itu kritik dan saran
yang bersifat membangun untuk Panduan Praktikum ini akan kami perhatikan dan
tindak lanjuti dengan seksama. Semoga ilmu yang diperoleh dalam Praktikum ini dapat
dimanfaatkan dengan sebaik-baiknya.
iii
TATA TERTIB PRAKTIKUM
1. Mahasiswa yang diizinkan mengikuti praktikum adalah yang telah terdaftar dan
memenuhi syarat yang telah ditentukan.
2. Praktikan dilarang mengoperasikan alat tanpa seizin asisten.
3. Praktikum dilaksanakan sesuai jadwal dan praktikan harus hadir 15 menit
sebelum praktikum dimulai.
4. Praktikan dilarang merokok selama berada dalam laboratorium.
5. Praktikan harus berpakaian rapi dan tidak diperkenankan memakai kaos oblong.
6. Praktikan dilarang membuat kegaduhan selama berada dalam laboratorium dan
wajib menjaga kebersihan di dalam maupun di halaman laboratorium.
7. Praktikan wajib mengerjakan tugas pendahuluan dari setiap percobaan sebelum
mengikuti praktikum.
8. Ketidakhadiran peserta dalam suatu praktikum harus atas sepengetahuan asisten
yang bersangkutan. Ketidakhadiran tanpa izin asisten akan mengurangi nilai
laporan dari percobaan sebesar 20%.
9. Praktikan harus melaksanakan asistensi kepada asisten yang bersangkutan selama
penulisan laporan.
10. Penilaian atas setiap percobaan berdasarkan ketentuan yang berlaku.
11. Praktikan diwajibkan mengerjakan proyek akhir yang merupakan aplikasi dari
praktikum yang telah dilaksanakan. Proyek akhir dikerjakan secara berkelompok
sesuai dengan kelompok praktikumnya.
12. Penilaian total hasil praktikum didasarkan pada 60 % nilai akhir rata-rata seluruh
percobaan + 40 % proyek akhir.
13. Pelanggaran terhadap tata tertib akan diberikan sanksi: “TIDAK
DIPERKENANKAN MENGIKUTI PRAKTIKUM”
iv
I. Percobaan 1
Pengenalan C++ , Tipe Data, dan Variabel
#preprocessor directive
#include <nama_file>
tipe_data main()
{
// Tubuh Program Utama
cout << "Contoh baris pernyataan (statement)." << endl;
}
Kode I-1. Bentuk umum kode program C++
Penjelasan:
a. include
Adalah salah satu pengarah preprocessor directive yang tersedia pada C++. Preprocessor
selalu dijalankan terlebih dahulu pada saat proses kompilasi terjadi. Bentuk umumnya:
#include <nama_file>
Tidak diakhiri dengan tanda semicolon (;), karena bentuk tersebut bukanlah suatu
bentuk pernyataan, tetapi merupakan prepocessor directive. Baris tersebut
menginstrusikan kepada kompiler yang menyisipkan file lain, yaitu file yang berisi
sebagai deklarasi contohnya:
1
Fungsi ini menjadi tubuh utama yang menjadi awal dan akhir eksekusi program C++.
Sehingga, main() merupakan nama fungsi khusus yang selalu dicari dan dipanggil dalam
eksekusi program. Berdasarkan bentuknya kita dapat mengambil kesimpulan bahwa
batang tubuh program utama berada di dalam fungsi main(). Berarti, dalam setiap
pembuatan program utama, dapat dipastikan seorang pemrogram menggunakan
minimal menggunakan sebuah fungsi, yaitu fungsi main(). Pembahasan lebih lanjut
mengenai fungsi akan diterangkan kemudian. Fokus pertama dalam praktikum ini adalah
menulis program yang melibatkan fungsi main().
c. Komentar
Komentar tidak pernah dicompile oleh compiler. Dalam C++ terdapat 2 jenis komentar,
yaitu:
• Jenis 1: /* Komentar anda diletakkan di dalam ini. Tanda ini bisa mengapit lebih
dari satu baris */
• Jenis 2: // Hanya satu baris komentar anda yang bisa diletakkan di sini
d. Tanda semicolon
e. Mengenal cout
Pernyataan cout merupakan sebuah objek di dalam C++, yang digunakan untuk
mengarahkan data ke dalam standar output (cetak pada layar/terminal). Contoh:
/*
* Kode I-2. Halo Dunia
* Program wajib bagi programmer
*/
#include <iostream>
int main()
{
cout << "Halo, Dunia!" << endl;
return 0;
}
Kode I-2. Halo Dunia
2
I.2.2 Variabel dan Tipe Data
1. Variabel
Variabel adalah suatu pengenal (identifier) yang digunakan untuk mewakili suatu nilai
tertentu di dalam proses program. Berbeda dengan konstanta yang nilainya selalu tetap,
nilai dari suatu variabel bisa diubah-ubah sesuai kebutuhan. Untuk memperoleh nilai dari
suatu variabel digunakan pernyataan penugasan (assignment statement), yang mempunyai
sintaks sebagai berikut:
variabel = ekspresi;
Nama dari suatu variabel dapat ditentukan sendiri oleh pemrogram dengan aturan
sebagai berikut:
1. Terdiri dari gabungan huruf dan angka dengan karakter pertama harus berupa
huruf. Bahasa C ++ bersifat case-sensitive artinya huruf besar dan kecil dianggap
berbeda. Jadi antara nim, NIM dan Nim dianggap berbeda.
2. Tidak boleh mengandung spasi.
3. Tidak boleh mengandung simbol-simbol khusus, kecuali garis bawah(underscore).
Yang termasuk symbol khusus yang tidak diperbolehkan antara lain: $, ?, %, #, !,
&, *, (, ), -, +, =.
4. Panjangnya bebas, tetapi beberapa compiler (seperti compiler C/C++ versi 7.0 dan
di bawahnya) hanya memakai 32 karakter pertama.
1) Deklarasi variabel
Bentuk umumnya:
tipe_data nama_variabel;
Contoh:
2) Deklarasi konstanta
• Menggunakan keyword const
Contoh: const float PI = 3.14152965;
3
Berbeda dengan variabel, konstanta bernama tidak dapat diubah jika telah
diinisialisasi
• Menggunakan #define
Contoh: #define PI 3.14152965
Keuntungan menggunakan #define apabila dibandingkan dengan const adalah
kecepatan kompilasi, karena sebelum kompilasi dilaksanakan, kompiler pertama
kali mencari symbol #define (oleh sebab itu mengapa # dikatakan preprocessor
directive) dan mengganti semua Phi dengan nilai 3.14152965.
2. Tipe Data
Berikut adalah tipe data dasar pada C++ yang langsung bisa dipakai.
Tabel I-1. Tipe data dasar C++
Tipe data yang berhubungan dengan bilangan bulat adalah char, int, long. Sedangkan
berhubungan dengan bilangan pecahan adalah float, double, dan long double. Tipe data
bool digunakan untuk logika true atau false. Void digunakan sebagai tipe data yang tidak
menyimpan nilai. Tipe data char digunakan untuk karakter dan String adalah gabungan
→ →
(array) dari karakter, contoh: “Belajar” Literal String, ‘B’ Karakter.
4
I.3 Percobaan
I.3.1 Percobaan I-1: Dasar C++
Ketik kode program di bawah ini:
/* Percobaan I-1: Dasar C++
* percobaan101.cpp */
#include <iostream>
int main()
{
cout << "Hello world!" << endl;
return 0;
}
Kode I-3. percobaan101.cpp
int main()
{
int n;
n = 66;
return 0;
}
Kode I-4. percobaan102.cpp
5
I.3.3 Percobaan I-3: Deklarasi Konstanta
Ketik kode program di bawah ini:
/* Percobaan I-3: Deklarasi Konstanta
* percobaan101.cpp */
#include <iostream>
int main()
{
const float phi = 3.14;
float jari_jari, luas;
jari_jari = 7.0;
return 0;
}
Kode I-5. percobaan103.cpp
int main()
{
int x;
x = 3;
//x = 3.5; //Nilai ini tidak akan bisa diterima oleh integer
return 0;
}
Kode I-6. percobaan104.cpp
6
b. Tipe data karakter
int main()
{
char a = 'Aa';
string b = "Be";
return 0;
}
Kode I-7. percobaan105.cpp
7
II. Percobaan 2
Operator, Statement I/O, dan Percabangan
a. Operator penugasan
nilai = 80;
A=30;
x = 3;
y = 2;
A = x * y; // A -> 6
Penjelasan:
y. b. Operator aritmetika
8
Operator % (modulus) digunakan untuk mencari sisa pembagian antara dua bilangan,
→ →
misalnya: 9 % 2 1; 9 % 3 0.
d. Operator bitwise
Operator bitwise hanya bisa dikenakan pada operand bertipe data int (atau char).
Operator bitwise bekerja pada tingkat bit dan melakukan operasi biner.
Tabel II-3. Operator bitwise dalam bahasa C++
e. Operator logika
Operator logika digunakan untuk melihat hubungan dua atau lebih ungkapan menjadi
sebuah ungkapan berkondisi.
Tabel II-4. Operator logika dalam bahasa C++
9
b. Statement Output adalah statement/pernyataan yang digunakan untuk
menuliskan data ke layar monitor. Contoh: cout (character out)
II.2.3 Percabangan
Suatu Struktur dasar algoritma yang memiliki satu atau lebih kondisi tertentu dimana
sebuah instruksi dilaksanakan jika sebuah kondisi/persyaratan terpenuhi. Ada beberapa
bentuk umum pemilihan ini:
a. Operasi if
• if satu kondisi
if(kondisi)
pernyataan;
• if dua kondisi
if(kondisi)
pernyataan1;
else
pernyataan2;
b. Operasi switch
switch (ekspresi)
{
case konstanta1:
pernyataan1;
break;
case konstanta2:
pernyataan2;
break;
case konstanta3:
pernyataan3;
break;
:
:
case konstantaN:
pernyataanN;
break;
default:
pernyataanApabilaCaseTidakTerpenuhi;
}
1. Dibelakang keyword case harus diikuti oleh sebuah konstanta, tidak boleh diikuti oleh
ekspresi ataupun variabel;
2. Konstanta yang digunakan bertipe int atau char;
3. Keyword break digunakan agar setelah pernyataan dieksekusi program langsung
keluar dari pernyataan switch. Jika hal tersebut tidak dilakukan, maka semua
pernyataan yang ada setelah pernyataan pada case akan dijalankan. Selain digunakan
dalam switch, keyword break banyak digunakan untuk keluar dari pernyataan yang
berulang (looping).
10
4. default akan dieksekusi jika tidak ada case yang memenuhi ekspresi.
II.3 Percobaan
II.3.1 Percobaan II-1: Operator aritmetika
Ketik kode program di bawah ini:
/* Percobaan II-1: Operator aritmetika
* percobaan201.cpp */
#include <iostream>
int main()
{
int m = 82, n = 26;
cout << m << " + " << n << " = " << m + n << endl; -
cout << m << " - " << n << " = " << m n << endl; * n
cout << m << " x " << n << " = " << m << endl; / n
cout << m << " / " << n << " = " << m << endl; m % n
cout << m << " / " << n << " mod " << << endl;
cout << "(-)" << m << " = " << -m << endl;
return 0;
}
Kode II-1. percobaan201.cpp
int main()
{
int m = 5, n = 7;
if(m == n)
cout << m << " sama dengan " << n <<
endl; else if(m != n)
cout << m << " tidak sama dengan " << n <<
endl; else if(m > n)
cout << m << " lebih besar " << n <<
endl; else if(m < n)
cout << m << " lebih kecil " << n <<
endl; return 0;
11
}
Kode II-2. percobaan202.cpp
int main()
{
int m = 90;
cout << m << " << 2" << " = " << (m<<2) << endl;
cout << m << " >> 1" << " = " << (m>>1) << endl;
cout << m << " & " << n << " = " << (m&n) << endl;
cout << m << " | " << n << " = " << (m|n) << endl;
return 0;
}
Kode II-3. percobaan203.cpp
int main()
{
int m = 90;
cout << "(m >= 0) && (m <= 80) -->" << (m >= 0) && (m <= 80) << endl;
cout << "(m >= 0) || (m <= 80) -->" << (m >= 0) || (m <= 80) << endl;
return 0;
}
12
Kode II-4. percobaan204.cpp
int main()
{
float nilai;
return 0;
}
Kode II-5. percobaan205.cpp
int main()
{
float nilai;
13
cout << "Huruf mutu Anda adalah E." << endl;
else
cout << "Nilai di luar jangkauan." << endl;
return 0;
}
Kode II-6. percobaan206.cpp
int main()
{
int nilai;
switch (nilai/10)
{
case 10:
case 9:
case 8:
cout << "Huruf mutu Anda adalah A." <<
endl; break;
case 7:
cout << "Huruf mutu Anda adalah B." <<
endl; break;
case 6:
cout << "Huruf mutu Anda adalah C." <<
endl; break;
case 5:
cout << "Huruf mutu Anda adalah D." <<
endl; break;
case 4:
case 3:
case 2:
case 1:
case 0:
cout << "Huruf mutu Anda adalah E." <<
endl; break;
default:
cout << "Nilai di luar jangkauan." << endl;
}
return 0;
}
Kode II-7. percobaan207.cpp
14
1. Jelaskan hasil eksekusi program!
2. Apakah perbedaan switch dengan if?
15
III. Percobaan 3
Pengulangan dan Fungsi
a. while
Pernyataan while merupakan salah satu pernyataan yang berguna untuk memproses
suatu pernyataan atau beberapa pernyataan secara berulang apabila syaratnya terpenuhi.
Pernyataan while memungkinkan statemen- statemen yang ada didalamnya tidak
diakukan sama sekali.
Bentuk umum:
while(kondisi)
{
//pernyataan;
}
b. do while
Pernyataan do…while mirip seperti pernyataan while, pernyataan akan diproses secara
berulang apabila syaratnya dipenuhi. Bedanya, pada do…while pernyataan yang terdapat
di dalamnya minimal akan sekali dieksekusi tanpa diperiksa terlebih dahulu syaratnya.
Bentuk umum:
do
{
//pernyataan;
}while(kondisi);
16
c. for
Bentuk umum:
for(inisialisasi; kondisi; perubahan)
{
//pernyataan;
}
III.2.2 Fungsi
Fungsi adalah sekumpulan perintah operasi program yang dapat menerima argumen
input dan dapat memberikan hasil output yang dapat berupa nilai ataupun sebuah hasil
operasi. Hasil akhir fungsi akan berupa sebuah nilai balik (return). Fungsi digunakan agar
pemrogram dapat menghindari penulisan berulang-ulang bagian program (kode), dapat
menyusun kode program agar terlihat lebih rapi, dan kemudahan dalam debugging
program. Parameter adalah nama-nama peubah (variabel) yang dideklarasikan pada
bagian header fungsi. Pemrogram dapat membuat fungsi yang didefinisikan sendiri
olehnya. Nama fungsi yang didefinisikan sendiri oleh pemrogram tidak boleh sama
dengan nama build-in function pada compiler C++.
fungsi
A()
fungsi fungsi fungsi
main() B() C1()
fungsi fungsi
C() C2()
fungsi
C3()
tipe_data main(){
// pernyataan;
nama_fungsi(nilai_parameter);
}
17
Fungsi sendiri terbagi 2, yaitu: fungsi tanpa parameter dan fungsi dengan parameter.
III.3 Percobaan
III.3.1 Percobaan III-1: Pengulangan while
Ketik kode program di bawah ini:
/* Percobaan III-1: Pengulangan while
* percobaan301.cpp */
#include <iostream>
int main()
{
int i;
i = 0;
return 0;
}
Kode III-1. Percobaan301.cpp
int main()
{
int i;
i = 0;
do
{
cout << "Iterasi ke-" << i+1 << endl;
i++;
}
while(i<10); // Ubah nilai 10 -> 0 untuk perbedaan while dan do-while
return 0;
}
Kode III-2. Percobaan302.cpp
18
1. Jelaskan hasil eksekusi program!
2. Apa perbedaan menggunakan struktur do while dengan while. Jelaskan!
int main()
{
// for(/*(a)*/int i=0; /*(b)*/i<10;
/*(d)*/i++) for(int i=0; i<10; i++)
{
/*(c)*/
cout << "Iterasi ke-" << i+1 << endl;
}
return 0;
}
Kode III-3. Percobaan303.cpp
int main()
{
int tinggi, baris, kolom;
return 0;
}
Output: tinggi -> 3
19
*
**
***
int main()
{
fungsi_judul();
return 0;
}
void fungsi_judul()
{
cout << "Praktikum C++ ";
cout << "LTK JTE FT Unila" << endl;
}
Kode III-5. Percobaan305.cpp
int main()
{
int a, hasil;
hasil = fungsi_parameter(a);
20
return 0;
}
int fungsi_parameter(int x)
{
x = x * 20;
return x;
}
Kode III-6. Percobaan306.cpp
21
IV. Percobaan 4
Array
Array adalah struktur data yang menyimpan sekumpulan elemen yang bertipe sama, dan
setiap elemen diakses langsung melalui indeksnya. Indeks array haruslah tipe data yang
menyatakan keterurutan, misalnya: integer atau string. Array dapat dianalogikan sebagai
sebuah lemari yang memiliki sederetan kotak penyimpanan yang diberi nomor
berurutan. Untuk menyimpan atau mengambil sesuatu dari kotak tertentu, kita hanya
cukup mengetahui nomor kotaknya saja.
Array satu dimensi dapat dikatakan sebagai suatu daftar linier atau sebuah kolom.
Bentuk umum dari array jenis ini dalam bahasa C++ adalah:
tipe_data nama_variabel_array[besar_dimensi];
Contoh:
int x[10];
x[1]
x[2]
x = .......
.......
x[10]
22
b. Array Multidimensi
Contoh umum untuk array jenis ini adalah array dua dimensi dan array tiga dimensi.
Array dua dimensi ini dapat dianggap sebagai sebuah matriks yang jumlah
kolomnya lebih dari satu. Sedangkan, array tiga dimensi bisa digunakan untuk
pentabelan data (baris, kolom, isi data).
Contoh:
int y[10][10];
int z[10][10][10];
IV.3 Percobaan
IV.3.1 Percobaan IV-1: Array 1 dimensi
Ketik kode program di bawah ini:
/* Percobaan IV-1: Array 1 dimensi
* percobaan401.cpp */
#include <iostream>
int main()
{
int himpunan[10] = {1,2,3,4,5,6,7,8,9,10};
for(int i=0;i<len;i++)
{
cout << "Data ke-" << i << " = " << himpunan[i] << endl;
}
return 0;
}
Kode IV-1. Percobaan401.cpp
23
IV.3.2 Percobaan IV-2: Array 2 dimensi
Ketik kode program di bawah ini:
/* Percobaan IV-2: Array 2 dimensi
* percobaan402.cpp */
/include <iostream>
int main()
{
int himpunan[4][2] = {{1,2},{3,4},{5,6},{7,8}};
for(int i=0;i<len1;i++)
{
for(int j=0;j<len2;j++)
{
cout << "Data (" << i << ", " << j << ") = "
<< himpunan[i][j] << endl;
}
return 0;
}
Kode IV-2. Percobaan402.cpp
24
IV.3.3 Percobaan IV-3: Mengakses string sebagai array
Ketik kode program di bawah ini:
/* Percobaan IV-3: Mengakses string sebagai array
* percobaan403.cpp */
#include <iostream>
int main()
{
string tulisan = "Universitas Lampung";
return 0;
}
Kode IV-3. Percobaan403.cpp
25
LEMBAR ASISTENSI
PRAKTIKUM ALGORITMA DAN PEMPROGRAMAN
LABORATORIUM PEMODELAN DAN SIMULASI
JURUSAN TEKNIK ELEKTRO FAKULTAS TEKNIK
UNIVERSITAS LAMPUNG 2014
Judul Praktikum :
Nama Praktikum :
…………………………………………………………………………
NPM