PANDUAN PRAKTIKUM ALGORITMA DAN...

31
Tim LABORATORIUM PEMODELAN DAN SIMULASI | GEDUNG LABORATORIUM TEKNIK ELEKTRO UNIVERSITAS LAMPUNG PANDUAN PRAKTIKUM ALGORITMA DAN PEMROGRAMAN JURUSAN TEKNIK ELEKTRO FAKULTAS TEKNIK UNIVERSITAS LAMPUNG

Transcript of PANDUAN PRAKTIKUM ALGORITMA DAN...

Page 1: PANDUAN PRAKTIKUM ALGORITMA DAN …staff.unila.ac.id/meizano/files/2016/04/Unila-2014-Modul-ADP.pdf · IV.3.1 Percobaan IV-1: Array 1 dimensi ... Contoh: #define PI 3.14152965 ...

Tim LABORATORIUM PEMODELAN DAN SIMULASI | GEDUNG LABORATORIUM TEKNIK ELEKTRO UNIVERSITAS LAMPUNG

PANDUAN

PRAKTIKUM

ALGORITMA DAN

PEMROGRAMAN JURUSAN TEKNIK ELEKTRO FAKULTAS TEKNIK UNIVERSITAS LAMPUNG

Page 2: PANDUAN PRAKTIKUM ALGORITMA DAN …staff.unila.ac.id/meizano/files/2016/04/Unila-2014-Modul-ADP.pdf · IV.3.1 Percobaan IV-1: Array 1 dimensi ... Contoh: #define PI 3.14152965 ...

i

DAFTAR ISI

DAFTAR ISI ....................................................................................................................................... i

KATA PENGANTAR .................................................................................................................... iii

TATA TERTIB PRAKTIKUM ........................................................................................................ iv

I. Percobaan 1 Pengenalan C++ , Tipe Data, dan Variabel ................................................... 1

I.1 Tujuan Percobaan ............................................................................................................. 1

I.2 Dasar Teori ........................................................................................................................ 1

I.2.1 Pengenalan C++ ........................................................................................................... 1

I.2.2 Variabel dan Tipe Data ................................................................................................ 3

I.3 Percobaan .......................................................................................................................... 5

I.3.1 Percobaan I-1: Dasar C++ ........................................................................................... 5

I.3.2 Percobaan I-2: Deklarasi Variabel .............................................................................. 5

I.3.3 Percobaan I-3: Deklarasi Konstanta ........................................................................... 6

I.3.4 Percobaan I-4: Tipe Data ............................................................................................. 6

I.4 Tugas Akhir ...................................................................................................................... 7

II. Percobaan 2 Operator, Statement I/O, dan Percabangan ................................................. 8

II.1 Tujuan Percobaan ............................................................................................................. 8

II.2 Dasar Teori ........................................................................................................................ 8

II.2.1 Operator .................................................................................................................... 8

II.2.2 Statement I/O ........................................................................................................... 9

II.2.3 Percabangan ............................................................................................................ 10

II.3 Percobaan ........................................................................................................................ 11

II.3.1 Percobaan II-1: Operator aritmetika .................................................................... 11

II.3.2 Percobaan II-1: Operator pembanding ................................................................ 11

II.3.3 Percobaan II-3: Operator bitwise ......................................................................... 12

II.3.4 Percobaan II-4: Operator logika ........................................................................... 12

II.3.5 Percobaan II-5: Statement I/O .............................................................................. 13

II.3.6 Percobaan II-6: Percabangan if ............................................................................. 13

II.3.7 Percobaan II-7: Percabangan switch .................................................................... 14

II.4 Tugas Akhir .................................................................................................................... 15

III. Percobaan 3 Pengulangan dan Fungsi ........................................................................... 16

III.1 Tujuan Percobaan ........................................................................................................... 16

Page 3: PANDUAN PRAKTIKUM ALGORITMA DAN …staff.unila.ac.id/meizano/files/2016/04/Unila-2014-Modul-ADP.pdf · IV.3.1 Percobaan IV-1: Array 1 dimensi ... Contoh: #define PI 3.14152965 ...

ii

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

Page 4: PANDUAN PRAKTIKUM ALGORITMA DAN …staff.unila.ac.id/meizano/files/2016/04/Unila-2014-Modul-ADP.pdf · IV.3.1 Percobaan IV-1: Array 1 dimensi ... Contoh: #define PI 3.14152965 ...

iii

KATA PENGANTAR

Assalamualaikum Wr. Wb.

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.

