The words you are searching are inside this book. To get more targeted content, please make full-text search by clicking here.

Laporan Praktikum Algoritma dan Struktur Data Semester 1 Jiandzah Lukmannulhakim 07352211037

Discover the best professional documents and content resources in AnyFlip Document Base.
Search
Published by lukmannurhakim0108, 2023-01-18 20:51:57

Laporan Praktikum Algoritma dan Struktur Data

Laporan Praktikum Algoritma dan Struktur Data Semester 1 Jiandzah Lukmannulhakim 07352211037

i LAPORAN PRAKTIKUM PRAKTIKUM ALGORITMA DAN STRUKTUR DATA OLEH Jiandzah Lukmannulhakim 07352211037 PROGRAM STUDI INFORMATIKA FAKULTAS TEKNIK UNIVERSITAS KHAIRUN TERNATE 2022


ii LEMBAR PENGESAHAN Laporan Praktikum Algoritma dan Struktur Data telah disetujui dan disahkan Program Studi Teknik Informatika Universitas Khairun pada tanggal 24 Desember 2022 Oleh: Jiandzah Lukmannulhakim 0735 2211037 Mengetahui, Dosen Pengampu Hairil Kurniadi Siradjuddin, S.Kom., M.Kom.


PRAKTIKUM ALGORITMA DAN STRUKTUR DATA LAB REKAYASA PERANGKAT LUNAK | TEKNIK INFORMATIKA UNKHAIR iii 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 Kurniadi Siradjuddin, 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, 24 Desember 2022 Jiandzah Lukmannulhakim


PRAKTIKUM ALGORITMA DAN STRUKTUR DATA LAB REKAYASA PERANGKAT LUNAK | TEKNIK INFORMATIKA UNKHAIR iv DAFTAR ISI LEMBAR PENGESAHAN ............................................................................................... ii KATA PENGANTAR ...................................................................................................... iii DAFTAR ISI.................................................................................................................... iv DAFTAR GAMBAR...................................................................................................... viii DAFTAR TABEL ........................................................................................................... xv BAB I ALGORITMA DAN STRUKTUR DATA, STRUKTUR DASAR C++ DAN CONTOH DASAR C++.................................................................................................... 2 1.1 Algoritma............................................................................................................ 2 1.1.1 Pengertian Algoritma ...................................................................................................2 1.1.2 Ciri-ciri Algoritma .........................................................................................................2 1.1.3 Struktur Dasar Algoritma..............................................................................................3 1.1.4 Struktur Penulisan Algoritma .......................................................................................4 1.1.5 Notasi Penulisan Algoritma..........................................................................................6 1.2 Struktur Data.................................................................................................... 10 1.2.1 Struktur Data Sederhana ...........................................................................................10 1.2.2 Struktur Data Majemuk ..............................................................................................10 1.3 Pengenalan C++............................................................................................... 11 1.3.1 Pengertian C++..........................................................................................................11 1.3.2 Struktur dasar C++ ....................................................................................................11 1.3.3 Perintah-perintah dasar C++......................................................................................14 1.3.4 Pindah Baris dan Tabulasi.........................................................................................14 1.3.5 Komentar ...................................................................................................................16 1.4 Contoh Dasar C++ ........................................................................................... 17 1.4.1 Membuat program C++..............................................................................................17 1.4.2 Kesalahan penulisan pada program..........................................................................19 1.4.3 Contoh Program C++.................................................................................................21 1.5 Latihan Kegiatan Praktikum............................................................................ 22 BAB II VARIABEL DAN KONSTANTA........................................................................ 26 2.1 Variabel............................................................................................................. 26 2.2 Penamaan Variabel.......................................................................................... 27


PRAKTIKUM ALGORITMA DAN STRUKTUR DATA LAB REKAYASA PERANGKAT LUNAK | TEKNIK INFORMATIKA UNKHAIR v 2.3 Kata Kunci........................................................................................................ 28 2.4 Tipe data........................................................................................................... 30 2.4.1 Integer........................................................................................................................30 2.4.2 Real/Float ..................................................................................................................31 2.4.3 Boolean......................................................................................................................31 2.4.4 Character...................................................................................................................31 2.4.5 String .........................................................................................................................32 2.5 Deklarasi Variabel............................................................................................ 32 2.6 Menentukan Tipe Variabel .............................................................................. 33 2.7 Memberikan Nilai ke Variabel ......................................................................... 34 2.8 Menampilkan Isi Variabel di Monitor.............................................................. 35 2.9 Konversi Tipe Data .......................................................................................... 36 2.10 Tipe Casting..................................................................................................... 39 2.11 Konstanta ......................................................................................................... 40 2.12 Latihan Kegiatan Praktikum............................................................................ 42 2.13 Studi Kasus...................................................................................................... 45 BAB III STRUKTUR DASAR ALGORITMA................................................................. 66 3.1 Sequence.......................................................................................................... 66 3.2 Selection........................................................................................................... 69 3.2.1 Pernyataan If .............................................................................................................70 3.2.2 Pernyataan If-else......................................................................................................72 3.2.3 Pernyataan If Berkalang ............................................................................................74 3.2.4 Keputusan Dengan Kondisi Jamak............................................................................76 3.2.5 Pernyataan Switch-case ............................................................................................77 3.3 Looping ............................................................................................................ 79 3.3.1 Perintah For...............................................................................................................79 3.3.2 Perintah for didalam for (kalang for) ..........................................................................82 3.3.3 Perintah While ...........................................................................................................84 3.3.4 Perintah do-while.......................................................................................................86 3.3.5 Pernyataan Break ......................................................................................................88 3.3.6 Pernyataan Continue .................................................................................................89


