LAPORAN PRAKTIKUM ALGORITMA DAN STRUKTUR DATA NAMA : NURFAHIRA RAMBAY M. ACHIRUDDIN NPM : 07352211059 PROGRAM STUDI TEKNIK INFORMATIKA FAKULTAS TEKNIK UNIVERSITAS KHAIRUN TERNATE 2022
i LEMBARAN PENGESAHAN LAPORAN LENGKAP PRAKTIKUM ALGORTIMA DAN STRUKTUR DATA LABORATORIUM REKAYASA PERANGKAT LUNAK UNIVERSITAS KHAIRUN PROGRAM STUDI TEKNIK INFORMATIKA FAKULTAS TEKNIK UNIVERSITAS KHAIRUN OLEH: NURFAHIRA RAMBAY M. ACHIRUDDIN 07352211059 Laporan lengkap ini telah diperiksa, disetujui, dan disahkan guna memenuhi persyaratan mata kuliah Algoritma dan Struktur Data, Program Studi Teknik Informatika Fakultas Teknik Universitas Khairun Ternate, 18 Januari 2023 Mengetahui Dosen Mata Kuliah Hairil Kurniadi Siradjuddin S.KOM., M.KOM NIDN : 883610016 Kepala Laboratorium Rekayasa Perangkat Lunak Rosihan S.T., M.Cs. NIDN :0019077612
ii KATA PENGANTAR Puji dan syukur kami dan panjatkan kepada Allah SWT. atas selesainya laporan praktium yang berjudul "algoritma dan struktur data meskipun banyak kekurangan didalamnya atas dukungan moral dan materi yang di brikan dalam penyusunan materi laporan ini,maka saya ucapkan banyak terimaksi kepada bapak selaku dosen beserta asisten yang telah memberikan materi tentang laporan ini. Saya sangat berharap laporan ini dapat beerguna dalam rangka menambah wawasan serta pengetahuan kita mengenai algoritma dan struktur data dan juga manfaatnya bagi kehidupan teknologi masa kini. Saya menyadari bahwa laporan ini belumlah sempurna. Oleh karena itu, saran dan kritik yang membangunkan dari rekan-rekan sangat di butuhkan untuk menyempurnakan laporan ini. Akhir kata, semoga laporan sederhana ini dapat dipahami bagi siapapun yang membacanya. Sekiranya laporan yang telah disusun dapat berguna bagi kita sendiri maupun bagi siapapun yang membacanya. Ternate, 18 Januari 2023 NURFAHIRA RAMBAY M. ACHIRUDDIN
iii DAFTAR ISI Lembaran pengesahan................................................................................... i Kata pengantar .............................................................................................. ii Daftar isi.......................................................................................................... iii Daftar gambar ................................................................................................ vi Daftar flowchart............................................................................................. xi BAB I : ALGORITMA STRUKTUR DATA DAN CONTOH DASAR C++....1 1.1 Pendahuluan ................................................................................... 2 1.1.1 Pengertian Algoritma ................................................... 2 1.1.2 Sejarah Algoritma ........................................................ 3 1.1.3 Notasi Algoritma.......................................................... 4 1.1.4 Struktur Data ................................................................ 8 1.1.5 Struktur Dasar C ++ dan Contoh Dasar C++ ............... 9 1.1.6 Contoh Program C++................................................... 12 1.2 Tujuan Praktikum........................................................................... 15 1.3 Latihan Kegiatan Praktikum .......................................................... 16 1.4 Kesimpulan .................................................................................... 19 1.5 Lembaran Asistensi ....................................................................... 20 BAB II : VARIABEL DAN KONSTANTA................................................. 21 2.1 Pendahuluan ................................................................................... 22 2.2 Tujuan Praktikum........................................................................... 23 2.3 Langkah-Langkah Kegiatan Dan Judul.......................................... 23 2.4 Latihan Kegiatan Praktikum .......................................................... 26 2.5 Studi Kasus .................................................................................... 31 2.6 Kesimpulan Dan Saran................................................................... 40 2.7 Lembaran Asistensi........................................................................ 41 BAB III : STRUKTUR DASAR ALGORITMA (SELECTION & LOOPING)......................................................................................... 42
iv 3.1 Pendahuluan ................................................................................... 43 3.2 Tujuan Praktikum........................................................................... 44 3.3 Langkah-Langkah Kegiatan.......................................................... 44 3.4 Latihan Kegiatan Praktikum ......................................................... 48 3.5 Studi Kasus ................................................................................... 56 3.6 Kesimpulan Dan Saran.................................................................. 68 3.7 Lembaran Asistensi........................................................................ 69 BAB IV : ARRAY .......................................................................................... 70 4.1 Pendahuluan ................................................................................... 71 4.2 Tujuan Praktikum........................................................................... 72 4.3 Langkah-Langkah Kegiatan Praktikum ......................................... 72 4.4 Latihan Kegiatan Prkatikum .......................................................... 76 4.5 Studi Kasus .................................................................................... 81 4.6 Kesimpulan dan Saran.................................................................... 95 4.7 Lembaran Asistensi........................................................................ 96 BAB V : POINTER........................................................................................ 97 5.1 5.1 Pendahuluan ............................................................................. 98 5.1.1 Pengenalan Pointer....................................................... 98 5.1.2 Cara Mengakses Pointer............................................... 99 5.2 Tujuan Praktikum Pointer C++...................................................... 100 5.3 Langkah-Langkah Kegiatan........................................................... 100 5.4 Latihan Kegiatan Praktikum ......................................................... 103 5.5 Studi Kasus…………. ................................................................... 107 5.6 Kesimpulan Dan Saran................................................................... 114 5.7 Lembaran Asistensi........................................................................ 115 BAB VI : STACK........................................................................................... 116 6.1 Pendahuluan .................................................................................. 117 6.2 Tujuan Praktikum........................................................................... 118 6.3 Langkah-Langkah Kegiatan Praktikum ......................................... 118
v 6.4 Latihan Kegiatan Praktikum .......................................................... 122 6.5 Studi Kasus .................................................................................... 131 6.6 Saran Dan Kesimpulan................................................................... 148 6.7 Lembaran Asistensi........................................................................ 149 BAB VII : QUEUE......................................................................................... 150 7.1 Pendahuluan ................................................................................... 151 7.2 Tujuan Praktikum........................................................................... 152 7.3 Langkah-Langkah Kegiatan Praktikum ......................................... 152 7.4 Kegiatan Prkatikum........................................................................ 157 7.5 Kesimpulan Dan Saran................................................................... 178 7.6 Lembaran Asistensi........................................................................ 179 BAB VIII : PENUTUP................................................................................... 180 8.1 Kesimpulan..................................................................................... 180 8.2 Saran............................................................................................... 181 8.3 Biodata ........................................................................................... 182 8.4 Dokumentasi................................................................................... 183
vi DAFTAR GAMBAR BAB I : ALGORITMA STRUKTUR DATA DAN CONTOH DASAR C++ Gambar 1.1 Aplikasi Dev C++ ........................................................................ 12 Gambar 1.2 Tampilan Awal Dev C++............................................................. 12 Gambar 1.3 Membuat Projek Baru .................................................................. 13 Gambar 1.4 Struktur Kode C++....................................................................... 13 Gambar 1.5 Proses Compile............................................................................. 14 Gambar 1.6 Proses Penyimpanan..................................................................... 14 Gambar 1.7 Tampilan Hasil Running .............................................................. 15 Gambar 1.8 Source Code Latihan 1 ................................................................. 16 Gambar 1.9 Hasil Running Latihan 1 .............................................................. 17 Gambar 1.10 Source Code Selamat Belajar C++............................................. 18 Gambar 1.11 Hasil Running Selamat Belajar C++ .......................................... 18 BAB II : VARIABEL DAN KONSTANTA Gambar 2.1 Tampilan Aplikasi Dev C++ ........................................................ 23 Gambar 2.2 Tampilan Awal Dev C++............................................................. 23 Gambar 2.3 Membuat Project Baru ................................................................. 24 Gambar 2.4 Struktur Code C++ ....................................................................... 24 Gambar 2.5 Proses Compile............................................................................. 25 Gambar 2.6 Proses Penyimpanan..................................................................... 25 Gambar 2.7 Tampilan Hasil Running ......................................................................... 26 Gambar 2.8 Source Code Latihan 1............................................................................ 27 Gambar 2.9 Hasil Running Latihan 1 ......................................................................... 28 Gambar 2.10 Source Code Operasi Aritmatika........................................................... 29 Gambar 2.11 Hasil Running Operasi Aritmatika........................................................ 30 Gambar 2.12 Source Code Menghitung Luas Persegi Panjang .................................. 33 Gambar 2.13 Tampilan Hasil Running ....................................................................... 33 Gambar 2.14 Source Code menghitung volume kerucut ........................................... 36 Gambar 2.15 Tampilan hasil running ......................................................................... 36
vii Gambar 2.16 Source Code menghitung voulume kubus............................................. 39 Gambar 2.17 Tampilan hasil running ......................................................................... 39 BAB III : STRUKTUR DASAR ALGORITMA (SELECTION &LOOPING) Gambar 3.1 Tampilan aplikasi DevC++. ......................................................... 44 Gambar 3.2 Tampilan awal Dev C++ .............................................................. 45 Gambar 3.3 Membuat Project baru .................................................................. 45 Gambar 3.4 Struktur Code C++ ....................................................................... 46 Gambar 3.5 Proses Compile............................................................................. 46 Gambar 3.6 Proses Penyimpanan.................................................................... 47 Gambar 3.7 Tampilan hasil running ............................................................... 47 Gambar 3.8 Struktur code latihan C++ ............................................................ 49 Gambar 3.9 Tampilan hasil running memenuhi syarat .................................... 49 Gambar 3.10 Tampilan hasil running tidak memenuhi syarat ......................... 50 Gambar 3.11 Struktur Code latihan C++ ......................................................... 51 Gambar 3.12 Tampilan hasil running............................................................... 52 Gambar 3.13 Tampilan hasil running............................................................... 52 Gambar 3.14 Struktur code .............................................................................. 54 Gambar 3.15 Tampilan hasil running C++ ...................................................... 54 Gambar 3.16 Struktur Code C++ ..................................................................... 55 Gambar 3.17 Tampilan hasil running C++ ...................................................... 56 Gambar 3.18 Struktur Code Studi Kasus 1 C++.............................................. 59 Gambar 3.19 Tampilan hasil running bil adalah bilangan genap..................... 59 Gambar 3.20 Tampilan hasil running bil adalah bilangan ganjil..................... 60 Gambar 3.21 Struktur Code C++ ..................................................................... 63 Gambar 3.22 Tampilan hasil running bilangan terbesar.................................. 63 Gambar 3.23 Struktur Code C++ ..................................................................... 66 Gambar 3.24 Tampilan hasil running C++ ...................................................... 67 BAB IV : ARRAY Gambar 4.1 Tampilan Aplikasi Dev C++ ........................................................ 72
viii Gambar 4.2 Tampilan Awal Dev C++............................................................. 72 Gambar 4.3 Membuat Project Baru ................................................................. 73 Gambar 4.4 Struktur Kode C++....................................................................... 73 Gambar 4.5 Proses Compile............................................................................. 74 Gambar 4.6 Proses Penyimpanan.................................................................... 74 Gambar 4.7 Tampilan Hasil Running .............................................................. 75 Gambar 4.8 Source Code Latihan 1 ................................................................ 77 Gambar 4.9 Tampilan Source Code Setelah Di Running ................................ 77 Gambar 4.10 Tampilan Source Code .............................................................. 79 Gambar 4.11 Tampilan Hasil Running ............................................................ 80 Gambar 4.12 Source Code Studi Kasus 1 ....................................................... 83 Gambar 4.13 Tampilan Source Code Setelah Di Running .............................. 83 Gambar 4.14 Tampilan Source Code Studi Kasus 2....................................... 86 Gambar 4.15 Tampilan Hasil Running ............................................................ 87 Gambar 4.16 Struktur Code Latihan C++........................................................ 90 Gambar 4.17 Tampilan Hasil Running Jika Ditemukan. ................................. 91 Gambar 4.18 Tampilan Hasil Running Jika Tidak Ditemukan........................ 91 Gambar 4.19 Struktur Kode Latihan C++........................................................ 94 Gambar 4.20 Tampilan Hasil Running C++ .................................................... 94 BAB V : POINTER Gambar 5.1 Tampilan Aplikasi Devc++. ......................................................... 100 Gambar 5.2 Tampilan Awal Devc++............................................................... 100 Gambar 5.3 Membuat Project Baru ................................................................. 101 Gambar 5.4 Struktur Code ............................................................................... 101 Gambar 5.5 Proses Compile............................................................................. 102 Gambar 5.6 Proses Penyimpanan.................................................................... 102 Gambar 5.7 Tampilan Hasil Running ............................................................. 102 Gambar 5.8 Struktur Code Program. ............................................................... 104 Gambar 5.9 Hasil Running............................................................................... 104
ix Gambar 5.10 Struktur Code Program .............................................................. 106 Gambar 5.11 Hasil Running............................................................................. 106 Gambar 5.12 Struktur Code Program .............................................................. 109 Gambar 5.13 Hasil Running............................................................................. 110 Gambar 5.14 Struktru Code Program .............................................................. 112 Gambar 5.15 Hasil Running............................................................................. 113 BAB VI : STACK Gambar 6.1 Tampilan Aplikasi Dev C++ ........................................................ 118 Gambar 6.2 Tampilan Awal C++..................................................................... 118 Gambar 6.3 Membuat Program Baru............................................................... 119 Gambar 6.4 Struktur Kode C++....................................................................... 119 Gambar 6.5 Struktur Kode C++....................................................................... 120 Gambar 6.6 Proses Compile............................................................................. 120 Gambar 6.7 Proses Menyimpan ....................................................................... 121 Gambar 6.8 Tampilan Hasil Running .............................................................. 121 Gambar 6.9 Struktur Kode Latihan C++.......................................................... 127 Gambar 6.10 Struktur Kode Latihan C++........................................................ 128 Gambar 6.11 Tampilan Hasil Running ............................................................ 129 Gambar 6.12 Struktur Kode Studi Kasus......................................................... 135 Gambar 6.13 Struktur Kode Studi Kasus......................................................... 135 Gambar 6.14 Struktur Kode Studi Kasus......................................................... 136 Gambar 6.15 Tampilan Hasil Running ............................................................ 136 Gambar 6.16 Tampillan Hasil Running ........................................................... 137 Gambar 6.17 Struktur Kode Studi Kasus......................................................... 144 Gambar 6.18 Struktur Kode Studi Kasus......................................................... 145 Gambar 6.19 Struktur Kode Studi Kasus......................................................... 145 Gambar 6.20 Struktur Kode Studi Kasus......................................................... 146 Gambar 6.21 Tampilan Hasil Running ............................................................ 147 BAB VII : QUEUE
x Gambar 7.1 Tampilan Aplikasi Dev C++ ........................................................ 152 Gambar 7.2 Tampilan Awal Dev C++............................................................. 152 Gambar 7.3 Membuat Program Baru............................................................... 153 Gambar 7.4 Struktur Kode C++....................................................................... 153 Gambar 7.5 Struktur Kode C++ (Lanjutan)..................................................... 154 Gambar 7.6 Struktur Kode C++ (Lanjutan)..................................................... 154 Gambar 7.7 Proses Compile............................................................................. 154 Gambar 7.8 Proses Menyimpan ....................................................................... 155 Gambar 7.9 Tampilan Hasil Running .............................................................. 155 Gambar 7.10 Tampilan Hasil Running ............................................................ 156 Gambar 7.11 Tampilan Hasil Running ............................................................ 156 Gambar 7.12 Struktur Kode C++..................................................................... 164 Gambar 7.13 Struktur Kode C++..................................................................... 164 Gambar 7.14 Struktur Kode C++..................................................................... 165 Gambar 7.15 Tampilan Hasil Running ............................................................ 165 Gambar 7.16 Tampilan Hasil Running ............................................................ 166 Gambar 7.17 Struktur Kode C++..................................................................... 175 Gambar 7.18 Struktur Kode C++..................................................................... 176 Gambar 7.19 Tampilan Hasil Running ............................................................ 177 Gambar 7.20 Tampilan Hasil Running ............................................................ 177
xi DAFTAR FLOWHART BAB I : ALGORITMA STRUKTUR DATA DAN CONTOH DASAR C++ BAB II : VARIABEL DAN KONSTANTA Flowchart 2.1 Menghitung Luas Persegi Panjang............................................ 31 Flowchart 2.2 Menghitung Volume Kerucut ................................................... 34 Flowchart 2.3 menghitung volume kubus........................................................ 37 BAB III : STRUKTUR DASAR ALGORITMA (SELECTION & LOOPING) Flowchart 3.1 Studi Kasus 1 ............................................................................ 56 Flowchart 3.2 Menentukan bilangan terbesar dari dua program...................... 60 Flowchart 3.3 Konversi Angka Ke Huruf........................................................ 64 BAB IV : ARRAY Flowchart 4.1 studi kasus 1.............................................................................. 81 Flowchart 4.2 studi kasus 2.............................................................................. 84 Flowchart 4.3 Studi kasus 3 ............................................................................. 88 Flowchart 4.4 Studi Kasus 4 ............................................................................ 92 BAB V : POINTER Flowchart 5.1 Studi Kasus 1 ............................................................................ 107 Flowchart 5.2 Studi Kasus 2 ............................................................................ 110 BAB VI : STACK Flowchart 6.1 Studi Kasus 1 ............................................................................ 130 Flowchart 6.2 Studi Kasus 2 ............................................................................ 139 BAB VII : QUEUE Flowchart 7.1 studi kasus 1.............................................................................. 157 Flowchart 7.2 Studi Kasus 2 ............................................................................ 167
1 BAB I ALGORITMA STRUKTUR DATA DAN CONTOH DASAR C++ NAMA : NURFAHIRA RAMBAY M. ACHIRUDDIN NPM : 07352211059 PROGRAM STUDI TEKNIK INFORMATIKA FAKULTAS TEKNIK UNIVERSITAS KHAIRUN TERNATE 2022
2 BAB I ALGORITMA DAN STRUKTUR DATA STRUKTUR DAN CONTOH DASAR C++ 1.1. PENDAHULUAN 1.1.1 Pengertian Algoritma Algoritma berasal dari nama seorang Ilmuwan Arab yang bernama AbuUrutan langkah-langkah untuk memecahkan masalah. algoritma adalah suatu urutan dari beberapa langkah logis dan sistematis yang kita gunakan untuk menyelesaikan masalah tertentu. Algoritma memiliki 3 struktur dasar, antara lain : a. Runtunan (Sequence), adalah sebuah runtunan terdiri dari satu atau lebih instruksi. Tiap instruksi dikerjakan secara berurutan sesuai dengan urutan penulisannya, dan sebuah instruksi dilaksanakan setelah instruksi sebelumnya selesai dikerjakan. Urutan dari instruksi menentukan hasil akhir dari suatu algoritma. Bila urutan penulisan berubah maka mungkin juga hasil akhirnya berubah. b. Pemilihan (Selection), Pemilihan yaitu instruksi yang dikerjakan dengan kondisi tertentu. Kondisi adalah persyaratan yang dapat bernilai benar atau salah. Satu atau beberapa instruksi hanya dilaksanakan apabila kondisi bernilai benar, sebaliknya apabila salah maka instruksi tidak akan dilaksanakan.
3 c. Pengulangan (Looping), Salah satu kelebihan komputer adalah kemampuannya untuk mengerjakan pekerjaan yang sama berulang kali tanpa mengenal lelah. Kita tidak perlu menulis instruksi yang sama berulang kali, tetapi cukup melakukan pengulangan dengan instruksi yang tersedia. Pengulangan merupakan kegiatan mengerjakan sebuah atau sejumlah aksi yang sama sebanyak jumlah yang ditentukan atau sesuai dengan kondisi yang diinginkan. 1.1.2 Sejarah Algoritma Ditinjau dari asal – usul katanya, kata Algoritma sendiri mempunyai sejarah yang cukup unik. Orang hanya menemukan kata algorism yang berarti proses menghitung dengan angka arab. Seseorang dikatakan algorist apabila menghitung dengan menggunakan bahasa arab. Asal kata „Algoritma‟ muncul dari „Algoritmi‟, bentuk Latin dari al-Khwarizmi, matematikawan, ahli astronomi, dan ahli geografi dari Persia. Nama lengkapnya adalah Abu Ja‟far Muhammad Ibnu Musa Al-Khuwarizmi. Al-Khuwarizmi dibaca orang barat manjadi Algorism. Al-khuwarizmi menulis buku yang berjudul Kitab Al Jabar Wal – Muqabala yang artinya “Buku pemugaran dan pengurangan” (The book of restoration and reducation). Dari buku tersebut kita juga memperoleh akar kata “Aljabar” (Algebra). Perubahan kata dari algorism menjadi algorithm muncul karena kata algorism sering dikelirukan dengan arithmetic, sehingga akhiran –sm berubah menjadi – thm. Karena perhitungan dengan angka arab sudah menjadi hal yang biasa, maka lambat laun kata algorithm berangsur – angsur dipakai sebagai metode perhitungan
4 (komputasi) secara umum, sehingga kehilangan makna kata aslinya. Dalam bahasa Indonesia, kata algorithm diserap menjadi algoritma. Contoh Algoritma : a. Ketik atau tulis surat b. Siapkan sampul surat atau amplop c. Masukkan surat ke dalam amplop yang tersedia d. Lem amplop surat dengan baik e. Tuliskan alamat pengiriman surat, jika tidak ingat, lebih dahulu ambil buku alamat & cari alamat yg dituju, lalu tulis alamat amplop surat. f. Beli dan tempelkan perangko pada amplop g. Pergi ke kantor pos dan bawa surat utk diserahkan pd pegawai pos 1.1.3 Notasi Algoritma Notasi algoritma merupakan hal dasar yang harus diketahui oleh setiap orang yang ingin membuat suatu pogram, karena dalam notasi algoritma inilah terdapat kerangkakerangka suatu program. Langkah-langkah dalam algoritma pun tidak mengacu pada sintaks bahasa pemrograman apapun dan tidak tergantung pada spesifikasi komputer yang mengeksekusinya. Tidak ada aturan baku dalam menuliskan algoritma, yang penting mudah dibaca dan menggunakan bahasa yang mudah dipahami. Meskipun demikian untuk menghindari kekeliruan, ketaatan terhadap notasi perlu diperhatikan.
5 a. Kalimat Deskriptif Notasi penulisan algoritma dengan menggunakan bahasa deskriptif biasa juga disebut dengan notasi alami. Dilakukan dengan cara menuliskan instruksiinstuksi yang harus dilaksanakan dalam bentuk untaian kalimat deskriptif dengan menggunakan bahasa yang jelas. Dasar dari notasi bahasa deskriptif adalah Bahasa Inggris, namun dapat dimodifikasi dengan bahasa sehari-hari termasuk Bahasa Indonesia. Karena tidak ada aturan baku dalam menuliskan algoritma dengan notasi deskriptif maka tiap orang dapat membuat aturan penulisan dan notasi algoritma sendiri. Agar notasi algoritma mudah ditranslasi ke dalam notasi bahasa pemrograman, maka sebaiknya notasi algoritma tersebut berkoresponden dengan notasi bahasa pemrograman pada umumnya. b. Pseudocode Pseudocode adalah cara penulisan algoritma yang menyerupai bahasa pemrograman Tingkat tinggi, dilakukan dengan cara menuliskan instruksiinstuksi yang harus dilaksanakan dalam bentuk untaian kalimat deskriptif dengan menggunakan bahasa yang jelas. Biasanya pseudocode menggunakan bahasa yang hampir menyerupai bahasa pemrograman. Pseudocode berisi deskripsi dari algoritma pemrograman komputer yang menggunakan struktur sederhana dari beberapa bahasa pemrograman tetapi bahasa tersebut hanya di tujukan agar dapat di baca manusia. Pseudocode berisi deskripsi dari algoritma pemrograman komputer yang menggunakan struktur sederhana dari beberapa
6 bahasa pemrograman tetapi bahasa tersebut hanya di tujukan agar dapat di baca manusia. Tidak ada sintaks standar yang resmi. Karena itu, pseudocode ini dapat diterapkan dalam berbagai bahasa pemograman. Disarankan untuk menggunakan keyword yang umum digunakan seperti: if, then, else, while, do, repeat, for, dll. c. Flowchart Flowchart adalah cara penulisan algoritma dengan menggunakan notasi grafis. Flowchart merupakan gambar atau bagan yang memperlihatkan urutan atau langkah- langkah dari suatu program dan hubungan antar proses beserta pernyataannya. Demikian setiap symbol dengan sikal. Dengan demikian setiap simbol menggambarkan proses tertentu. Sedangkan antara proses digambarkan dengan garis penghubung. Dengan menggunakan flowchart akan memudahkan kita untuk melakukanpengecekan bagian-bagian yang terlupakan dalam analisis masalah. Disamping itu flowchart juga berguna sebagai fasilitas untuk berkomunikas iantara pemrogram yang bekerja dalam tim suatu proyek. Flowchart menolong analis dan programmer untuk memecahkan masalah kedalam segmen-segmen yang lebih kecil dan menolong dalam menganalisis alternatif-alternatif lain dalam pengoperasian.
7 Simbol-Simbol Flowchart Simbol Penjelasan Simbol Terminal, simbol yang digunakan untuk menyatakan awal (Start/mulai) atau akhir (end/selesai) suatu program. Simbol Input/Output, untuk menunjukan operasi masukan atau keluaran. Simbol proses, untuk mengambarkan proses pengolahan data. Simbol kondisi atau keputusan/decision, untuk menyatakan suatu pilihan berdasarkan suatu kondisi tertentu Simbol deklarasi atau persiapan/preperation, digunakan untuk memberikan nilai awal pada suatu variabel atau pencahan. Simbol proses terdefenisi (predefined process), digunakan untuk proses yang detilnya dijelaskan terpisah, misal dalam bentuk subroutine. Simbol penghubung ke halaman lain, untuk menghubungkan bagian diagram alir pada halaman yang berbeda.
8 Simbol penghubung ke halaman yang sama, untuk menghubungkan bagian diagram alir pada halaman yang sama. Simbol arah aliran/penghubung (connector) digunakan untuk menunjukkan arah aliran proses 1.1.4 Struktur Data Struktur data merupakan cara untuk menyimpan dan mengatur data secara terstruktur pada sistem komputer atau database sehingga lebih mudah diakses. Secara teknis, data dapat berupa angka, huruf, symbol dan lainnya, data-data ini kemudian diletakkan dalam kolom-kolom dan susunan tertentu. Dalam Menyusun data, terdapat beberapa istilah yang perlu kita ketahui dan pahami, istilah tersebut adalah node dan indeks. Berikut penjelasan mengenai istilah-istilah tersebut: a. Node, adalah elemen yang terdapat dalam struktur data. Setiap node berisi pointer ke node selanjutnya. b. Indeks, yaitu objek dalam sistem database yang bisa mempercepat dalam proses pencarian data.
9 Dalam struktur data terdapat tipe data. Tipe data adalah pengelompokkan data-data berdasarkan isi dan sifatnya, dalam bidang informatika tipe data merupakan jenis data yang diolah oleh komputer sesuai dengan kebutuhan dalam pemrograman computer. Tipe data dikategorikan menjadi tiga macam yaitu: 1. Tipe data dasar (Primitive data type), dalam tipe data dasar terdapat beberapa tipe data yaitu: Integer, Float atau double, Char (Karakter), Boolean. 2. Tipe data bentukan (Composite data type), tipe data bentukan merupakan tipe data yang dibentuk dari tipe data dasar dengan tujuan untuk mempermudah pekerjaan programmer dalam tipe data bentukan terdapat beberapa tipe data yaitu: Array, String, Union, Struct dan lain-lain 3. Tipe data abstrak (abstract data type), tipe data abstrak adalah model matematika dari objek data yang menyempurnakan tipe data dengan cara mengaitkannya dengan fungsi-fungsi yang beroperasi pada data yang bersangkutan, dalam tipe data abstrak terdapat beberapa tipe data yaitu: stack, queue, list, tree, graph dan lain-lain. 1.1.5 Sturktur Dasar C++ dan Contoh Dasar C++ a. Sejarah C++ C++ adalah bahasa pemrograman komputer yang dikembangkan oleh Bjarne Stroustup dan merupakan evolusi dari bahasa C. C++ adalah
10 penambahan C, pada awal dekade 1980 an di Bell Laboratories C++ memberikan tambahan fitur yang meningkatkan kekuatan bahasa C, dan yang lebih penting lagi, kemampuan untuk pemograman berbasis object (object Oriented Programming). C++ mempunyai beberapa kelebihan seperti bahasa C++ tersedia hampir di semua jenis komputer, kode bahasa C/C++ sifatnya adalah portable dan fleksibel untuk semua jenis computer, dukungan pustaka yang banyak, C adalah bahasa yang terstruktur. Struktur dari C++ sendiri kurang lebih memiliki 5 bagian seperti : Prepossecor Directive ( pengarah kompilator), Declaration (Deklarasi), Defination (Definisi), Statement atau Expressions (Pernyataan atau Ekspresi) dan Comments (Komentar). Untuk menulis sebuah program C++ dibutuhkan yang namanya teks editor dan compiler. Hasil dari teks editor itu nantinya akan decompile dengan computer yang kemudian akan menghasilkan sebuah file executable, executable inilah yang nantinya bisa dijalankan di Pc atau Laptop. b. Struktur Bahasa C++ Bahasa pemrograman C++ tidak mengenal aturan dalam penulisan di kolom atau baris tertentu, jadi kita bisa memulai penulisan Bahasa pemrograman C++ di kolom atau baris manapun. 1. Preprocessor Directive (Header), pernyataan yang diawali dengan tanda pagar (#) disebut sebagai Preprocessor Directive, pada gambar diatas tertulis #include <iostream> yang berarti
11 program akan menggunakan fitur dari Pustaka (Library) Bernama iostream yang di dalamnya memuat kumpulan keyword dan function. 2. Pendeklarasian Fungsi-fungsi (namespace std), perintah ini digunakan untuk mendeklarasikan atau memberitahukan kepada compiler bahwa kita akan menggunakan semua fungsi/class/file yang terdapat dalam namespace std. pada C++ library-library umumnya disimpan dalam namespace std contohnya seperti perintah cout dan cin. 3. Fungsi utama (int main()), fungsi ini merupakan fungsi utama yang pertama kali dibaca oleh compiler secara otomatis, tidak ada fungsi lain yang dibaca oleh compiler secara otomatis selain fungsi utama ini, fungsi ini bagaikan sebuah kepala dari program yang mengatur arah compiler. int dalam fungsi utama merupakan sebuah return type integer, dalam peraturan C++ fungsi utama memang harus menggunakan return type integer, dan tepat setelah identifier (main) terdapat sepasang tanda kurung, itu merupakan tempat dimana kita mengisi parameter untuk function, tetapi dalam fungsi utama hal tersebut tidak diperlukan. Tanda {, merupakan blok pembuka yang dimana memiliki sebuah pasangan yaitu blok penutup }, kedua blok
12 tersebut menyatakan bahwa semua kode yang ada di dalam blok tersebut merupakan definisi dari fungsi utama 4. Pernyataan (Statement), cout<<”Hello World”;, adalah sebuah baris pernyataan (statement) dan merupakan definisi dari fungsi utama. Cout merupakan bagian dari library <iostream>. Berfungsi untuk mencetak sebuah kalimat “Hello World” saat program di eksekusi 1.1.6 Contoh Program C++ a. Bukalah aplikasi Dev C++ melalui start menu : Gambar 1.1 Aplikasi Dev C++ b. Tampilan awal Dev C++ tampak seperti gambar dibawah ini: Gambar 1.2 Tampilan awal Dev C++
13 c. Buatlah Program baru dengan cara : File – new – source file atau klik Ctrl+N, seperti pada gambar dibawah: Gambar 1.3 Membuat projek baru d. Ketik source code programnya, seperti gambar dibawah ini: Gambar 1.4 Struktur Kode C++
14 e. Setelah menulis sourcenya, tekan compile and run seperti gambar dibawah ini: Gambar 1.5 Proses compile f. Akan muncul dialog untuk menyimpan program, beri nama sesuai keinginan. Gambar 1.6 Proses penyimpanan g. Setelah di save, akan muncul jendela yang menampilkan hasil program yang telah dibuat, seperti pada gambar dibawah ini:
15 Gambar 1.7 Tampilan Hasil Running h. Anda telah berhasil membuat program menggunakan Dev C++ 1.2 Tujuan Praktikum 1. Mempelajari sekaligus mempraktekan cara penggunaan Dev C++ 2. Mempelajari struktur dasar Bahasa C++ 3. Membuat program sederhana dengan Bahasa C++ 4. Mengcompile, menyimpan dan menjalankan program yang telah dibuat 5. Membuka Kembali program yang telah dibuat 1.2 LATIHAN KEGIATAN PRAKTIKUM a. Latihan 1 Buatlah program baru dengan cara File – New – Source File atau bisa dengan menekan Ctrl+N kemudian ketik source code program seperti dibawah ini : #include <iostream> #include <conio.h> using namespace std; int main () {
16 cout<<”Hello World”; cout<<””endl; cout<<””endl; cout<<””endl; cout<<””nama : Nurfahira Rambay”<<endl; cout<<”NPM : 07352211059”<<endl; return 0; } Compile dan run, kemudian perbaiki program hingga benar. Gambar 1.8 Source Code Latihan 1 Tampilan Source code setelah di running
17 Gambar 1.9 Hasil Running Latihan 1 b. Latihan 2 Buatlah program baru dengan cara File-New-Source File atau dengan menekan tombol Ctrl+N di keyboard kemudian ketik source programnya seperti dibawah ini: #include<iostream> #include <conio.h> using namespace std; int main () { cout<<"Selamat Belajar C++"; cout<<""<<endl; cout<<""<<endl; cout<<""<<endl; cout<<"Nama : Nurfahira Rambay M. Achiruddin"<<endl; cout<<"NPM : 07352211059"<<endl;
18 return 0; } Compile dan perbaiki program sampai benar Dibawah ini Source Code untuk program Selamat Belajar C++ Gambar 1.10 Source Code Selamat Belajar C++ Setelah program diperbaiki dan di compile maka, tampilan hasil running akan tampak seperti gambar dibawah ini: Gambar 1.11 hasil running Selamat Belajar C++
19 1.5 KESIMPULAN DAN SARAN a. Kesimpulan C++ merupukan sebuah aplikasi yang sering digunakan dalam membuat sebuah pemograman dengan menggunakan bahasa yang terstruktur. b. Saran Dalam penulisan atau pengetikan ejaan dan source code dibutuhkan ketelitian agar proses running nanti dapat berhasil.
20
21 BAB II VARIABEL DAN KONSTANTA NAMA : NURFAHIRA RAMBAY M. ACHIRUDDIN NPM : 07352211059 PROGRAM STUDI TEKNIK INFORMATIKA FAKULTAS TEKNIK UNIVERSITAS KHAIRUN TERNATE 2022
22 BAB II VARIABEL DAN KONSTANTA 2.1 PENDAHULUAN Variabel adalah suatu tempat untuk menampung data yang nilainya selalu berubah. variabel merujuk ke sebuah alamat di memory komputer (RAM). Ketika kita membuat sebuah variable, satu „slot‟ memory akan disiapkan untuk menampung nilai tersebut. Setiap variabel memiliki nama yang dipakai sebagai identitas variable. Sedangkan, konstanta adalah suatu tempat untuk menampung data yang nilainya selalu tetap dan tidak pernah berubah. Konstanta dan variabel adalah suatu pengenal (identifier) yang digunakan untuk mewakili suatu nilai tertentu didalam proses program. Berbeda dengan konstanta yang nilainya tidak bisa diubah atau selalu tetap selang eksekusi berlangsung, nilai dari suatu variabel dapat berubah sesuai kebutuhan. Konstanta dan variabel merupakan tempat di memori komputer untuk menyimpan data berupa nilai dengan tipe data tertentu Konstanta dan variabel harus diberi nama.
23 2.2 TUJUAN PRAKTIKUM a. Mempraktekkan variabel dan konstanta b. Membuat file kerja dengan Bahasa C++ c. Memulai membuat program baru, meng-compile, menyimpan dan menjalankan program yang telah dibuat. d. Membuka kembali program yang telah disimpan e. Membuat program menjadi program yang execute. 2.3 LANGKAH-LANGKAH KEGIATAN DAN JUDUL a. Bukalah aplikasi Dev C++ melalui start menu : Gambar 2.1 Tampilan aplikasi Dev C++ b. Tampilan awal tampak seperti gambar dibawah ini : Gambar 2.2 tampilan awal Dev C++
24 c. Buatlah program baru dengan cara file – new – source bisa juga gunakan Ctrl-N seperti gambar dibawah ini : Gambar 2.3 Membuat project baru d. Ketik source programnya seperti dibawah ini : Gambar 2.4 struktur code C++
25 e. Setelah menulis sourcenya, tekan compile and run seperti gambar dibawah : Gambar 2.5 proses compile f. Akan muncul dialog untuk menyimpan program. Berikan nama sesuai dengan yang dimau. Gambar 2.6 Proses penyimpanan g. Setelah klik save, akan muncul jendela yang menampilkan hasil program yang telah dibuat.
26 Gambar 2.7 Tampilan Hasil Running h. Anda telah berhasil membuat program menghitung luas persegi panjang dengan Bahasa pemograman C++ menggunakan Dev C++ 2.4 LATIHAN KEGIATAN PRAKTIKUM a. Latihan 1 Buatlah program baru dengan cara file-new-source alau gabungkan Ctrl+N, kemudian ketik cource code programnya seperti dibawah ini: #include <conio.h> #include <iostream> using namespace std; int main() { const float phi = 3.141592; float jari_jari, keliling, Luas; jari_jari = 72; Luas = phi*jari_jari*jari_jari;
27 keliling= 2* phi * jari_jari ; cout<<" Luas lingkaran adalah "<< Luas << "Satuan" <<endl; cout<<" Keliling lingkaran adalah "<< keliling << "Satuan" << endl; cout << ""<<endl ; cout << " Nama : Nurfahira Rambay "<<endl ; cout << " NPM : 07352211059 "<<endl; getch () ; } Compile dan perbaiki program sampai benar Gambar 2.8 Source Code Latihan 1 Setelah program diperbaiki dan di compile, maka tampilan hasil running akan tampak seperti gambar dibawah ini:
28 Gambar 2.9 Hasil Running Latihan 1 b. Latihan 2 Buatlah program baru dengan cara file-new-source atau Ctrl+N kemudian ketik source programnya Seperti dibawah ini : #include <conio.h> #include <iostream> using namespace std; int main() { int a,b,kali,bagi,tambah,kurang; cout<< "Operasi Aritmatika Dasar"<<endl; cout<<" masukan nilai A :"; cin>>a; cout<<" masukan nilai B :"; cin>>b; tambah = a+b;
29 kurang = a-b; kali = a*b; bagi = a/b; cout<<"Hasil A + B = "<<tambah<<endl; cout<<"Hasil A - B = "<<kurang<<endl; cout<<"Hasil A * B = "<<kali<<endl; cout<<"Hasil A / B = "<<bagi<<endl; return 0; } Berikut source code untuk program Operasi Aritmatika Gambar 2.10 Source Code Operasi Aritmatika Tampilan setelah program diperbaiki dan di compile seperti gambar dibawah ini :
30 Gambar 2.11 hasil running Operasi Aritmatika
31 2.5 STUDI KASUS Program Menghitung Luas bangun dan ruang berikut : a. Luas Persegi Panjang Rumus Luas = panjang*lebar Flowchart menghitung luas persegi panjang Flowchart 2.1 menghitung luas persegi panjang. Penyelesaian : Flowchart diatas diawali dan diakhiri dengan menggunakan simbol terminal, menggunakan simbol Preparation sebagai tempat mendeklarasikan Luas, panjang dan lebar. Kemudian tahap input nilai panjang dan lebar menggunakan simbol Input/output. Setelah itu
32 menyatakan rumus. rumus luas menggunakan Simbol proces, Output hasil luas persegi panjang, dan selesai. Contoh code luas persegi panjang seperti dibawah ini : #include <iostream> #include <conio.h> using namespace std; int main () { float luas, panjang, lebar; luas=panjang*lebar; cout<<"masukan nilai panjang: "; cin>>panjang; cout<<"masukan nilai lebar : "; cin>>lebar; cout<<"luas persegi panjang adalah :"; cout<<(panjang*lebar); getch(); }
33 Compile dan perbaiki program sampai benar Gambar 2.12 Source Code menghitung luas persegi panjang Tampilan setelah program diperbaiki dan di compile seperti gambar dibawah ini : Gambar 2.13 Tampilan hasil running b. Volume Kerucut Rumus Kerucut : Volume = phi/3 x r x r x Tinggi
34 Berikut Flowchart menghitung volume kerucut Flowchart 2.2 menghitung volume kerucut Penjelasan : Flowchart diatas diawali dan diakhiri dengan menggunakan simbol terminal, menggunakan Simbol Preparation sebagai tempat mendeklarasikan Volume, luas alas, jari-jari dan tinggi. Kemudian menginput nilai jari-jari dan tinggi menggunakan Simbol input loutput, menyatakan rumus volume dan luas alas menggunakan simbol process. Output. Selesai. Contoh code program menghitung volume dan luas alas pada kerucut seperti dibawah ini : #include <iostream> #include <conio.h> using namespace std;
35 int main() { float r; float t; float v; cout<<"menghitung volume kerucut"; cout<<"masukan nilai jari jari : "; cin>>r; cout<<”masukan nilai tinggi: "; cin>>t; v = (3.14 * r * r * t)/3; cout<<"Volume kerucut adalah : "; cout<<v; return 0; } Compile dan perbaiki program sampai benar
36 Gambar 2.14 Source Code menghitung volume kerucut Gambar 2.15 Tampilan hasil running c. Volume Kubus Rumus Kubus : Volume = rusuk*rusuk*rusuk
37 Berikut Flowchart Menghitung Voulume Kubus Flowchart 2.3 menghitung volume kubus Penyelesain : Flowchart diatas diawali dan diakhiri menggunakan Simbol terminal. Lalu dilanjutkan dengan deklarası rusuk dan volume dengan menggunakan sumbol Preparation. Kemudian menginput nilai rusuk Menggunakan Simbol input output. Lalu Mengatakan rumus volume dengan simbol Process, dan hasil volume kubus ditampilkan menggunakan simbol input output selesai. Kode program menghitung Volume Balok : #include <conio.h> #include <iostream> using namespace std;
38 int main (){ int s, volume; cout<<"menghitung volume kubus"<<endl; cout<<""<<endl; cout<<"masukan sisi kubus : "; cin>>s; volume = s*s*s; cout<<"volume kubus adalah "<<volume; cout<<""<<endl; cout<<"nama\t : Nurfahira Rambay M.A"<<endl; cout<<"NPM\t : 07352211059"<<endl; return 0; } Compile dan perbaiki sampai benar