Wassalamualaikum wr. wb.

Bandar Lampung, 27 Maret 2014 Dosen Penanggung Jawab Praktikum Pemrograman Komputer Meizano Ardhi M., M.T. NIP 19810528 201212 1 001

Page 5: PANDUAN PRAKTIKUM ALGORITMA DAN …staff.unila.ac.id/meizano/files/2016/04/Unila-2014-Modul-ADP.pdf · IV.3.1 Percobaan IV-1: Array 1 dimensi ... Contoh: #define PI 3.14152965 ...

iv

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”

Page 6: PANDUAN PRAKTIKUM ALGORITMA DAN …staff.unila.ac.id/meizano/files/2016/04/Unila-2014-Modul-ADP.pdf · IV.3.1 Percobaan IV-1: Array 1 dimensi ... Contoh: #define PI 3.14152965 ...

1

I. Percobaan 1

Pengenalan C++ , Tipe Data, dan Variabel

I.1 Tujuan Percobaan

Mahasiswa memahami dasar pemrograman C++, dan

Mahasiswa dapat memahami dan menggunakan variabel dan tipe data dalam

pemrograman C++.

I.2 Dasar Teori

I.2.1 Pengenalan C++

Setiap program C++ mempunyai bentuk umum seperti di bawah, yaitu:

/*

* Kode I-1. Bentuk umum kode program C++

* Kode ini tidak akan bisa dikompilasi

*/

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

# include <iostream>: diperlukan pada program yang melibatkan objek cout

# include <conio>: diperlukan bila melibatkan clrscr(),yaitu perintah untuk

membersihkan layar.

# include <iomanip>: diperlukan bila melibatkan setw() yang bermanfaat untuk

mengatur lebar dari suatu tampilan data.

# include <math>: diperlukan pada program yang menggunkan operasi sqrt ()

yang bermanfaat untuk operasi matematika kuadrat.

b. Fungsi main ()

Page 7: PANDUAN PRAKTIKUM ALGORITMA DAN …staff.unila.ac.id/meizano/files/2016/04/Unila-2014-Modul-ADP.pdf · IV.3.1 Percobaan IV-1: Array 1 dimensi ... Contoh: #define PI 3.14152965 ...

2

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

Tanda semicolon “ ; ” digunakan untuk mengakhiri sebuah pernyataan. Setiap

pernyataan harus diakhiri dengan sebuah 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>

using namespace std;

int main()

{

cout << "Halo, Dunia!" << endl;

return 0;

} Kode I-2. Halo Dunia

Page 8: PANDUAN PRAKTIKUM ALGORITMA DAN …staff.unila.ac.id/meizano/files/2016/04/Unila-2014-Modul-ADP.pdf · IV.3.1 Percobaan IV-1: Array 1 dimensi ... Contoh: #define PI 3.14152965 ...

3

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.

Contoh penamaan variabel yang benar:

NIM, a, x, nama_mhs, f3098, f4, nilai, budi.

Contoh penamaan variabel yang salah:

%nilai_mahasiswa, 80mahasiswa, rata-rata, ada spasi, penting!

1) Deklarasi variabel

Bentuk umumnya:

tipe_data nama_variabel;

Contoh:

int x; // Deklarasi variabel x bertipe integer

char y, huruf, nim[10]; // Deklarasi variabel bertipe char float nilai; // Deklarasi variabel nilai bertipe float

double beta; // Deklarasi variabel beta bertipe double

int himpunan[5][4]; // Deklarasi array 2D bernama himpunan bertipe

integer

2) Deklarasi konstanta

Menggunakan keyword const

Contoh: const float PI = 3.14152965;

Page 9: PANDUAN PRAKTIKUM ALGORITMA DAN …staff.unila.ac.id/meizano/files/2016/04/Unila-2014-Modul-ADP.pdf · IV.3.1 Percobaan IV-1: Array 1 dimensi ... Contoh: #define PI 3.14152965 ...

4

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++

Grup Type Lebar Bit Rentang Character char 1byte -127 to 127 or 0 to 255

unsigned char 1byte 0 to 255 signed char 1byte -127 to 127 wchar_t 2 or 4 bytes 1 wide character (umumnya untuk

Unicode) Integer (bilangan bulat)

int 4bytes -2147483648 s.d. 2147483647 unsigned int 4bytes 0 to 4294967295 signed int 4bytes -2147483648 s.d. 2147483647 short int 2bytes -32768 to 32767 unsigned short int Range 0 to 65,535 signed short int Range -32768 to 32767 long int 4bytes -2,147,483,647 s.d. 2,147,483,647 signed long int 4bytes same as long int unsigned long int 4bytes 0 to 4,294,967,295