PRAKTIKUM ALGORITMA DAN STRUKTUR DATA LAB REKAYASA PERANGKAT LUNAK | TEKNIK INFORMATIKA UNKHAIR vi 3.4 Latihan Kegiatan Praktikum............................................................................ 90 3.5 Studi Kasus...................................................................................................... 96 3.6 Kesimpulan dan Saran.................................................................................. 133 3.6.1 Kesimpulan..............................................................................................................133 3.6.2 Saran .......................................................................................................................133 BAB IV ARRAY.......................................................................................................... 135 4.1 Array Dimensi Satu........................................................................................ 136 4.2 Array Dimensi Dua......................................................................................... 142 4.3 Latihan Kegiatan Praktikum.......................................................................... 146 4.4 Studi Kasus.................................................................................................... 150 4.5 Kesimpulan dan Saran.................................................................................. 165 4.5.1 Kesimpulan..............................................................................................................165 4.5.2 Saran .......................................................................................................................165 BAB V POINTER........................................................................................................ 167 5.1 Pengertian Pointer......................................................................................... 168 5.2 Macam-macam Operator pada Pointer ........................................................ 168 5.3 Cara Membuat Pointer................................................................................... 169 5.4 Cara Mengakses Pointer............................................................................... 170 5.5 Latihan Kegiatan Praktikum.......................................................................... 170 5.6 Studi kasus .................................................................................................... 177 5.7 Kesimpulan dan Saran.................................................................................. 182 5.7.1 Kesimpulan..............................................................................................................182 5.7.2 Saran .......................................................................................................................182 BAB VI STACK .......................................................................................................... 185 6.1 Pengenalan Stack.......................................................................................... 185 6.2 Latihan Kegiatan Praktikum.......................................................................... 186 6.3 Studi Kasus.................................................................................................... 193 6.4 Kesimpulan dan Saran.................................................................................. 208 6.4.1 Kesimpulan..............................................................................................................208 6.4.2 Saran .......................................................................................................................209 BAB VII QUEUE......................................................................................................... 211 7.1 Definisi Queue (Antri).................................................................................... 212


PRAKTIKUM ALGORITMA DAN STRUKTUR DATA LAB REKAYASA PERANGKAT LUNAK | TEKNIK INFORMATIKA UNKHAIR vii 7.2 Operasi Dasar Queue .................................................................................... 213 7.3 Latihan Kegiatan Praktikum.......................................................................... 213 7.4 Studi Kasus.................................................................................................... 224 7.5 Kesimpulan dan Saran.................................................................................. 244 7.5.1 Kesimpulan..............................................................................................................244 7.5.2 Saran .......................................................................................................................244 DAFTAR PUSTAKA.................................................................................................... 246


PRAKTIKUM ALGORITMA DAN STRUKTUR DATA LAB REKAYASA PERANGKAT LUNAK | TEKNIK INFORMATIKA UNKHAIR viii DAFTAR GAMBAR Gambar 1.1 Bagian deklarasi .............................................................................................. 5 Gambar 1.2 Bagian deskripsi ............................................................................................. 5 Gambar 1.3 Notasi penulisan algoritma flowchart ............................................................... 9 Gambar 1.4 Software Dev C++ ......................................................................................... 17 Gambar 1.5 Membuat program baru Dev C++ .................................................................. 18 Gambar 1.6 Contoh program Dev C++.............................................................................. 18 Gambar 1.7 Menjalankan program.................................................................................... 18 Gambar 1.8 Menyimpan file program. ............................................................................... 19 Gambar 1.9 Hasil menjalankan program. .......................................................................... 19 Gambar 1.10 Contoh penulisan program salah ................................................................. 20 Gambar 1.11 Keterangan kesalahan program................................................................... 20 Gambar 1.12 Program setelah perbaikan.......................................................................... 21 Gambar 1.13 Hasil menjalankan program......................................................................... 21 Gambar 1.14 Contoh program 1........................................................................................ 21 Gambar 1.15 Hasil menjalankan contoh program 1........................................................... 22 Gambar 1.16 Contoh program 2........................................................................................ 22 Gambar 1.17 Hasil menjalankan contoh program 2........................................................... 22 Gambar 1.18 Program latihan ........................................................................................... 23 Gambar 1.19 Hasil program latihan................................................................................... 23 Gambar 2.1 Ilustrasi variabel............................................................................................. 26 Gambar 2.2 Kesalahan penamaan variabel ...................................................................... 28 Gambar 2.3 Keterangan kesalahan................................................................................... 28 Gambar 2.4 Penamaan variabel dengan kata kunci.......................................................... 29 Gambar 2.5 Keterangan kesalahan................................................................................... 29 Gambar 2.6 Jenis-jenis tipe data ....................................................................................... 30 Gambar 2.7 Deklarasi variabel .......................................................................................... 32 Gambar 2.8 Deklarasi variabel .......................................................................................... 33 Gambar 2.9 Pemberian nilai variabel................................................................................. 34 Gambar 2.10 Pemberian nilai variabel............................................................................... 34 Gambar 2.11 Pemberian dua nilai variabel........................................................................ 35 Gambar 2.12 Hasil pemberian dua nilai variabel ............................................................... 35 Gambar 2.13 Progam menampilkan isi variabel ................................................................ 36 Gambar 2.14 Hasil program menampilkan isi variabel ...................................................... 36


PRAKTIKUM ALGORITMA DAN STRUKTUR DATA LAB REKAYASA PERANGKAT LUNAK | TEKNIK INFORMATIKA UNKHAIR ix Gambar 2.15 Program konversi tipe data .......................................................................... 37 Gambar 2.16 Hasil program konversi tipe data ................................................................. 37 Gambar 2.17 Program konversi tipe data .......................................................................... 38 Gambar 2.18 Hasil program konversi tipe data ................................................................. 38 Gambar 2.19 Konversi tipe data ........................................................................................ 39 Gambar 2.20 Hasil program konversi tipe data ................................................................. 39 Gambar 2.21 Program penulisan konstanta #define.......................................................... 41 Gambar 2.22 Hasil program Penulisan konstanta #define................................................. 41 Gambar 2.23 Program penulisan konstanta const............................................................. 41 Gambar 2.24 Hasil program penulisan konstanta const .................................................... 41 Gambar 2.25 Program latihan 1 ........................................................................................ 43 Gambar 2.26 Hasil program latihan 1................................................................................ 43 Gambar 2.27 Program latihan 2 ........................................................................................ 44 Gambar 2.28 Hasil program latihan 2................................................................................ 45 Gambar 2.29 Flowchart program studi kasus 1 ................................................................. 46 Gambar 2.30 Program studi kasus 1 ................................................................................. 47 Gambar 2.31 Hasil program studi kasus 1......................................................................... 47 Gambar 2.32 Bangun dan rumus persegi panjang ............................................................ 48 Gambar 2.33 Flowchart program studi kasus 2 ................................................................. 49 Gambar 2.34 Program studi kasus 2 ................................................................................. 51 Gambar 2.35 Hasil program studi kasus 2......................................................................... 51 Gambar 2.36 Bangun dan rumus lingkaran ....................................................................... 51 Gambar 2.37 Flowchart program studi kasus 3 ................................................................. 52 Gambar 2.38 program studi kasus 3.................................................................................. 54 Gambar 2.39 Hasil program studi kasus 3......................................................................... 54 Gambar 2.40 Bangun dan rumus kerucut.......................................................................... 54 Gambar 2.41 Flowchart program studi kasus 4 ................................................................. 55 Gambar 2.42 program studi kasus 4.................................................................................. 57 Gambar 2. 43 Hasil program studi kasus 4........................................................................ 57 Gambar 2.44 Bangun dan rumus kubus ............................................................................ 58 Gambar 2.45 Flowchart program studi kasus 5 ................................................................. 58 Gambar 2.46 program studi kasus 5.................................................................................. 60 Gambar 2.47 Hasil program studi kasus 5......................................................................... 60 Gambar 2.48 Bangun dan rumus tabung........................................................................... 60 Gambar 2.49 Flowchart program studi kasus 6 ................................................................. 61 Gambar 2.50 program studi kasus 6.................................................................................. 63 Gambar 2.51 Hasil program studi kasus 6......................................................................... 63 Gambar 3.1 Konsep runtunan pada flowchart ................................................................... 66 Gambar 3.2 Flowchart menghitung luas persegi panjang.................................................. 67


