LAB REKAYASA PERANGKAT LUNAK | TEKN8IK INFORMATIKA2 UNKHAIR i i LAPORAN PRAKTIKUM ALGORITMA DAN STRUKTUR DATA LAPORAN PRAKTIKUM PRAKTIKUM ALGORITMA DAN STRUKTUR DATA OLEH Susilo Bambang Yudhoyono A.Yamani 07352211039 PROGRAM STUDI INFORMATIKA FAKULTAS TEKNIK UNIVERSITASKHAIRUN TERNATE 2023
LAPORAN PRAKTIKUM PRAKTIKUM ALGORITMA DAN STRUKTUR DATA OLEH Susilo Bambang Yudhoyono A.Yamani 07352211039 PROGRAM STUDI INFORMATIKA FAKULTAS TEKNIK UNIVERSITASKHAIRUN TERNATE 2023
LEMBAR PENGESAHAN LAPORAN PRAKTIKUM ALGORITMA DAN STRUKTUR DATA PROGRAM STUDI TEKNIK INFORMATIKA FAKULTAS TEKNIK UNIVERSITAS KHAIRUN OLEH: Susilo Bambang Yudhoyono A.Yamani 07352211039 Laporan Praktikum Algoritmadan Struktur Data telah disetujui dan disahkan Program StudiTeknik Informatika Universitas Khairun Pada: Tanggal…………………………………….Bulan……………………………Tahun 2023 Menyetujui/Mengesahkan Dosen Mata Kuliah Hairil Kurniadi Siradjuddin S.KOM.,M.KOM NIDN : 88361016
LAB REKAYASA PERANGKAT LUNAK | TEKN8IK INFORMATIKA2 UNKHAIR iii iii LAPORAN PRAKTIKUM ALGORITMA DAN STRUKTUR DATA KATA PENGANTAR Segala puja dan puji syukur marilah sama-sama kita panjatkan kehadirat Allah SWT karena alas limpahan rahmat dan karunia-nya lah sehingga penyusunan laporan ini dapat terselesaikan walau sedikit hambatan karena keterbatasan pengetahuan dan pengalaman Laporan praktikum ini di buat untuk menyelesaikan tugas mata kuliah Algoritma dan Struktur Data dengan dosen pengampu-nya Pak Hairil Kumiadi Siradjudin S.Kom M.Kom beribu terima kasih senantiasa diucapkan untuk pihak-pihak yang telah membantu demi terlaksananya laporan praktikum ini Saya menyadari bahwa dalam penyusunan laporan ini masih jauh dari kata sempuma. Oleh karena itu, kritik dan saran sangat diharapkan demi perbaikan di masa yang akan datang. Semoga laporan ini dapat berguna bagi siapa saja terutama bagi penyusun. Akhir kata, Terima kasih dan Wassalamualaikum warahmatullahi wabarakatuh Ternate, 15 Januari 2023 Penyusun
LAB REKAYASA PERANGKAT LUNAK | TEKN8IK INFORMATIKA2 UNKHAIR iv iv LAPORAN PRAKTIKUM ALGORITMA DAN STRUKTUR DATA DAFTAR ISI LEMBAR PENGESAHAN................................................................................................... ii KATA PENGANTAR.......................................................................................................... iii DAFTAR ISI ....................................................................................................................... iv DAFTAR GAMBAR............................................................................................................. x DAFTAR TABEL............................................................................................................. xvii BAB I ALGORITMA DAN STURUKTUR DATA, STRUKTUR DASAR C++DAN CONTOH DASAR C++ ........................................................................................................................ 2 1.1 Algoritma dan Struktur Data............................................................................. 2 1.1.1 Sejarah algoritma........................................................................................... 2 1.1.2 Cara penyajian algoritma................................................................................. 3 1.1.3 Metode penyusunan Algoritma Deskriptif ........................................................ 4 1.1.4 Metode penyusunan Algoritma Flowchart........................................................ 5 1.1.5 Metode penyusunan Algoritma Pseudo-Code ................................................. 7 1.2 Mengenal Algoritma dan Struktur Data............................................................ 8 1.2.1 Pengertian Struktur Data ............................................................................... 13 1.2.2 Tipe Dasar Struktur Data ............................................................................... 13 1.3 Sejarah Bahasa C++ ...................................................................................... 100
LAB REKAYASA PERANGKAT LUNAK | TEKN8IK INFORMATIKA2 UNKHAIR v v LAPORAN PRAKTIKUM ALGORITMA DAN STRUKTUR DATA 1.3.1 Mengenal editor Bahasa C++ ...................................................................... 100 1.3.2 Proses instalasi C++..................................................................................... 102 1.3.3 Membuat program C++................................................................................ 104 1.3.4 Memahami kesalahan aturan sintaks pada bahasa C ................................. 105 1.4 Contoh Dasar C++ ......................................................................................... 107 1.4.1 Penjelasan................................................................................................... 108 1.4.2 Latihan......................................................................................................... 109 1.4.4 Membuat Program....................................................................................... 113 1.5 Kesimpulan dan Saran.................................................................................. 116 1.5.1 Kesimpulan.................................................................................................. 116 1.5.2 Saran........................................................................................................... 116 BAB II Variabel dan Konstanta ..................................................................................... 119 2.1 Variabel........................................................................................................... 119 2.2 Penamaan Variabel........................................................................................ 119 2.3 Kata Kunci...................................................................................................... 121 2.4 Tipe data......................................................................................................... 122 2.4.1 Integer ......................................................................................................... 123 2.4.2 Real/Float .................................................................................................... 123 2.4.3 Boolean ....................................................................................................... 124
LAB REKAYASA PERANGKAT LUNAK | TEKN8IK INFORMATIKA2 UNKHAIR vi vi LAPORAN PRAKTIKUM ALGORITMA DAN STRUKTUR DATA 2.4.4 Character..................................................................................................... 124 2.4.5 String ........................................................................................................... 125 2.5 Deklarasi Variabel.......................................................................................... 125 2.6 Menentukan Tipe Variabel ............................................................................ 126 2.7 Memberikan Nilai ke Variabel ....................................................................... 126 2.8 Menampilkan Isi Variabel di Monitor............................................................ 128 2.9 Konversi Tipe Data ........................................................................................ 129 2.10 Tipe Casting................................................................................................... 131 2.11 Konstanta ....................................................................................................... 132 2.12 Contoh Program ............................................................................................ 133 BAB III STRUKTUR DASAR ALGORITMA (SELECTION & LOPING).......................... 152 3.1 Struktur Selection.......................................................................................... 152 3.2 Konstruksi IF-THEN....................................................................................... 152 3.3 langkah-langkahpraktikum ........................................................................... 154 3.4 Latihan kegiatan praktikum .......................................................................... 155 3.5 Study kasus (selection)................................................................................. 158 A. Studi kasus 1 ................................................................................................. 158 B. Studi kasus 2 ................................................................................................. 161 3.6 StudiKasus (Loping)..................................................................................... 169
LAB REKAYASA PERANGKAT LUNAK | TEKN8IK INFORMATIKA2 UNKHAIR vii vii LAPORAN PRAKTIKUM ALGORITMA DAN STRUKTUR DATA BAB IV ARRAY............................................................................................................... 182 4.1 Pendahuluan.................................................................................................. 182 4.2 Array Dimensi Satu........................................................................................ 182 4.3 Array Dimensi Dua......................................................................................... 188 4.4 Latihan Kegiatan Praktikum.......................................................................... 191 4.4.1 Latihan 1...................................................................................................... 191 4.4.2 Latihan 2...................................................................................................... 193 4.5 Studi Kasus.................................................................................................... 196 4.5.1 Studi Kasus 1............................................................................................... 196 Gambar 4. 20 Flowchart program studi kasus 1 ...................................................... 196 4.5.2 Studi kasus 2 ............................................................................................... 199 4.5.3 Contoh program array 1 dimensi 3 .............................................................. 203 4.5.4 Contoh program Array dua dimensi ............................................................. 207 4.6 Kesimpulan dan Saran.................................................................................. 210 4.6.1 Kesimpulan.................................................................................................. 210 4.6.2 Saran........................................................................................................... 210 BAB V POINTER............................................................................................................. 213 5.1 Pengertian Pointer................................................................................... 213 5.2 Macam-macam Operator pada Pointer ........................................................ 213
LAB REKAYASA PERANGKAT LUNAK | TEKN8IK INFORMATIKA2 UNKHAIR viii viii LAPORAN PRAKTIKUM ALGORITMA DAN STRUKTUR DATA 5.2.1 Addres-of Operator (&) ................................................................................ 213 5.2.2 Dereference operator (*).............................................................................. 214 5.3 Cara Membuat Pointer................................................................................... 214 5.4 Cara mengakses Pointer............................................................................... 215 5.4.1 Latihan praktikum.......................................................................................... 216 5.5.1 Latihan 1 (pointer konstanta) ....................................................................... 217 5.5.2 Latihan 2 (Pointer Variabel) ......................................................................... 220 5.6 Studi kasus .................................................................................................... 223 5.6.1 Operasi aritmatika pada pointer................................................................... 223 5.6.2 Pointer dalam array ..................................................................................... 226 5.7 Kesimpulan dan Saran.................................................................................. 229 5.7.1 Kesimpulan.................................................................................................. 229 5.7.2 Saran........................................................................................................... 229 BAB VI STACK............................................................................................................... 232 6.1 Pendahuluan.................................................................................................. 232 6.2 Latihan Kegiatan Praktikum.......................................................................... 232 6.3. Studi kasus ................................................................................................... 240 6.3.1 Studi kasus 1 ............................................................................................... 240 6.3.3 Studi kasus 2 ............................................................................................... 249
LAB REKAYASA PERANGKAT LUNAK | TEKN8IK INFORMATIKA2 UNKHAIR ix ix LAPORAN PRAKTIKUM ALGORITMA DAN STRUKTUR DATA 6.4. Kesimpulan dan Saran................................................................................. 258 6.4.1 Kesimpulan.................................................................................................. 258 6.4.2 Saran........................................................................................................... 258 BAB VII QUEUE.............................................................................................................. 301 7.1 Definis Queue (Antri)..................................................................................... 301 7.2 Contoh queue (antrian) ................................................................................ 302 7.3 Contoh Program Queue ................................................................................ 302 7.3.1 Latihan 1...................................................................................................... 302 7.4 Latihan Queue................................................................................................ 313 7.4.1 Kasus Queue dalam Array 1........................................................................ 313 7.4.2 Kasus Queue 2............................................................................................ 321 7.5 Kesimpulan dan Saran.................................................................................. 331 7.5.1 Kesimpulan.................................................................................................. 331 7.5.2 Saran........................................................................................................... 331 DAFTAR PUSTAKA........................................................................................................ 333
LAB REKAYASA PERANGKAT LUNAK | TEKN8IK INFORMATIKA2 UNKHAIR x x LAPORAN PRAKTIKUM ALGORITMA DAN STRUKTUR DATA DAFTAR GAMBAR Gambar 1. 1 Struktur Data dan Algoritma............................................................................ 9 Gambar 1. 2 proses kompilasi ......................................................................................... 101 Gambar 1. 3 DEV C++.................................................................................................... 102 Gambar 1. 4 Menu file pada DEV C++ ............................................................................ 103 Gambar 1. 5 Menu edit pada Turbo C++......................................................................... 103 Gambar 1. 6 Menu project pada Turbo C++ .................................................................... 104 Gambar 1. 7 Contoh program.......................................................................................... 104 Gambar 1. 8 Contoh program pada Dev C++.................................................................. 105 Gambar 1. 10 Contoh program yang salah pada DEV C++............................................. 106 Gambar 1. 9 Contoh program yang salah........................................................................ 106 Gambar 1. 11 Penjelasan kesalahan yang terjadi ........................................................... 107 Gambar 1. 12 Contoh program........................................................................................ 107 Gambar 1. 14 Menambahkan file header pada program ................................................. 108 Gambar 1. 13 Letak Kesalahan pada contoh program.................................................... 108 Gambar 1. 15 Pemilihan bahasa saat menginstal Dev C++ ............................................ 109 Gambar 1. 16 Memilih menu I Agree............................................................................... 110 Gambar 1. 17 Halaman choose components .................................................................. 110 Gambar 1. 19 Penginstalan Dev C++ selesai.................................................................. 111 Gambar 1. 18 Halaman pemilihan direktori penyimpanan software Dev C++.................. 111 Gambar 1. 20 Pemilihan bahasa Dev C++ ...................................................................... 112 Gambar 1. 21 Konfirmasi konfigurasi bahasa pemrograman C++................................... 112
LAB REKAYASA PERANGKAT LUNAK | TEKN8IK INFORMATIKA2 UNKHAIR xi xi LAPORAN PRAKTIKUM ALGORITMA DAN STRUKTUR DATA Gambar 1. 22 Tampilan user interface Dev C++ ............................................................. 113 Gambar 1. 23 Software Dev C++ .................................................................................... 113 Gambar 1. 24 Membuat program baru Dev C++ ............................................................. 114 Gambar 1. 25 Editor Dev C++ ......................................................................................... 114 Gambar 1. 26 Menjalankan program............................................................................... 115 Gambar 1. 27 Menyimpan file program. .......................................................................... 115 Gambar 1. 28 Hasil menjalankan program. ..................................................................... 116 Gambar 2. 1 Kesalahan penamaan variabel…………………………………………………121 Gambar 2. 2 Penamaan variabel dengan kata kunci....................................................... 122 Gambar 2. 3 Keterangan kesalahan................................................................................ 122 Gambar 2. 4 Jenis-jenis tipe data .................................................................................... 123 Gambar 2. 5 Deklarasi variabel ....................................................................................... 125 Gambar 2. 6 Deklarasi variabel ....................................................................................... 125 Gambar 2. 8 Perubahan nilai variabel ............................................................................. 127 Gambar 2. 7 Pemberian nilai variabel.............................................................................. 127 Gambar 2. 9 Progam menampilkan isi variabel ............................................................... 128 Gambar 2. 10 Menampilkan isi variabel........................................................................... 128 Gambar 2. 11 Konversi tipe data ..................................................................................... 129 Gambar 2. 12 Konversi tipe data ..................................................................................... 130 Gambar 2. 13 Konversi tipe data ..................................................................................... 130 Gambar 2. 14 Penulisan konstanta #define..................................................................... 132 Gambar 2. 15 Penulisan konstanta const ........................................................................ 133 Gambar 2. 16 flowchart menukar huruf ke nilai ............................................................... 134
LAB REKAYASA PERANGKAT LUNAK | TEKN8IK INFORMATIKA2 UNKHAIR xii xii LAPORAN PRAKTIKUM ALGORITMA DAN STRUKTUR DATA Gambar 2. 17 Hasil program menukar nilai ..................................................................... 135 Gambar 2. 18 Luas Persegi Panjang............................................................................... 136 Gambar 2. 19 Hasil program luas persegi panjang.......................................................... 138 Gambar 2. 20 Luas dan Keliling Lingkaran...................................................................... 139 Gambar 2. 21 Hasil program luas dan keliling lingkaran.................................................. 141 Gambar 2. 22 Volume dan Luas Alas kerucut ................................................................. 142 Gambar 2. 23 Hasil program luas alas dan volume kerucut ............................................ 144 Gambar 2. 24 Volume kubus ........................................................................................... 145 Gambar 2. 25 Hasil program volume kubus .................................................................... 146 Gambar 2. 26 Volume Tabung ........................................................................................ 147 Gambar 2. 27 Hasil program volume tabung ................................................................... 149 Gambar 3. 1 tampilandev C++ dancaramulaibuat program………………………………...154 Gambar 3. 2 contoh program........................................................................................... 157 Gambar 3. 3 contoh gambar............................................................................................ 157 Gambar 3. 4 flowchart menentukan bilang bulat atau ganjil ............................................ 158 Gambar 3. 5 contoh program........................................................................................... 160 Gambar 3. 6 Hasil program darimenetukanbilanganganjilataugenap .............................. 160 Gambar 3. 7 menentukan nilai terbesar dari dua bilangan .............................................. 161 Gambar 3. 8 Tampilan source code di DevC++............................................................... 163 Gambar 3. 9 Hasil dari source code diatas...................................................................... 164 Gambar 3. 10 program untuk mengkonversi angka ke huruf........................................... 165 Gambar 3. 11 Source code konversi angka ke huruf....................................................... 168 Gambar 3. 12 Hasil dari program konfersi ankga ke huruf. ............................................. 169
LAB REKAYASA PERANGKAT LUNAK | TEKN8IK INFORMATIKA2 UNKHAIR xiii xiii LAPORAN PRAKTIKUM ALGORITMA DAN STRUKTUR DATA Gambar 3. 13 hasil runnig source code diatas. ............................................................... 170 Gambar 3. 14 Tampilan Source code di DevC++ ............................................................ 170 Gambar 3. 15 Hasil source codediatas............................................................................ 171 Gambar 3. 16 Hasil menjalankan program. ..................................................................... 172 Gambar 3. 17 Hasil dari source code diatas.................................................................... 174 Gambar 3. 18 Hasil menjalankan dari program diatas..................................................... 174 Gambar 3. 19 source code diatas.................................................................................... 176 Gambar 3. 20 Hasil menajalankan program diatas.......................................................... 177 Gambar 3. 21 tampilan source code diatas ..................................................................... 178 Gambar 3. 22 Hasil menjalankan dari program diatas..................................................... 179 Gambar 4. 1 Penulisan deklarasi Array satu dimensi……………………………………….182 Gambar 4. 2 Ilustrasi Array Satu Dimensi........................................................................ 183 Gambar 4. 3 Contoh program menampilkan isi variabel array 1...................................... 184 Gambar 4. 4 Hasil contoh program menampilkan isi variabel array 1.............................. 184 Gambar 4. 5 Contoh program menampilkan isi variabel array 2...................................... 185 Gambar 4. 6 Hasil contoh program menampilkan isi variabel array 2.............................. 185 Gambar 4. 7 Contoh program menampilkan isi variabel array 3...................................... 186 Gambar 4. 8 Hasil contoh program menampilkan isi variabel array 3.............................. 186 Gambar 4. 9 Contoh program menampilkan isi variabel array 4...................................... 187 Gambar 4. 10 Hasil contoh program menampilkan isi variabel array 4............................ 187 Gambar 4. 11 Penulisan deklarasi array dua dimensi ..................................................... 188 Gambar 4. 12 Contoh program menampilkan isi variabel array 2.................................... 189 Gambar 4. 13 Contoh program menampilkan isi variabel array 2.................................... 190
LAB REKAYASA PERANGKAT LUNAK | TEKN8IK INFORMATIKA2 UNKHAIR xiv xiv LAPORAN PRAKTIKUM ALGORITMA DAN STRUKTUR DATA Gambar 4. 14 Contoh program menampilkan isi variabel array 3.................................... 191 Gambar 4. 15 Hasil contoh program menampilkan isi variabel array 3............................ 191 Gambar 4. 16 Program latihan 1 ..................................................................................... 193 Gambar 4. 17 Hasil program latihan 1 ............................................................................. 193 Gambar 4. 18 Program latihan 2 ..................................................................................... 195 Gambar 4. 19 Hasil program latihan 2 ............................................................................. 195 Gambar 4. 20 Flowchart program studi kasus 1 .............................................................. 196 Gambar 4. 21 Program studi kasus 1 .............................................................................. 199 Gambar 4. 22 Hasil program studi kasus 1...................................................................... 199 Gambar 4. 23 Flowchart program studi kasus 2 .............................................................. 200 Gambar 4. 24 Program studi kasus 2 .............................................................................. 202 Gambar 4. 25 Hasil program studi kasus 2...................................................................... 203 Gambar 4. 26 Flowchart program studi kasus 3 .............................................................. 203 Gambar 4. 27 Program studi kasus 3 .............................................................................. 206 Gambar 4. 28 Hasil program studi kasus 3...................................................................... 206 Gambar 4. 29 Hasil program studi kasus 3...................................................................... 206 Gambar 4. 30 Flowchart program studi kasus 4 .............................................................. 207 Gambar 4. 31 Program studi kasus 4 .............................................................................. 209 Gambar 4. 32 Hasil program studi kasus 4...................................................................... 209 Gambar 5. 1 tampilan dev C++ dan cara mulai buat program…………...…………………216 Gambar 5. 2Flowchart pointer konstanta......................................................................... 217 Gambar 5. 3 contoh program pointer konstanta .............................................................. 219 Gambar 5. 4 hasil compile program pointer konstanta .................................................... 219
LAB REKAYASA PERANGKAT LUNAK | TEKN8IK INFORMATIKA2 UNKHAIR xv xv LAPORAN PRAKTIKUM ALGORITMA DAN STRUKTUR DATA Gambar 5. 5 Flowchart pointer variabel........................................................................... 220 Gambar 5. 6 program pointer variabel............................................................................. 222 Gambar 5. 7 hasil compile pointer variable...................................................................... 222 Gambar 5. 8 Flowchart program aritmatika ..................................................................... 223 Gambar 5. 9 program operasi pointer aritmatika ............................................................. 225 Gambar 5. 10 hasil compile pointer aritmatika................................................................. 225 Gambar 5. 11 flowchart pointer dalam array.................................................................... 226 Gambar 5. 12 program pointer dalam array..................................................................... 228 Gambar 5. 13 hasil compile pointer dalam array ............................................................. 228 Gambar 6. 1 Struktur code latihan C++……………………………………………………….236 Gambar 6. 2 Lanjutan struktur code latihan C++ ............................................................. 237 Gambar 6. 3 Lanjutan struktur code latihan C++ ............................................................. 237 Gambar 6. 4 Lanjutan struktur code latihan C++ ............................................................. 238 Gambar 6. 5 Hasil running............................................................................................... 238 Gambar 6. 67 Hasil running............................................................................................. 239 Gambar 6. 8 Hasil running............................................................................................... 239 Gambar 6. 9 Gambar 6. 10 flowchart program stack ....................................................... 240 Gambar 6. 11 Struktur pemograman ............................................................................... 245 Gambar 6. 12 Lanjutan Struktur pemograman ................................................................ 246 Gambar 6. 13 Lanjutan Struktur pemograman ................................................................ 246 Gambar 6. 14 Lanjutan Struktur pemograman ................................................................ 247 Gambar 6. 15 Hasil running............................................................................................. 248 Gambar 6. 16 flowchart program stack............................................................................ 249
LAB REKAYASA PERANGKAT LUNAK | TEKN8IK INFORMATIKA2 UNKHAIR xvi xvi LAPORAN PRAKTIKUM ALGORITMA DAN STRUKTUR DATA Gambar 6. 17 Struktur pemograman ............................................................................... 256 Gambar 6. 18 Struktur pemograman ............................................................................... 256 Gambar 6. 19 Hasil running............................................................................................. 257 Gambar 6. 20 Hasil running............................................................................................. 257 Gambar 7. 1 Tampilan source code diatas diDevC++ 1 (bagian 1)……………….……….310 Gambar 7. 2 Tampilan source code diatas diDevC++ 1 (bagian 2) ................................. 311 Gambar 7. 3 Tampilan source code diatas diDevC++ 1 (bagian 3) ................................. 311 Gambar 7. 4 Tampilan source code diatas diDevC++ 1 (bagian 4) ................................. 312 Gambar 7. 5 Tampilan source code diatas diDevC++ 1 (bagian 5) ................................. 312 Gambar 7. 6 flowchart contoh soal queue 1 .................................................................... 313 Gambar 7. 7 program queue 1 (1) ................................................................................... 318 Gambar 7. 8 program queue 1 (2) ................................................................................... 319 Gambar 7. 9 program queue 1 (3) ................................................................................... 319 Gambar 7. 10 hasil running program queue 1 (1)............................................................ 320 Gambar 7. 11 flowchart contoh soal queue 2 .................................................................. 321 Gambar 7. 12 program queue 2 (1) ................................................................................. 327 Gambar 7. 13program queue 2 (2) .................................................................................. 328 Gambar 7. 14 program queue 2 (3) ................................................................................. 329 Gambar 7. 15 hasil running program queue 2 (1)............................................................ 330 Gambar 7. 16 hasil running program queue 2 (2)............................................................ 330
LAB REKAYASA PERANGKAT LUNAK | TEKN8IK INFORMATIKA2 UNKHAIR xvii xvii LAPORAN PRAKTIKUM ALGORITMA DAN STRUKTUR DATA DAFTAR TABEL Tabel 1. 1 simbol flowchart .................................................................................................. 7 Tabel 1. 2 Notasi Pseudocode............................................................................................. 8 Tabel 2. 1 Contoh penamaan variabela……………………………………………………….120 Tabel 2. 2 Kata kunci....................................................................................................... 122 Tabel 2. 3 Integer ............................................................................................................ 123 Tabel 2. 4 Real/float......................................................................................................... 124 Tabel 2. 5 Boolean .......................................................................................................... 124 Tabel 2. 6 Character........................................................................................................ 124
BAB I ALGORITMA DAN STRUKTUR DATA, STRUKTUR DASAR C++, DAN CONTOH DASAR C++. OLEH Susilo Bambang Yudhoyono A.Yamani 07352211039 PROGRAM STUDI INFORMATIKA FAKULTAS TEKNIK UNIVERSITASKHAIRUN TERNATE 2023
LAB REKAYASA PERANGKAT LUNAK | TEKN8IK INFORMATIKA2 UNKHAIR 2 2 LAPORAN PRAKTIKUM ALGORITMA DAN STRUKTUR DATA BAB I ALGORITMA DAN STURUKTUR DATA, STRUKTUR DASAR C++ DAN CONTOH DASAR C++ 1.1 Algoritma dan Struktur Data 1.1.1 Sejarah algoritma Algoritma berasal dari algoris dan dan ritmis pertama kali diungkapkan oleh Abu Jafar Mohammed bin Musa Al-Kowalizmi (825M) dalam bukunya Al-Jabr wa Al-Mukhobra. Algoritma adalah susunan langkah-langkah yang sistematis dan logis untuk memecahkan masalah.Dalam pemrograman, algoritma berarti metode yang tepat dan spesifik yang terdiri dari serangkaian langkah yang ditulis secara terstruktur dan sistematis untuk memecahkan masalah dengan bantuan komputer.Logika kata adalah kunci dan persyaratan utama dari algoritma.Langkah-langkah yang ditempatkan dalam algoritma harus (bermakna) dan dibenarkan oleh pikiran manusia.Hasil algoritma harus dinilai benar atau salah.Prosedur yang salah menyebabkan hasil yang salah.Algoritma merupakan pusat ilmu komputer atau ilmu komputer.Program adalah perwujudan atau implementasi dari suatu algoritma.Program ditulis dalam salah satu bahasa pemrograman. Proses penulisan program disebut pemrograman.Contoh algoritma: Menukarkan isi 3 buah gelas, dimana gelas A berisi cairan biru, gelas B berisi cairan merah, dan gelas C adalah gelas kosong. Maka, untuk menyelesaikan permasalahan tersebut dapat dilakukan beberapa cara. Misalnya: Cara1:
LAB REKAYASA PERANGKAT LUNAK | TEKN8IK INFORMATIKA2 UNKHAIR 3 3 LAPORAN PRAKTIKUM ALGORITMA DAN STRUKTUR DATA a. Tuangkan isi gelas A ke gelas B b. Tuangkan isi gelas B ke gelas A Cara2: a. Tuangkan isi gelas A ke gelas C b. Tuangkan isi gelas B ke gelas A c. Tuangkan isi gelas C ke gelas B dari jawaban kedua algoritma diatas, dapat di analisis: a. Algoritma 1 tidak salah, akan tetapi tidak memberikan penyelesaian yang tepat dan tidak menghasilkan pertukaran yang benar. Karena cairan pada kedua gelas bisa saja tercampur. b. Jawaban pada algoritma 2 sudah tepat dengan menggunakan bantuan sebuah gelas C, maka kedua isi gelas dapat ditukarkan tanpa tercampur. 1.1.2 Cara penyajian algoritma Secara umum algoritma disusun untuk menggambarkan langkah-langkah penyelesaian suatu msalah.Dalam membuat suatu algoritma harus memenuhi syarat, terstruktur, masuk akal dan dituliskan secara sistematis, untuk menyelesaikan suatu masalah dengan bantuan komputer. Ada 3 cara dalam menyusun algoritma yaitu: Dengan merumuskan langkah-langkah pemecahan masalah melalui kalimat yang terstruktur (tersusun secara logis)
LAB REKAYASA PERANGKAT LUNAK | TEKN8IK INFORMATIKA2 UNKHAIR 4 4 LAPORAN PRAKTIKUM ALGORITMA DAN STRUKTUR DATA a. Menggabungkan kalimat dengan penggalan statements yang ada di suatu bahasa pemrograman (misalkan C++) Biasanya disebut Pseudo code (mirip kode/printah pemrograman) b. Menggunakan diagram alir (Flowchart). 1.1.3 Metode penyusunan Algoritma Deskriptif Algoritma dengan kalimat deskriptif dilakukan dengan cara menuliskan instruksiinstruksi yang harus dilaksanakan dalam bentuk untaian kalimat deskriptif dengan bahasa yang jelas. Namun, agar notasi algoritma mudah ditranslasi ke dalam notasi bahasa pemrograman, maka sebaiknya notasi algoritma tersebut berkoresponden dengan notasi bahasa pemrograman umumnya.Kata kerja adalah jenis kata yang biasa digunakan dalam penulisan bahasa deskriptif, contoh tulis, baca hitung, tampilkan, ulangi, bandingkan dll.Notasi jenis ini cocok untuk algoritma yang pendek.Tapi untuk masalah algoritma yang panjang, notasi ini kurang efektif. Pada dasarnya teks algoritma dengan bahasa deskriptif disusun oleh tiga bagian utama yaitu: a. Bagian judul (Header) b. Bagian deklarasi (kamus/ menyimpan nilai pada variabel) c. Bagian deskripsi Disarankan setiap bagian disertai dengan komentar untuk memperjelas maksud teks yang dituliskan. Komentar adalah kalimat yang diapit pasangan tanda kurung kurawal (‘{ ‘}’).Salah satu contoh sederhana adalah algoritma untuk menentukan bilangan mana yang lebih besar dari input dua buah bilangan. Jadi diberikan input dua buah bilangan dari
LAB REKAYASA PERANGKAT LUNAK | TEKN8IK INFORMATIKA2 UNKHAIR 5 5 LAPORAN PRAKTIKUM ALGORITMA DAN STRUKTUR DATA user, dan program akan secara otomatis menentukan dan memberikan output bilangan mana yang lebih besar. Maka penyelesaian yang bisa dibuat adalah: a. Inisialisasi b. Input dua buah bilangan, masukan masing-masing dalam variabel, misalkan bil_1 dan bil_2. c. Apakah bil_1 lebih besar dari bil_2? a. Jika Ya, maka bil_1 adalah bilangan yang lebih besar dari bil_2. b. Jika Tidak, maka pasti bahwa bil_2 adalah bilangan yang lebih besar dari bil_1. d. Tampilkan bilangan terbesar (nilai dari bil_1, atau nilai dari bil_2). e. Selesai 1.1.4 Metode penyusunan Algoritma Flowchart Flowchart merupakan repesentasi secara diagram dari urutan langkah-langkah untuk mendapatkan suatu hasil. Urutan langkah-langkah ini dilakukan dengan menggambarkan tahap-tahap pemecahan masalah dengan merepresentasikan simbolsimbol tertentu yang mudah di mengerti, mudah digunakan dan standar. Tabel simbol-simbol flowchart: Tabel 2.1 Simbol flowchart Program Simbol Penjelasan Simbol Terminal, simbol yang digunakan untuk menyatakan awal (Start/mulai) atau akhir (end/selesai) suatu program.
LAB REKAYASA PERANGKAT LUNAK | TEKN8IK INFORMATIKA2 UNKHAIR 6 6 LAPORAN PRAKTIKUM ALGORITMA DAN STRUKTUR DATA Simbol Input/Output, untuk menunjukan operasi masukan atau keluaran. Simbol proses, untuk mengambarkan proses pengolahan data. Simbol kondisi atau keputusan/decision, untuk menyatakan suatu pilihan berdasarkan suatu kondisi tertentu. Simbol deklarasi atau persiapan/preperation, digunakan untuk memberikan nilai awal pada suatu variabel atau pencahan. Simbol proses terdefenisi (predefined process), digunakan untuk proses yang detilnya dijelaskan terpisah, misal dalam bentuk subrountine. Simbol penghubung ke halaman lain, untuk menghubungkan bagian diagram alir pada halaman yang berbeda. Simbol penghubung ke halaman yang sama, untuk menghubungkan bagian diagram alir pada halaman yang sama.
LAB REKAYASA PERANGKAT LUNAK | TEKN8IK INFORMATIKA2 UNKHAIR 7 7 LAPORAN PRAKTIKUM ALGORITMA DAN STRUKTUR DATA Simbol arah aliran/penghubung (connector) digunakan untuk menunjukkan arah aliran proses. Tabel 1. 1 simbol flowchart 1.1.5 Metode penyusunan Algoritma Pseudo-Code Pseudo artinya semu atau tidak sebenarnya. Pseudo-code berisikan langkahlangkah untuk menyelesaikan suatu permasalahan (hampir sama dengan algoritma), hanya saja bentuknya sedikit berbeda dari algoritma. Pseudocode menggunakan bahasa yang hampir menyerupai bahasa pemrograman.Selain itu biasanya menggunakan bahasa yang mudah dipahami secara universal dan juga lebih ringkas dari pada algoritma. Dalam penulisan pseudocode disarankan untuk menggunakan keyword umum digunakan dalam bahasa pemrograman, seperti: if, then, else, while, do , repeat, for, dan lainnya. Beberapa yang perlu diperhatikan dalam penulisan pseudocode: a. Tulisan secara spesifik dan konsisten b. Gunakan indentasi c. Buat dengan sederhana Berikut tabel penjelasan mengenai penyusunan pseudocode: Notasi Fungsi Input Digunakan untuk menunjukan proses masukan suatu isi pada variabel.
LAB REKAYASA PERANGKAT LUNAK | TEKN8IK INFORMATIKA2 UNKHAIR 8 8 LAPORAN PRAKTIKUM ALGORITMA DAN STRUKTUR DATA Output Digunakan untuk menunjukkan proses keluaran yang diinginkan ataupun yang terjadi. While Digunakan untuk sebuah perulangan yang memiliki iterasi awal. For Digunakan untuk sebuah perulangan yang memiliki perhitungan iterasi. Repeat – Until Digunakan untuk sebuah perulangan yang memiliki kondisi akhir. If – Then – Else Digunakan untuk mengambil sebuah keputusan dari beberapa kondisi. 1.2 Mengenal Algoritma dan Struktur Data Istilah struktur data dan algoritma biasa hadir tidak terpisahkan.Jika kita membicarakan struktur data maka kita juga membicarakan algoritma.Struktur data adalah pengaturan data di dalam memori komputer atau terkadang didalam disk dengan tujuan agar data dapat diakses secara efesien. Contoh yang termasuk dalam struktur data antara lain senarai berantai, antrian tumpukan, dan pohon biner.Adapun yang dimaksud dengan alogritma yaitu suatu langkah atau prosesdur yang ditunjukan untuk manipulasi data.Sebagai contoh, algoritma diperlukan untuk memasukkan data ke dalam suatu struktur data atau untuk mencari suatu data yang tersimpan dalam struktur data. Tabel 1. 2 Notasi Pseudocode
LAB REKAYASA PERANGKAT LUNAK | TEKN8IK INFORMATIKA2 UNKHAIR 9 9 LAPORAN PRAKTIKUM ALGORITMA DAN STRUKTUR DATA Gambar 1. 1 Struktur Data dan Algoritma Algoritma sendiri mempunyai tiga struktur dasar, yaitu berupa: a. Skuensial, b. Seleksi, dan c. Pengulangan. Struktur sekuensial menyatakan langkah-langkah yang berurutan.Urutan dalam langkah menentukan urutan skuensial. Sebagai contoh, berikut algoritma untuk menukar isi A dan isi B: X ← A A ← B B ← X Algoritma di atas menyatakan langkah urutan seperti berikut: 1. X diisi dengan isi A
LAB REKAYASA PERANGKAT LUNAK | TEKN8IK INFORMATIKA2 UNKHAIR 10 10 LAPORAN PRAKTIKUM ALGORITMA DAN STRUKTUR DATA 2. A diisi dengan isi B 3. B diisi dengan isi X Pada contoh di atas, bila urutan diubah, hasilnya tidak akan berupa penukaran isi A dan isi B. Algoritma tidak bergantung pada bahasa pemrograman. Bila algoritma di depan dikonversikan ke C++ Pernyataan-pernyataannya berupa: X = A; A = B; C = X; Struktur yang kedua yaitu seleksi.Kegunaannya untuk memilik tindahkan didasarkan oleh suatu kondisi. Misalnya, suatu nilai A dan nilai B akan dipertukarkan hanya kalau memenuhi A > B (baca: A lebih besar daripada B). Hal itu dinyatakan dengan IF seperti berikut IF A > B X < A A < B B < X END-IF Pada contoh di atas, X < A A < B
LAB REKAYASA PERANGKAT LUNAK | TEKN8IK INFORMATIKA2 UNKHAIR 11 11 LAPORAN PRAKTIKUM ALGORITMA DAN STRUKTUR DATA B < X Hanya diproses kalau A > B bernilai benar, Algoritma di atas bisa dibaca sebagai “tukarkan A dan B kalau A > B”.kalau A tidak lebih besar daripada B, penukaran isi A dan B tidak akan terjadi. Kalau dinyatakan dalam pernyataan C++, algoritma di depan perlu ditulis menjadi: If (a > b) { x := a; a := b; b := x; } Apablia ada dua jenis tindakan berbeda yang perlu dipilih untuk diproses, struktur seleksi melibatkan ELSE. Contoh: IF Pembelian > 100000 Diskon < 10% x Pembelian ELSE Diskon < 0 END-IF Pada bentuk seperti di atas salah satu dari dua tindakan: Diskon < 10% x Pembelian Atau Diskon < 0
LAB REKAYASA PERANGKAT LUNAK | TEKN8IK INFORMATIKA2 UNKHAIR 12 12 LAPORAN PRAKTIKUM ALGORITMA DAN STRUKTUR DATA Dijalankan (hanya salah satu) tergantung pada kondisi pembelian > 100000 bernilai benar atau salah.Kalau kondisi tersebut benar, diskon < 10% x Pembelian dijalankan, tetapi kalau kondisi tersebut bernilai salah, diskon < 0 yang dijalankan. Contoh yang melibatkan ELSE di atas kalau ditulis pada C++ akan berupa: If (pembeli > 100000) Diskon = 0.1 * pembelian; Else Diskon = 0; Struktur ketiga berupa pengulangan.Kegunaannya adalah untuk mengulang suatu tindakan berapa kali.Bentuk pertama pengulangan berupa FOR. Contoh: Jumlah< 0 FOR index < 1 To N Jum < Jumlah + index END-FOR Algoritma di atas menyatakan cara untuk menghitung 1+2+3..+N. index pada FOR akan bernilai 1, 2, 3, 4, hingga N untuk setiap iterasi. Sebuah iterasi menyatakan sebuah proses dalam pengulangan. -Iterasi 1: Index bernilai 1 dan Jumlah bernilai 1 -Iterasi 2:
LAB REKAYASA PERANGKAT LUNAK | TEKN8IK INFORMATIKA2 UNKHAIR 13 13 LAPORAN PRAKTIKUM ALGORITMA DAN STRUKTUR DATA Index bernilai 2 dan Jumlah bernilai 3 -Iterasi 3: Index bernilai 3 dan Jumlah bernilai 6 -Iterasi 4: Index bernilai 4 dan Jumlah berniai 10 1.2.1 Pengertian Struktur Data Dalam bahasa sederhana, Struktur Data adalah struktur yang diprogram untuk menyimpan data yang dipesan, sehingga berbagai operasi dapat dilakukan dengan mudah. Ini mewakili pengetahuan tentang data yang akan diatur dalam memori. Ini harus dirancang dan diimplementasikan sedemikian rupa sehingga mengurangi kompleksitas dan meningkatkan efisiensi. 1.2.2 Tipe Dasar Struktur Data Seperti yang telah kita bahas di atas, segala sesuatu yang dapat menyimpan data dapat disebut struktur data, maka Integer, Float, Boolean, Char dll, semuanya adalah struktur data.Mereka dikenal sebagai Struktur Data Primitif. Kemudian kami juga memiliki beberapa Struktur Data yang kompleks, yang digunakan untuk menyimpan data yang besar dan terhubung. Beberapa contoh Struktur Data Abstrak adalah : a. Linked List b. Tree
LAB REKAYASA PERANGKAT LUNAK | TEKN8IK INFORMATIKA2 UNKHAIR 14 14 LAPORAN PRAKTIKUM ALGORITMA DAN STRUKTUR DATA c. Graph d. Stack e. Queue Semua struktur data ini memungkinkan kita untuk melakukan operasi yang berbeda pada data.Kami memilih struktur data ini berdasarkan jenis operasi yang diperlukan. Kita akan melihat struktur data ini secara lebih rinci dalam pelajaran kita selanjutnya. Struktur data juga dapat diklasifikasikan berdasarkan karakteristik berikut: Karakteristik Deskripsi Linear Dalam struktur data Linear, item data disusun dalam urutan linier. Contoh: Array Non-Linear Dalam struktur data Non-Linear, item data tidak berurutan. Contoh: Pohon, Grafik Homogen Dalam struktur data homogen, semua elemen bertipe sama. Contoh: Array NonHomogen Dalam struktur data Non-Homogen, elemen mungkin bertipe sama atau tidak. Contoh:
LAB REKAYASA PERANGKAT LUNAK | TEKN8IK INFORMATIKA2 UNKHAIR 15 15 LAPORAN PRAKTIKUM ALGORITMA DAN STRUKTUR DATA Struktur Statis data statis adalah struktur yang ukuran dan strukturnya terkait lokasi memori tetap, pada waktu kompilasi. Contoh: Array Dinamis Struktur dinamis adalah yang mengembang atau mengecil tergantung pada kebutuhan program dan eksekusinya. Juga, lokasi memori terkaitnya berubah. Contoh: Daftar Tertaut dibuat menggunakan pointer
1.3 Sejarah Bahasa C++ Tahun 1978 Brian W. kerninghan & dennis M. Ritchie dari AT & T Laboratories Mengembangkan bahasa B menjadi bahasa C.Bahasa B yang diciptakan oleh ken Thompson sebenarnya merupakan pengembangan dari bahasa BCPL (basic programing language) yang diciptakan oleh martin Richard sejak tahun 1980, bahasa C banyak digunakan pemrogram di eropa yang sebelumnya menggunakan bahasa B dan BCPL. Dalam perkembangannya, bahasa C menjadu bahasa paling popular diantara bahasa lainnya, seperti PASCAL, BASIC, FORTRAN. Tahun 1989, dunia pemrograman C mengalami peristiwa penting dengan dikeluarkannya standard bahasa C oleh American National standards institude (ANSI).Bahasa C yang diciptakan kerninghan & Ritchie kemudian dikenal dengan nama ANSI C. pada tahun. Mulai awal tahun 1980, bjarne Striustrup dari AT&T Bell Laboratories mulai mengembangkan bahasa C. pada tahun 1985, lahirlah secara resmi bahasa baru hasil pengembangan C yang dikenal dengan nama C++. Sebenarnya bahasa C++ mengalami dua tahap evolusi. Yang pertama, dirilis, oleh AT&T Labolatories, dinamakan cfront .C++ versi kuno ini hanya berupa compiler yang menerjemahkan bahasa C++ menjadi bahasa C pada evolusi selanjutnya Borland international inc mengembangkan kompiler Menjadi sebuah compiler yang mampu mengubah C++ langsung menjadi bahasa mesin (assembly). Sejak evolusi ini, mulai, tahun 1990 C++ menjadi bahasa berorientasi objek yang digunakan oleh sebagian besar pemrogram professional. 1.3.1 Mengenal editor Bahasa C++ Apapun bahasa pemrograman yang digunakan untuk menulis perintah/instruksi
LAB REKAYASA PERANGKAT LUNAK | TEKN8IK INFORMATIKA2 UNKHAIR 101 101 LAPORAN PRAKTIKUM ALGORITMA DAN STRUKTUR DATA Diperlukan tempat untuk mengetikan perintah tersebut. Tempat yang digunakan untuk menulis perintah ini sering disebut dengan editor. Agar pembuatan program C++ menjadi mudah, dalam buku ini, editor yang digunakan adalah turbo C++. Tidak ada keharusan menggunakan editor turbo C++, masih ada beberapa editor yang masih dapat digunakan,diantaranya Borland C++, GCC( untuk pengguna linux).dengan menggunakan editor ini, proses pengetikan perintah C++, proses kompilasi dan proses untuk melihat hasilnya cukup menggunakan editor ini. Jadi dengan editor ini proses pembuatan program adalah: 1. Buat program 2. Lakukan kompilasi 3. Proses kompilasi Program akan jalan jika tidak ada kesalahan mengetikProses kompilasi akan berhasil jika sususnan program yang diketik tidak mengandung kesalahan sintak (kesalahan aturan dalam tata tulis pemrograman). Jalankan program / e Gambar 1. 2 proses kompilasi
LAB REKAYASA PERANGKAT LUNAK | TEKN8IK INFORMATIKA2 UNKHAIR 102 102 LAPORAN PRAKTIKUM ALGORITMA DAN STRUKTUR DATA 1.3.2 Proses instalasi C++ Agar bisa menggunakan C++,instal C++ dan untuk memulai bekerja buka dan jalankan turbo C++. Hasil awal,akan tampil editor seperti dibawah ini: Aplikasi Dev C++ merupakan aplikasi gratis untuk bahasa pemrograman C dan C++ dibawah lisensi General Public License (GNU). Bagi pemula aplikasi ini sangat mudah digunakan interface yang sederhana membuat pengembang dengan mudah membuat, meng-kompile dan menjalankan program dalam satu aplikasi sekaligus tanpa perlu menginstal library atau plugin tersendiri, karena sudah dilengkapi dengan DM GCC Compiler yang merupakan bagian dari GNU Compiler Collection (GCC). Beberapa fungsi dari pre processor diantaranya adalah macro processing dan file inclusion. Pada awalnya program yang dibuat oleh programmer akan diolah oleh preprocessor dan hasilnya akan dibaca oleh compiler untuk dihasilkan ke target program. Jika target program yang dibuat adalah Assembly language, maka proses berikutnya adalah assembler yang akan bertugas untuk membaca file assembly tersebut dan mengubahnya ke dalam bentuk relocatable machine code Gambar 1. 3 DEV C++ Tempat untuk mengetikkan program C++
LAB REKAYASA PERANGKAT LUNAK | TEKN8IK INFORMATIKA2 UNKHAIR 103 103 LAPORAN PRAKTIKUM ALGORITMA DAN STRUKTUR DATA Selanjutnya pada menu file digunakan untuk proses menyimpan, mengambil file, membuka file dari direktori penyimpanan, dan lainnya. Gambar 1. 4 Menu file pada DEV C++ Kemudian pada menu edit biasanya digunakan untuk proses menyalin, memotong teks dan lainnya. Yaitu sebagai berikut. Gambar 1. 5 Menu edit pada Turbo C++ Menu ini digunakan untuk proses menyimpan, mengambil file dan sebagainya. Menu ini digunakan untuk proses menyalin, memotong teks dan lainnya.
LAB REKAYASA PERANGKAT LUNAK | TEKN8IK INFORMATIKA2 UNKHAIR 104 104 LAPORAN PRAKTIKUM ALGORITMA DAN STRUKTUR DATA Menu selanjutnya menu project, pada menu ini digunakan untuk proses kompilasi, membuat project baru, membuka project dari direktori penyimpanan, dan lainnya. Gambar 1. 6 Menu project pada Turbo C++ 1.3.3 Membuat program C++ Setiap bahasa (tidak hanya bahasa manusia) pasti mempunyai aturan-aturan yang spesifik. Demikian juga bahasa C++, juga mempunyai aturan-aturan.Aturan ini harus benar-benar diperhatikan,salah penulisan, missal hanya kurang koma / titik koma akan proses kompilasi gagal dan program tidak bisadijalankan. Gambar 1.13 program yang akan diketik Ketikan program di atas di editor C++ Manu ini digunakan untuk proses complete, run dan lainnya. Gambar 1. 7 Contoh program
LAB REKAYASA PERANGKAT LUNAK | TEKN8IK INFORMATIKA2 UNKHAIR 105 105 LAPORAN PRAKTIKUM ALGORITMA DAN STRUKTUR DATA Contoh program pada gambar di atas di ketikkan pada editor Turbo C++.Kemudian untuk langkah selanjutnya mengecek apakah ada kesalahan pada perintah yang dituliskan. Gambar 1. 8 Contoh program pada Dev C++ 1.3.4 Memahami kesalahan aturan sintaks pada bahasa C Pengertian aturan sintak itu sendiri adalah sekumpulan aturan-aturan yang harus dipatuhi saat mengetikkan program. Aturan-aturan sederhana yang perlu diperhatikan diantaranya: 1. Bahasa C++ membedakan antara huruf besar dengan huruf kecil. 2. Setiap akhir perintah diakhiri dengan tanda titik koma (;). Untuk lebih memahami kesalahan pada sintak, terdapat program pada contoh gambar di bawah.
LAB REKAYASA PERANGKAT LUNAK | TEKN8IK INFORMATIKA2 UNKHAIR 106 106 LAPORAN PRAKTIKUM ALGORITMA DAN STRUKTUR DATA Hasil dari program di atas akan muncul halaman yang menampilkan terjadi kesalahan pada program. Gambar 1. 10 Contoh program yang salah pada DEV C++ Kenapa program pada gambar di atas terjadi kesalahan, hal ini disebabkan ada kekurangan dalam penulisan cout<<”selamat datang” di C++ kurang tanda titik koma (;). Letak kesalahan ini akan ditunjukan Bahasa C++ dengan menginformasikan letak baris yang terjadi kesalahan serta penjelasan kenapa terjadi kesalahan. Jadi, Agar tidak bingung saat terjadi kesalahan, lihat pesan kesalahan dan konsentrasi pada baris kesalahan dan lakukan perbaikan. Proses compile dan run yang gagal Gambar 1. 9 Contoh program yang salah
LAB REKAYASA PERANGKAT LUNAK | TEKN8IK INFORMATIKA2 UNKHAIR 107 107 LAPORAN PRAKTIKUM ALGORITMA DAN STRUKTUR DATA Gambar 1. 11 Penjelasan kesalahan yang terjadi Seiring dengan bertambahnya materi yang dipelajari, kemungkinan muncul kesalahan juga makin kompleks, untuk itu benar-benar diperhatikan aturan penulisan/sintak setiap perintah. 1.4 Contoh Dasar C++ Perhatikan program pada gambar di bawah ini.Pada program di bawah terdapat fungsi main yang berisi perintah cout untuk menampilkan kata “Selamat datang”. Gambar 1. 12 Contoh program
LAB REKAYASA PERANGKAT LUNAK | TEKN8IK INFORMATIKA2 UNKHAIR 108 108 LAPORAN PRAKTIKUM ALGORITMA DAN STRUKTUR DATA 1.4.1 Penjelasan 1. Program di atas terjadi kesalahan, karena perintah cout belum dicantumkan file header iostream. 2. Tambahkan file header iostream dalam program tersebut. Gambar 1. 14 Menambahkan file header pada program Gambar 1. 13 Letak Kesalahan pada contoh program
LAB REKAYASA PERANGKAT LUNAK | TEKN8IK INFORMATIKA2 UNKHAIR 109 109 LAPORAN PRAKTIKUM ALGORITMA DAN STRUKTUR DATA 3. Hasil kompilasi akan menghasilkan file exe, cari file tersebut disimpan. 4. Jalankan file exe tersebut tanpa melalui editor C++, langsung dari folder. 5. Bila diinginkan melakukan modifikasi, bisakah hal tersebut dilakukan. 6. Buka kembali file teks yang ada di editor C++, lakukan modifikasi, bisakah hal tersebut dilakukan. 1.4.2 Latihan 1. Install bahasa C++ di komputer. 2. Jalankan semua program di atas, pahami dan pelajari aturan bahasa C++. 1.4.3 Install Bahasa C++ 1. Double klik installer DEV C++ yang telah di download. 2. Pilih bahasa English, Kemudian klik Ok. Gambar 1. 15 Pemilihan bahasa saat menginstal Dev C++
LAB REKAYASA PERANGKAT LUNAK | TEKN8IK INFORMATIKA2 UNKHAIR 110 110 LAPORAN PRAKTIKUM ALGORITMA DAN STRUKTUR DATA 3. Masuk ke menu selanjutnya, tinggal Klik I Agree seperti digambar berikut. Gambar 1. 16 Memilih menu I Agree 4. Lalu, untuk choose components, pilih saja Full, Kemudian Next. Gambar 1. 17 Halaman choose components
LAB REKAYASA PERANGKAT LUNAK | TEKN8IK INFORMATIKA2 UNKHAIR 111 111 LAPORAN PRAKTIKUM ALGORITMA DAN STRUKTUR DATA 5. Untuk direktori,bebas ingin meletakkan dimana. Lalu pilih Install. 6. Sampai disini, Instalasi Untuk Dev C++ Selesai. Gambar 1. 19 Penginstalan Dev C++ selesai Gambar 1. 18 Halaman pemilihan direktori penyimpanan software Dev C++
LAB REKAYASA PERANGKAT LUNAK | TEKN8IK INFORMATIKA2 UNKHAIR 112 112 LAPORAN PRAKTIKUM ALGORITMA DAN STRUKTUR DATA 7. Langkah selanjutnya adalah pemilihan bahasa. Silahkan dipilih bahasa English kemudian Next. Gambar 1. 20 Pemilihan bahasa Dev C++ 8. Akan ada konfirmasi konfigurasi bahasa pemrograman C++. Tinggal klik OK. Gambar 1. 21 Konfirmasi konfigurasi bahasa pemrograman C++
LAB REKAYASA PERANGKAT LUNAK | TEKN8IK INFORMATIKA2 UNKHAIR 113 113 LAPORAN PRAKTIKUM ALGORITMA DAN STRUKTUR DATA 9. Maka tampilan user interface aplikasi Dev C++ sudah dapat digunakan bagi seorang programmer. Gambar 1. 22 Tampilan user interface Dev C++ 1.4.4 Membuat Program 1. Buka software Dev C++. Gambar 1. 23 Software Dev C++
LAB REKAYASA PERANGKAT LUNAK | TEKN8IK INFORMATIKA2 UNKHAIR 114 114 LAPORAN PRAKTIKUM ALGORITMA DAN STRUKTUR DATA 2. Akan tampil halaman awal Dev C++. Kemudian, buat program baru dengan mengklik ikon seperti gambar di bawah atau menekan tombol CTRL + N. Gambar 1. 24 Membuat program baru Dev C++ 3. Setelah itu, akan tampil halaman untuk mengetikkan program. Ketik program yang ingin dibuat. Gambar 1. 25 Editor Dev C++
LAB REKAYASA PERANGKAT LUNAK | TEKN8IK INFORMATIKA2 UNKHAIR 115 115 LAPORAN PRAKTIKUM ALGORITMA DAN STRUKTUR DATA 4. Setelah selesai mengetikkan program, jalankan program dengan mengklik ikon seperti pada gambar di bawah atau menekan tombol F11. Gambar 1. 26 Menjalankan program 5. Selanjutnya akan tampil halaman untuk meng-save program, kemudian klik save Gambar 1. 27 Menyimpan file program.
LAB REKAYASA PERANGKAT LUNAK | TEKN8IK INFORMATIKA2 UNKHAIR 116 116 LAPORAN PRAKTIKUM ALGORITMA DAN STRUKTUR DATA 6. Terakhir, akan tampil jendela cmd. Selamat program telah berjal Gambar 1. 28 Hasil menjalankan program. 1.5 Kesimpulan dan Saran 1.5.1 Kesimpulan C++ merupakan Bahasa pemrograman yang banyak digunakan dan memungkinkan kita untuk meng execute dan mengkompilasi kode yang ramping dan efisien sambal tetap memberikan abstraksi tingkat tinggi untuk mengelola proyek pengembangan besar dengan lebih baik beberapa keunggulan lainnya adalah: Berorientasi pada objek, cepat, kuat dan bisa diandalkan, portabilitas yang baik dan masih banyak lagi. 1.5.2 Saran Diperlukan ketelitian dalam penulisan ataupun pengetikkan ejaan pada source kode dengan memperhatikan tata cara dan struktur penulisannya agar Ketika melakukan proses running nanti tidak terdapat erorr.