Float (bilangan rasional)

float 4bytes +/- 3.4e +/- 38 (~7 digits) double 8bytes +/- 1.7e +/- 308 (~15 digits) long double 8bytes +/- 1.7e +/- 308 (~15 digits)

Boolean bool 1 byte Memiliki satu nilai: true atau false Void Void - Tidak menyimpan data

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.

Page 10: PANDUAN PRAKTIKUM ALGORITMA DAN …staff.unila.ac.id/meizano/files/2016/04/Unila-2014-Modul-ADP.pdf · IV.3.1 Percobaan IV-1: Array 1 dimensi ... Contoh: #define PI 3.14152965 ...

5

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>

using namespace std;

int main()

{

cout << "Hello world!" << endl;

return 0;

} Kode I-3. percobaan101.cpp

Jelaskan kode program di atas!

I.3.2 Percobaan I-2: Deklarasi Variabel

Ketik kode program di bawah ini:

/* Percobaan I-2: Deklarasi Variabel

* percobaan102.cpp */

#include <iostream>

using namespace std;

int main()

{

int n;

n = 66;

cout << "Nilai n = " << n << endl;

return 0;

} Kode I-4. percobaan102.cpp

1. Jelaskan kegunaan int n!

2. Mengapa nilai hasil dari program 66?

Page 11: PANDUAN PRAKTIKUM ALGORITMA DAN …staff.unila.ac.id/meizano/files/2016/04/Unila-2014-Modul-ADP.pdf · IV.3.1 Percobaan IV-1: Array 1 dimensi ... Contoh: #define PI 3.14152965 ...

6

I.3.3 Percobaan I-3: Deklarasi Konstanta

Ketik kode program di bawah ini:

/* Percobaan I-3: Deklarasi Konstanta

* percobaan101.cpp */

#include <iostream>

using namespace std;

int main()

{

const float phi = 3.14;

float jari_jari, luas;

jari_jari = 7.0;

luas = phi * jari_jari * jari_jari;

cout << "Luas lingkaran = " << luas << endl;

return 0;

} Kode I-5. percobaan103.cpp

1. Jelaskan penggunaan deklarasi konstanta di atas!

2. Buat program konstanta #define!

3. Jelaskan perbedaan konstanta (const) dan #define, berdasarkan percobaan!

I.3.4 Percobaan I-4: Tipe Data

a. Tipe data bilangan

Ketik kode program di bawah ini:

/* Percobaan I-4: Tipe Data (a) bilangan

* percobaan104.cpp */

#include <iostream>

using namespace std;

int main()

{

int x;

x = 3;

//x = 3.5; //Nilai ini tidak akan bisa diterima oleh integer

cout << "Nilai x = " << x << endl;

return 0;

} Kode I-6. percobaan104.cpp

1. Jelaskan kode program di atas!

2. Ubah nilai x=3.5. Apa yang terjadi pada program? Kenapa?

Page 12: PANDUAN PRAKTIKUM ALGORITMA DAN …staff.unila.ac.id/meizano/files/2016/04/Unila-2014-Modul-ADP.pdf · IV.3.1 Percobaan IV-1: Array 1 dimensi ... Contoh: #define PI 3.14152965 ...

7

b. Tipe data karakter

Ketik kode program di bawah ini:

/* Percobaan I-4: Tipe Data (b) karakter

* percobaan105.cpp */

#include <iostream>

using namespace std;

int main()

{

char a = 'Aa';

string b = "Be";

cout << "Nilai a = " << a;

cout << " dan nilai b = " << b << endl;

return 0;

} Kode I-7. percobaan105.cpp

Jelaskan perbedaan penggunaan char dan string dari program di atas!

I.4 Tugas Akhir

Buatlah program yang menggunakan define untuk menghitung volume Tabung

(Rumus Volume Tabung : phi x jari-jari x jari-jari x tinggi). Jari-jari = 7 dan tinggi = 24.

Page 13: PANDUAN PRAKTIKUM ALGORITMA DAN …staff.unila.ac.id/meizano/files/2016/04/Unila-2014-Modul-ADP.pdf · IV.3.1 Percobaan IV-1: Array 1 dimensi ... Contoh: #define PI 3.14152965 ...

8

II. Percobaan 2

Operator, Statement I/O, dan Percabangan

II.1 Tujuan Percobaan