PRAKTIKUM ALGORITMA DAN STRUKTUR DATA LAB REKAYASA PERANGKAT LUNAK | TEKNIK INFORMATIKA UNKHAIR x Gambar 3.3 Program menghitung luas persegi panjang ................................................... 68 Gambar 3.4 Hasil program hitung luas persegi panjang.................................................... 68 Gambar 3.5 Tampilan login virtual class Unkhair............................................................... 69 Gambar 3.6 Flowchart pernyataan if.................................................................................. 70 Gambar 3.7 Penulisan pernyataan if ................................................................................. 70 Gambar 3.8 Penulisan pernyataan if dengan blok............................................................. 71 Gambar 3.9 Contoh program pernyataan if ....................................................................... 71 Gambar 3.10 Hasil contoh pogram pernyataan if .............................................................. 71 Gambar 3.11 flowchart pernyataan If-else......................................................................... 72 Gambar 3.12 Penulisan pernyataan if-else........................................................................ 72 Gambar 3.13 Contoh program pernyataan if-else.............................................................. 73 Gambar 3.14 Hasil contoh program pernyataan if-else ..................................................... 73 Gambar 3.15 Penulisan pernyataan if berkalang............................................................... 74 Gambar 3.16 Contoh program if berkalang ....................................................................... 75 Gambar 3.17 Hasil contoh program if berkalang ............................................................... 75 Gambar 3.18 Hasil contoh program if berkalang ............................................................... 75 Gambar 3.19 Hasil contoh program if berkalang ............................................................... 75 Gambar 3.20 Penulisan pernyataan switch-case............................................................... 77 Gambar 3.21 Contoh program switch-case ....................................................................... 78 Gambar 3.22 Hasil contoh program switch-case ............................................................... 78 Gambar 3.23 Hasil contoh program switch-case ............................................................... 78 Gambar 3.24 Hasil contoh program switch-case ............................................................... 79 Gambar 3.25 Bentuk penulisan perintah for ...................................................................... 80 Gambar 3.26 Contoh program perintah for........................................................................ 80 Gambar 3.27 Hasil contoh program perintah for................................................................ 81 Gambar 3.28 Bentuk penulisan kalang for......................................................................... 82 Gambar 3.29 Contoh program perintah kalang for ............................................................ 82 Gambar 3.30 Hasil contoh program perintah kalang for .................................................... 83 Gambar 3.31 Bentuk penulisan perintah while .................................................................. 84 Gambar 3.32 Contoh program while.................................................................................. 84 Gambar 3.33 Hasil contoh program while.......................................................................... 85 Gambar 3. 34 Bentuk penulisan perintah do-while ............................................................ 86 Gambar 3.35 Contoh program perintah do-while............................................................... 87 Gambar 3.36 Hasil contoh program perintah do-while....................................................... 87 Gambar 3.37 Contoh program pernyataan break .............................................................. 88 Gambar 3.38 Hasil contoh program pernyataan break...................................................... 88 Gambar 3.39 Contoh program pernyataan continue.......................................................... 89 Gambar 3.40 Hasil contoh program pernyataan continue ................................................. 90 Gambar 3.41 Program latihan 1 ........................................................................................ 91


PRAKTIKUM ALGORITMA DAN STRUKTUR DATA LAB REKAYASA PERANGKAT LUNAK | TEKNIK INFORMATIKA UNKHAIR xi Gambar 3.42 Hasil program latihan 1................................................................................ 91 Gambar 3.43 Hasil program latihan 1................................................................................ 92 Gambar 3.44 Program latihan 2 ........................................................................................ 93 Gambar 3.45 Hasil program latihan 2................................................................................ 93 Gambar 3.46 Hasil program latihan 2................................................................................ 94 Gambar 3. 47 Program latihan 3 ....................................................................................... 95 Gambar 3.48 Hasil program latihan 3................................................................................ 95 Gambar 3.49 Program latihan 3 ........................................................................................ 96 Gambar 3.50 Hasil program latihan 4................................................................................ 96 Gambar 3.51 flowchart program studi kasus 1 .................................................................. 97 Gambar 3.52 program studi kasus 1.................................................................................. 99 Gambar 3.53 Hasil program studi kasus 1......................................................................... 99 Gambar 3.54 Hasil program studi kasus 1......................................................................... 99 Gambar 3.55 Flowchart program studi kasus 2 ............................................................... 100 Gambar 3.56 program studi kasus 2................................................................................ 102 Gambar 3.57 Hasil program studi kasus 2....................................................................... 102 Gambar 3.58 Flowchart program studi kasus 3 ............................................................... 104 Gambar 3.59 program studi kasus 3................................................................................ 107 Gambar 3.60 Hasil program studi kasus 3....................................................................... 107 Gambar 3.61 Hasil program studi kasus 3....................................................................... 108 Gambar 3.62 Hasil program studi kasus 3....................................................................... 108 Gambar 3.63 Hasil program studi kasus 3....................................................................... 108 Gambar 3.64 Hasil program studi kasus 3....................................................................... 108 Gambar 3.65 Flowchart program studi kasus 4 ............................................................... 109 Gambar 3.66 program studi kasus 4................................................................................ 112 Gambar 3.67 Hasil program studi kasus 4....................................................................... 112 Gambar 3.68 Hasil program studi kasus 4....................................................................... 112 Gambar 3.69 Hasil program studi kasus 4....................................................................... 112 Gambar 3.70 flowchart program studi kasus 5 ................................................................ 114 Gambar 3.71 program studi kasus 5................................................................................ 116 Gambar 3.72 Hasil program studi kasus 5....................................................................... 116 Gambar 3.73 flowchart program studi kasus 6 ................................................................ 117 Gambar 3.74 program studi kasus 6................................................................................ 119 Gambar 3.75 Hasil program studi kasus 6....................................................................... 119 Gambar 3.76 flowchart program studi kasus 7 ................................................................ 121 Gambar 3.77 program studi kasus 7................................................................................ 123 Gambar 3.78 Hasil program studi kasus 7....................................................................... 124 Gambar 3.79 flowchart program studi kasus 8 ................................................................ 125 Gambar 3.80 program studi kasus 8................................................................................ 128


