PRAKTIKUM ALGORITMA DAN STRUKTUR DATA LAB REKAYASA PERANGKAT LUNAK | TEKNIK INFORMATIKA UNKHAIR 1 LAPORAN PRAKTIKUM PRAKTIKUM ALGORITMA DAN STRUKTUR DATA OLEH Gibran Hayder Achwan 07352211026 PROGRAM STUDI TEKNIK INFORMATIKA FAKULTAS TEKNIK UNIVERSITAS KHAIRUN TERNATE 2023
PRAKTIKUM ALGORITMA DAN STRUKTUR DATA LAB REKAYASA PERANGKAT LUNAK | TEKNIK INFORMATIKA UNKHAIR 2 LEMBAR PENGESAHAN Laporan Praktikum Algoritma dan Struktur Data telah disetujui dan disahkan Program Studi Teknik Informatika Universitas Khairun pada tanggal ……. Oleh: Gibran Hayder Achwan 07352211026 Mengetahui, Dosen Pengampu Hairil Kurniadi Siradjuddin S.kom. ,M.Kom.
PRAKTIKUM ALGORITMA DAN STRUKTUR DATA LAB REKAYASA PERANGKAT LUNAK | TEKNIK INFORMATIKA UNKHAIR 3 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, 30 Desember 2022 Penyusun
PRAKTIKUM ALGORITMA DAN STRUKTUR DATA LAB REKAYASA PERANGKAT LUNAK | TEKNIK INFORMATIKA UNKHAIR 4 DAFTAR ISI LEMBAR PENGESAHAN................................................................................. ii KATA PENGANTAR ..................................................................................................... iii DAFTAR ISI .................................................................................................... iv DAFTAR GAMBAR ....................................................................................... vii DAFTAR TABEL........................................................................................... xiii BAB I ALGORITMA DAN STRUKTUR DATA,STRUKTUR DASAR C++ DAN CONTOH DASAR C++ ....................................................................................................... 16 1.1 Pengertian Algoritma .................................................................................... 16 1.2 Struktur Penulisan Algoritma .................................................................... 16 1.2.1 Header (Bagian kepala/judul) ................................................................ 16 1.2.2 Bagian deklarasi.................................................................................... 17 1.2.3 Bagian deskripsi .................................................................................... 17 1. Kalimat Deskriptif ....................................................................................... 18 2. Pseudecode ............................................................................................... 19 3. Flowchart .................................................................................................... 20 1.3 Struktur Data ................................................................................................ 23 1.4 Pengenalan C++ .......................................................................................... 24 1.5 Perintah-perintah dasar C++ ..................................................................... 26 1.6 Komentar ...................................................................................................... 29 1.7. Contoh dasar C++ ....................................................................................... 29 1.8 Contoh Latihan C++ ..................................................................................... 33 BAB II Variabel dan Konstanta ........................................................................... 38 2.1 Variabel ........................................................................................................ 38 2.2 Penamaan Variabel ...................................................................................... 39 2.3 Kata Kunci .................................................................................................... 40 2.4 Tipe data ...................................................................................................... 42 2.4.1 Integer ................................................................................................... 42 2.4.2 Real/Float .............................................................................................. 42 2.4.4 Boolean ................................................................................................. 43 2.4.5 Character ............................................................................................... 43 2.4.6 String ..................................................................................................... 44
PRAKTIKUM ALGORITMA DAN STRUKTUR DATA LAB REKAYASA PERANGKAT LUNAK | TEKNIK INFORMATIKA UNKHAIR 5 2.5 Deklarasi Variabel ........................................................................................ 44 2.6 Menentukan Tipe Variabel ............................................................................ 45 2.7 Memberikan Nilai ke Variabel ....................................................................... 45 2.8 Memberikan Nilai ke Variabel ....................................................................... 46 2.9 Menampilkan Isi Variabel di Monitor ............................................................. 47 2.10 Tipe Casting ............................................................................................... 52 2.11 Konstanta ................................................................................................... 52 2.11 Studi kasus ................................................................................................. 54 BAB III STRUKTUR DASAR ALGORITMA (SELECTION DAN LOOPING) .............. 75 3.1 Sequence ................................................................................................. 75 3.2 Selection ....................................................................................................... 78 3.2.1 Pernyataan......................................................................................... If 79 3.2.2 Pernyataan If-else ................................................................................. 80 3.2.3 Pernyataan If Berkalang ....................................................................... 83 3.2.4 Keputusan Dengan Kondisi Jamak ........................................................ 85 3.2.5 Pernyataan Switch-case ....................................................................... 86 3.3 Looping......................................................................................................... 88 3.3.1 Perintah For ........................................................................................... 88 3.3.2 Perintah for didalam for (kalang for) ...................................................... 91 3.3.3 Perintah While ....................................................................................... 92 3.3.4 Perintah do-while ................................................................................... 95 3.3.5 Pernyataan Break .................................................................................. 96 3.3.6 Pernyataan Continue ............................................................................. 97 3.4 Studi kasus................................................................................................... 98 3.5 Kesimpulan dan saran ................................................................................ 133 3.5.1 Kesimpulan .......................................................................................... 133 3.5.2 Saran ................................................................................................... 134 BAB IV ARRAY ................................................................................................ 137 4.1 Array Dimensi Satu ..................................................................................... 137 4.2 Array Dimensi Dua ..................................................................................... 143 4.3 Latihan Kegiatan Praktikum ........................................................................ 146 4.4 Studi Kasus ................................................................................................ 150
PRAKTIKUM ALGORITMA DAN STRUKTUR DATA LAB REKAYASA PERANGKAT LUNAK | TEKNIK INFORMATIKA UNKHAIR 6 4.5 Kesimpulan dan Saran ............................................................................... 164 4.5.1 Kesimpulan .......................................................................................... 164 4.5.2 Saran ................................................................................................... 165 BAB V POINTER........................................................................................................ 168 5.1 pengertian Pointer ......................................................................................... 168 5.2 Macam-macam Operator pada Pointer ........................................................ 168 5.2.1 Addres-of Operator (&) ............................................................................ 168 5.2.2 Dereference operator (*) 168 5.3 Cara Membuat Pointer........................................................................................... 169 5.4 Cara mengakses Pointer........................................................................................ 170 5.5 Latihan praktikum .......................................................................................... 170 5.5.1(pointer konstanta) ................................................................................... 171 5.2.2 Latihan 2 (Pointer Variabel)............................................................................ 173 5.6 Studi kasus........................................................................................................ 175 5.6.1 Operasi aritmatika pada pointer ............................................................... 175 5.6.2 Pointer dalam array ................................................................................. 178 5.7 Kesimpulan dan Saran ............................................................................... 180 6.7.1 KESIMPULAN ........................................................................................ 180 6.7.2 SARAN .................................................................................................. 181 BAB VI STACK ................................................................................................. 184 6.1 Definisi Stack..................................................................................................... 184 6.3 Studi Kasus .............................................................................................. 191 6.4 Kesimpulan dan Saran ................................................................................... 205 6.4.1 Kesimpulan ....................................................................................... 205 6.4.2 Saran .................................................................................................... 205 BAB VII QUEUE......................................................................................................... 208 7.1 Definis Queue (Antrian)..................................................................................... 208 7.2 contoh .......................................................................................................... 209 7.2.1 Contoh Program Queue ..................................................................... 209 7.3 Latihan Queue .......................................................................................... 219 7.4 Kesimpulan dan Saran ............................................................................... 237 7.4.1 Kesimpulan ....................................................................................... 237 7.4.2 Saran ............................................................................................... 237
PRAKTIKUM ALGORITMA DAN STRUKTUR DATA LAB REKAYASA PERANGKAT LUNAK | TEKNIK INFORMATIKA UNKHAIR 7 DAFTAR PUSTAKA...........................................................................................239
PRAKTIKUM ALGORITMA DAN STRUKTUR DATA LAB REKAYASA PERANGKAT LUNAK | TEKNIK INFORMATIKA UNKHAIR 8 DAFTAR GAMBAR Gambar 1. 1 Deklarasi............................................................................................ 17 Gambar 1. 2 Deskripsi............................................................................................. 17 Gambar 1. 3Flowchart menentukan bilangan terbesar............................................ 23 Gambar 1. 4 Software Dev C++ .............................................................................. 30 Gambar 1. 5 Membuat program baru Dev C++....................................................... 30 Gambar 1. 6 Editor Dev C++................................................................................... 31 Gambar 1. 7 Menjalankan program......................................................................... 31 Gambar 1. 8 Menyimpan file program. .................................................................... 31 Gambar 1. 9 Hasil menjalankan program................................................................ 32 Gambar 1. 10 Kesalahan sintaks ............................................................................ 32 Gambar 1. 11 Hasil kesalahan sintaks .................................................................... 33 Gambar 1. 12 Latihan 1........................................................................................... 34 Gambar 1. 13 Hasil latihan 1 ................................................................................... 34 Gambar 1. 14 Latihan 2........................................................................................... 35 Gambar 1. 15 Hasil latihan 2................................................................................... 35 Gambar 2. 1 Contoh Variabel.................................................................................. 38 Gambar 2. 2 Kesalahan penamaan variabel ........................................................... 40 Gambar 2. 3 Penamaan variabel dengan kata kunci............................................... 41 Gambar 2. 4 Keterangan kesalahan........................................................................ 41 Gambar 2. 5 Jenis-jenis tipe data............................................................................ 42 Gambar 2. 6 Integer ................................................................................................ 42 Gambar 2. 7 Real/float ............................................................................................ 43 Gambar 2. 8 Deklarasi variabel ............................................................................... 44 Gambar 2. 9 Deklarasi variabel ............................................................................... 44 Gambar 2. 10 Program pemberian nilai variabel ..................................................... 46 Gambar 2. 11 Perubahan nilai variabel ................................................................... 46 Gambar 2. 12 Progam menampilkan isi variabel..................................................... 47 Gambar 2. 13 program menampilkan isi variabel 2 ................................................. 47 Gambar 2. 14 Hasil program yang Menampilkan isi variabel .................................. 48 Gambar 2. 15 program konversi tipe data .............................................................. 49 Gambar 2. 16 hasil Konversi tipe data .................................................................... 49 Gambar 2. 17 Program bertipe interger................................................................... 50 Gambar 2. 18 Hasil program bertipe integer ........................................................... 50 Gambar 2. 19 program bertipe data float................................................................. 51 Gambar 2. 20 Hasil program bertipe data float........................................................ 51 Gambar 2. 21 Program define................................................................................. 53 Gambar 2. 22 hasil program define ......................................................................... 53
PRAKTIKUM ALGORITMA DAN STRUKTUR DATA LAB REKAYASA PERANGKAT LUNAK | TEKNIK INFORMATIKA UNKHAIR 9 Gambar 2. 23 Program............................................................................................ 54 Gambar 2. 24 hasil Penulisan konstanta const ....................................................... 54 Gambar 2. 25 Flowchart.......................................................................................... 55 Gambar 2. 26 program menukar nilai...................................................................... 57 Gambar 2. 27 Hasil program menukar nilai............................................................. 57 Gambar 2. 28 persegi panjang ................................................................................ 57 Gambar 2. 29 Flowchart luas persegi panjang ........................................................ 58 Gambar 2. 30 program menghitung luas persegi panjang...................................... 60 Gambar 2. 31 Hasil program luas persegi panjang ................................................. 60 Gambar 2. 32 lingkaran........................................................................................... 60 Gambar 2. 33 flowchart luas dan keliling lingkaran ................................................. 61 Gambar 2. 34 program menghitung luas dan keliling lingkaran............................... 63 Gambar 2. 35 Hasil program luas dan keliling lingkaran ......................................... 63 Gambar 2. 36 Kerucut ............................................................................................. 63 Gambar 2. 37 flowchart volume dan luas kerucut ................................................... 64 Gambar 2. 38 Program menghitung luas dan volume kerucut ................................ 66 Gambar 2. 39 Hasil program luas alas dan volume kerucut .................................... 66 Gambar 2. 40 Kubus ............................................................................................... 67 Gambar 2. 41 Flowchart kubus ............................................................................... 67 Gambar 2. 42 Program menghitung volume kubus ................................................. 69 Gambar 2. 43 Hasil program volume kubus ............................................................ 69 Gambar 2. 44 Tabung ............................................................................................. 69 Gambar 2. 45 Flowchart volume tabung.................................................................. 70 Gambar 2. 46 Program volume tabung ................................................................... 72 Gambar 2. 47 Hasil program volume tabung........................................................... 72 Gambar 3. 1 Konsep runtunan pada flowchart ........................................................ 75 Gambar 3. 2 Flowchart menghitung luas persegi panjang ...................................... 76 Gambar 3. 3 Program menghitung luas persegi panjang ........................................ 77 Gambar 3. 4 Hasil program hitung luas persegi panjang......................................... 77 Gambar 3. 5 Tampilan login virtual class Unkhair ................................................... 78 Gambar 3. 6 Flowchart pernyataan if ...................................................................... 79 Gambar 3. 7 Penulisan pernyataan if ...................................................................... 79 Gambar 3. 8 Penulisan pernyataan if dengan blok.................................................. 79 Gambar 3. 9 Contoh program pernyataan if ............................................................ 80 Gambar 3. 10 Hasil contoh pogram pernyataan if ................................................... 80 Gambar 3. 11 flowchart pernyataan If-else.............................................................. 81 Gambar 3. 12 Penulisan pernyataan if-else ............................................................ 81 Gambar 3. 13 Contoh program pernyataan if-else .................................................. 82 Gambar 3. 14 Hasil contoh program pernyataan if-else .......................................... 82 Gambar 3. 15 Penulisan pernyataan if berkalang ................................................... 83 Gambar 3. 16 Contoh program if berkalang ............................................................ 84 Gambar 3. 17 Hasil contoh program if berkalang .................................................... 84
PRAKTIKUM ALGORITMA DAN STRUKTUR DATA LAB REKAYASA PERANGKAT LUNAK | TEKNIK INFORMATIKA UNKHAIR 10 Gambar 3. 18 Hasil contoh program if berkalang .................................................... 84 Gambar 3. 19 Hasil contoh program if berkalang .................................................... 84 Gambar 3. 20 Penulisan pernyataan switch-case ................................................... 86 Gambar 3. 21 Contoh program switch-case............................................................ 87 Gambar 3. 22 Hasil contoh program switch-case.................................................... 87 Gambar 3. 23 Hasil contoh program switch-case.................................................... 87 Gambar 3. 24 Hasil contoh program switch-case.................................................... 88 Gambar 3. 25 Bentuk penulisan perintah for........................................................... 88 Gambar 3. 26 Contoh program perintah for............................................................. 89 Gambar 3. 27 Hasil contoh program perintah for .................................................... 89 Gambar 3. 28 Bentuk penulisan kalang for ............................................................. 91 Gambar 3. 29 Contoh program perintah kalang for................................................. 91 Gambar 3. 30 Hasil contoh program perintah kalang for......................................... 91 Gambar 3. 31 Bentuk penulisan perintah while ....................................................... 92 Gambar 3. 32 Contoh program while ...................................................................... 93 Gambar 3. 33 Hasil contoh program while .............................................................. 93 Gambar 3. 34 Bentuk penulisan perintah do-while.................................................. 95 Gambar 3. 35 Contoh program perintah do-while ................................................... 96 Gambar 3. 36 Hasil contoh program perintah do-while ........................................... 96 Gambar 3. 37 Contoh program pernyataan break................................................... 97 Gambar 3. 38 Hasil contoh program pernyataan break........................................... 97 Gambar 3. 39 Contoh program pernyataan continue .............................................. 98 Gambar 3. 40 Hasil contoh program pernyataan continue ...................................... 98 Gambar 3. 41 flowchart contoh program 1 ............................................................ 100 Gambar 3. 42 Contoh program 1........................................................................... 102 Gambar 3. 43 Hasil contoh program 1................................................................... 102 Gambar 3. 44 Hasil contoh program 1................................................................... 102 Gambar 3. 45 Flowchart contoh program 2 ........................................................... 103 Gambar 3. 46 Contoh program 2........................................................................... 105 Gambar 3. 47 Hasil contoh program 2................................................................... 105 Gambar 3. 48 Flowchart contoh program 3 ........................................................... 107 Gambar 3. 49 Contoh program 3........................................................................... 110 Gambar 3. 50 Hasil contoh program 3................................................................... 110 Gambar 3. 51 Hasil contoh program 3................................................................... 110 Gambar 3. 52 Hasil contoh program 3................................................................... 111 Gambar 3. 53 Hasil contoh program 3................................................................... 111 Gambar 3. 54 Hasil contoh program 3................................................................... 111 Gambar 3. 55 Flowchart contoh program 4 ........................................................... 112 Gambar 3. 56 Contoh program 4........................................................................... 114 Gambar 3. 57 Hasil contoh program 4................................................................... 114 Gambar 3. 58 Hasil contoh program 4................................................................... 114 Gambar 3. 59 Hasil contoh program 4................................................................... 115
PRAKTIKUM ALGORITMA DAN STRUKTUR DATA LAB REKAYASA PERANGKAT LUNAK | TEKNIK INFORMATIKA UNKHAIR 11 Gambar 3. 60 flowchart contoh program 5 ............................................................ 116 Gambar 3. 61 Contoh program 5........................................................................... 118 Gambar 3. 62 Hasil contoh program 5................................................................... 118 Gambar 3. 63 flowchart contoh program 6 ........................................................... 119 Gambar 3. 64 Contoh program 6........................................................................... 121 Gambar 3. 65 Hasil contoh program 6................................................................... 121 Gambar 3. 66 flowchart contoh program 7 ............................................................ 123 Gambar 3. 67 Contoh program 7........................................................................... 125 Gambar 3. 68 Hasil contoh program 7................................................................... 125 Gambar 3. 69 flowchart contoh program 8 ............................................................ 127 Gambar 3. 70 Contoh program 8........................................................................... 129 Gambar 3. 71 Hasil contoh program 8................................................................... 130 Gambar 3. 72 flowchart contoh program 9 ............................................................ 131 Gambar 3. 73 Contoh program 9........................................................................... 133 Gambar 3. 74 Hasil contoh program 9................................................................... 133 Gambar 4. 1 Penulisan deklarasi Array satu dimensi............................................ 137 Gambar 4. 2 Ilustrasi Array Satu Dimensi ............................................................. 138 Gambar 4. 3 Contoh program menampilkan isi variabel array 1 ........................... 139 Gambar 4. 4 Hasil contoh program menampilkan isi variabel array 1 ................... 139 Gambar 4. 5 Contoh program menampilkan isi variabel array 2 ........................... 140 Gambar 4. 6 Hasil contoh program menampilkan isi variabel array 2 ................... 140 Gambar 4. 7 Contoh program menampilkan isi variabel array 3 ........................... 141 Gambar 4. 8 Hasil contoh program menampilkan isi variabel array 3 ................... 141 Gambar 4. 9 Contoh program menampilkan isi variabel array 4 ........................... 142 Gambar 4. 10 Hasil contoh program menampilkan isi variabel array 4 ................. 142 Gambar 4. 11 Penulisan deklarasi array dua dimensi ........................................... 143 Gambar 4. 12 Contoh program menampilkan isi variabel array 2.......................... 144 Gambar 4. 13 Contoh program menampilkan isi variabel array 2.......................... 145 Gambar 4. 14 Contoh program menampilkan isi variabel array 3.......................... 146 Gambar 4. 15 Hasil contoh program menampilkan isi variabel array 3 ................. 146 Gambar 4. 16 Program latihan 1 ........................................................................... 147 Gambar 4. 17 Hasil program latihan 1................................................................... 148 Gambar 4. 18 Program latihan 2 ........................................................................... 149 Gambar 4. 19 Hasil program latihan 2................................................................... 150 Gambar 4. 20 Flowchart program studi kasus 1.................................................... 151 Gambar 4. 21 Program studi kasus 1.................................................................... 153 Gambar 4. 22 Hasil program studi kasus 1 ........................................................... 153 Gambar 4. 23 Flowchart program studi kasus 2.................................................... 155 Gambar 4. 24 Program studi kasus 2.................................................................... 157 Gambar 4. 25 Hasil program studi kasus 2 ........................................................... 158 Gambar 4. 26 Flowchart program studi kasus 3.................................................... 158 Gambar 4. 27 Program studi kasus 3.................................................................... 161
PRAKTIKUM ALGORITMA DAN STRUKTUR DATA LAB REKAYASA PERANGKAT LUNAK | TEKNIK INFORMATIKA UNKHAIR 12 Gambar 4. 28 Hasil program studi kasus 3 ........................................................... 161 Gambar 4. 29 Hasil program studi kasus 3 ........................................................... 161 Gambar 4. 30 Flowchart program studi kasus 4.................................................... 162 Gambar 4. 31 Program studi kasus 4.................................................................... 164 Gambar 4. 32 Hasil program studi kasus 4 ........................................................... 164 Gambar 5. 1 tampilan dev C++ dan cara mulai buat program............................... 170 Gambar 5. 2 Flowchart kostanta ........................................................................... 171 Gambar 5. 3 contoh program pointer konstanta .................................................... 172 Gambar 5. 4 hasil compile program pointer konstanta .......................................... 173 Gambar 5. 5 pointer variabel ................................................................................. 173 Gambar 5. 6 program pointer variabel................................................................... 175 Gambar 5. 7 hasil compile pointer variabel ........................................................... 175 Gambar 5. 8 Flowchart studi kasus 1 .................................................................... 176 Gambar 5. 9 program operasi pointer aritmatika ................................................... 177 Gambar 5. 10 hasil compile pointer aritmatika ...................................................... 178 Gambar 5. 11 Flowchart pointer dalam array: ....................................................... 178 Gambar 5. 12 program pointer dalam array .......................................................... 180 Gambar 5. 13 hasil compile pointer dalam array ................................................... 180 Gambar 6. 1 Struktur code latihan C++................................................................. 187 Gambar 6. 2 Lanjutan struktur code latihan C++................................................... 188 Gambar 6. 3 Lanjutan............................................................................................ 188 Gambar 6. 4 Lanjutan struktur code latihan C++................................................... 189 Gambar 6. 5 Hasil running..................................................................................... 189 Gambar 6. 6 Hasil running..................................................................................... 189 Gambar 6. 7 Hasil running..................................................................................... 190 Gambar 6. 8 flowchart program stack 2................................................................. 192 Gambar 6. 9 Struktur pemograman....................................................................... 196 Gambar 6. 10 Lanjutan Struktur pemograman ...................................................... 197 Gambar 6. 11 Lanjutan Struktur pemograman ...................................................... 197 Gambar 6. 12 Lanjutan struktur code latihan C++................................................. 198 Gambar 6. 13 Hasil running................................................................................... 198 Gambar 6. 14 flowchart program stack 3............................................................... 199 Gambar 6. 15 Struktur pemograman..................................................................... 203 Gambar 6. 16 Struktur pemograman..................................................................... 204 Gambar 6. 17 Hasil running................................................................................... 204 Gambar 6. 18 Hasil running................................................................................... 205 Gambar 7. 1 Contoh 1........................................................................................... 209 Gambar 7. 2 contoh 2............................................................................................ 209 Gambar 7. 3 Tampilan source code diatas diDevC++ 1 (bagian 1)....................... 216 Gambar 7. 4 Tampilan source code diatas diDevC++ 1 (bagian 2)....................... 217 Gambar 7. 5 Gambar 7.3 Tampilan source code diatas diDevC++ 1 (bagian 3)... 217 Gambar 7. 6 Tampilan source code diatas diDevC++ 1 (bagian 4)....................... 218
PRAKTIKUM ALGORITMA DAN STRUKTUR DATA LAB REKAYASA PERANGKAT LUNAK | TEKNIK INFORMATIKA UNKHAIR 13 Gambar 7. 7 Tampilan source code diatas diDevC++ 1 (bagian 5)...................... 218 Gambar 7. 8 Flowchart 7.1 contoh soal queue 1................................................... 219 Gambar 7. 9 program queue 1 (1)......................................................................... 224 Gambar 7. 10 program queue 1 (2)....................................................................... 225 Gambar 7. 11 program queue 1 (3)....................................................................... 225 Gambar 7. 12 hasil running program queue 1 (1).................................................. 226 Gambar 7. 13 Flowchart 7.6 contoh soal queue 2................................................. 227 Gambar 7. 14 program queue 2 (2)....................................................................... 234 Gambar 7. 15 program queue 2 (3)....................................................................... 235 Gambar 7. 16 hasil running program queue 2 (1).................................................. 236 Gambar 7. 17 hasil running program queue 2 (2).................................................. 236
PRAKTIKUM ALGORITMA DAN STRUKTUR DATA LAB REKAYASA PERANGKAT LUNAK | TEKNIK INFORMATIKA UNKHAIR 14 DAFTAR TABEL Tabel 1. 1 Contoh................................................................................................... 16 Tabel 1. 2 Simbol flowchart beserta penjelasannya ................................................ 21 Tabel 1. 3 Deklarasi Header.................................................................................... 25 Tabel 2. 1 Contoh penamaan Variabel.................................................................... 39 Tabel 2. 2 Kata kunci............................................................................................... 40 Tabel 2. 3 Boolean .................................................................................................. 43 Tabel 2. 4 Character................................................................................................ 43 Tabel 3. 1 opertor logika...........................................................................................85
PRAKTIKUM ALGORITMA DAN STRUKTUR DATA LAB REKAYASA PERANGKAT LUNAK | TEKNIK INFORMATIKA UNKHAIR 15 BAB I ALGORITMA DAN STRUKTUR DATA, STRUKTUR DASAR C++ DAN CONTOH DASAR C++ OLEH Gibran Hayder Achwan 07352211026 PROGRAM STUDI INFORMATIKA FAKULTAS TEKNIK UNIVERSITAS KHAIRUN TERNATE 2023
PRAKTIKUM ALGORITMA DAN STRUKTUR DATA LAB REKAYASA PERANGKAT LUNAK | TEKNIK INFORMATIKA UNKHAIR 16 BAB I ALGORITMA DAN STRUKTUR DATA,STRUKTUR DASAR C++ DAN CONTOH DASAR C++ 1.1 Pengertian Algoritma Algoritma adalah seperangkat instruksi atau logika yang terbatas, ditulis dalam rangka, untuk menyelesaikan tugas tertentu yang telah ditentukan sebelumnya. Algoritma bukanlah kode atau program yang lengkap, itu hanya logika inti (solusi) dari suatu masalah, yang dapat dinyatakan baik sebagai deskripsi tingkat tinggi informal sebagai kode semu atau menggunakan diagram alur. Algoritma berasal dari kata “algoris” dan “ritmis” yang pertama kali diungkapkan dalam buku Al-Jabr Wa-al Muqobla. Kata algoritma pula berasal dari istilah asing algorithm diambil dari nama seorang astronom dan ahli matematika bangsa Arab, yaitu AlKhowarizmi yang mengarang kitab Al-Jabr Wa-al Muqobla, dikenal sekarang sebagai ilmu aljabar. 1.2 Struktur Penulisan Algoritma 1.2.1 Header (Bagian kepala/judul) Bagian ini terdiri dari nama algoritma dan penjelasan algoritma. Nama algoritma ditulis singkat namun mampu mewakili isi algoritma secara keseluruhan. Bagian penjelasan algoritma berisi penjelasan mengenai hal-hal yang dilakukan oleh algoritma secara singkat. Contohnya: Tabel 1. 1 Contoh Algoritma Menghitung_Luas_Segitiga
PRAKTIKUM ALGORITMA DAN STRUKTUR DATA LAB REKAYASA PERANGKAT LUNAK | TEKNIK INFORMATIKA UNKHAIR 17 {Menghitung luas segitiga berdasarkan panjang alas dan tinggi segitiga yang diinput. Luas segitiga dapat diperoleh dari rumus Luas = 0,5 x alas x tinggi} 1.2.1 Bagian deklarasi Bagian deklarasi berisikan semua nama pengenal yang dipakai di dalam algoritma, seperti nama tipe, konstanta, variabel, fungsi, dan prosedur. Contohnya: Gambar 1. 1 Deklarasi 1.2.3 Bagian deskripsi Bagian ini berisi langkah-langkah penyelesaian masalah. Contohnya sebagai berikut. Gambar 1. 2 Deskripsi
PRAKTIKUM ALGORITMA DAN STRUKTUR DATA LAB REKAYASA PERANGKAT LUNAK | TEKNIK INFORMATIKA UNKHAIR 18 Algoritma berisi langkah-langkah atau tahapan penyelesaian masalah. Notasi algoritma adalah hal dasar yang musti diketahui oleh setiap orang yang membangun suatu program, karena dalam notasi algoritma itulah terdapat kerangka-kerangka suatu program yang akan dibangun. Penjelasan tahapan dalam algoritma tidak mengacu pada sintaks pemrograman apapun dan tidak tergantung pada spesifikasi komputer yang mengeksekusinya. Tidak ada aturan yang baku dalam menuliskan algoritma, yang terpenting adalah mudah dibaca dan dipahami. Meski demikian untuk menghindari kekeliruan dan salah pemahaman sehingga notasi algoritma perlu diperhatikan. Secara umum terdapat tiga cara dalam menuliskan algoritma yaitu sebagai berikut : 1. Deskriptif 2. Pseudecode 3. Flowchart 1. Kalimat Deskriptif Notasi algoritma dengan menggunakan kalimat deskriptif disebut juga notasi alami. Notasi algoritma deskriptif dilakukan dengan cara menuliskan intruksi-intruksi yang musti dilaksanakan dalam bentuk untaian kalimat deskriptif dengan menggunakan bahasa yang jelas. Notasi deskriptif ini disarankan untuk algoritma yang pendek karena apabila untuk algoritma yang panjang notasi deskriptif kurang efektif. Secara garis besar notasi deskriptif tersusun atas tiga bagian utama, yaitu : Bagian Judul, merupakan bagian yang terdiri atas nama algoritma dan penjelasan atau spesifikasi algoritma tersebut. Bagian Deklarasi, merupakan bagian untuk mendefinisikan semua nama yang digunakan pada algoritma dapat berupa variabel, konstanta, tipe ataupun fungsi
PRAKTIKUM ALGORITMA DAN STRUKTUR DATA LAB REKAYASA PERANGKAT LUNAK | TEKNIK INFORMATIKA UNKHAIR 19 Bagian Deskripsi, merupakan bagian inti pada struktur algoritma yang berisi uraian langkah-langkah penyelesaian masalah. Contoh penulisan algoritma dengan notasi deskriptif. Algoritma Luas_Lingkaran {Menghitung luas lingkaran untuk ukuran jari-jari tertentu. Algoritma menerima masukan jari-jari lingkaran, menghitung luasnya, lalu mencetak luasnya ke piranti keluaran} Deklarasi : Jari_jari = real {tipe data bilangan pecahan} Luas = real {tipe data bilangan pecahan} PHI = 3.14 Deskripsi 1. Baca jari 2. Hitung luas = PHI*jari_jari * jari_jari 3. Tampilkan luas ke layar 4. Selesai 2. Pseudecode Pseudecode merupakan cara penulisan algoritma yang menyerupai bahasa pemrograman tingkat tinggi. Pada umumnya notasi pseudecode menggunakan bahasa yang mudah dimengerti secara umum dan juga lebih ringkas dari pada algoritma. Pseudecode berisi deskripsi dari algoritma pemrograman komputer yang menggunakan struktur sederhana dari beberapa bahasa pemrograman tetapi bahasa tersebut hanya
PRAKTIKUM ALGORITMA DAN STRUKTUR DATA LAB REKAYASA PERANGKAT LUNAK | TEKNIK INFORMATIKA UNKHAIR 20 ditujukan agar bisa terbaca dan dimengerti manusia. Sehingga pseudecode tidak dipahami oleh komputer. Supaya notasi pseudecode dapat dimengerti oleh komputer maka musti diterjemahkan ke dalam sintaks bahasa pemrograman tertentu. Pada notasi pseudecode tidak aturan tertentu yang resmi. Disarankan untuk menggunakan kata kunci yang umum digunakan seperti if, then, else, while, do, for, repeat dan lainya. Struktur penulisan algoritma dengan notasi pseudeccode secara umum sama dengan notasi deskriptif. Contoh penulisan algoritma menggunakan notasi pseudecode. void function TikTok for(i=0;i<=100;i++) { set flag to true; if i is divisible by 3 print “Tik”; set flag to false; if i is divisible by 5 print “Tok”; set flag to false; if flag, print i; print a newline; } 3. Flowchart Flowchart merupakan penulisan algoritma dengan menggunakan notasi grafis. Flowchart adalah bagan yang mempelihatkan tahapan dari suatu program dan hubungan antar proses beserta penyataannya. Ilustrasi ini dinyatakan dalam simbol, setiap simbol
PRAKTIKUM ALGORITMA DAN STRUKTUR DATA LAB REKAYASA PERANGKAT LUNAK | TEKNIK INFORMATIKA UNKHAIR 21 mempunyai makna tertentu untuk proses tertentu. Simbol-simbol flowchart yang umumnya digunakan adalah simbol-simbol flowchart standar yang dikeluarkan oleh ANSI dan ISO. Berikut simbol-simbol flowchart yang umumnya digunakan beserta contohnya : Tabel 1. 2 Simbol flowchart beserta penjelasannya Simbol Keterangan Simbol Arah aliran, simbol yang digunakan untuk menunjukkan arah aliran proses Simbol Terminal, simbol yang digunakan untuk menyatakan awal atau akhir suatu program. Simbol Input/Output, simbol yang digunakan untuk menunjukkan operasi masukan atau keluaran Simbol Proses, simbol yang digunakan untuk menggambarkan proses pengolahan data Simbol Keputusan, simbol yang digunakan untuk menyatakan suatu pilihan berdasarkan suatu kondisi tertentu Simbol persiapan (Preparation), simbol yang digunakan untuk memberikan nilai awal pada suatu variabel atau pencacah
PRAKTIKUM ALGORITMA DAN STRUKTUR DATA LAB REKAYASA PERANGKAT LUNAK | TEKNIK INFORMATIKA UNKHAIR 22 Simbol proses terdefinisi (predefined process symbol), simbol yang digunakan untuk proses yang detilnya dijelaskan terpisah, misal dalam bentuk subroutine Simbol Penghubung ke halaman lain, simbol yang digunakan untuk menghubungkan bagian diagram alir pada halaman yang berbeda Simbol Penghubung ke halaman yang sama, symbol yang digunakan untuk menghubungkan bagian diagram alir pada halaman yang sama Contohnya: Algoritma Menentukan_nilai_terbesar_dari_beberapa_bilangan_bulat :
PRAKTIKUM ALGORITMA DAN STRUKTUR DATA LAB REKAYASA PERANGKAT LUNAK | TEKNIK INFORMATIKA UNKHAIR 23 Gambar 1. 3Flowchart menentukan bilangan terbesar 1.3 Struktur Data Struktur data adalah cara menyimpan dan mengatur data dalam komputer secara terstruktur sehingga lebih mudah diakses dan dapat digunakan secara efisien. Data adalah representasi dari fakta dunia nyata. Fakta atau informasi tentang kenyataan yang disimpan, direkam atau disajikan dalam bentuk teks, suara, gambar, sinyal atau simbol. Pemakaian Struktur Data yang tepat didalam proses pemrograman akan menghasilkan algoritma yang lebih jelas menghasilkan program secara keseluruhan lebih sederhana. Struktur data terdiri dari struktur data sederhana dan struktur data majemuk, sebagai berikut. 1. Struktur data sederhana
PRAKTIKUM ALGORITMA DAN STRUKTUR DATA LAB REKAYASA PERANGKAT LUNAK | TEKNIK INFORMATIKA UNKHAIR 24 Contohnya Array dan Record a. Array, struktur data yang terdiri dari sejumlah komponen yag memiliki tipe yang sama. b.Record, merupakan kumpulan satuan data yang terdiri dari berbagai tipe. 2. Struktur data majemuk Terdiri dari linier dan non linier. Linier, contohnya stack, queue, serta list dan multilist. Sedangkan non linier, contohnya tree, binary tree (pohon biner), serta graph. 1.4 Pengenalan C++ Bahasa pemrograman C++ adalah bahasa pemrograman komputer yang dapat digunakan untuk membuat berbagai aplikasi (bahasa pemrograman umum) dan merupakan pengembangan dari bahasa pemrograman C. C++ adalah bahasa pemrograman komputer yang dibuat oleh Bjarne Stroustrup, yang merupakan perkembangan dari bahasa C dikembangkan di Bell Labs. Pada awal tahun 1970-an, bahasa itu merupakan peningkatan dari bahasa sebelumnya, yaitu B . Karena termasuk general-purpose programming language, yakni bahasa pemrograman yang bisa membuat berbagai aplikasi, bahasa pemrograman C++ bisa dipakai untuk membuat aplikasi desktop seperti antivirus, software pengolah gambar (image processing), aplikasi pengolah kata (word processing), hingga untuk membuat compiler bahasa pemrograman lain. Header
PRAKTIKUM ALGORITMA DAN STRUKTUR DATA LAB REKAYASA PERANGKAT LUNAK | TEKNIK INFORMATIKA UNKHAIR 25 1. Deklarasi header file diawali dengan #include<.....> Titik-titik diisi dengan nama header file yang ingin digunakan. Header file merupakan suatu fungsi yang mendukung eksekusi instruksi tertentu dalam C++. Tabel 1. 3 Deklarasi Header #incl ude<iostre am.h> diperlukan pada program yang melibatkan perintah input – output. Misal cout dan cin #incl ude <conio.h> diperlukan pada program yang melibatkan perintah untuk membersihkan layar. Misal getch() dan clrscr() #inc lude <iomanip. h> diperlukan pada program yang bermanfaat untuk mengatur lebar dari suatu tampilan data. Misal setw() #incl ude <math.h> diperlukan pada program yang menggunakan operasi matematika. Misal sqrt untuk mencari akar, pow untuk mencari kuadrat #inc lude <string.h> File header ini digunakan untuk memanipulasi string dan array. Misal strcpy(), strlen(), strcat(). #incl ude <time.h> File header ini mengandung beberapa definisi fungsi untuk memanipulasi informasi tanggal dan waktu. #incl ude <stdlib.h> File header stdlib.h menjabarkan beberapa fungsi umum dan marco termasuk manajemen memori dinamis, menjalin komunikasi dengan perangkat sekitar, membuat bilangan secara random, aritmetika bilangan integer, pencarian, pengurutan dan pengonversian. 2. Deklarasi konstanta (bisa ada bisa tidak). 3. Deklarasi variabel global (bisa ada bisa tidak). 4. Deklarasi fungsi bisa ada bisa tidak. Fungsi juga dapat diletakkan setelah fungsi main( ). 5. Deklarasi class (bisa ada bisa tidak).
PRAKTIKUM ALGORITMA DAN STRUKTUR DATA LAB REKAYASA PERANGKAT LUNAK | TEKNIK INFORMATIKA UNKHAIR 26 Using namespace std; Using namespace std; perintah digunakan untuk mendeklarasikan atau memberi tahu kompiler bahwa kita menggunakan semua fungsi/class/file di std namespace. Main() Fungsi main merupakan titik awal di mana seluruh program C++ akan mulai dieksekusi. Pada dasarnya, seluruh program C++ memiliki fungsi main. Fungsi ini mengandung isi program diawali dengan kurung kurawal buka “{“ dan diakhiri dengan kurung kurawal tutup “}”. Contoh lain fungsi main() adalah void main() dan int main(). Isi program Isi program berisi inti dari program. Isi program diawali dengan kurung kurawal buka “{“ dan diakhiri dengan kurung kurawal tutup “}”. Return 0; Return menyebabkan fungsi main() berakhir dan mengembalikan kode yang mengikuti instruksi tersebut. Ini merupakan cara yang paling sering digunakan untuk mengakhiri program. Aturan-aturan sederhana yang perlu diperhatikan dalam bahasa pemrograman C++ diantaranya: 1. Bahasa C++ membedakan antara huruf besar dengan huruf kecil. 2. Setiap akhir perintah diakhiri dengan tanda titik koma (;). 1.5 Perintah-perintah dasar C++ 1.5.1 Input dan Output
PRAKTIKUM ALGORITMA DAN STRUKTUR DATA LAB REKAYASA PERANGKAT LUNAK | TEKNIK INFORMATIKA UNKHAIR 27 Beberapa contoh perintah input dan output yang sering digunakan seperti berikut: Cin>> cin adalah kepanjangan dari c input yaitu perintah yang digunakan untuk menginputkan, perintah ini cukup dengan header file iostream. Cout<< cout adalah kepanjangan dari c output yaitu perintah yang digunakan untuk menampilkan, perintah ini cukup dengan header file iostream. printf() printf adalah perintah yang digunakan untuk menginputkan, jika menggunakan perintah ini maka harus menambahkan header file stdio.h scanf() scanf adalah perintah yang digunakan untuk menampilkan, jika menggunakan perintah ini maka harus menambahkan header file stdio.h 2. Pindah Baris dan Tabulasi Tanda \n Tanda \n digunakan untuk pindah baris berikutnya, untuk penulisannya harus di dalam tanda petik bersama dengan kalimat yang akan ditampilkan dan bisa diletakkan awal kalimat atau di akhir kalimat. Contoh penggunaannya: cout<<”\nHallo...selamat datang...”; Setelah program dieksekusi akan pindah baris terlebih dahulu sebelum menampilkan kalimat Hallo...selamat datang. cout<<”Hallo...selamat datang\n”;
PRAKTIKUM ALGORITMA DAN STRUKTUR DATA LAB REKAYASA PERANGKAT LUNAK | TEKNIK INFORMATIKA UNKHAIR 28 Setelah program dieksekusi akan menampilkan kalimat Hallo...selamat datang kemudian kursor pindah ke bawah. cout<<”\nHallo...selamat datang\n”; Setelah program dieksekusi akan pindah baris terlebih dahulu kemudian menampilkan kalimat Hallo...selamat datang kemudian kursor pindah ke bawah. Tanda <<endl Tanda <<endl berfungsi sama dengan tanda \n yaitu digunakan untuk pindah baris berikutnya, untuk penulisannya harus di luar tanda petik dan bisa diletakkan sebelum menuliskan perintah atau kalimat yang akan ditampilkan. Contoh penggunaannya: cout<<endl<<”Hallo...selamat datang...”; Setelah program dieksekusi akan pindah baris terlebih dahulu sebelum menampilkan kalimat Hallo...selamat datang. cout<<”Hallo...selamat datang”<<endl; Setelah program dieksekusi akan menampilkan kalimat Hallo...selamat datang kemudian kursor pindah ke bawah. cout<<endl<<”Hallo...selamat datang”<<endl; Setelah program dieksekusi akan pindah baris terlebih dahulu kemudian menampilkan kalimat Hallo...selamat datang kemudian kursor pindah ke bawah. Tanda \t
PRAKTIKUM ALGORITMA DAN STRUKTUR DATA LAB REKAYASA PERANGKAT LUNAK | TEKNIK INFORMATIKA UNKHAIR 29 Tanda \t adalah simbol tab yang digunakan untuk mengatur paragrap dengan posisi menjorok ke dalam. 1.6 Komentar Komentar biasanya digunakan untuk membuat program lebih mudah dipahami. Komentar tidak dieksekusi, sehingga berfungsi untuk menjelaskan tema program.. Dalam C++ ada dua cara untuk memberikan komentar yaitu: Menggunakan tanda // Tanda ini digunakan untuk komentar yang terdiri dari satu baris, jika komentar lebih dari satu baris maka baris kedua dan seterusnya tidak dianggap sebagai komentar. Contoh penggunaanya: // Mari kita belajar C++ Menggunakan tanda /* ... */ Tanda ini digunakan untuk komentar yang terdiri lebih dari satu baris, komentar dimulai dari /* dan berakhir sampai dengan tanda */. Contoh penggunaanya: /* Belajar membuat program sederhana Manggunakan bahasa C++ */ 1.7. Contoh dasar C++ Membuat program C++ Setiap bahasa (bukan hanya bahasa manusia) harus memiliki aturannya sendiri, dan ini juga berlaku untuk C++. Aturan ini harus dipatuhi dengan ketat, mis. ejaan salah,
PRAKTIKUM ALGORITMA DAN STRUKTUR DATA LAB REKAYASA PERANGKAT LUNAK | TEKNIK INFORMATIKA UNKHAIR 30 jika hanya satu koma/titik yang hilang, terjemahan gagal dan program tidak bekerja. Berikut merupakan langkah-langkah menuliskan program C++ dengan menggunakan editor Dev C++. 1. Buka software Dev C++. Gambar 1. 4 Software Dev C++ 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. 5 Membuat program baru Dev C++ 3. Setelah itu, akan tampil halaman untuk mengetikkan program. Ketik program yang ingin dibuat.
PRAKTIKUM ALGORITMA DAN STRUKTUR DATA LAB REKAYASA PERANGKAT LUNAK | TEKNIK INFORMATIKA UNKHAIR 31 Gambar 1. 6 Editor Dev C++ 4. Setelah selesai mengetikkan program, jalankan program dengan mengklik ikon seperti pada gambar di bawah atau menekan tombol F11. Gambar 1. 7 Menjalankan program 5. Selanjutnya akan tampil halaman untuk meng-save program, kemudian klik save Gambar 1. 8 Menyimpan file program. 6. Terakhir, akan tampil jendela cmd. Selamat program telah berjalan.
PRAKTIKUM ALGORITMA DAN STRUKTUR DATA LAB REKAYASA PERANGKAT LUNAK | TEKNIK INFORMATIKA UNKHAIR 32 Gambar 1. 9 Hasil menjalankan program. Kesalahan sintaks Gambar 1. 10 Kesalahan sintaks
PRAKTIKUM ALGORITMA DAN STRUKTUR DATA LAB REKAYASA PERANGKAT LUNAK | TEKNIK INFORMATIKA UNKHAIR 33 Gambar 1. 11 Hasil kesalahan sintaks Terdapat kesalahan sintaks pada program yang menghasilkan error, hal ini disebabkan ada kekurangan dalam penulisan cout<<”selamat datang di C++”<<endl kurang tanda titik koma (;). Letak kesalahan ini akan ditujukan Bahasa C++ dengan menginformasikan letak baris yang terjadi kesalahan serta penjelasan kenapa terjadi kesalahan. 1.8 Contoh Latihan C++ Latihan 1
PRAKTIKUM ALGORITMA DAN STRUKTUR DATA LAB REKAYASA PERANGKAT LUNAK | TEKNIK INFORMATIKA UNKHAIR 34 Gambar 1. 12 Latihan 1 Gambar 1. 13 Hasil latihan 1 Latihan 2
PRAKTIKUM ALGORITMA DAN STRUKTUR DATA LAB REKAYASA PERANGKAT LUNAK | TEKNIK INFORMATIKA UNKHAIR 35 Gambar 1. 14 Latihan 2 Gambar 1. 15 Hasil latihan 2
PRAKTIKUM ALGORITMA DAN STRUKTUR DATA LAB REKAYASA PERANGKAT LUNAK | TEKNIK INFORMATIKA UNKHAIR 36
PRAKTIKUM ALGORITMA DAN STRUKTUR DATA LAB REKAYASA PERANGKAT LUNAK | TEKNIK INFORMATIKA UNKHAIR 37 BAB II Variabel dan Costanta OLEH Gibran Hayder Achwan 07352211026 PROGRAM STUDI INFORMATIKA FAKULTAS TEKNIK UNIVERSITAS KHAIRUN TERNATE 2023
PRAKTIKUM ALGORITMA DAN STRUKTUR DATA LAB REKAYASA PERANGKAT LUNAK | TEKNIK INFORMATIKA UNKHAIR 38 BAB II Variabel dan Konstanta 2.1 Variabel Dalam pemrograman, data-data yang akan diolah atau dimasukan ke sistem sering disebut dengan variabel. Jadi, Variabel merupakan suatu tempat untuk menampung data atau konstanta di memori yang mempunyai nilai atau data yang dapat berubah – ubah selama proses program . Setiap data yang akan diolah program harus tersimpan dalam suatu variabel. Berikut merupakan ilustrasi variabel. Gambar 2. 1 Contoh Variabel Dari ilustrasi diatas, data 12 disimpan dalam variabel A dan data 10 disimpan dalam variabel B. Oleh karena itu variabel dapat didefenisikan sebagai bagian dari memory untuk menyimpan nilai yang telah ditentukan. Setiap variabel memerlukan identifier yang dapat membedakannya dari variable yang lain, sebagai contoh dari kode diatas identifier variabelnya adalah A dan B, tetapi kita dapat membuat nama untuk variabel selama masih merupakan identifier yang benar.
PRAKTIKUM ALGORITMA DAN STRUKTUR DATA LAB REKAYASA PERANGKAT LUNAK | TEKNIK INFORMATIKA UNKHAIR 39 2.2 Penamaan Variabel Aturan penamaan Variabel/ pengenal Tidak boleh diawali angka Tidak boleh diawali dengan karakter khusus (misal tanda matematika) Huruf besar dan huruf kecil berbeda Tidak boleh ada spasi, jika menggunakan 2 kata bisa menggunakan tanda hubung (misal underscore) Contoh: Tabel 2. 1 Contoh penamaan Variabel Nama variabel Keterangan Tahun2022 B enar Walaupun ada angka tetapi angka dibelakang 2022Tahun S alah Angka tidak boleh di depan A B enar Minimal 1 huruf Gaji pegawai S alah Ada spasi, yang benar Gaji_pegawai +A S alah Tanda operasi matematika tidak boleh ada di dalam pengenal Nama-orang S alah Tidak boleh menggunakan karakter -
PRAKTIKUM ALGORITMA DAN STRUKTUR DATA LAB REKAYASA PERANGKAT LUNAK | TEKNIK INFORMATIKA UNKHAIR 40 Gambar 2. 2 Kesalahan penamaan variabel Jika dijalankan program tersebut terjadi kesalahan terutama pada penulisan perintah int gaji guru; karena ada spasi dalam penamaan variabel. 2.3 Kata Kunci Tidak diperkenankan menggunakan kata kunci yang merupakan bagian dari instruksi di C++. Kata kunci ini tidak bebaskan digunakan karena mempunyai makna khusus bagi kompiler. Kata kunci tersebut diantaranya : Tabel 2. 2 Kata kunci Asm auto bool break case Catch char class const const_ca st continue defau lt delete do double dynamic_c ast else enum explicit extern false float for friend goto If inline int long mutable
PRAKTIKUM ALGORITMA DAN STRUKTUR DATA LAB REKAYASA PERANGKAT LUNAK | TEKNIK INFORMATIKA UNKHAIR 41 namespace new operator private protected public regist er reinterpret_c ast return short signed sizeof static static_cas t struct switch templ ate this throw true Try typed ef Typeid typename union unsigned using Virtual void volatile wchar_t Sebagai tambahan, representasi alternatif dari operator, tidak dapat digunakan sebagai identifier. Contoh : and, and_eq, bitand, bitor, compl, not, not_eq, or, or_eq, xor, xor_eq Gambar 2. 3 Penamaan variabel dengan kata kunci Gambar 2. 4 Keterangan kesalahan Mendeklarasikan variabel dengan nama variabel cout salah. Hal ini disebabkan cout merupakan kata kunci.
PRAKTIKUM ALGORITMA DAN STRUKTUR DATA LAB REKAYASA PERANGKAT LUNAK | TEKNIK INFORMATIKA UNKHAIR 42 2.4 Tipe data Tipe data digunakan untuk membatasi nilai suatu variabel. Nilai sebuah variabel terbatas karena efisiensi memori. Tipe data akan mencerminkan isi dari variabel tersebut termasuk bilangan atau string serta jangkauan atau maksimal isi data dari variabel tersebut. Berikut ilustrasi jenis-jenis tipe data. Gambar 2. 5 Jenis-jenis tipe data 2.4.1 Integer Tipe data yang merupakan bilangan bulat dan tidak mengandung pecahan, seperti (....,-3, -2, -1, 0, 1, 2, 3....) Gambar 2. 6 Integer 2.4.2 Real/Float Tipe data yang merupakan bilangan pecahan. Penulisannya menggunakan titik/koma desimal. Misalnya 3.14 dan 45,5.
PRAKTIKUM ALGORITMA DAN STRUKTUR DATA LAB REKAYASA PERANGKAT LUNAK | TEKNIK INFORMATIKA UNKHAIR 43 Gambar 2. 7 Real/float 2.4.4 Boolean Tipe data boolean merupakan bentukan dari proses seleksi atau pemilihan yang hanya memiliki dua hasil keluaran yaitu True atau False (benar atau salah). Tabel 2. 3 Boolean Type Batas Nilai Ukuran Memori boolean True atau False 1 byte 2.4.5 Character Tipe data yang meliputi bentuk numerik, alfabetik, dan spesial karakter. Penulisannya perlu ditulis di dalam tanda petik ( „ ). Contohnya : „A‟_karakter berupa huruf A „2‟_karakter berupa angka 2 „+‟ karakter berupa simbol + Tabel 2. 4 Character Type Batas Nilai Ukuran Memori Char signed: -128 to 127 unsigned: 0 to 255 1 byte
PRAKTIKUM ALGORITMA DAN STRUKTUR DATA LAB REKAYASA PERANGKAT LUNAK | TEKNIK INFORMATIKA UNKHAIR 44 2.4.6 String String terbentuk dari kumpulan karakter sebanyak 256 (jangkauan 0-255). Penulisan tipe data ini : tipe_data pengenal [panjang]; Keterangan: Pengenal adalah nama variabel Panjang adalah bilangan bulat yang menunjukan jumlah karakter Contohnya: char nama[10]; 2.5 Deklarasi Variabel Variabel harus terlebih dahulu dideklarasikan/ dipesankan sebelum variabel tersebut diisi dengan data. Bentuk pendeklarasian variabel : Tipe data daftar_variabel Gambar 2. 8 Deklarasi variabel Jika akan menggunakan tipe data yang sama untuk beberapa identifier maka dapat dituliskan dengan menggunakan tanda koma, contoh: Gambar 2. 9 Deklarasi variabel
PRAKTIKUM ALGORITMA DAN STRUKTUR DATA LAB REKAYASA PERANGKAT LUNAK | TEKNIK INFORMATIKA UNKHAIR 45 2.6 Menentukan Tipe Variabel Hal terpenting dalam membuat variabel adalah menentukan tipe data. Salah satu cara termudah untuk menentukan tipe data adalah menentukan apakah isi variabel tersebut berisi angka atau kalimat. Misalnya variabel berisi bilangan, tentukan bilangan bulat atau pecahan. int x; memesan variabel x yang mempunyai tipe data bilangan bulat (integer), karena int maka kapasitasnya adalah -32768 hingga 32767 float y; memesan variabel y yang mempunyai tipe data bilangan pecahan, karena float maka kapasitasnya adalah 3.4e + / - 38 (7 digits) long z; memesan variabel z yang mempunyai tipe data bilangan bulat, karena long maka kapasitasnya adalah :-2147483648 hingga 2147483647 Pemilihan tipe data yang tepat akan terhindar dari terjadinya overflow data atau ketika variabel diisi dengan nilai diluar batas kapasitasnya sehingga tipe data dengan isinya akan menghasilkan nilai yang berbeda. Jadi untuk memesan tipe data sebaiknya disesuaikan dengan kapasitas dari isi variabel. 2.7 Memberikan Nilai ke Variabel Proses memasukan data ke variabel secara langsung ke variabel adalah : Nama_variabel = isi_data Contohnya: A=10 maka tipe variabel adalah integer B=10.5 maka tipe variabel adalah float
PRAKTIKUM ALGORITMA DAN STRUKTUR DATA LAB REKAYASA PERANGKAT LUNAK | TEKNIK INFORMATIKA UNKHAIR 46 2.8 Memberikan Nilai ke Variabel Proses memasukan data ke variabel secara langsung ke variabel adalah : Nama_variabel = isi_data Contohnya Adapula berubahnya nilai variabel mengikuti pemberian nilai variabel terakhir sebagai berikut Gambar 2. 10 Program pemberian nilai variabel Gambar 2. 11 Perubahan nilai variabel Jika variable tidak diisi atau diinisialisasi, dan ditampilkan maka nilai yang akan ditampilkan akan di acak oleh kompiler sehingga hasilnya nilai yang ditampilkan berbedabeda tergantung dari jenis compiler nya.
PRAKTIKUM ALGORITMA DAN STRUKTUR DATA LAB REKAYASA PERANGKAT LUNAK | TEKNIK INFORMATIKA UNKHAIR 47 2.9 Menampilkan Isi Variabel di Monitor Agar isi variabel dapat ditampilkan ke layar monitor, instruksi yang digunakan adalah perintah cout. Bentuknya adalah : cout<<” isi statement”<<nama_variabel; Contohnya: Gambar 2. 12 Progam menampilkan isi variabel Gambar 2. 13 program menampilkan isi variabel 2
PRAKTIKUM ALGORITMA DAN STRUKTUR DATA LAB REKAYASA PERANGKAT LUNAK | TEKNIK INFORMATIKA UNKHAIR 48 Gambar 2. 14 Hasil program yang Menampilkan isi variabel Jadi variabel a diisi 20, variabel b diisi 5 kemudian variabel c menyimpan hasil penjumlahan antara isi variabel a dengan isi variabel b. cout<<”isi variabel c “ <<c menampilkan isi variabel c ke layar monitor. Sehingga menghasilkan c adalah 25. 2.1 Konversi Tipe Data Adanya perbedaan hasil walaupun tipe data yang digunakan untuk menyimpan data sudah sesuai tipe datanya.
PRAKTIKUM ALGORITMA DAN STRUKTUR DATA LAB REKAYASA PERANGKAT LUNAK | TEKNIK INFORMATIKA UNKHAIR 49 Gambar 2. 15 program konversi tipe data Gambar 2. 16 hasil Konversi tipe data Penjelasan: Ketiga variabel tersebut mempunyai tipe data integer (bilangan bulat) c=a/b; variabel c menyimpan hasil perhitungan a/9 9/3 Hasil menjadi 3, namun hasil 10/3 seharusnya menghasilkan 3.3333 Dalam bahasa C++ operasi a/b juga memperhatikan tipe data, karena a dan b bertipe integer maka proses pembagian juga menghasilkan bilangan integer (bulat). Semestinya menghasilkan 3.333 tetapi dilakukan pembulatan ke bawah sehingga hasilnya 3 dan disimpan di variabel c yang bertipe integer.
PRAKTIKUM ALGORITMA DAN STRUKTUR DATA LAB REKAYASA PERANGKAT LUNAK | TEKNIK INFORMATIKA UNKHAIR 50 Gambar 2. 17 Program bertipe interger Gambar 2. 18 Hasil program bertipe integer Penjelasan: Variabel a dan b bertipe data integer (bilangan bulat) Variabel c bertipe float (bilangan pecahan) Dalam operasi c=a/b menghasilkan 3 bukan 3.333 padahal c bertipe float (pecahan), hal terjadi karena hasil operasinya adalah 3 dan 3 inilah yang disimpan di c. Jadi a/b menghasilkan 3 karena memiliki tipe data integer baru kemudian disimpan di c dengan tipe data float setelah hasil operasi yang menghasilkan 3.