Mahasiswa dapat memahami penggunaan operator- operator di dalam C++, dan

Mahasiswa dapat menggunakan sintaks pemilihan pada C++.

II.2 Dasar Teori

II.2.1 Operator

Operator adalah simbol yang biasa dilibatkan dalam program untuk melakukan sesuatu

operasi atau manipulasi.

a. Operator penugasan

Operator penugasan/pemberian nilai (assignment operator) dalam bahasa C++ berupa

tanda sama dengan(“=”). Contoh:

nilai = 80;

A = 30;

x = 3;

y = 2;

A = x * y; // A -> 6

Penjelasan:

variabel “nilai” diisi dengan nilai 80, dan

variabel “A” diisi dengan hasil perkalian antara x dan y.

b. Operator aritmetika

Tabel II-1. Operator aritmetika

Operator Keterangan Contoh (A = 10, B = 20) + Menambah dua operand (Add) A + B 30 - Mengurangi sejumlah operand pertama dari

operandi kedua (Subtract) A - B -10

* Perkalian dua operand (multiply) A * B 200 / Pembagian (divide) B / A 2 % Sisa pembagian integer (nodulus) B % A 0 ++ Menambahkan 1 nilai integer dari operand

(increment) A++ A=A+1 11

-- Mengurangi 1 nilai integer dari operandi (decrement)

A-- A=A-2 9

- mengubah nilai satu operand menjadi negasinya (negate). Disebut unary operator karena hanya perlu satu operandi.

-B -20

Page 14: PANDUAN PRAKTIKUM ALGORITMA DAN …staff.unila.ac.id/meizano/files/2016/04/Unila-2014-Modul-ADP.pdf · IV.3.1 Percobaan IV-1: Array 1 dimensi ... Contoh: #define PI 3.14152965 ...

9

Operator % (modulus) digunakan untuk mencari sisa pembagian antara dua bilangan,

misalnya: 9 % 2 1; 9 % 3 0.

c. Operator relasional (perbandingan)

Operator relasional digunakan untuk membandingkan hubungan antara dua buah

operand (sebuah nilai atau variabel).

Tabel II-2. Operator hubungan dalam bahasa C++

Operator Keterangan Contoh (A = 10, B = 20) == Sama dengan (bukan assignment) (A == B) adalah false != Tidak sama dengan (A != B) adalah true > Lebih besar (A > B) adalah false < Lebih kecil (A < B) adalah true >= Lebih besar atau sama dengan (A >= B) adalah false <= Lebih kecil atau sama dengan (A <= B) adalah true

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++

Operator Keterangan Contoh (A = 60 == 0011 1100, B = 13 == 0000 1101)

& Bitwise AND (A & B) 12 == 0000 1100

| Bitwise OR (A | B) 61 == 0011 1101

^ Bitwise XOR (A ^ B) 49 == 0011 0001

~ Bitwise NOT (~A ) -61 == 1100 0011

<< Geser n bit ke kiri (Binary Left Shift) A << 2 240 == 1111 0000

>> Geser n bit ke kanan (Binary Right Shift) A >> 2 15 == 0000 1111

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++

Operator Keterangan Contoh (A = true (1), B = false (0)) && Logika AND (A && B) false. || Logika OR (A || B) true. ! Logika NOT !(A && B) true.

II.2.2 Statement I/O

Pada C++ terdapat 2 jenis I/O dasar, yaitu:

a. Statement Input adalah statement/pernyataan yang digunakan untuk membaca

data dari input device (keyboard/mouse). Contoh: cin (character in)

Page 15: PANDUAN PRAKTIKUM ALGORITMA DAN …staff.unila.ac.id/meizano/files/2016/04/Unila-2014-Modul-ADP.pdf · IV.3.1 Percobaan IV-1: Array 1 dimensi ... Contoh: #define PI 3.14152965 ...

10

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;

}

Hal-hal yang harus diperhatikan dalam menggunakan switch adalah:

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

Page 16: PANDUAN PRAKTIKUM ALGORITMA DAN …staff.unila.ac.id/meizano/files/2016/04/Unila-2014-Modul-ADP.pdf · IV.3.1 Percobaan IV-1: Array 1 dimensi ... Contoh: #define PI 3.14152965 ...

11

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>

using namespace std;

int main()

{

int m = 82, n = 26;

cout << m << " + " << n << " = " << m + n << endl;

cout << m << " - " << n << " = " << m - n << endl;

cout << m << " x " << n << " = " << m * n << endl;

cout << m << " / " << n << " = " << m / n << endl;

cout << m << " / " << n << " mod " << m % n << endl;

cout << "(-)" << m << " = " << -m << endl;

return 0;

} Kode II-1. percobaan201.cpp