PRAKTIKUM ALGORITMA DAN STRUKTUR DATA LAB REKAYASA PERANGKAT LUNAK | TEKNIK INFORMATIKA UNKHAIR xii Gambar 3.81 Hasil program studi kasus 8....................................................................... 128 Gambar 3.82 flowchart program studi kasus 9 ................................................................ 130 Gambar 3.83 program studi kasus 9................................................................................ 132 Gambar 3.84 Hasil program studi kasus 9....................................................................... 132 Gambar 4.1 Penulisan deklarasi Array satu dimensi ....................................................... 136 Gambar 4.2 Ilustrasi Array Satu Dimensi......................................................................... 137 Gambar 4.3 Contoh program menampilkan isi variabel array 1....................................... 138 Gambar 4.4 Hasil contoh program menampilkan isi variabel array 1............................... 138 Gambar 4.5 Contoh program menampilkan isi variabel array 2....................................... 139 Gambar 4.6 Hasil contoh program menampilkan isi variabel array 2............................... 139 Gambar 4.7 Contoh program menampilkan isi variabel array 3....................................... 140 Gambar 4.8 Hasil contoh program menampilkan isi variabel array 3............................... 140 Gambar 4.9 Contoh program menampilkan isi variabel array 4....................................... 141 Gambar 4.10 Hasil contoh program menampilkan isi variabel array 4............................. 141 Gambar 4.11 Penulisan deklarasi array dua dimensi ...................................................... 142 Gambar 4.12 Contoh program menampilkan isi variabel array 2..................................... 143 Gambar 4.13 Contoh program menampilkan isi variabel array 2..................................... 144 Gambar 4.14 Contoh program menampilkan isi variabel array 3..................................... 145 Gambar 4.15 Hasil contoh program menampilkan isi variabel array 3............................. 145 Gambar 4.16 Program latihan 1 ...................................................................................... 147 Gambar 4.17 Hasil program latihan 1.............................................................................. 147 Gambar 4.18 Program latihan 2 ...................................................................................... 149 Gambar 4.19 Hasil program latihan 2.............................................................................. 149 Gambar 4.20 Flowchart program studi kasus 1 ............................................................... 150 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 ............................................................... 154 Gambar 4.24 Program studi kasus 2 ............................................................................... 157 Gambar 4.25 Hasil program studi kasus 2....................................................................... 157 Gambar 4.26 Flowchart program studi kasus 3 ............................................................... 158 Gambar 4.27 Program studi kasus 3 ............................................................................... 161 Gambar 4.28 Hasil program studi kasus 3....................................................................... 161 Gambar 4.29 Hasil program studi kasus 3....................................................................... 162 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 latihan 1....................................................................................... 171 Gambar 5.3 Program latihan 1 ........................................................................................ 172


PRAKTIKUM ALGORITMA DAN STRUKTUR DATA LAB REKAYASA PERANGKAT LUNAK | TEKNIK INFORMATIKA UNKHAIR xiii Gambar 5.4 hasil program latihan 1................................................................................. 173 Gambar 5.5 flowchart latihan 2........................................................................................ 174 Gambar 5.6 program latihan 2......................................................................................... 175 Gambar 5.7 hasil program latihan 2................................................................................. 176 Gambar 5.8 Flowchart studi kasus 1 ............................................................................... 177 Gambar 5.9 program studi kasus 1.................................................................................. 179 Gambar 5.10 hasil program studi kasus 1 ....................................................................... 179 Gambar 5.11 Flowchart studi kasus 2 ............................................................................. 180 Gambar 5.12 program studi kasus 2................................................................................ 181 Gambar 5.13 hasil program studi kasus 2 ....................................................................... 182 Gambar 6.1 Program latihan 190 Gambar 6.2 Lanjutan program latihan 190 Gambar 6.3 Lanjutan program latihan 191 Gambar 6.4 Lanjutan program latihan 191 Gambar 6.5 Hasil program latihan 192 Gambar 6.6 Hasil program latihan 192 Gambar 6.7 Hasil program latihan 192 Gambar 6.8 flowchart program studi kasus 1 193 Gambar 6.9 Program studi kasus 1 199 Gambar 6.10 lanjutan program studi kasus 1 199 Gambar 6.11 Hasil program studi kasus 1 200 Gambar 6.12 Hasil program studi kasus 1 200 Gambar 6.13 flowchart program stack 2 201 Gambar 6.14 Program studi kasus 2 206 Gambar 6.15 Lanjutan program studi kasus 2 206 Gambar 6.16 Lanjutan program studi kasus 2 207 Gambar 6.17 Lanjutan program studi kasus 2 207 Gambar 6.18 Hasil program studi kasus 2 208 Gambar 7.1 Operasi queue 213 Gambar 7.2 Program latihan 220 Gambar 7.3 Program latihan lanjutan 221 Gambar 7.4 Program latihan lanjutan 222 Gambar 7.5 Program latihan lanjutan 223 Gambar 7.6 Program latihan lanjutan 223 Gambar 7.7 Flowchart studi kasus 1 224 Gambar 7.8 program studi kasus 1 230 Gambar 7.9 program studi kasus 1 lanjutan 231 Gambar 7.10 program studi kasus 1 lanjutan 231 Gambar 7.11 hasil program studi kasus 1 232


PRAKTIKUM ALGORITMA DAN STRUKTUR DATA LAB REKAYASA PERANGKAT LUNAK | TEKNIK INFORMATIKA UNKHAIR xiv Gambar 7.12 flowchart studi kasus 2 233 Gambar 7.13 program studi kasus 2 240 Gambar 7.14 program studi kasus 2 lanjutan 241 Gambar 7.15 program studi kasus 2 lanjutan 242 Gambar 7.16 hasil program studi kasus 2 243 Gambar 7.17 hasil program studi kasus 2 lanjutan 243


