LAPORAN PRAKTIKUM ALGORITMA DAN STRUKTUR DATA NAMA : FEBRIYANTY EFENDI NPM : 07352211072 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: FEBRIYANTY EFENDI 07352211072 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 Alhamdulillah, segala puja dan puji marilah kita ucapkan atas limpahan rahmat dan nikmat yang diberikan oleh Allah SWT. sehingga saya dapat menyelesaikan laporan praktikum yang berjudul “Algoritma Dan Struktur Data”. Terima kasih saya ucapkan kepada bapak dosen Hairil Kurniadi Siradjuddin S.Kom., M.Kom. yang telah membantu kami baik secara moral maupun materi. Terima kasih juga saya ucapkan kepada teman-teman seperjuangan terkhususnya kelas 1 IF 2 yang telah memberikan dukungan dan saling membantu sehingga saya dapat menyelesaikan laporan praktikum ini tepat waktu. Saya menyadari, bahwa laporan praktikum ini masih jauh dari kata sempurna baik secara penyusunan, bahasa, maupun penulisannya. Oleh karena itu, saya sangat mengharapkan kritik dan saran yang membangun dari semua pembaca agar dapat menjadi acuan untuk lebih baik lagi kedepannya. Semoga laporan yang belum sempurna ini dapat berguna bagi kita sendiri maupun bagi siapapun yang membacanya. Ternate, 18 Januari 2023 Febriyanty Efendi 07352211072
iii DAFTAR ISI Lembaran Pengesahan...............................................................i Kata Pengantar.......................................................................... ii Daftar Isi ...................................................................................iii Daftar Gambar ..........................................................................vi Daftar Flowchart.......................................................................xi BAB I : ALGORITMA DAN STRUKTUR DATA, STRUKTUR DASAR DAN CONTOH DASAR C++ ..................................... 1 1.1 Pendahuluan.................................................................................... 1 1.1.1 Pengertian Algoritma ................................................................. 1 1.1.2 Struktur Dasar Algoritma.............................................................1 1.1.3. Sejarah Algoritma .......................................................................1 1.1.4 Contoh Algoritma .........................................................................2 1.1.5 Notasi Algoritma .........................................................................2 1.1.6 Struktur Data.................................................................................5 1.1.7 Struktur Dasar C++ dan Contoh Dasar C++...............................7 1.1.8 Contoh Program C++ ...................................................................9 1.2 Tujuan Praktikum .........................................................................13 1.3 Latihan Kegiatan Praktikum .........................................................13 1.4 Kesimpulan dan Saran...................................................................15 1.5 Lembaran Asistensi .......................................................................16 BAB II : VARIABEL DAN KONSTANTA .............................. 17 2.1 Pendahuluan.......................................................................................17 2.2 Tujuan Praktikum ..............................................................................18 2.3 Langkah-Langkah Kegiatan Praktikum ...........................................18 2.4 Latihan Kegiatan Praktikum .............................................................21 2.5 Study Kasus .......................................................................................25 2.6 Kesimpulan dan Saran.......................................................................35 2.7 Lembar Asistensi ...............................................................................36
iv BAB III : STRUKTUR DASAR ALGORITMA (SELECTION & LOOPING) ..............................................................................37 3.1 Pendahuluan.......................................................................................37 3.2 Tujuan Praktikum ..............................................................................38 3.3 Langkah-Langkah Kegiatan Praktikum ..........................................38 3.4 Latihan Kegiatan Praktikum .............................................................41 3.5 Studi Kasus ........................................................................................49 3.6 Kesimpulan dan Saran ......................................................................80 3.7 Lembaran Asistenssi..........................................................................81 BAB IV : ARRAY .....................................................................82 4.1 Pendahuluan.......................................................................................82 4.2 Tujuan Praktikum ..............................................................................83 4.3 Langkah-Langkah Kegiatan Praktikum ..........................................83 4.4 Latihan Kegiatan Praktikum .............................................................86 4.5 Studi Kasus ........................................................................................90 4.6 Kesimpulan dan Saran.......................................................................97 4.7 Lembaran Asistensi ...........................................................................98 BAB V : POINTER .................................................................... 99 5.1 Pendahuluan ....................................................................................99 5.2 Tujuan Praktikum Pointer C++......................................................100 5.3 Langkah-Langkah Kegiatan Praktikum ........................................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.......................................................................................116 6.2 Tujuan Praktikum .............................................................................117 6.3 Langkah-Langkah Kegiatan Praktikum ...........................................117 6.4 Latihan Kegiatan Praktikum .............................................................120 6.5 Studi Kasus ........................................................................................125 6.6 Kesimpulan dan Saran.......................................................................151 6.7 Lembaran Asistensi ..........................................................152
v BAB VII : QUEUE..................................................................... 153 7.1 Pendahuluan ......................................................................................153 7.2 Tujuan Praktikum ..............................................................................154 7.3 Langkah-Langkah Kegiatan Praktikum ...........................................154 7.4 Latihan Kegiatan Praktikum .............................................................159 7.5 Studi Kasus ........................................................................................166 7.6 Kesimpulan dan Saran.......................................................................182 7.7 Lembaran Asistensi ...........................................................................183 Biodata ........................................................................................ 184 Dokumentasi .............................................................................. 185
vi DAFTAR GAMBAR BAB I : ALGORITMA DAN STRUKTUR DATA, STRUKTUR DASAR DAN CONTOH DASAR C++ ..................................... 1 Gambar 1.1 Tabel Flowchart...................................................................5 Gambar 1.2 Tampilan Hasil Running.....................................................8 Gambar 1.3 Aplikasi Dev C++ ...............................................................9 Gambar 1.4 Tampilan Awal Dev C++ ...................................................10 Gambar 1.5 Membuat Projek baru..........................................................10 Gambar 1.6 Struktur Code C++ ..............................................................11 Gambar 1.7 Proses Compile....................................................................11 Gambar 1.8 Proses Penyimpanan ...........................................................12 Gambar 1.9 Tampilan Hasil Running.....................................................12 Gambar 1.10 Tampilan Source Code Hello World Setelah Running...14 Gambar 1.11 Tampilan Hasil Running...................................................14 BAB II : VARIABEL DAN KONSTANTA ............................. 17 Gambar 2.1 Tampilan aplikasi Dev C++................................................18 Gambar 2.2 Tampilan Awal C++ ...........................................................19 Gambar 2.3 Membuat Projek Baru .........................................................19 Gambar 2.4 Struktur Code C++ ..............................................................19 Gambar 2.5 Proses Compile....................................................................20 Gambar 2.6 Proses penyimpanan............................................................20 Gambar 2.7 Tampilan Hasil Running.....................................................21 Gambar 2.8 Struktur Code Latihan C++ ................................................22 Gambar 2.9 Tampilan Hasil Running C++ ............................................23 Gambar 2.10 Struktur Code Latihan C++ ..............................................25 Gambar 2.11 Tampilan Hasil Running C++ ..........................................25 Gambar 2.12 Struktur code Latihan C++ ...............................................28 Gambar 2.13 Tampilan Hasil Running...................................................28 Gambar 2.14 Struktur Code Latihan C++ ..............................................30 Gambar 2.15 Tampilan Hasil Running C++ ..........................................31 Gambar 2.16 Struktur Code Latihan C++ ..............................................34 Gambar 2.17 Tampilkan Hasil Running.................................................34 BAB III : STRUKTUR DASAR ALGORITMA (SELECTION & LOOPING) ................................................................................. 37
vii Gambar 3.1 Tampilan aplikasi Dev c++ ................................................38 Gambar 3.2 Tampilan Awal Dev C++ ...................................................38 Gambar 3.3 Membuat Projek Baru .........................................................39 Gambar 3.4 Struktur Code c++...............................................................39 Gambar 3.5 Proses Compile....................................................................39 Gambar 3.6 Proses Penyimpanan ...........................................................40 Gambar 3.7 Tampilan Hasil Running.....................................................40 Gambar 3.8 Struktur Code Latihan C++ ................................................42 Gambar 3.9 Tampilan Hasil Running Memenuhi Syarat ......................42 Gambar 3.10 Tampilan Hasil Running Tidak Memenuhi Syarat .........43 Gambar 3.11 Struktur Code Latihan C++ ..............................................44 Gambar 3.12 Tampilan Hasil Running Jika Teman <10.......................45 Gambar 3.13 Tampilan Hasil Running Jika Teman >10.......................45 Gambar 3.14 Struktur Code ....................................................................46 Gambar 3.15 Tampilan Running.............................................................47 Gambar 3.16 Struktur Code C++............................................................48 Gambar 3.17 Hasil Running....................................................................49 Gambar 3.18 Struktur Code Studi Kasus 1 C++....................................52 Gambar 3.19 Tampilan Hasil Running Bil Adalah Bilangan Genap....53 Gambar 3.20 Tampilan Hasil Running Bil Adalah Bilangan Ganjil....53 Gambar 3.21 Struktur Code C++............................................................58 Gambar 3.22 Tampilan Hasil Running C++ ..........................................59 Gambar 3.23 Tampilan Hasil Running C++ ..........................................59 Gambar 3.24 Tampilan Hasil Running C++ ..........................................59 Gambar 3.25 Tampilan Hasil Running C++ ..........................................59 Gambar 3.26 Tampilan Hasil Running C++ ..........................................60 Gambar 3.27 Struktur Code C++............................................................62 Gambar 3.28 Hasil Running Program ....................................................62 Gambar 3.29 Program Struktur C++ ......................................................65 Gambar 3.30 Hasil Running Program C++............................................66 Gambar 3.31 Program Struktur C++ ......................................................69 Gambar 3.32 Hasil Running Program C++............................................69 Gambar 3.33 Program Struktur C++ ......................................................72 Gambar 3.34 Hasil Running Program C++............................................73 Gambar 3.35 Program Struktur C++ ......................................................76 Gambar 3.36 Hasil Running Program C++............................................76 Gambar 3.37 Program Struktur C++ ......................................................79 Gambar 3.38 Hasil Running C++ ...........................................................79
viii BAB IV : ARRAY ...................................................................... 82 Gambar 4.1 Tampilan Aplikasi Dev C++ ..............................................83 Gambar 4.2 Tampilan Awal Dev C++ ...................................................83 Gambar 4.3 Membuat Project Baru .......................................................84 Gambar 4.4 Struktur Code C++ ..............................................................84 Gambar 4.5 Proses Compile....................................................................85 Gambar 4.6 Proses Penyimpanan ...........................................................85 Gambar 4.7 Tampilan Hasil Running.....................................................86 Gambar 4.8 Source Code Latihan 1........................................................87 Gambar 4.9 Tampilan Source Code Setelah Di Running......................88 Gambar 4.10 Tampilan Source Hello World Setelah Di Running .......90 Gambar 4.11 Tampilan Hasil Running...................................................90 Gambar 4.12 Struktur Code Latihan C++ ..............................................93 Gambar 4.13 Tampilan Hasil Running Jika Ditemukan ......................93 Gambar 4.14 Tampilan Hasil Running Jika Tidak Ditemukan.............94 Gambar 4.15 Struktur Kode Latihan C++..............................................96 Gambar 4.16 Tampilan Hasil Running C++ ..........................................96 BAB V : POINTER .................................................................... 99 Gambar 5.1 Tampilan Aplikasi Dev C++ ..............................................101 Gambar 5.2 Tampilan Awal Dev C++ ...................................................101 Gambar 5.3 Membuat Project Baru .......................................................101 Gambar 5.4 Struktur Code .....................................................................102 Gambar 5.5 Proses Compile ...................................................................102 Gambar 5.6 Proses Penyimpanan ..........................................................103 Gambar 5.7 Tampilan Hasil Running ....................................................103 Gambar 5.8 Struktur Code Program ......................................................105 Gambar 5.9 Hasil Running......................................................................105 Gambar 5.10 Struktur Code Program.....................................................107 Gambar 5.11 Hasil Running....................................................................107 Gambar 5.12 Struktur Code Program ....................................................110 Gambar 5.13 Hasil Running....................................................................110 Gambar 5.14 Struktur Code Program .....................................................113 Gambar 5.15 Hasil Running....................................................................113 BAB VI : STACK....................................................................... 116 Gambar 6.1 Tampilan Aplikasi Dev C++ ..............................................117 Gambar 6.2 Tampilan Awal Dev C++ ...................................................117 Gambar 6.3 Membuat Project Baru .......................................................117
ix Gambar 6.4 Struktur Code C++ ..............................................................118 Gambar 6.5 Struktur Code C++ ..............................................................118 Gambar 6.6 Struktur Code C++ ..............................................................119 Gambar 6.7 Proses Compile ...................................................................119 Gambar 6.8 Proses Penyimpanan ...........................................................119 Gambar 6.9 Tampilan Hasil Running ....................................................119 Gambar 6.10 Struktur Code Latihan C++ ..............................................122 Gambar 6.11 Lanjutan Struktur Code Latihan C++ ..............................123 Gambar 6.12 Lanjutan II Struktur Code Latihan C++ ..........................123 Gambar 6.13 Hasil Running....................................................................123 Gambar 6.14 Hasil Running....................................................................124 Gambar 6.15 Hasil Running....................................................................124 Gambar 6.16 Struktur Pemograman ......................................................132 Gambar 6.17 Struktur Pemograman ......................................................133 Gambar 6.18 Struktur Pemograman ......................................................133 Gambar 6.19 Struktur Pemograman ......................................................134 Gambar 6.20 Hasil Running ...................................................................134 Gambar 6.21 Hasil Running ...................................................................135 Gambar 6.22 Struktur Pemograman ......................................................140 Gambar 6.23 Struktur Pemograman ......................................................140 Gambar 6.24 Struktur Pemograman ......................................................141 Gambar 6.25 Hasil Running ...................................................................141 Gambar 6.26 Struktur Pemograman ......................................................147 Gambar 6.27 Struktur Program ..............................................................147 Gambar 6.28 Struktur Program ..............................................................148 Gambar 6.29 Struktur Program ..............................................................148 Gambar 6.30 Hasil Running ...................................................................149 Gambar 6.31 Hasil Running ...................................................................149 Gambar 6.32 Hasil Running....................................................................150 BAB VII : QUEUE .................................................................... 153 Gambar 7.1 Tampilan Aplikasi Dev C++ ..............................................154 Gambar 7.2 Tampilan Awal Dev C++ ...................................................154 Gambar 7.3 Membuat Program Baru .....................................................155 Gambar 7.4 Struktur Kode C++..............................................................155 Gambar 7.5 Struktur Kode C++ (lanjutan).............................................156 Gambar 7.6 Proses Penyimpanan ..........................................................156
x Gambar 7.7 Proses Pemberian Nama ....................................................157 Gambar 7.8 Item Compile Dan Run .......................................................157 Gambar 7.9 Tampilan Hasil Running (enqueue) ...................................158 Gambar 7.10 Tampilan Hasil Running (dequeue).................................158 Gambar 7.11 Tampilan Hasil Running (exit).........................................158 Gambar 7.12 Struktur Kode C++ Latihan 1 ..........................................163 Gambar 7.13 Struktur Kode C++ Latihan 1 (lanjutan)..........................163 Gambar 7.14 Struktur Kode C++ Latihan 1 (lanjutan)..........................164 Gambar 7.15 Struktur Kode C++ Latihan 1 (lanjutan)..........................164 Gambar 7.16 Tampilan Hasil Running (tambah antrian) ......................164 Gambar 7.17 Tampilan Hasil Running (Panggil Antrian) ....................165 Gambar 7.18 Tampilan Hasil Running (daftar antrian).........................165 Gambar 7.19 Tampilan Hasil Running (format)....................................165 Gambar 7.20 Source Code Studi Kasus 1 ..............................................170 Gambar 7.21 Source Code Studi Kasus 1 (lanjutan) .............................171 Gambar 7.22 Source Code Studi Kasus 1 (lanjutan) .............................171 Gambar 7.23 Tampilan Hasil Running (enqueue) .................................171 Gambar 7.24 Tampilan Hasil Running (dequeue) .................................172 Gambar 7.25 Tampilan Hasil Running (Display)..................................172 Gambar 7.26 Tampilan Hasil Running (exit).........................................172 Gambar 7.27 Source Code Studi Kasus 2 ..............................................179 Gambar 7.28 Source Code Studi Kasus 2 (lanjutan) .............................179 Gambar 7.29 Source Code Studi Kasus 2 (lanjutan) .............................180 Gambar 7.30 Tampilan Hasil Running (equeue)...................................180 Gambar 7.31 Tampilan Hasil Running (dequeue) .................................180 Gambar 7.32 Tampilan Hasil Running (display)...................................181 Gambar 7.33 Tampilan Hasil Running (exit).........................................181
xi DAFTAR FLOWCHART BAB II : VARIABEL DAN KONSTANTA ............................. 17 Flowchart 2.1 Luas Persegi Panjang.......................................................26 Flowchart 2.2 Volume Kerucut ..............................................................29 Flowchart 2.3 Volume Kubus ................................................................32 BAB III : STRUKTUR DASAR ALGORITMA (SELECTION & LOOPING) ................................................................................. 37 Flowchart 3.1 Studi Kasus 1 ...................................................................50 Flowchart 3.2 Studi Kasus 2 ...................................................................55 Flowchart 3.3 Studi Kasus 3 ...................................................................60 Flowchart 3.4 Latihan 17.........................................................................63 Flowchart 3.5 Latihan 16.........................................................................66 Flowchart 3.6 Latihan 15.........................................................................70 Flowchart 3.7 Latihan 14.........................................................................74 Flowchart 3.8 Latihan 13.........................................................................77 BAB IV : ARRAY ...................................................................... 82 Flowchart 4.1 Studi Kasus 1 ...................................................................91 Flowchart 4.2 Studi Kasus 2 ...................................................................94 BAB V : POINTER ................................................................... 99 Flowchart 5.1 Operasi Aritmatika ..........................................................108 Flowchart 5.2 Pointer Dalam Array........................................................111 BAB VI : STACK ...................................................................... 116 Flowchart 6.1 Studi Kasus 1 ...................................................................125 Flowchart 6.2 Studi Kasus 2 ...................................................................136 Flowchart 6.3 Studi Kasus 3 ..................................................................142 BAB VII : QUEUE..................................................................... 153 Flowchart 7.1 Studi Kasus 1 ...................................................................166 Flowchart 7.2 Studi Kasus 2 ...................................................................173
1 BAB I STRUKTUR DASAR C++ & CONTOH STRUKTUR DASAR C++ 1.1 Pendahuluan a. Pengertian Algoritma Algoritma merupakan sebuah urutan atau langkah-langkah dalam penyelesaian masalah yang dilakukan secara logis dan sistematis dengan tujuan untuk memecahkan suatu masalah dan dilakukan berdasarkan urutan tertentu. b. Struktur dasar aloritma: 1. Runtunan (Sequence), merupakan sebuah instruksi yang dikerjakan secara berurutan sesuai dengan urutan penulisannya, dalam sequence sebuah instruksi dilaksanakan setelah instruksi sebelumnya telah selesai, urutan dari instruksiinstruksi tersebut menentukan hasil akhir dari suatu algoritma. 2. Pemilihan (Selection), pemilihan merupakan suatu instruksi yang dikerjakan dengan kondisi tertentu. Kondisi yang dimaksud adalah persyaratan yang bernilai benar atau salah. Satu atau beberapa instruksi hanya dilaksanakan jika kondisi bernilai benar, sebaliknya jika kondisi bernilai salah maka instruksi tidak akan dilaksanakan. 3. Pengulangan (looping), pengulangan atau looping adalah suatu kegiatan mengerjakan sebuah atau sejumlah aksi yang sama sebanyak jumlah yang telah ditentukan atau sesuai dengan kondisi yang diinginkan. Dalam pengulangan kita tidak perlu menulis instruksi yang sama berulang kali, cukup dengan melakukan pengulangan instruksi yang tersedia. c. Sejarah Algoritma Sejarah algoritma dimulai jauh dan beratus-ratus tahun sebelum masehi. Namun, lebih banyak ahli yang menyatakan dan sepakat bahwa sejarah algoritma modern pertama kali dimulai di abad ke-9, yaitu pertama kali muncul Ketika terbitnya buku yang ditulis oleh seorang matematikawan, ahli astronomi, dan ahli geografi dari Persia Bernama Abu Ja’far Muhammad Ibnu Musa Al-Khuwarizmi.
2 d. Contoh Algoritma : Algoritma membuat kopi yang sesuai dengan selera 1. Siapkan gelas, sendok, air panas, kopi, dan gula 2. Tuangkan kopi dan air panas ke dalam gelas 3. Tambahkan gula sesuai dengan selera 4. Aduk kopi hingga merata 5. Cicipi kopi, apabila manisnya sudah pas lanjut ke poin 6 jika manisnya belum pas kembali ke poin 3 6. Hidangkan kopi e. Notasi Algoritma Notasi algoritma adalah hal dasar yang harus diketahui oleh setiap orang ketika ingin membuat suatu program, karena notasi algoritma inilah terdapat kerangka-kerangka suatu program. Langkah-langkah dalam algoritma sendiri tidak mengacu pada sintaks Bahasa pemrograman apapun dan juga tidak tergantung pada spesifikasi laptop ketika mengeksekusinya. Dalam algoritma juga tidak terdapat aturan baku dalam menuliskannya, yang terpenting algoritma tersebut mudah dibaca dan menggunakan Bahasa yang mudah dipahami. Namun, kita perlu memperhatikan notasi penulisannya. 1. Kalimat Deskriptif Notasi penulisan algoritma menggunakan bahasa deskriptif biasa disebut juga dengan notasi alami yang dilakukan dengan cara menuliskan instruksi-instruksi kemudian ditulis dalam bentuk untaian kalimat deskriptif dengan menggunakan Bahasa yang jelas.
3 Dasar dari notasi Bahasa deskriptif menggunakan Bahasa inggris, namun kita dapat memodifikasikannya dengan Bahasa sehari-hari termasuk Bahasa Indonesia. Karena tidak ada aturan baku dalam menuliskan algoritma dengan notasi deskriptif maka kita dapat membuat aturan penulisan dan notasi algoritma sendiri. Agar notasi algoritma mudah ditranslasi ke dalam Bahasa pemrograman, maka sebaiknya notasi algoritma tersebut berkoresponden dengan notasi Bahasa pemrograman pada umumnya dan menggunakan jenis kata kerja dalam penulisannya. 2. Pseudocode Pseudocode merupakan cara dalam menuliskan algoritma yang bahasanya menyerupai dengan Bahasa pemrograman tingkat tinggi. Pseudocode berisi deskripsi algoritma pemrograman komputer yang menggunakan struktur sederhana dari beberapa Bahasa pemrograman tetapi Bahasa tersebut hanya di tujukan agar dapat di baca manusia Tidak ada sintaks standar yang resmi Ketika menuliskan pseudocode. Oleh karena itu, pseudocode dapat diterapkan dalam berbagai Bahasa pemrograman. Disarankan bagi kita untuk menggunakan keyword yang umum digunakan seperti: if, then, else, while, do, repeat, for dll.
4 3. Flowchart Flowchart adalah salah satu cara dalam menuliskan algoritma dengan menggunakan notasi grafis. Flowchart merupakan gambar atau bagan yang memperlihatkan langkah-langkah dari suatu program dan hubungan antar proses. Gambar ini dinyatakan dengan symbol dan setiap simbol-simbol tersebut menggambarkan proses tertentu. sedangkan antar proses dihubungkan dengan garis penghubung. Dengan menggunakan flowchart akan memudahkan kita untuk melakukan pengecekan bagian-bagian yang terlupakan, fungsi lain dalam menggunakan flowchart yaitu memudahkan kita dalam berkomunikasi antara programmer yang bekerja dalam satu tim yang sama Flowchart program menggambarkan urutan instruksi yang menggambarkan urutan instruksi yang digambar dalam simbol-simbol tertentu untuk menolong analis dan programmer dalam memecahkan masalah dan menolong dalam menganalisis alternaif-alternatif lain dalam pengoperasiannya.
5 Gambar simbol-simbol flowchart dan penjelasannya: Gambar 1.1 Tabel Flowchart f. 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.
6 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. 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 komputer 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.
7 g. Struktur Dasar C++ dan Contoh Dasar C++ a. Sejarah C++ C++ adalah Bahasa pemrograman komputer yang diciptakan oleh seorang ilmuan komputer terkenal yang Bernama Bjarne Stroustrup pada tahun 1980, Bahasa pemrograman C++ pada awalnya merupakan pengembangan dari Bahasa C yang dikembangkan di Bell Laboratories pada awal tahun 1970-an Bahasa tersebut merupakan peningkatan dari Bahasa B. Kelebihan dari Bahasa C++ adalah Bahasa C++ tersedia di hampir semua komputer, Bahasa C++ juga bersifat portable dan fleksibel untuk semua jenis komputer dengan proses execute yang cepat Bahasa C++ juga didukung dengan Pustaka yang banyak, terstrukur dan sudah mendukung OOP (Object Oriented Programming) Editor yang biasa digunakan untuk menuliskan Bahasa C++ diantaranya: Turbo C++, Borland C++, C++ Builder, Microsoft Visual C++ dll 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. Namun, untuk mempermudah kita dalam membaca program dan keperluan dokumenttasi, sebaiknya penulisan Bahasa pemrograman C++ diatur sedemikian rupa agar mudah dibaca.
8 Gambar 1.2 Tampilan Hasil Running 1. Preprocessor Directive (Header), pernyataan yang diawali dengan tanda pagar (#) disebut sebagai Preprocessor Directive, pada gambar diatas tertulis #include <iostream> yang berarti 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.
9 Tanda {, merupakan blok pembuka yang dimana memiliki sebuah pasangan yaitu blok penutup }, kedua blok 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 h. Contoh Program C++ A. Bukalah aplikasi Dev C++ melalui start menu Gambar 1.3 Aplikasi Dev C++ B. Tampilan awal tampak seperti gambar di bawah ini
10 Gambar 1.4 Tampilan Awal Dev C++ C. Buatlah program baru dengan cara : File-New-File Source atau gunakan Ctrl+N seperti gambar di bawah ini : Gambar 1.5 Membuat Projek Baru D. Ketik Source Code programnya seperti gambar di bawah ini :
11 Gambar 1.6 Struktur Code C++ E. Setelah menulis sourcenya, tekan compile and run seperti gambar di bawah ini : Gambar 1.7 Proses Compile F. Akan muncul dialog untuk menyimpan program : beri nama sesuai dengan keinginan kalian, seperti “Program Hello World” kemudian save dengan ekstensi “cpp”9
12 Gambar 1.8 Proses Penyimpanan G. Setelah klik save, akan muncul jendela yang menampilkan hasil program Hello World yang telah dibuat Gambar 1.9 Tampilan Hasil Running H. Anda telah berhasil membuat program Hello World pada pemograman C++ dengan menggunakan Dev C++.
13 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.3 Latihan Kegiatan Praktikum 1. Latihan 1 Buatlah program baru dengan cara File-New-Source File atau bisa dengan menekan Ctrl+N. Kemudian ketik source code program seperti gambar di bawah ini: #include <iostream>-=9 using namespace std; int main () { // Menampilkan tulisan cout<<”Hello World”; return 0; } Compile dan perbaiki program sampai benar
14 Gambar 1.10 Tampilan source code Hello World setelah di running Gambar 1.11 Tampilan Hasil Running
15 1.4 Kesimpulan dan Saran 1. Kesimpulan C++ adalah sebuah aplikasi yang biasanya dipakai untuk membuat sebuah program dengan menggunakan struktur Bahasa yang dapat dipelajari dengan mudah. 2. Saran Dibutuhkan ketelitian dalam penulisan ataupun pengetikkan ejaan dan source code agar proses running nanti dapat berhasil
16 1.5 Lembaran Asistensi
17 BAB II VARIABEL DAN KONSTANTA 2.1 PENDAHULUAN Dalam proses pemograman tipe data biasa digunakan untuk mendefinisikan suatu variabel atau konstanta. Variabel adalah suatu memori yang dialokasikan dengan nama tertentu dan hanya bisa menampung data sesuai dengan tipe yang ditentukan. Sifat dari variabel adalah nilar yang dikandung akan mudah diubah sesuai dengan proses yang terjadi dan untuk konstanta sendiri adalah suatu memori yang dialokasikan dengan nama tertentu yang berisi suatu nilai yang memiliki sifat tetap yang tidak akan bisa berubah. Variabel atau peubah adalah objek yang nilainya dapat berubah-ubah dalam sebuah program. Pada saat sebuah variabel dideklarasikan program "memesan" tempat dengan ukuran tertentu (sesuar tipe datanya) pada Memori untuk menyimpan nilai dari variabel tersebut. Pada saat mendeklarasikan sebuah variabel, pemograman. harus menyebutkan nama variabel dan tipe data dari Variabel tersebut. Berbeda dengan konstanta yang nilainya tetap dan tidak bisa diubah-ubah. Konstanta yang bersifat konstan atau tetap, artinya nilai dari konstanta didalam program tidak dapat diubah atau bersifat tetap. Konstanta juga sering dianggap seperti variabel, namun nilainya tetap atau tidak dapat diubah-ubah.
18 2.2 TUJUAN PRAKTIKUM a. Mempraktekkan variabel dan konstanta b. Membuat file kerja dengan Bahasa CH c. Memulai membuat program baru, meng-compile, menyimpan dan menjalankan program yang telah dibuat. d. Memanggil membuka kembali program yang telah disimpan e. Membuat program menjadi program yang execute. 2.3 LANGKAH-LANGKAH KEGIATAN PRAKTIKUM A. Bukalah aplikasi Dev CH melalui start menu: Gambar 2.1 Tampilan aplikasi Dev C++ B Tampilan awal tampak seperti gambar dibawah ini :
19 Gambar 2.2 Tampilan Awal C++ C. Buatlah program baru dengan cara file – new – source atau gunakan CTRL + N atau seperti gambar dibawah ini : Gambar 2.3 Membuat project baru D. Ketik source code seperti gambar dibawah ini : Gambar 2.4 Struktur code C++
20 E. Setelah menulis source, tekan compile and run seperti gambar dibawah ini : Gambar 2.5 Proses Compile F. Akan muncul dialog untuk menyimpan program. Berikan nama sesuai dengan keinginan kalian, misal "Variabel dan Konstanta" kemudian save dengan ekstensi "cpp". Gambar 2.6 Proses penyimpanan G. Setelah klic save, akan muncul jendela yang menampilkan hasil program menghitung was, Keliling dan jari-jari lingkaran yang telah dibuat.
21 Gambar 2.7 Tampilan hasil running. H. Anda telah berhasil membuat program menghitung luas, keliling dan jari-jari lingkaran dengan Bahasa pemograman CH menggunakan Dev Ctt 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() { float panjang, lebar, luas; luas= panjang*lebar
22 cout<<" Masukan nilai panjang= “; cin>>panjang; cout<<" Masukan nilai lebar="; cin>>lebar; cout<<”Luas persegi panjang=”; cout<<panjang*lebar; getch () ; } Compile dan Perbaiki program sampai habis Gambar 2.8 Struktur code latihan C++ Setelah program diperbaiki dan dicompile, maka tampilan hasil running akan tampak seperti gambar dibawah in:
23 Gambar 2.9 Tampilkan hasil running C++ B Latihan 2 Buatlah program baru dengan cara file-new-source atau control + N kemudian ketik source programnya Seperti dibawah ini : #include <iostream> using namespace std; int main() { int a,b,kali,bagi,tambah,kurang; cout<< "Operasi Aritmatika Dasar"<<endl; cout<<" masukan nilai A :";
24 cin>>a; cout<<" masukan nilai B :"; cin>>b; tambah = a+b; 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 sebuah program hitungan Operasi Aritmatika
25 Gambar 2.10 Struktur code latihan C++ Setelah program diperbaiki dan di compile maka, tampilan hasil running akan tampak seperti gambar dibawah ini: Gambar 2.11 Tampilkan hasil running C++ 2.5 STUDY KASUS Buatlah progam untuk menghitung Luas bangun dan ruang berikut ini : A. Luas Persegi Panjang
26 Rumus : Luas = Panjang x lebar Berikut flowchart menghitung Luas persegi panjang Flowchart 2.1 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 menyatakan rumus. rumus was menggunakan Simbol process, Output hasil luas persegi panjang, dan selesai. Contoh code program luas persegi panjang seperti dibawah ini : #include <conio.h>
27 #include <iostream> using namespace std; int main() { float panjang, lebar, luas; luas= panjang*lebar cout<<" Masukan nilai panjang= “; cin>>panjang; cout<<" Masukan nilai lebar="; cin>>lebar; cout<<”Luas persegi panjang=”; cout<<panjang*lebar; getch () ; } Compile dan perbaiki program sampai benar
28 Gambar 2.12 Struktur code latihan C++ Setelah Program diperbaiki dan decompile maka, tampilkan hasil running dan terlihat seperti gambar dibawah ini : Gambar 2.13 Tampilan hasil running C++ B. Volume Kerucut Rumus Kerucut Volume = phi/3 x r x r x Tinggi
29 Berikut Flowchart menghitung Volume Kerucut Flowchart 2.2 Volume Kerucut Penjelasan : Flowchart diatas diawali dan diakhiri dengan menggunakan simbol terminal, menggunakan Simbol Preparation sebagai tempat mendeklarasikan Volume, was 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> using namespace std;
30 int main() { int volume; int jari; int tinggi; cout<<” masukkan nilai jari-jari=” cin>>jari; cout<<” masukkan nilai tinggi=”; cin>>tinggi; volume=3.14/3*jari*jari*tinggi; cout<<” nilai volume kerucut asalah=”<<volume<<endl; return 0; } Compile dan perbaiki progam sampai benar
31 Gambar 2.14 Struktur code latihan c++ Setelah Program diperbaiki dan decompile maka, tampilkan hasil running dan terlihat seperti gambar dibawah ini : Gambar 2.15 Tampilan hasil running c++ C. Volume Kubus
32 Berikut Flowchart menghitung Volume Kubus Flowchart 2.3 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 kubos ditampilkan menggunakan simbol input loutput. Selesai.
33 Contoh code program menghitung Volume Balok seperti dibawah ini : #include <iostream> using namespace std; 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; retrun 0; } Compile dan perbaiki sampai benar
34 Gambar 2.16 Struktur code latihan C++ Setelah Program diperbaiki dan decompile maka, tampilkan hasil running dan terlihat seperti gambar dibawah ini : Gambar 2.17 Tampilkan hasil running C++
35 2.6 KESIMPULAN DAN SARAN A. Kesimpulan Variabel merupakan salah satu konsep media. Penyimpanan pada bahasa pemograman. Begitu juga dengan konstanta bahasa pemograman membutuhkan variabel untuk menyimpan nilai baik itu huruf, karakter atau angka dan operator yang biasanya identik dengan hitungan angka di fipe data integer atau yang memiliki bilangan bulat konstanta dan variabel memiliki beberapa jenis yang digunakan dalam bahasa pemograman CH. B. Saran Untuk variabel yang identik dengan hitungan, ada baiknya untuk kita memiliki pemahaman pada program. Menghitung pada konstanta juga yang bersifat konstan atau tetap. Sebaiknya sebelum disimpan, ada baiknya mengecek kembali agar program berjalan dengan baik. Karena, apabila telah tersimpan file konstanta tidak dapat diubah kembali.
36 2.7 Lembaran Asistensi
37 BAB III STRUKTUR DASAR ALGORITMA (SELECTION & LOOPING) 3.1 PENDAHULUAN Struktur pemilihan (selection) merupakan struktur dasar algoritma yang digunakan dalam program dan memerlukan proses pengujian suatu kondisi secara bersyarat untuk mengambil suatu keputusan apakah suatu baris instruksi akan dilanjutkan prosesnya atau tidak. Selain itu, pengujian kondisi secara bersyarat ini juga memiliki fungsi untuk memilih salah satu dari beberapa alternatif yang disediakan. Tidak semua baris program atau perintah dikerjakan pada struktur dasar ini, melainkan hanya baris yang telah memenuhi syarat. Perulangan atau looping adalah suatu program untuk melakukan ulang atau mengulangi suatu proses sesuai dengan yang diinginkan. Pada Bahasa pemrograman Java kita mengenal dua macam perulangan atau looping, yaitu perulangan yang jumlah looping atau perulangannya sudah kita ketahui dengan pasti dan perulangan yang tidak kita ketahui jumlahnya. Maksudnya adalah perulangan yang sudah kita ketahui dengan pasti berapa kali kita mau melakukan perulangan. Sedangkan untuk perulangan yang tidak pasti jumlahnya adalah kita tidak tau berapa kali perulangan tersebut akan terus berjalan atau menjalankan loopingnya.
38 3.2 TUJUAN PRAKTIKUM a. Mempraktekkan cara penggunan selection pada Bahasa C++. b. Membuat File kerja dengan Bahasa C++. c. Mempraktekkan statement pemasukkan input “cin” d. Mempraktekkan struktur dasar algoritma dengan seleksi (IF THEN, IF THEN ELSE) e. Mempraktekan cara penggunaan perulangan WHILE dan FOR pada Bahasa C++. f. Mempraktekan struktur dasar algoritma dengan perulangan seleksi (WHILE dan FOR). 3.3 LANGKAH-LANGKAH KEGIATAN PRAKTIKUM a. Bukalah aplikasi DevC++ melalui start menu : Gambar 3.1 Tampilan aplikasi DevC++. b. Tampilan awal tampak seperti gambar dibawah ini : Gambar 3.2 Tampilan awal DevC++.