1. Jelaskan kegunaan masing-masing operator berdasarkan hasil percobaan!

2. Mengapa pada hasil bagi m/n didapat nilai bilangan bulat?

II.3.2 Percobaan II-1: Operator pembanding

Ketik kode program di bawah ini:

/* Percobaan II-2: Operator pembanding

* percobaan202.cpp */

#include <iostream>

using namespace std;

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;

Page 17: PANDUAN PRAKTIKUM ALGORITMA DAN …staff.unila.ac.id/meizano/files/2016/04/Unila-2014-Modul-ADP.pdf · IV.3.1 Percobaan IV-1: Array 1 dimensi ... Contoh: #define PI 3.14152965 ...

12

} Kode II-2. percobaan202.cpp

1. Jelaskan mengapa hasil tampilan eksekusi program seperti itu!

2. Beri tanda komentar (//) pada sintak: else if(m != n) dan cout << m << "

tidak sama dengan " << n << endl;. Kemudian, lakukan compile & running.

Apa yang terjadi? Mengapa?

3. Ganti nilai m = 5 dan n = 5. Compile & running program. Apa yang terjadi? Mengapa?

4. Ganti nilai m =10 dan n = 8. Compile & running program. Apa yang terjadi?

Mengapa?

II.3.3 Percobaan II-3: Operator bitwise

Ketik kode program di bawah ini:

/* Percobaan II-3: Operator bitwise

* percobaan203.cpp */

#include <iostream>

using namespace std;

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

1. Jelaskan fungsi operator yang digunakan pada kode program di atas!

2. Jelaskan hasil eksekusi program!

II.3.4 Percobaan II-4: Operator logika

Ketik kode program di bawah ini:

/* Percobaan II-4: Operator logika

* percobaan204.cpp */

#include <iostream>

using namespace std;

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;

}

Page 18: PANDUAN PRAKTIKUM ALGORITMA DAN …staff.unila.ac.id/meizano/files/2016/04/Unila-2014-Modul-ADP.pdf · IV.3.1 Percobaan IV-1: Array 1 dimensi ... Contoh: #define PI 3.14152965 ...

13

Kode II-4. percobaan204.cpp

1. Jelaskan fungsi operator yang terdapat pada kode program!

2. Jelaskan hasil eksekusi program!

II.3.5 Percobaan II-5: Statement I/O

Ketik kode program di bawah ini:

/* Percobaan II-5: Statement I/O

* percobaan205.cpp */

#include <iostream>

using namespace std;

int main()

{

float nilai;

cout << "Masukkan sebuah nilai = ";

cin >> nilai;

cout << "Nilai yang Anda masukkan = " << nilai << endl;

return 0;

} Kode II-5. percobaan205.cpp

1. Jelaskan fungsi dari cin!

2. Jelaskan hasil eksekusi program!

II.3.6 Percobaan II-6: Percabangan if

Ketik kode program di bawah ini:

/* Percobaan II-6: Percabangan if

* percobaan206.cpp */

#include <iostream>

using namespace std;

int main()

{

float nilai;

cout << "Masukkan sebuah nilai = ";

cin >> nilai;

if (nilai > 85)

cout << "Huruf mutu Anda adalah A." << endl;

else if (nilai > 75)

cout << "Huruf mutu Anda adalah B." << endl;

else if (nilai > 65)

cout << "Huruf mutu Anda adalah C." << endl;

else if (nilai > 55)

cout << "Huruf mutu Anda adalah D." << endl;

else if (nilai <= 55)

Page 19: PANDUAN PRAKTIKUM ALGORITMA DAN …staff.unila.ac.id/meizano/files/2016/04/Unila-2014-Modul-ADP.pdf · IV.3.1 Percobaan IV-1: Array 1 dimensi ... Contoh: #define PI 3.14152965 ...

14

cout << "Huruf mutu Anda adalah E." << endl;

else

cout << "Nilai di luar jangkauan." << endl;

return 0;

} Kode II-6. percobaan206.cpp

1. Jelaskan hasil eksekusi program!

2. Termasuk dalam if berapa kondisi program di atas?

3. Apa perbedaan dengan if yang lainnya?

II.3.7 Percobaan II-7: Percabangan switch

Ketik kode program di bawah ini:

/* Percobaan II-7: Percabangan switch

* percobaan207.cpp */