PRAKTIKUM ALGORITMA DAN STRUKTUR DATA LAB REKAYASA PERANGKAT LUNAK | TEKNIK INFORMATIKA UNKHAIR xv DAFTAR TABEL Tabel 1.1 Simbol-simbol flowchart....................................................................................... 8 Tabel 1.2 Header file ......................................................................................................... 12 Tabel 1.3 Jenis-jenis escape sequences ........................................................................... 15 Tabel 2.1 Contoh penamaan variabel................................................................................ 27 Tabel 2.2 Kata kunci.......................................................................................................... 28 Tabel 2.3 Integer ............................................................................................................... 30 Tabel 2.4 Real/float............................................................................................................ 31 Tabel 2.5 Boolean ............................................................................................................. 31 Tabel 2.6 Character........................................................................................................... 32 Tabel 3.1 Operator Logika................................................................................................. 76


1 BAB I ALGORITMA DAN STRUKTUR DATA, STRUKTUR DASAR C++ DAN CONTOH DASAR C++ OLEH Jiandzah Lukmannulhakim 07352211037 PROGRAM STUDI INFORMATIKA FAKULTAS TEKNIK UNIVERSITAS KHAIRUN TERNATE 2022


PRAKTIKUM ALGORITMA DAN STRUKTUR DATA LAB REKAYASA PERANGKAT LUNAK | TEKNIK INFORMATIKA UNKHAIR 2 BAB I ALGORITMA DAN STRUKTUR DATA, STRUKTUR DASAR C++ DAN CONTOH DASAR C++ 1.1 Algoritma 1.1.1 Pengertian Algoritma 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 buku Al-Jabr Wa-al Muqobla, dikenal sekarang sebagai ilmu aljabar. Dalam pemrograman algoritma merupakan suatu cara ampuh yang berisi serangkaian langkah-langkah yang tersusun secara akurat yang dibuat dengan bantuan komputer untuk menyelesaikan sebuah masalah. Algoritma disusun secara sistematis dan menggunakan bahasa yang logis dengan tujuan tertentu. Logis menjadi kata kunci dalam suatu algoritma, logis adalah bentuk sifat dari kata logika yaitu suatu metode untuk mengambil keputusan dari suatu fakta atau pernyataan. Seringkali logika diselaraskan dengan nalar, yaitu proses berfikir manusia untuk menghubung-hubungkan fakta atau pernyataan sehingga sampai pada suatu kesimpulan. Dalam memahami sebuah algoritma harus dibarengi dengan logika-logika yang akan membantu dalam pemahaman tersebut. 1.1.2 Ciri-ciri Algoritma Terdapat 5 ciri-ciri algoritma menurut Donald E. Knuth, yaitu:


PRAKTIKUM ALGORITMA DAN STRUKTUR DATA LAB REKAYASA PERANGKAT LUNAK | TEKNIK INFORMATIKA UNKHAIR 3 1. Keterbatasan “Finiteness”, Keterbatasan yaitu suatu algoritma yang akan selesai jika sudah membuat beberapa proses. 2. Kepastian “Definiteness”, Kepastian yaitu semua cara algoritma harus di jelaskan dengan tepat dan tidak bermakna ganda. 3. Masukan “input”, Algoritma mempunyai nilai nol atau lebih beberapa data masukkan (input) 4. Keluaran “Output”, Algoritma mempunnyai nilai nol atau lebih beberapa data hasil keluaran (output). 5. Efektifitas “Effectiveness”, Langkah-langkah algorithma harus efektif dan dikerjakan dalam waktu yang wajar. 1.1.3 Struktur Dasar Algoritma Dalam sebuah algoritma langkah-langkah penyelesaian masalahnya dapat berupa struktur urut (sequence), struktur pemilihan (selection), dan struktur pengulangan (looping). Ketiga jenis langkah tersebut membentuk konstrukti suatu algoritma. 1.1.3.1 Struktur Urut (sequence) Struktur urut adalah suatu struktur program dimana setiap baris program akan dikerjakan secara urut dari atas ke bawah sesuai dengan urutan penulisannya. 1.1.3.2 Struktur Pemilihan (selection) Pada struktur pemilihan tidak setiap baris program akan dikerjakan. Baris program yang dikerjakan hanya yang memenuhi syarat saja. Struktur pemilihan adalah struktur program yang melakukan proses pengujian untuk mengambil suatu keputusan apakah suatu baris atau blok instruksi akan diproses atau tidak. Pengujian kondisi ini dilakukan untuk memilih salah satu dari beberapa alternatif yang tersedia.


PRAKTIKUM ALGORITMA DAN STRUKTUR DATA LAB REKAYASA PERANGKAT LUNAK | TEKNIK INFORMATIKA UNKHAIR 4 1.1.3.3 Pengulangan (looping) Salah satu kelebihan komputer adalah kemampuannya untuk melakukan melakukan pekerjaan yang sama berulang kali tanpa mengenal lelah. Struktur pengulangan disebut kalang (loop), dan bagian algoritma yang diulang (aksi) dinamakan badan kalang (loop body). 1.1.4 Struktur Penulisan Algoritma Berikut merupakan struktur penulisan algoritma. 1.1.4.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: Algoritma Menghitung_Luas_Segitiga {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.1.4.2 Bagian deklarasi Bagian deklarasi berisikan semua nama pengenal yang dipakai di dalam algoritma, seperti nama tipe, konstanta, variabel, fungsi, dan prosedur. Contohnya:


PRAKTIKUM ALGORITMA DAN STRUKTUR DATA LAB REKAYASA PERANGKAT LUNAK | TEKNIK INFORMATIKA UNKHAIR 5 Gambar 1.1 Bagian deklarasi 1.1.4.3 Bagian deskripsi Bagian ini berisi langkah-langkah penyelesaian masalah. Contohnya sebagai berikut. Gambar 1.2 Bagian deskripsi


PRAKTIKUM ALGORITMA DAN STRUKTUR DATA LAB REKAYASA PERANGKAT LUNAK | TEKNIK INFORMATIKA UNKHAIR 6 1.1.5 Notasi Penulisan Algoritma Algoritma adalah independen dan tidak terikat pada bahasa pemograman manapun. Penulisan algoritma tidak memiliki aturan baku yang menjadi suatu patokan, akan tetapi penulisan algoritma harus jelas maksudnya dalam tiap langkahnya. Pada dasarnya terdapat 3 notasi atau format penyajian algoritma sebagai berikut. 1.1.5.1 Deskriptif Notasi penulisan algoritma bertipe deskriptif adalah algoritma yang terdiri dari sebuah atau beberapa kalimat yang ditulis dalam bahasa sehari-hari manusia seperti bahasa Indonesia atau bahasa Inggris. Jadi langkah-langkah dalam algoritmanya ditulis dalam bahasa yang mudah dipahami manusia dalam bentuk bahasa sehari-hari manusia itu sendiri. Contohnya: Algoritma Menentukan_bilangan_terbesar_dari_3_bilangan : 1. Masukkan 3 bilangan, misalkan bilangan a, b, dan c. 2. Apabila bilangan a lebih besar dari b maupun c, maka bilangan a merupakan bilangan terbesar 3. Jika tidak (bilangan a tidak lebih besar dari b atau c) berarti bilangan a sudah pasti bukan bilangan terbesar. Kemungkinannya tinggal bilangan b atau c. Apabila bilangan b lebih besar dari c, maka b merupakan bilangan terbesar. Sebaliknya apabila bilangan b tidak lebih besar dari c, maka bilangan c merupakan yang terbesar. 4. Selesai.


PRAKTIKUM ALGORITMA DAN STRUKTUR DATA LAB REKAYASA PERANGKAT LUNAK | TEKNIK INFORMATIKA UNKHAIR 7 1.1.5.2 Pseudocode Pseudocode terdiri dari dua kata yaitu, “Pseudo” berarti imitasi atau menyerupai dan “code” berarti kode. Apabila diterjemahkan secara bebas, pseudocode berarti tiruan atau imitasi dari kode bahasa pemrograman. Pseudocode adalah suatu bahasa pemrograman yang memungkinkan seorang programmer berfikir untuk memecahkan permasalahan tanpa harus memikirkan syntax dari bahasa pemrograman tertentu. Tidak ada aturan penulisan syntax dalam pseudocode, jadi pseudocode digunakan untuk menggambarkan logika urut-urutan pemecahan masalah tanpa memandang bagaimana bahasa pemrogramannya. Secara jelas, pseudocode adalah notasi penulisan algoritma yang penulisannya merupakan tiruan atau menyerupai kode bahasa pemograman tanpa memikirkan syntax dari bahasa pemograman tertentu. Contohnya: Algoritma Menentukan_nilai_terbesar_dari_beberapa_bilangan_bulat_nilai : 1. Input bilangan a 2. Input bilangan b 3. If a>b then print “Bilangan terbesar=a” 4. If b>a then print “Bilangan terbesar=b” 5. End 1.1.5.3 Flowchart Algoritma bertipe Flowchart merupakan gambaran prosedur penyelesaian masalah menggunakan struktur bahasa inggris atau bahasa indonesia dengan menggunakan katakata dan simbol. Flowchart memiliki simbol-simbol yang mewakili fungsi-fungsi langkah program dan garis alir yang menunjukkan urutan langkah program.


PRAKTIKUM ALGORITMA DAN STRUKTUR DATA LAB REKAYASA PERANGKAT LUNAK | TEKNIK INFORMATIKA UNKHAIR 8 Berikut merupakan simbol-simbol dalam flowchart. Tabel 1.1 Simbol-simbol flowchart 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 (decision), 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 Simbol proses terdefinisi (predefined process symbol), simbol yang digunakan untuk proses yang detilnya dijelaskan terpisah, misal dalam bentuk subroutine


PRAKTIKUM ALGORITMA DAN STRUKTUR DATA LAB REKAYASA PERANGKAT LUNAK | TEKNIK INFORMATIKA UNKHAIR 9 Simbol Penghubung ke halaman lain, simbol yang digunakan untuk menghubungkan bagian diagram alir pada halaman yang berbeda Simbol Penghubung ke halaman yang sama, simbol yang digunakan untuk menghubungkan bagian diagram alir pada halaman yang sama Contohnya: Algoritma Menentukan_nilai_terbesar_dari_beberapa_bilangan_bulat : Gambar 1.3 Notasi penulisan algoritma flowchart


PRAKTIKUM ALGORITMA DAN STRUKTUR DATA LAB REKAYASA PERANGKAT LUNAK | TEKNIK INFORMATIKA UNKHAIR 10 1.2 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.2.1 Struktur Data Sederhana 1. Array, struktur data yang terdiri dari sejumlah komponen yag memiliki tipe yang sama. 2. Record, merupakan kumpulan satuan data yang terdiri dari berbagai tipe. 1.2.2 Struktur Data Majemuk Terdiri dari linier dan non linier. Linier, contohnya stack, queue, serta list dan multilist. 1. Stack, struktur data berupa tumpukan yang pemasukan dan penghapusan elemennya hanya dapat dilakukan pada satu posisi, yaitu posisi akhir dari List (Top). Prinsip Stack adalah Last In First Out (LIFO) 2. Queue, struktur sata berupa antrean dengan operasi pemasukan data hanya diperbolehkan pada salah satu sisi, yang disebut sisi ekor (Tail) dan operasi penghapusan hanya diperbolehkan pada sisi lainnya yang disebut kepala (Head) dari LinkedList. Prinsip Antrean adalah First In First Out (FIFO)


PRAKTIKUM ALGORITMA DAN STRUKTUR DATA LAB REKAYASA PERANGKAT LUNAK | TEKNIK INFORMATIKA UNKHAIR 11 3. List, struktur yang mampu menyimpan elemen dari tipe data yang berbeda 4. Multilist, strukur yang terdiri dari beberapa list yang saling berkaitan Sedangkan non linier, contohnya tree, binary tree (pohon biner), serta graph. 1. Tree, strukur data yang terorganisir dari suatu item informasi cabang yang saling terkait. 2. Binary tree, Struktur ini biasanya digunakan untuk menyajikan data yang mengandung hubungan hirarkial antara elemen-elemennya. 3. Graph, kumpulan noktah (simpul) di dalam bidang dua dimensi yang dihubungkan dengan sekumpulan garis (sisi) 1.3 Pengenalan C++ 1.3.1 Pengertian C++ C++ merupakan bahasa pemrograman yang mendukung pemrograman berorientasi objek atau Object Oriented Programming (OOP). C++ bersifat case sensitive yang artinya membedakan antara huruf besar dan huruf kecil, sehingga instruksi harus ditulis dalam huruf kecil dan variabel yang ditulis dengan huruf kecil dan huruf besar berbeda. 1.3.2 Struktur dasar C++ 1.3.2.1 Header 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++.


PRAKTIKUM ALGORITMA DAN STRUKTUR DATA LAB REKAYASA PERANGKAT LUNAK | TEKNIK INFORMATIKA UNKHAIR 12 Tabel 1.2 Header file #include<iostream.h> Diperlukan pada program yang melibatkan perintah input – output. Misal cout dan cin #include <conio.h> Diperlukan pada program yang melibatkan perintah untuk membersihkan layar. Misal getch() dan clrscr() #include <iomanip.h> Diperlukan pada program yang bermanfaat untuk mengatur lebar dari suatu tampilan data. Misal setw() #include <math.h> Diperlukan pada program yang menggunakan operasi matematika. Misal sqrt untuk mencari akar, pow untuk mencari kuadrat #include <string.h> File header ini digunakan untuk memanipulasi string dan array. Misal strcpy(), strlen(), strcat(). #include <time.h> File header ini mengandung beberapa definisi fungsi untuk memanipulasi informasi tanggal dan waktu. #include <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.


PRAKTIKUM ALGORITMA DAN STRUKTUR DATA LAB REKAYASA PERANGKAT LUNAK | TEKNIK INFORMATIKA UNKHAIR 13 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). 1.3.2.2 Using namespace std; Using namespace std; Merupakan perintah yang digunakan untuk mendeklarasikan atau memberitahukan kepada compiler bahwa kita akan menggunakan semua fungsi/class/file yang terdapat dalam namespace std. 1.3.2.3 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(). 1.3.2.4 Pernyataan Pernyataan digunakan untuk menampilkan suatu kalimat dilayar monitor. Kalimat yang ditampilkan adalah kalimat yang diapit dengan tanda petik dua (“). Contohnya: { cout<<”selamat datang”; }