#include <iostream>

using namespace std;

int main()

{

int nilai;

cout << "Masukkan sebuah nilai = ";

cin >> nilai; // 85/10 = 8.5 -> 8

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

Page 20: PANDUAN PRAKTIKUM ALGORITMA DAN …staff.unila.ac.id/meizano/files/2016/04/Unila-2014-Modul-ADP.pdf · IV.3.1 Percobaan IV-1: Array 1 dimensi ... Contoh: #define PI 3.14152965 ...

15

1. Jelaskan hasil eksekusi program!

2. Apakah perbedaan switch dengan if?

II.4 Tugas Akhir

1. Buatlah program untuk menghitung luas bangunan geometri trapesium. Ukuran

dimensi bangunan didapat dari peranti masukan dan luas bangun ditampilkan

sebagai keluaran. Berikan penjelasan!

2. Buatlah program untuk mengetahui apakah bilangan termasuk ganjil atau genap.

Nilai dari bilangan didapat dari peranti masukan. Berikan penjelasan!

Page 21: PANDUAN PRAKTIKUM ALGORITMA DAN …staff.unila.ac.id/meizano/files/2016/04/Unila-2014-Modul-ADP.pdf · IV.3.1 Percobaan IV-1: Array 1 dimensi ... Contoh: #define PI 3.14152965 ...

16

III. Percobaan 3

Pengulangan dan Fungsi

III.1 Tujuan Percobaan

Mahasiswa dapat memahami dan menggunakan sintak pengulangan pada C++

Mahasiswa dapat membuat fungsi pada C++

III.2 Dasar Teori

III.2.1 Pengulangan

Operasi pengulangan dilakukan apabila ada sebuah/sekelompok instruksi yang perlu

diulang, baik terdefinisi sebelumnya ataupun tidak. Struktur pengulangan terdiri atas dua

bagian:

1) Kondisi pengulangan yaitu ekspresi boolean yang harus dipenuhi untuk

melaksanakan pengulangan

2) Isi atau badan pengulangan yaitu satu atau lebih pernyataan (aksi) yang akan

diulang.

Perintah atau notasi dalam struktur pengulangan adalah:

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

Page 22: PANDUAN PRAKTIKUM ALGORITMA DAN …staff.unila.ac.id/meizano/files/2016/04/Unila-2014-Modul-ADP.pdf · IV.3.1 Percobaan IV-1: Array 1 dimensi ... Contoh: #define PI 3.14152965 ...

17

c. for

Pernyataan for digunakan untuk menghasilkan pengulangan(looping) beberapa kali

tanpa syarat selain jumlah pengulangan. Pada umumnya looping yang dilakukan oleh for

telah diketahui batas awal, syarat looping dan perubahannya. Selama kondisi terpenuhi,

maka pernyataan akan terus dieksekusi.

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

Gambar III-1. Hierarki fungsi

Bentuk umum fungsi:

// Deklarasi fungsi

tipe_data_kembalian nama_fungsi(tipe_data nama_parameter);

tipe_data main(){

// pernyataan;

nama_fungsi(nilai_parameter);

}

tipe_data_kembalian nama_fungsi(tipe_data nama_parameter)

{

// pernyataan;

return hasil;

}

fungsi main()

fungsi A()

fungsi B()

fungsi C()

fungsi C1()

fungsi C2()

fungsi C3()

Page 23: PANDUAN PRAKTIKUM ALGORITMA DAN …staff.unila.ac.id/meizano/files/2016/04/Unila-2014-Modul-ADP.pdf · IV.3.1 Percobaan IV-1: Array 1 dimensi ... Contoh: #define PI 3.14152965 ...

18

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>

using namespace std;

int main()

{

int i;

i = 0;

while(i<10) // ubah nilai 10 -> 0 untuk perbedaan while dan do-while

{

cout << "Iterasi ke-" << i+1 << endl;

i++;

}

return 0;

} Kode III-1. Percobaan301.cpp

1. Jelaskan hasil eksekusi program!

2. Mengapa pengulangannya hanya sampai 10?

III.3.2 Percobaan III-2: Pengulangan do-while

Ketik kode program di bawah ini:

/* Percobaan III-2: Pengulangan do-while

* percobaan302.cpp */

#include <iostream>

using namespace std;

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

Page 24: PANDUAN PRAKTIKUM ALGORITMA DAN …staff.unila.ac.id/meizano/files/2016/04/Unila-2014-Modul-ADP.pdf · IV.3.1 Percobaan IV-1: Array 1 dimensi ... Contoh: #define PI 3.14152965 ...