PRAKTIKUM ALGORITMA DAN STRUKTUR DATA LAB REKAYASA PERANGKAT LUNAK | TEKNIK INFORMATIKA UNKHAIR 14 1.3.2.5 Return 0; Return menyebabkan fungsi main() berakhir dan mengembalikan kode yang mengikuti instruksi tersebut. Ini merupakan cara yang paling sering digunakan untuk mengakhiri program. 1.3.3 Perintah-perintah dasar C++ 1.3.3.1 cin>> cin adalah kepanjangan dari c input yaitu perintah yang digunakan untuk menginputkan, perintah ini cukup dengan header file iostream. 1.3.3.2 cout<< cout adalah kepanjangan dari c output yaitu perintah yang digunakan untuk menampilkan, perintah ini cukup dengan header file iostream. 1.3.3.3 printf() printf adalah perintah yang digunakan untuk menginputkan, jika menggunakan perintah ini maka harus menambahkan header file stdio.h. 1.3.3.4 scanf() scanf adalah perintah yang digunakan untuk menampilkan, jika menggunakan perintah ini maka harus menambahkan header file stdio.h 1.3.4 Pindah Baris dan Tabulasi 1.3.4.1 Escape Sequences Escape Sequences menggunakan notasi “ \ ” ( back slash ) jika karakter terdapat notasi “\” ini sebagai karakter “escape” ( menghindar). Beberapa Escape Sequences lainnya antara lain :


PRAKTIKUM ALGORITMA DAN STRUKTUR DATA LAB REKAYASA PERANGKAT LUNAK | TEKNIK INFORMATIKA UNKHAIR 15 Tabel 1.3 Jenis-jenis escape sequences ESCAPE SEQUENCES PENGERTIAN \b Backspace \f Formfeed \n Baris Baru \r Carriage Return \t Tab ( default = 8 karakter ) \‟ Tanda kutip tunggal ( „ ) \” Tanda Kutip Ganda ( ” ) \\ Backslash \xaa Kode ASCII dalam hexadecimal. ( aa menunjukkan angka ASCII ybs ) \aaa Kode ASCII dalam octal. (aaa menunjukkan angka ASCII ybs ) Penjelasan lanjut 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”; Setelah program dieksekusi akan menampilkan kalimat Hallo...selamat datang kemudian kursor pindah ke bawah. cout<<”\nHallo...selamat datang\n”;


PRAKTIKUM ALGORITMA DAN STRUKTUR DATA LAB REKAYASA PERANGKAT LUNAK | TEKNIK INFORMATIKA UNKHAIR 16 Setelah program dieksekusi akan pindah baris terlebih dahulu kemudian menampilkan kalimat Hallo...selamat datang kemudian kursor pindah ke bawah. 1.3.4.2 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. 1.3.5 Komentar Komentar biasanya digunakan untuk mempermudah pemahaman terhadap program. Komentar tidak ikut dieksekusi sehingga dimanfaatkan sebagai penjelas dari pokok bahasan dalam sebuah program. Dalam C++ ada dua cara untuk memberikan komentar yaitu:


PRAKTIKUM ALGORITMA DAN STRUKTUR DATA LAB REKAYASA PERANGKAT LUNAK | TEKNIK INFORMATIKA UNKHAIR 17 1.3.5.1 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++ 1.3.5.2 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.4 Contoh Dasar C++ 1.4.1 Membuat program C++ 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.


PRAKTIKUM ALGORITMA DAN STRUKTUR DATA LAB REKAYASA PERANGKAT LUNAK | TEKNIK INFORMATIKA UNKHAIR 18 Gambar 1.5 Membuat program baru Dev C++ 3. Setelah itu, akan tampil halaman untuk mengetikkan program. Ketik program yang ingin dibuat. Gambar 1.6 Contoh program 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


PRAKTIKUM ALGORITMA DAN STRUKTUR DATA LAB REKAYASA PERANGKAT LUNAK | TEKNIK INFORMATIKA UNKHAIR 19 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. Gambar 1.9 Hasil menjalankan program. 1.4.2 Kesalahan penulisan pada program Aturan-aturan sederhana yang perlu diperhatikan dalam bahasa pemrograman C++ adalah bahasa C++ membedakan antara huruf besar dengan huruf kecil dan setiap akhir perintah diakhiri dengan tanda titik koma (;).


PRAKTIKUM ALGORITMA DAN STRUKTUR DATA LAB REKAYASA PERANGKAT LUNAK | TEKNIK INFORMATIKA UNKHAIR 20 Berikut merupakan contoh program yang terdapat kesalahan penulisan. Gambar 1.10 Contoh penulisan program salah Gambar 1.11 Keterangan kesalahan program Terdapat kesalahan penulisan pada program yang menghasilkan error, hal ini disebabkan ada kekurangan dalam penulisan cout<<”Tes”<<endl kurang tanda titik koma (;). Letak kesalahan ini akan ditujukan Bahasa C++ dengan menginformasikan letak baris yang terjadi kesalahan serta penjelasan kenapa terjadi kesalahan. Hasil program setelah perbaikkan dengan menambahkan tanda titik koma (;) setelah cout<<”Tes”<<endl sebagai berikut.