19

1. Jelaskan hasil eksekusi program!

2. Apa perbedaan menggunakan struktur do while dengan while. Jelaskan!

III.3.3 Percobaan III-3: Pengulangan for

Ketik kode program di bawah ini:

/* Percobaan III-3: Pengulangan for

* percobaan303.cpp */

#include <iostream>

using namespace std;

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

1. Jelaskan hasil eksekusi program!

2. Apa perbedaan for dengan struktur pengulangan while?

III.3.4 Percobaan III-4: Pengulangan for untuk segitiga

Ketik kode program di bawah ini:

/* Percobaan III-4: Pengulangan for untuk segitiga

* percobaan304.cpp */

#include <iostream>

using namespace std;

int main()

{

int tinggi, baris, kolom;

cout << "Tinggi segitiga = ";

cin >> tinggi;

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

{

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

{

cout << "*";

}

cout << endl;

}

return 0;

}

Output: tinggi -> 3

Page 25: PANDUAN PRAKTIKUM ALGORITMA DAN …staff.unila.ac.id/meizano/files/2016/04/Unila-2014-Modul-ADP.pdf · IV.3.1 Percobaan IV-1: Array 1 dimensi ... Contoh: #define PI 3.14152965 ...

20

*

**

***

Kode III-4. Percobaan304.cpp

1. Jelaskan hasil eksekusi program!

2. Mengapa hasil bisa membentuk segitiga?

III.3.5 Percobaan III-5: Fungsi tanpa parameter

Ketik kode program di bawah ini:

/* Percobaan III-5: Fungsi tanpa parameter

* percobaan305.cpp */

#include <iostream>

using namespace std;

void fungsi_judul();

int main()

{

fungsi_judul();

return 0;

}

void fungsi_judul()

{

cout << "Praktikum C++ ";

cout << "LTK JTE FT Unila" << endl;

}

Kode III-5. Percobaan305.cpp

1. Jelaskan hasil eksekusi program!

2. Mengapa harus ada void fungsi_judul(); di bawah using namespace std; ?

III.3.6 Percobaan III-6: Fungsi dengan parameter

Ketik kode program di bawah ini:

/* Percobaan III-6: Fungsi dengan parameter

* percobaan306.cpp */

#include <iostream>

using namespace std;

int fungsi_parameter(int x);

int main()

{

int a, hasil;

cout << "Masukkan nilai a = ";

cin >> a;

hasil = fungsi_parameter(a);

cout << "Hasil penggandaan = " << hasil << endl;

Page 26: PANDUAN PRAKTIKUM ALGORITMA DAN …staff.unila.ac.id/meizano/files/2016/04/Unila-2014-Modul-ADP.pdf · IV.3.1 Percobaan IV-1: Array 1 dimensi ... Contoh: #define PI 3.14152965 ...

21

return 0;

}

int fungsi_parameter(int x)

{

x = x * 20;

return x;

} Kode III-6. Percobaan306.cpp

1. Jelaskan hasil eksekusi program!

2. Mengapa harus ada int fungsi_parameter(int x) pada program di atas?

3. Apa fungsi return x; pada program di atas?

4. Apa perbedaannya dengan fungsi tanpa parameter?

III.4 Tugas Akhir

1. Buatlah program untuk mencetak deret 10 9 8 7 6 5 4 3 2 1. Jelaskan hasil dari eksekusi

program!

2. Buatlah program menggunakan perulangan while atau for untuk mencetak

* * *

* * *

* * *

* * *

Jelaskan hasil eksekusi program!

Page 27: PANDUAN PRAKTIKUM ALGORITMA DAN …staff.unila.ac.id/meizano/files/2016/04/Unila-2014-Modul-ADP.pdf · IV.3.1 Percobaan IV-1: Array 1 dimensi ... Contoh: #define PI 3.14152965 ...

22

IV. Percobaan 4

Array

IV.1 Tujuan Percobaan

Mahasiswa dapat memahami pengertian array dan penggunaannya

Mahasiswa dapat mengimplementasikan array.

IV.2 Dasar Teori

IV.2.1 Pengertian Array

Variabel-variabel yang kita gunakan pada percobaan sebelumnya adalah variabel yang

hanya dapat menampung sebuah nilai numerik atau string pada suatu waktu. Apabila

kita ingin memberi nilai yang baru pada variabel tersebut, maka nilai lama akan hilang

karena digantikan oleh nilai yang baru. Bagaimana apabila kita ingin menyimpan

beberapa nilai/data dalam sebuah variabel dengan nama yang sama tetapi semua nilai

tetap tersimpan? Solusi yang dapat dilakukan adalah dengan menggunakan indeks pada

nama variabel tersebut. Cara ini disebut dengan 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.

IV.2.2 Jenis-Jenis Array

a. Array satu dimensi

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];

]10[

.......

.......

]2[

]1[

x

x

x

x

Page 28: PANDUAN PRAKTIKUM ALGORITMA DAN …staff.unila.ac.id/meizano/files/2016/04/Unila-2014-Modul-ADP.pdf · IV.3.1 Percobaan IV-1: Array 1 dimensi ... Contoh: #define PI 3.14152965 ...

23

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

Bentuk umum array 2 dimensi:

tipe_data nama_array[besar_dimensi1][besar_dimensi2];

Bentuk deklarasi array 3 dimensi:

tipe_data nama_array[besar_dimensi1][besar_dimensi2] [besar_dimensi3];

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>

using namespace std;

int fungsi_parameter(int x);

int main()

{

int himpunan[10] = {1,2,3,4,5,6,7,8,9,10};

// Menghitung panjang array

int len = sizeof(himpunan)/sizeof(int);

for(int i=0;i<len;i++)

{

cout << "Data ke-" << i << " = " << himpunan[i] << endl;

}

return 0;

} Kode IV-1. Percobaan401.cpp

1. Jelaskan hasil eksekusi program!

2. Buatkan flowchart kode program di atas!

3. Apa fungsi pengulangan for di atas?

Page 29: PANDUAN PRAKTIKUM ALGORITMA DAN …staff.unila.ac.id/meizano/files/2016/04/Unila-2014-Modul-ADP.pdf · IV.3.1 Percobaan IV-1: Array 1 dimensi ... Contoh: #define PI 3.14152965 ...

24

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>

using namespace std;

int fungsi_parameter(int x);

int main()

{

int himpunan[4][2] = {{1,2},{3,4},{5,6},{7,8}};

// Menghitung panjang array

int len = sizeof(himpunan)/sizeof(int);

// Menghitung panjang dimensi kedua (kolom)

int len2 = sizeof(himpunan[0])/sizeof(int);

// Menghitung panjang dimensi pertama (baris)

int len1 = len/len2;

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

1. Jelaskan hasil eksekusi program!

2. Buatkan flowchart kode program di atas!

3. Kenapa ada dua pengulangan for di atas? Jelaskan!

Page 30: PANDUAN PRAKTIKUM ALGORITMA DAN …staff.unila.ac.id/meizano/files/2016/04/Unila-2014-Modul-ADP.pdf · IV.3.1 Percobaan IV-1: Array 1 dimensi ... Contoh: #define PI 3.14152965 ...

25

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>

using namespace std;

int fungsi_parameter(int x);

int main()

{

string tulisan = "Universitas Lampung";

cout << "String: " << tulisan << endl;

cout << "Iterasi pertama: " ;

for(int i=0;i<11;i++)

{

cout << tulisan[i];

}

cout << endl << "Iterasi kedua: ";

for(int i=12;i<17;i++)

{

cout << tulisan[i];

}

return 0;

} Kode IV-3. Percobaan403.cpp

1. Jelaskan hasil eksekusi program!

2. Kenapa string bisa diakses sebagai array?

IV.4 Tugas Akhir

1. Buatlah program yang bisa memasukkan data dari terminal ke dalam array 1 dimensi

dan 2 dimensi. Jelaskan hasil dari eksekusi program!

2. Buatlah program untuk penjumlahan matriks menggunakan array 2 dimensi. Jelaskan

hasil dari eksekusi program!

Page 31: PANDUAN PRAKTIKUM ALGORITMA DAN …staff.unila.ac.id/meizano/files/2016/04/Unila-2014-Modul-ADP.pdf · IV.3.1 Percobaan IV-1: Array 1 dimensi ... Contoh: #define PI 3.14152965 ...

LEMBAR ASISTENSI

PRAKTIKUM ALGORITMA DAN PEMPROGRAMAN

LABORATORIUM PEMODELAN DAN SIMULASI

JURUSAN TEKNIK ELEKTRO FAKULTAS TEKNIK

UNIVERSITAS LAMPUNG 2014

Judul Praktikum : Nama Praktikum :

No Catatan Tanggal Paraf

Bandar Lampung, April 2014 ………………………………………………………………………… NPM