PRAKTIKUM ALGORITMA DAN STRUKTUR DATA LAB REKAYASA PERANGKAT LUNAK | TEKNIK INFORMATIKA UNKHAIR 21 Gambar 1.12 Program setelah perbaikan Gambar 1.13 Hasil menjalankan program 1.4.3 Contoh Program C++ Contoh 1 : Menampilkan tulisan “Hello World” ke layar Gambar 1.14 Contoh program 1


PRAKTIKUM ALGORITMA DAN STRUKTUR DATA LAB REKAYASA PERANGKAT LUNAK | TEKNIK INFORMATIKA UNKHAIR 22 Hasilnya sebagai berikut. Gambar 1.15 Hasil menjalankan contoh program 1 Contoh 2 : Menampilkan tulisan “Selamat Belajar C++ ke layar”s Gambar 1.16 Contoh program 2 Hasilnya sebagai berikut. Gambar 1.17 Hasil menjalankan contoh program 2 1.5 Latihan Kegiatan Praktikum Buatlah program baru pada aplikasi Dev C++ dengan cara File-New-Source File atau dengan menekan tombol Ctrl+N pada keyboard, kemudian ketik program seperti dibawah ini. #include <iostream>


PRAKTIKUM ALGORITMA DAN STRUKTUR DATA LAB REKAYASA PERANGKAT LUNAK | TEKNIK INFORMATIKA UNKHAIR 23 using namespace std; int main() { cout<<"Hello World"<<endl; } Hasil eksekusi program diatas sebagai berikut. Gambar 1.18 Program latihan Gambar 1.19 Hasil program latihan


PRAKTIKUM ALGORITMA DAN STRUKTUR DATA LAB REKAYASA PERANGKAT LUNAK | TEKNIK INFORMATIKA UNKHAIR 24


25 BAB II VARIABEL DAN KONSTANTA OLEH Jiandzah Lukmannulhakim 07352211037 PROGRAM STUDI INFORMATIKA FAKULTAS TEKNIK UNIVERSITAS KHAIRUN TERNATE 2023


PRAKTIKUM ALGORITMA DAN STRUKTUR DATA LAB REKAYASA PERANGKAT LUNAK | TEKNIK INFORMATIKA UNKHAIR 26 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 Ilustrasi 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 27 2.2 Penamaan Variabel Aturan penamaan Variabel/ pengenal 1. Tidak boleh diawali angka 2. Tidak boleh diawali dengan karakter khusus (misal tanda matematika) 3. Huruf besar dan huruf kecil berbeda 4. 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 Benar Walaupun ada angka tetapi angka dibelakang 2022Tahun Salah Angka tidak boleh di depan A Benar Minimal 1 huruf Gaji pegawai Salah Ada spasi, yang benar Gaji_pegawai +A Salah Tanda operasi matematika tidak boleh ada di dalam pengenal Nama-orang Salah Tidak boleh menggunakan karakter -


PRAKTIKUM ALGORITMA DAN STRUKTUR DATA LAB REKAYASA PERANGKAT LUNAK | TEKNIK INFORMATIKA UNKHAIR 28 Gambar 2.2 Kesalahan penamaan variabel Gambar 2.3 Keterangan kesalahan 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_cast continue default Delete do double


PRAKTIKUM ALGORITMA DAN STRUKTUR DATA LAB REKAYASA PERANGKAT LUNAK | TEKNIK INFORMATIKA UNKHAIR 29 dynamic_cast else Enum explicit extern false float For friend goto If inline Int long mutable namespace new operator private protected public register reinterpret_cast return short signed sizeof Static static_cast struct switch template This throw true Try typedef 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.4 Penamaan variabel dengan kata kunci Gambar 2.5 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 30 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.6 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....) Tabel 2.3 Integer


PRAKTIKUM ALGORITMA DAN STRUKTUR DATA LAB REKAYASA PERANGKAT LUNAK | TEKNIK INFORMATIKA UNKHAIR 31 2.4.2 Real/Float Tipe data yang merupakan bilangan pecahan. Penulisannya menggunakan titik/koma desimal. Misalnya 3.14 dan 45,5. Tabel 2.4 Real/float 2.4.3 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.5 Boolean Type Batas Nilai Ukuran Memori boolean True atau False 1 byte 2.4.4 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 +


PRAKTIKUM ALGORITMA DAN STRUKTUR DATA LAB REKAYASA PERANGKAT LUNAK | TEKNIK INFORMATIKA UNKHAIR 32 Tabel 2.6 Character Type Batas Nilai Ukuran Memori Char signed: -128 to 127 unsigned: 0 to 255 1 byte 2.4.5 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.7 Deklarasi variabel


PRAKTIKUM ALGORITMA DAN STRUKTUR DATA LAB REKAYASA PERANGKAT LUNAK | TEKNIK INFORMATIKA UNKHAIR 33 Jika akan menggunakan tipe data yang sama untuk beberapa identifier maka dapat dituliskan dengan menggunakan tanda koma, contoh: Gambar 2.8 Deklarasi variabel 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. Contohnya: A=10 maka tipe variabel adalah integer


PRAKTIKUM ALGORITMA DAN STRUKTUR DATA LAB REKAYASA PERANGKAT LUNAK | TEKNIK INFORMATIKA UNKHAIR 34 B=10.5 maka tipe variabel adalah float 2.7 Memberikan Nilai ke Variabel Proses memasukan data ke variabel secara langsung ke variabel adalah : Nama_variabel = isi_data Contohnya: Gambar 2.9 Pemberian nilai variabel Gambar 2.10 Pemberian nilai variabel


PRAKTIKUM ALGORITMA DAN STRUKTUR DATA LAB REKAYASA PERANGKAT LUNAK | TEKNIK INFORMATIKA UNKHAIR 35 Adapula berubahnya nilai variabel mengikuti pemberian nilai variabel terakhir sebagai berikut Gambar 2.11 Pemberian dua nilai variabel Gambar 2.12 Hasil pemberian dua nilai variabel Jika variable tidak diisi atau diinisialisasi, dan ditampilkan maka nilai yang akan ditampilkan akan di acak oleh compiler sehingga hasilnya nilai yang ditampilkan berbedabeda tergantung dari jenis compiler nya. 2.8 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;


Click to View FlipBook Version