LAPORAN PRAKTIKUM ALGORITMA DAN STRUKTUR DATA DISUSUN 0LEH: NAMA: DESTITHA ALMAQVIRA BACHMID NPM: 07352211024 PROGRAM STUDI INFORMATIKA FAKULTAS TEKNIK UNIVERSIYAS KHAIRUN TERNATE 2022
LEMBAR PENGESAHAN Laporan Praktikum Algoritma dan Struktur Data telah disetujui dan disahkan Program Studi Teknik Informatika Universitas Khairun pada tanggal 23 Desember 2022 Oleh: Destitha Almaqvira Bachmid 0735 2211 024 Mengetahui, Dosen Mata Kuliah Hairil Kurniadin Siradjuddin S.KOM., M.KOM NIDN : 883610016
PRAKTIKUM ALGORITMA DAN STRUKTUR DATA LAB REKAYASA PERANGKAT LUNAK | TEKNIK INFORMATIKA UNKHAIR i KATA PENGANTAR Puji dan syukur saya panjatkan kepada Allah SWT. Atas selesainya laporan praktikum yang berjudul “Algoritma dan Struktur Data” meskipun banyak kekurangan di dalamnya atas dukungan moral dan materi yang di berikan dalam penyusunan materi laporan ini, maka saya ucapkan banyak terimakasih kepada bapak selaku dosen beserta asisten yang telah memberikan materi tentang laporan ini. Saya sangat berharap laporan ini dapat bergguna dalam rangka menambah wawasan serta pengetahuan kita mengenai algoritma dan struktur data serta manfaatnya bagi kehidupan teknologi masa kini. Saya menyadari bahwa laporan ini belumlah sempurna. Oleh karena itu, saran dan kritik yang membangun dari rekan-rekan sangat di butuhkan untuk menyempurnakan laporan ini. Akhir kata, semoga laporan sederhana ini dapat dipahami bagi siapa yang membacanya. Sekiranya laporan yang telah disusun dapat berguna bagi kita sendiri maupun bagi siapapun yang membacanya. Ternate, 24 Desember 2022 Destitha Almaqvira Bachmid
PRAKTIKUM ALGORITMA DAN STRUKTUR DATA LAB REKAYASA PERANGKAT LUNAK | TEKNIK INFORMATIKA UNKHAIR ii DAFTAR ISI Halaman KATA PENGANTAR .................................................................................................................i DAFTAR ISI...............................................................................................................................ii DAFTAR GAMBAR ..................................................................................................................v DAFTAR TABEL.......................................................................................................................x BAB I ALGORITMA DAN STRUKTUR DATA, STRUKTUR DASAR C++ DAN CONTOH DASAR C++ 1.1 Pengertian Algoritma dan struktur dasar...............................................................1 1.1.1 Karakteristik Algoritma ..........................................................................................................2 1.1.2 Fungsi Algoritma ...................................................................................................................2 1.1.3 Ciri-ciri Algoritma...................................................................................................................3 1.1.4 Kekurangan dan Kelebihan Algoritma .................................................................................4 1.1.5 Tipe struktur data ..................................................................................................................5 1.1.6 Bentuk flowchart dalam algoritma ........................................................................................6 1.2 Sejarah C++ ...........................................................................................................7 1.3 Struktur Dasar C++ ................................................................................................8 1.4 Cara menjalankan Dev++.....................................................................................11 1.5 Contoh dasar C++ ................................................................................................15 1.6 Kesimpulan dan Saran .........................................................................................16 1.6.1 Kesimpulan..........................................................................................................................16 1.6.2 Saran....................................................................................................................................16 BAB II VARIABEL DAN KONSTANTA 2.1 Pengertian Variabel ................................................................................................17 2.1.1 Penamaan Variabel.............................................................................................................18 2.1.2 Deklarasi variabel................................................................................................................21 2.1.3 Menentukan tipe variabel....................................................................................................22 2.1.4 Menentukan Nilai ke variabel .............................................................................................24 2.1.5 Menampilkan isi variabel di monitor...................................................................................24 2.2 Konstanta..............................................................................................................28 2.2.1 Pembagian kontanta ...........................................................................................................28 2.3 Latihan Praktikum...................................................................................................30 2.4 Studi Kasus ...........................................................................................................31
PRAKTIKUM ALGORITMA DAN STRUKTUR DATA LAB REKAYASA PERANGKAT LUNAK | TEKNIK INFORMATIKA UNKHAIR iii 2.5 Kesimpulan dan Saran .........................................................................................43 2.5.1 Kesimpulan..........................................................................................................................43 2.5.2 Saran....................................................................................................................................43 BAB III STRUKTUR DASAR ALGORITMA (SELECTION DAN LOOPING) 3.1 Selection .............................................................................................................44 3.1.1 Penyataan IF .......................................................................................................................45 3.1.2 Pernyaan IF-ELSE ..............................................................................................................47 3.1.3 Pernyataan IF Berkalang....................................................................................................50 3.1.4 Keputusan Dengan Kondisi Jamak....................................................................................51 3.1.5 Pernyataan Switch-case.....................................................................................................52 3.2 Looping ...............................................................................................................53 3.2.1 Memahami Perintah FOR...................................................................................................53 3.2.2 Memahami for didalam for (kalang for).............................................................................54 3.2.3 Memahami Perintah While .................................................................................................57 3.3 Latihan Praktikum...................................................................................................58 3.4 Studi Kasus ...........................................................................................................81 3.5 Saran dan Kesimpulan .........................................................................................94 3.5.1 Kesimpulan..........................................................................................................................94 3.5.2 Saran....................................................................................................................................94 BAB IV ARRAY 4.1 Pengertian Array .................................................................................................95 4.1.1 Array Dimensi Satu .............................................................................................................95 4.1.2 Array Dimensi Dua ............................................................................................................101 4.1 Latihan Praktikum.................................................................................................105 4.2 Studi Kasus........................................................................................................109 4.3 Kesimpulan dan Saran ..........................................................................................122 4.4.1 Kesimpulan.......................................................................................................................122 4.4.2 Saran..................................................................................................................................122 BAB V POINTER 5.1 Pointer................................................................................................................123 5.1.1 Cara Membuat Pointer......................................................................................................124 5.1.2 Cara Mengakses Pointer ..................................................................................................125 5.2 Latihan Praktikum .............................................................................................126
PRAKTIKUM ALGORITMA DAN STRUKTUR DATA LAB REKAYASA PERANGKAT LUNAK | TEKNIK INFORMATIKA UNKHAIR iv 5.3 Studi Kasus........................................................................................................130 5.4 Kesimpulan dan Saran .......................................................................................134 5.4.1 Kesimpulan........................................................................................................................134 5.4.2 Saran..................................................................................................................................134 BAB VI STACK (TUMPUKAN) 6.1 STACK (TUMPUKAN)..........................................................................................135 6.1.1 Operasi Stack....................................................................................................................136 6.1.2 Jenis-jenis Stack ...............................................................................................................136 6.1.3 Representasi Proses Stack ..............................................................................................137 6.2 Latihan Praktikum.................................................................................................141 6.3 Studi Kasus........................................................................................................148 6.4 Kesimpulan dan Saran .......................................................................................156 6.4.1 Kesimpulan........................................................................................................................156 6.4.2 Saran..................................................................................................................................156 BAB VII QUEUE (ANTRIAN) 7.1 Queue (Antrian) ................................................................................................157 7.1.1 Operasi Pada Queue ........................................................................................................158 7.1.2 Representasi Dengan Array .............................................................................................159 7.2 Latihan Praktikum .............................................................................................160 7.3 Studi Kasus........................................................................................................163 7.4 Kesimpulan Dan Saran.......................................................................................169 7.4.1 Kesimpulan........................................................................................................................169 7.4.2 Saran..................................................................................................................................169 DAFTAR PUSTAKA............................................................................................................................... xi
PRAKTIKUM ALGORITMA DAN STRUKTUR DATA LAB REKAYASA PERANGKAT LUNAK | TEKNIK INFORMATIKA UNKHAIR v DAFTAR GAMBAR Halaman BAB I ALGORITMA DAN STRUKTUR DATA, STRUKTUR DASAR C++ DAN CONTOH DASAR C++ Gambar 1. 1 Bentuk-bentuk flowchart dalam algoritma ........................................................................6 Gambar 1. 2 Bentuk-bentuk flowchart dalam algoritma ........................................................................7 Gambar 1. 3 penggunaan using namespace diawal .............................................................................9 Gambar 1. 4 penggunaan using namespace std di setiap baris ..........................................................9 Gambar 1. 5 icon Dev C++ ...................................................................................................................11 Gambar 1. 6 tampilan utama Dev C++.................................................................................................12 Gambar 1. 7 buat project baru di Dev C++ ..........................................................................................12 Gambar 1. 8 Tampilan kerja baru Dev C++ .........................................................................................13 Gambar 1. 9 tampilan Dev C++ Source code Dev C++ ......................................................................13 Gambar 1. 10 tools untuk compile dan run ..........................................................................................14 Gambar 1. 11 Tampilan save as Dev C++...........................................................................................14 Gambar 1. 12 Hasil running program Dev C++ ..................................................................................14 Gambar 1. 13 Contoh dasar C++ .........................................................................................................15 Gambar 1. 14 Hasil running program dasar C++.................................................................................15 BAB II VARIABEL DAN KONSTANTA Gambar 2. 2 Ilustrasi proses variabel...................................................................................................17 Gambar 2. 1 Ilustrasi Proses Variabel..................................................................................................17 Gambar 2. 3 Ilustrasi operasi variabel yang salah ..............................................................................18 Gambar 2. 4 Aturan penamaan variabel pada program......................................................................20 Gambar 2. 5 Keterangan kesalahan pada program............................................................................20 Gambar 2. 6 Sintaks penulisan deklarasi variabel ..............................................................................21 Gambar 2. 7 Tipe data dengan beberapa identifier.............................................................................21 Gambar 2. 8 Flowchart operasi penjumlahan ......................................................................................23 Gambar 2. 9 Proses pemasukan data ke variabel ..............................................................................24 Gambar 2. 10 Contoh program variabel...............................................................................................25 Gambar 2. 11 Contoh program variabel...............................................................................................25 Gambar 2. 12 Contoh program variabel...............................................................................................26 Gambar 2. 13 Contoh program variabel...............................................................................................26 Gambar 2. 14 Peringatan compiler.......................................................................................................27 Gambar 2. 15 Hasil running program...................................................................................................27 Gambar 2. 16 Deklarasian konstanta phi dengan nilai........................................................................29 Gambar 2. 17 Perubahan nilai phi........................................................................................................29 Gambar 2. 18 Phi sebagai konstanta ...................................................................................................29 Gambar 2. 19 contoh latihan membuat program.................................................................................30 Gambar 2. 20 hasil compiler dan running program yang sudah dibuat .............................................30 Gambar 2. 21 flowchart studi kasus .....................................................................................................31 Gambar 2. 22 contoh program..............................................................................................................32 Gambar 2. 23 running program nilai variabel A ke B dan B ke A .......................................................32
PRAKTIKUM ALGORITMA DAN STRUKTUR DATA LAB REKAYASA PERANGKAT LUNAK | TEKNIK INFORMATIKA UNKHAIR vi Gambar 2. 24 Flowchart menghitung luas persegi panjang ...............................................................33 Gambar 2. 26 hasil kompiler dan running program.............................................................................34 Gambar 2. 25Program menghitung luas persegi panjang ..................................................................34 Gambar 2. 27 Flowchart menghitung luas dan keliling lingkaran .......................................................35 Gambar 2. 28 Hasil program menghitung luas dan keliling lingkaran................................................36 Gambar 2. 29 hasil compiler dan running program menghitung luas dan keliling lingkaran ............36 Gambar 2. 30 Flowchart Menghitung Volume Kerucut .......................................................................37 Gambar 2. 31 Source code menghitung volume dan alas Kerucut....................................................38 Gambar 2. 32 Hasil compile and running program menghitung Volume Kerucut .............................38 Gambar 2. 33 Flowchart menghitung Volume Kubus..........................................................................39 Gambar 2. 34 source code menghitung volume kerucut ...................................................................40 Gambar 2. 35 Hasil compile and running program menghitung Volume Kubus................................40 Gambar 2. 36 Flowchart menghitung Volume tabung.........................................................................41 Gambar 2. 37 Program menghitung volume tabung ...........................................................................42 Gambar 2. 38 hasil compiler dan running program volume tabung ...................................................42 BAB III STRUKTUR DASAR ALGORITMA (SELECTION DAN LOOPING) Gambar 3. 1 contoh program pengambilan keputusan.......................................................................44 Gambar 3. 2 Flowchart kondisi .............................................................................................................45 Gambar 3. 3 Contoh program kondisi ..................................................................................................46 Gambar 3. 4 Flowchart kondisi .............................................................................................................47 Gambar 3. 5 Flowchart mencari total pembelian .................................................................................48 Gambar 3. 6 Contoh program keputusan.............................................................................................49 Gambar 3. 7 Hasil running program.....................................................................................................49 Gambar 3. 8 Penulisan pernyataan if berkalang .................................................................................50 Gambar 3. 9 Contoh program if berkalang...........................................................................................50 Gambar 3. 10 Penulisan pernyataan switch-case...............................................................................52 Gambar 3. 11 Flowchart Perulangan....................................................................................................53 Gambar 3. 12 Flowchart proses kalang dalam for...............................................................................54 Gambar 3. 13 Contoh program sederhana ..........................................................................................55 Gambar 3. 14 Flowchart While Kondisi ................................................................................................58 Gambar 3. 15 Flowchart contoh latihan 1 ............................................................................................59 Gambar 3. 16 eksekusi program latihan 1 ...........................................................................................61 Gambar 3. 17 pilihan 1 ..........................................................................................................................62 Gambar 3. 18 pilihan 2 ..........................................................................................................................62 Gambar 3. 19 pilihan 3 ..........................................................................................................................62 Gambar 3. 20 pilihan 4 ..........................................................................................................................62 Gambar 3. 21 flowchart contoh program latihan 2 ..............................................................................64 Gambar 3. 22 Contoh program latihan 2..............................................................................................66 Gambar 3. 23 Hasil contoh program latihan 2 .....................................................................................66 Gambar 3. 24 flowchart contoh program latihan 3 ..............................................................................67 Gambar 3. 25 Contoh program latihan 3..............................................................................................68 Gambar 3. 26 Hasil contoh program latihan 3 .....................................................................................69 Gambar 3. 27 flowchart contoh program latihan 4 ..............................................................................70
PRAKTIKUM ALGORITMA DAN STRUKTUR DATA LAB REKAYASA PERANGKAT LUNAK | TEKNIK INFORMATIKA UNKHAIR vii Gambar 3. 28 Contoh program latihan 4..............................................................................................72 Gambar 3. 29 Hasil contoh program latihan 4 .....................................................................................73 Gambar 3. 30 flowchart contoh program latihan 5 ..............................................................................74 Gambar 3. 31 Contoh program latihan 5..............................................................................................77 Gambar 3. 32 Hasil contoh program latihan 5 .....................................................................................77 Gambar 3. 33 flowchart contoh program latihan 6 ..............................................................................78 Gambar 3. 34 Contoh program latihan 6..............................................................................................80 Gambar 3. 35 Hasil contoh program latihan 6 .....................................................................................81 Gambar 3. 36 flowchart contoh program 1...........................................................................................82 Gambar 3. 37 Contoh program latihan.................................................................................................83 Gambar 3. 38 Hasil compiler dan running program.............................................................................84 Gambar 3. 39 Flowchart contoh program 2 .........................................................................................85 Gambar 3. 40 Hasil eksekusi program.................................................................................................87 Gambar 3. 41 Hasil compiler dan running program.............................................................................87 Gambar 3. 42 Flowchart contoh program 3 .........................................................................................89 Gambar 3. 43 hasil eksekusi program menentukan nilai A,B,C,D,E ..................................................91 Gambar 3. 44 Hasil A ............................................................................................................................92 Gambar 3. 45 Hasil B ............................................................................................................................92 Gambar 3. 46 Hasil C............................................................................................................................92 Gambar 3. 47 Hasil D............................................................................................................................93 Gambar 3. 48 Hasil E ............................................................................................................................93 BAB IV ARRAY Gambar 4. 1 Penulisan deklarasi Array satu dimensi .........................................................................95 Gambar 4. 2 Ilustrasi Array Satu Dimensi............................................................................................96 Gambar 4. 3 Contoh program menampilkan isi variabel array 1 ........................................................97 Gambar 4. 4 Hasil contoh program menampilkan isi variabel array 1................................................97 Gambar 4. 5 Contoh program menampilkan isi variabel array 2 ........................................................98 Gambar 4. 6 Hasil contoh program menampilkan isi variabel array 2................................................98 Gambar 4. 7 Contoh program menampilkan isi variabel array 3 ........................................................99 Gambar 4. 8 Hasil contoh program menampilkan isi variabel array 3................................................99 Gambar 4. 9 Contoh program menampilkan isi variabel array 4 ......................................................100 Gambar 4. 10 Hasil contoh program menampilkan isi variabel array 4............................................100 Gambar 4. 11 Penulisan deklarasi array dua dimensi.......................................................................101 Gambar 4. 12 Contoh program menampilkan isi variabel array 2 ....................................................102 Gambar 4. 13 Contoh program menampilkan isi variabel array 2 ....................................................103 Gambar 4. 14 Contoh program menampilkan isi variabel array 3 ....................................................104 Gambar 4. 15 Hasil contoh program menampilkan isi variabel array 3............................................104 Gambar 4. 16 Program latihan 1 ........................................................................................................106 Gambar 4. 17 Hasil program latihan 1 ...............................................................................................106 Gambar 4. 18 Program latihan 2 ........................................................................................................108 Gambar 4. 19 Hasil program latihan 2 ...............................................................................................108 Gambar 4. 20 Flowchart program studi kasus 1................................................................................109 Gambar 4. 21 Program studi kasus 1.................................................................................................111 Gambar 4. 22 Hasil program studi kasus 1........................................................................................112
PRAKTIKUM ALGORITMA DAN STRUKTUR DATA LAB REKAYASA PERANGKAT LUNAK | TEKNIK INFORMATIKA UNKHAIR viii Gambar 4. 23 Flowchart program studi kasus 2................................................................................112 Gambar 4. 24 Program studi kasus 2.................................................................................................114 Gambar 4. 25 Hasil program studi kasus 2........................................................................................115 Gambar 4. 26 Flowchart program studi kasus 3................................................................................115 Gambar 4. 27 Program studi kasus 3.................................................................................................118 Gambar 4. 28 Hasil program studi kasus 3........................................................................................118 Gambar 4. 29 Hasil program studi kasus 3........................................................................................118 Gambar 4. 30 Flowchart program studi kasus 4................................................................................119 Gambar 4. 31 Program studi kasus 4.................................................................................................121 Gambar 4. 32 Hasil program studi kasus 4........................................................................................121 BAB V POINTER Gambar 5. 1 Bentuk Penulisan ........................................................................................124 Gambar 5. 2 Contoh penulisan ........................................................................................125 Gambar 5. 3 flowchart pointer konstanta ...........................................................................126 Gambar 5. 4 contoh program pointer konstanta ..................................................................127 Gambar 5. 5 hasil running program pointer konstanta..........................................................127 Gambar 5. 6 flowchart pointer deference ...........................................................................128 Gambar 5. 7 program pointer deference............................................................................129 Gambar 5. 8 hasil running program pointer deference .........................................................129 Gambar 5. 9 flowchart operasi aritmatika pointer ................................................................130 Gambar 5. 10 program operasi aritmatika..........................................................................131 Gambar 5. 11 running progam operasi aritmatika pointer .....................................................132 Gambar 5. 12 flowchart pointer dalam array.......................................................................132 Gambar 5. 13 program pointer dalam array........................................................................133 Gambar 5. 14 hasil running pointer dalam array .................................................................133 BAB VI STACK (TUMPUKAN) Gambar 6. 1 Ilustrasi sebuah stack ....................................................................................................135 Gambar 6. 2 Ilustrasi stack 1 dimensi menggunakan indeks array..................................................137 Gambar 6. 3 Ilustrasi stack ketika sudah diisi data ..........................................................................137 Gambar 6. 4 Ilustrasi double stack .....................................................................................................138 Gambar 6. 5 Struktur pemograman....................................................................................................145 Gambar 6. 6 Struktur Pemograman ...................................................................................................145 Gambar 6. 7 Struktur pemograman....................................................................................................146 Gambar 6. 8 Struktur Pmograman......................................................................................................146 Gambar 6. 9 Hasil Running.................................................................................................................147 Gambar 6. 10 Flowchart studi kasus ..................................................................................................148 Gambar 6. 11 Struktur pemograman..................................................................................................154 Gambar 6. 12 Struktur Pemograman .................................................................................................154 Gambar 6. 13 Hasil Running...............................................................................................................155 Gambar 6. 14 Hasil Running...............................................................................................................155
PRAKTIKUM ALGORITMA DAN STRUKTUR DATA LAB REKAYASA PERANGKAT LUNAK | TEKNIK INFORMATIKA UNKHAIR ix BAB VII QUEUE (ANTRIAN) Gambar 7. 1 Cara kerja Queue (Antrian) ...........................................................................................157 Gambar 7. 2 Queue dengan array......................................................................................................159 Gambar 7. 3 Source codeprogram queue dalam array.....................................................................160 Gambar 7. 4 Source codeprogram queue dalam array.....................................................................161 Gambar 7. 5 Source code program queue dalam array....................................................................161 Gambar 7. 6 Hasil program queue dengan array ..............................................................................162 Gambar 7. 7 Flowchart program queue .............................................................................................163 Gambar 7. 8 Source code program queue.........................................................................................165 Gambar 7. 9 Source codeprogram queue..........................................................................................166 Gambar 7. 10 Source code program queue ......................................................................................166 Gambar 7. 11 Hasil program Queue (Antrian)...................................................................................168
PRAKTIKUM ALGORITMA DAN STRUKTUR DATA LAB REKAYASA PERANGKAT LUNAK | TEKNIK INFORMATIKA UNKHAIR x DAFTAR TABEL Halaman BAB I ALGORITMA DAN STRUKTUR DATA, STRUKTUR DASAR C++ DAN CONTOH DASAR C++ Tabel 1.1 kelebihan dan kekurangan algoritma.......................................................................4 BAB II VARIABEL DAN KONSTANTA Tabel 2. 1 Penjelasan Aturan Penamaan Variabel............................................................... 19 BAB III STRUKTUR DASAR ALGORITMA (SELECTION DAN LOOPING) Tabel 3. 1 Operator logika pada keputusan yang jamak...................................................... 51
BAB I ALGORITMA DAN STRUKTUR DATA, STRUKTUR DASAR C++ DAN CONTOH DASAR C++ DISUSUN 0LEH: NAMA: DESTITHA ALMAQVIRA BACHMID NPM: 07352211024 PROGRAM STUDI INFORMATIKA FAKULTAS TEKNIK UNIVERSIYAS KHAIRUN TERNATE 2022
PRAKTIKUM ALGORITMA DAN STRUKTUR DATA LAB REKAYASA PERANGKAT LUNAK | TEKNIK INFORMATIKA UNKHAIR 1 BAB I ALGORITMA DAN STRUKTUR DATA, STRUKTUR DASAR C++ DAN CONTOH DASAR C++ 1.1 Pengertian Algoritma dan struktur dasar Algoritma dapat diartikan sebagai urutan aksi-aksi yang dinyatakan dengan jelas dan tidak rancu untuk memecahkan suatu masalah dalam rentang waktu tertentu. Setiap aksi harus dapat dikerjakan dan mempunyai efek tertentu. Algoritma merupakan logika, metode, dan tahapan (urutan) sistematis yang digunakan untuk memecahkan suatu permasalahan. Algoritma dapat dituliskan dengan banyak cara, mulai dari menggunakan bahasa alami yang digunakan sehari-hari, simbol grafik bagan alir (flowchart), sampai menggunakan bahasa pemrograman seperti bahasa C atau C++. Dalam istilah ilmu komputer, sebuah struktur data adalah cara penyimpanan, penyusunan dan pengaturan data di dalam media penyimpanan komputer sehingga data tersebut dapat digunakan secara efisien.Sedangkan Data adalah representasi dari fakta dunia nyata. Fakta atau keterangan tentang kenyataan yang disimpan, direkam atau direpresentasikan dalam bentuk tulisan, suara, gambar, sinyal atau simbol. Program=Struktur data+Algoritma Bagaimanapun juga struktur data dan algoritma berhubungan sangat erat pada sebuah program. Algoritma yang baik tanpa pemilihan struktur data yang tepat akan membuat program menjadi kurang baik, demikian juga sebaliknya. Struktur data disini bisa berupa list, tree, graph, dsb.
PRAKTIKUM ALGORITMA DAN STRUKTUR DATA LAB REKAYASA PERANGKAT LUNAK | TEKNIK INFORMATIKA UNKHAIR 2 1.1.1 Karakteristik Algoritma Karakteristik algoritma sebagai berikut. Jelas, tidak ambigu. Setiap instruksi yang ditulis harus langsung bisa dipahami dan tidak membuat orang salah dalam mengartikan instrukti tersebut. Punya input yang jelas. Jika memerlukan input atau data, ia harus sudah ditentukan secara jelas apa yang harus diinput agar orang tidak salah mengartikan apa yang harus diinput. Finite atau terbatas.Algoritma memiliki langkah-langkah yang terbatas. Ini untuk memastikan algoritma secepat mungkin menghasilkan output yang diinginkan. Feasible atau mungkin dieksekusi. Algoritma tidak boleh mengandung komponen yang tidak universal atau bagian dari teknologi masa depan. Tujuannya, agar algoritma bisa menjalankan tugasnya dengan mudah tanpa hambatan. Tidak bergantung pada bahasa pemrograman tertentu. Algoritma harus ditulis dengan instruksi sederhana, hingga bisa ditulis ulang dengan bahasa pemrograman apapun. Fungsi Algoritma 1.1.2 Fungsi Algoritma Fungsi algoritma sebagai berikut. Algoritma dapat memperkecil kesalahan atau error dalam pemrograman. Sebab, algoritma dapat menjalankan segala sesuatu secara otomatis sesuai rumus atau instruksi yang sudah ditentukan.
PRAKTIKUM ALGORITMA DAN STRUKTUR DATA LAB REKAYASA PERANGKAT LUNAK | TEKNIK INFORMATIKA UNKHAIR 3 Algoritma membantu sebuah program atau aplikasi menjadi lebih ringkas dan berukuran kecil. Sebab, aplikasi berjalan lewat proses otomatis algoritma. Bukan dari kode yang ditulis secara manual. Algoritma membantu pembuatan program yang lebih terstruktur dan logis. Percayalah ini akan memudahkan developer ketika perlu mengembangkan fitur tambahan. Algoritma juga membantu developer mencari kesalahan atau error dari program yang sudah dibuat sebelumnya. Algoritma membuat penulisan kode dalam sebuah program menjadi lebih efisien. Developer tidak perlu mengulang-ulang penulisan kode untuk program yang ingin dibuat. 1.1.3 Ciri-ciri Algoritma. Berdasarkan apa yang diungkapkan oleh Donald E.Kunth, algoritma memiliki ciriciri sebagai berikut. Input Setiap algoritma harus ada input yang bisa diartikan sebagai sebuah masalah yang dihadapi dan harus mempunyai penyelesaian. Output Output dapat dikatakan sebuah solusi dari input. Minimal harus ada satu output lebih. Memiliki Proses Proses merupakan langkah-langkah yang harus dilakukan agar bisa menyelesaikan suatu masalah atau untuk mencapai tujuan akhir.
PRAKTIKUM ALGORITMA DAN STRUKTUR DATA LAB REKAYASA PERANGKAT LUNAK | TEKNIK INFORMATIKA UNKHAIR 4 Mempunyai instruksi yang jelas Instruksi yang jelas dalam sebuah algoritma berfungsi untuk meminimalisir kesalahan dan menciptakan output yang baik Tujuan akhir Dengan adanya tujuan akhir, kita akan berhenti saat tujuan akhir 1.1.4 Kekurangan dan Kelebihan Algoritma Kelebihan dan kekurangan algoritma dapat dilihat pada tabel berikut. Tabel 1.1 kelebihan dan kekurangan algoritma. KELEBIHAN ALGORITMA KEKURANGAN ALGORITMA Sangat mudah dipahami Sulit dan butuh waktu lama untuk menulisnya Menunjukan langkah-langkah problemsolving dengan gamblang Brancing dan looping akan sulit terlihat Langkah-langkah yang singkat dan jelas memudahkan developer mengubahnya ke program -
PRAKTIKUM ALGORITMA DAN STRUKTUR DATA LAB REKAYASA PERANGKAT LUNAK | TEKNIK INFORMATIKA UNKHAIR 5 1.1.5 Tipe struktur data Struktur data dibagi menjadi tujuh bagian sebagai berikut. Array Tipe data array memiliki kumpulan elemen yang jaraknya berdekatan. Array membantu seseorang dalam melakukan pencarian data secara acak. Setiap elemen pada array menggunakan nama dan tipe yang sama serta setiap elemen diakses dengan membedakan indeks Array-nya. Linkend list Linkend list merupakan struktur data yang terdiri dari urutan data linier yang dapat dihubungkan satu sama lain. Ketika menggunakan tipe data ini kita perlu untuk mengakses data secara manual karena data tidak dapat dicari dengan sistem acak. Stack Stack atau tipe data tumpukan merupakan tipe data yang linier dan mengikuti urutan data tertentu. Urutan data yang dipakai adalah LIFO (Last In First Out) atau dapat diartikan yang terakhir masuk adalah yang pertama keluar. Queue Queue merupakan struktur data yang mengikuti aturan tertentu yaitu FIFO (First In First Out). Jadi, data yang pertama masuk merupakan data yang pertama keluar. Gambaran queue dapat dilihat ketika kita mengantri yang datang pertama akan dilayani terlebih dahulu.
PRAKTIKUM ALGORITMA DAN STRUKTUR DATA LAB REKAYASA PERANGKAT LUNAK | TEKNIK INFORMATIKA UNKHAIR 6 Tree Tree merupakan data yang berbentuk seperti bentuk pohon. Tipe ini efisien dalam menyimpan data secara hierarki karena data dapat disimpan berdasarkan level. Tree juga dapat diartikan kumpulan node yang dihubungkan. Graph Graph merupakan tipe data yang mengandung node yang saling terhubung.Setiap garis dapat menghubungkan kedua simpul. Tipe ini biasanya digunakan di jaringan tertentu misalnya jaringan telepon. Hash Table Hash table merupakan tipe yang digunakan dalam menyimpan data secara asosiatif. Tipe ini lebih efesien karena untuk mengakses data lebih cepat karena hanya membutuhkan indeksnya saja. 1.1.6 Bentuk flowchart dalam algoritma Gambar 1. 1 Bentuk-bentuk flowchart dalam algoritma
PRAKTIKUM ALGORITMA DAN STRUKTUR DATA LAB REKAYASA PERANGKAT LUNAK | TEKNIK INFORMATIKA UNKHAIR 7 Gambar 1. 2 Bentuk-bentuk flowchart dalam algoritma 1.2 Sejarah C++ Tahun 1978, Brian W. Kerninghan & Dennis M. Richie dari AT & T Laboratories merngembangkan Bahasa B menjadi C. Bahasa B yang dihciptakan oleh Ken Thompson sebenarnya merupakan pengembangan dari Bahasa BCPL (Basic Combined Programming Language) yang diciptakan oleh Martin Richard. Sejak tahun 1980, Bahasa C banyak digunakan pemrogram di eropa yang sebelumnya menggunakan Bahasa B dan BCPL. Dalam perkembangannya, Bahasa C menjadi Bahasa lainnya, seperti PASCAL, BASIC, FORTRAN. Tahun 1989, dunia pemrograman C mengalami peristiwa penting dengan dikeluarkannya standards Institute (ANSI). Bahasa C yang diciptakan kerninghan & Ritchie kemudian dikenal dengan nama ANSI C. Mulai awal tahun 1980, Bjarne Stroustrup dari AT & T Bell Laboratories mulai mengembangkan Bahasa C.
PRAKTIKUM ALGORITMA DAN STRUKTUR DATA LAB REKAYASA PERANGKAT LUNAK | TEKNIK INFORMATIKA UNKHAIR 8 Pada tahun 1985, lahirlah secara resmi Bahasa baru hasil pengembangan C yang dikenal dengan nama C++. Sebenarnya Bahasa C++ mengalami dua tahap evolusi. C++ yang pertama, dirilis oleh AT&T Laboratories, dinamakan efront. C++ versi kuno ini hanya berupa compiler yang menerjemahkan C++ menjadi Bahasa C. Pada evolusi selanjutnya, Borland international Inc. mengembangkan kompiler C++ menjadi sebuah kompiler yang mampu mengubah C++ langsung menjadi Bahasa mesin (assembly). Sejak evolusi ini, mulai tahun 1990 C++ menjadi Bahasa berorientasi objek yang digunakan oleh Sebagian besar pemrogram professional. 1.3 Struktur Dasar C++ Struktur dasar C++ dibagi menjadi lima, yaitu: a. Header/Library Header adalah suatu fungsi yang berguna untuk menyatakan kepada compiler bahwa kita akan menggunakan beberapa perintah kepada header atau library tersebut. b. Using Namespace Std Using Namespace Std merupakan fitur penamaan yang biasanya ada dalam sebuah bahasa pemograman yang menerapkan konsep OOP (Objek Oriented Programming). Tujuan dari penggunaan Using Namespace Std untuk berbagai perintah tidak saling bentrok.
PRAKTIKUM ALGORITMA DAN STRUKTUR DATA LAB REKAYASA PERANGKAT LUNAK | TEKNIK INFORMATIKA UNKHAIR 9 Ketika kita tidak menggunakan using namespace diawal maka cout dan cin tidak dapat dikenali kecuali didepannya terdapat syntax std:: . Untuk lebih efektif tambahkan using namespace pada awal seperti gambar 1.4 . Gambar 1. 3 penggunaan using namespace diawal Gambar 1. 4 penggunaan using namespace std di setiap baris
PRAKTIKUM ALGORITMA DAN STRUKTUR DATA LAB REKAYASA PERANGKAT LUNAK | TEKNIK INFORMATIKA UNKHAIR 10 c. Main ( ) Struktur main() pada dasarnya merupakan sebuah fungsi (function). Isi dari function ini diawali dan diakhiri dengan tanda kurung kurawal ” { ” dan ” } “. Di dalam tanda kurung inilah “isi” dari kode program penyusun function main() ditulis. Function main() merupakan kode program utama dalam mayoritas aplikasi bahasa C++. Di sinilah kita akan banyak menulis kode program. Function main() di dalam file C++ boleh saja tidak ditulis, terutama jika ingin membuat sebuah file header atau file bantu (file yang berisi berbagai function lain). Namun dalam kebanyakan situasi, function main() selalu ada dalam kode yang akan kita buat. d. Isi Program Isi program merupakan bagian inti larena jika isi program tidak ada maka progrm tidak akan berjalan sebagaimana seharusnya. e. Komentar Komentar diperlukan untuk menjelaskan mengenai program atau bagianbagiandalam program. Isi penjelasan berupa: Tujuan/fungsi program Saat program dibuat/direvisi, bias berupa tanggal dibuatnya program tersebut. Keterangan-keterangan lain tentang kegunaan sejumlah pernyataan dalam program.
PRAKTIKUM ALGORITMA DAN STRUKTUR DATA LAB REKAYASA PERANGKAT LUNAK | TEKNIK INFORMATIKA UNKHAIR 11 Tanda awal komentar dalam program C++ ada dua cara : Diawali tanda // (dua tanda garis miring/double slash), untuk komentar yang hanya satu baris. Semua tulisan setelah tanda // dianggap sebagai komentar dan tidak akan dieksekusi oleh C++. /*mulai blok komentar pada baris ini tidak akan dieksekusi sampai ditemui akhir blok komentar */. f. Tanda Semicolon ( ; ) Blok pernyataan merupakan satu atau beberapa buah statemen/pernyataan yang pada setiap akhir baris pernyataan diakhiri dengan titik koma (;). g. Input dan Output Pernyataan cout (dibaca C out) merupakan sebuah objek di dalam C++, yang digunakan untuk mengarahkan data ke dalam standar output (cetak pada layar). Sedangkan untuk menginputkan data, dapat digunakan cin (dibaca C in). Sintaks yang digunakan : cout << daftar_keluaran ,cin >> daftar_masukan. h. Return 0 Return 0 adalah Nilai balik dari int yang artinya saat program selesai maka nilai akan dikembalikan menjadi 0 (nol) atau direset lagi. 1.4 Cara menjalankan Dev++ Setelah selesai menginstall Dev C++, Buka Dev C++ dengan cara double tap pada icon dev C++ Gambar 1. 5 icon Dev C++
PRAKTIKUM ALGORITMA DAN STRUKTUR DATA LAB REKAYASA PERANGKAT LUNAK | TEKNIK INFORMATIKA UNKHAIR 12 Setelah itu muncul, tampilan utama dev C++ seperti ada gambar 1.6 Buat project baru dengan cara klik File-New-Project seperti gambar 1.7 Gambar 1. 6 tampilan utama Dev C++ Gambar 1. 7 buat project baru di Dev C++
PRAKTIKUM ALGORITMA DAN STRUKTUR DATA LAB REKAYASA PERANGKAT LUNAK | TEKNIK INFORMATIKA UNKHAIR 13 Kemudian muncul tampilan lembar kerja baru seperti pada gambar 1.8 Silakan ketik source code program di editor Dev C++. Gambar 1. 8 Tampilan kerja baru Dev C++ Gambar 1. 9 tampilan Dev C++ Source code Dev C++
PRAKTIKUM ALGORITMA DAN STRUKTUR DATA LAB REKAYASA PERANGKAT LUNAK | TEKNIK INFORMATIKA UNKHAIR 14 Setelah menulis Source code, tekan compile dan run Gambar 1.9 tools untuk compile dan run Pada gambar muncul dialog untuk menyimpan program yang dibuat. Kemudian save dengan nama yang diinginkan. Setelah klik Save, akan muncul jendela yang menampilkan hasil program yang telah dibuat. Gambar 1. 10 tools untuk compile dan run Gambar 1. 11 Tampilan save as Dev C++ Gambar 1. 12 Hasil running program Dev C++
PRAKTIKUM ALGORITMA DAN STRUKTUR DATA LAB REKAYASA PERANGKAT LUNAK | TEKNIK INFORMATIKA UNKHAIR 15 1.5 Contoh dasar C++ Gambar 1. 13 Contoh dasar C++ Gambar 1. 14 Hasil running program dasar C++
PRAKTIKUM ALGORITMA DAN STRUKTUR DATA LAB REKAYASA PERANGKAT LUNAK | TEKNIK INFORMATIKA UNKHAIR 16 1.6 Kesimpulan dan Saran 1.6.1 Kesimpulan Program bahasa C++ sangat bagus dan efektif karena bersifat protabilitas. Yaitu bahasa pemgraman C++ dapat digunakan pada berbagai tipe mesin yang berbeda-beda 1.6.2 Saran Diperlukan ketelitian dalam penulisan ataupun pengetikkan pada source kode dengan memperhatikan tata cara dan struktur penulisannya agar Ketika melakukan proses running nanti programnya tidak error atau hasil tampilan dari tiap baris source code bisa tertata dengan rapi dan tidak berantakan.
BAB II VARIABEL DAN KONSTANTA DISUSUN 0LEH: NAMA: DESTITHA ALMAQVIRA BACHMID NPM: 07352211024 PROGRAM STUDI INFORMATIKA FAKULTAS TEKNIK UNIVERSIYAS KHAIRUN TERNATE 2022
PRAKTIKUM ALGORITMA DAN STRUKTUR DATA LAB REKAYASA PERANGKAT LUNAK | TEKNIK INFORMATIKA UNKHAIR 17 BAB II VARIABEL DAN KONSTANTA 2.1 Pengertian Variabel Variabel merupakan suatu tempat penampungan data di memori yang mempunyai nilai berubah-ubah selama proses program. Setiap data yang diolah program harus tersimpan dalam suatu variabel. Variabel dapat kita contohkan dengan ketika kita menyimpan nomor teman maka kita akan memberikan nama sebagai identitas. Dari ilustrasi diatas, data 12 disimpan dalam variabel dan data 10 disimpan dalam variabel B. Gambar 2. 2 Ilustrasi proses variabel Variabel A berisi 12 Variabel B berisi 10 Gambar 2. 2. 1 Ilustrasi Proses Variabel 1 Ilustrasi Proses Variabel
PRAKTIKUM ALGORITMA DAN STRUKTUR DATA LAB REKAYASA PERANGKAT LUNAK | TEKNIK INFORMATIKA UNKHAIR 18 Variabel C merupakan penjumlahan antara variabel A dan variabel B Jadi jika ada operasi atau instruksi seperti ini: Gambar 2.3 Ilustrasi operasi variabel yang salah Operasi/perintah di atas salah, dikarenakan hasil penjumlahan antara A dengan B tidak disimpan dalam suatu variabel. Seluruh proses ini dapat diekspresikan dalam C++ dengan serangkaian instruksi sbb: A = 12; B = 10; C = A + B; Jelas contoh di atas merupakan satu contoh yang sangat sederhana karena kita hanya menggunakan 2 nilai bilangan bulat (integer) yang kecil, tetapi komputer dapat menyimpan jutaan nilai yang telah ditentukan. Setiap variabel memerlukan identifier yang dapat membedakannya dari variabel yang lain, sebagai contoh dari kode diatas identifier variabelnya adalah A, B dan C, tetapi kita dapat membuat nama untuk variabel selama masih merupakan identifier yang benar. 2.1.1 Penamaan Variabel Variabel adalah Identifier yang nilainya dapat berubah atau diubah selama program dijalankan. Dalam penulisan variabel, kita harus menentukan Deklarasi nya terlebih dahulu. Deklarasi berarti memesan memori dan menentukan jenis data yang bisa disimpan Gambar 2. 3 Ilustrasi operasi variabel yang salah
PRAKTIKUM ALGORITMA DAN STRUKTUR DATA LAB REKAYASA PERANGKAT LUNAK | TEKNIK INFORMATIKA UNKHAIR 19 di dalamnya. Contohnya char Nama; yang berarti memesan memori dengan tipe data Character dan disimpan dalam wadah dengan nama variabel yaitu Nama. Setiap Variabel yang digunakan sebaiknya mencerminkan isi dari data yang akan disimpan dan juga yang mudah dibaca. Setiap variabel yang akan digunakan sebaiknya mencerminkan isi dari data yang akan disimpan serta mudah dibaca. Misal penamaan: Gaji_pengawai= 1500000; Yang menyatakan gaji pengawai. Penamaan ini tentunya lebih mudah dipahami daripada penamaan. G= 1500000; Aturan penamaan Variabel/pengenal. 1. Tidak boleh diawali angka 2. Tidak boleh diawali dengan karakter khusus (misal tanda matematika) 3. Huruf besar dan huruf kecil berbeda 4. Tidak boleh ada spasi, jika menggunakan 2 kata bisa menggunakan tanda hubung (misal underscore) Berikut contoh aturan penamaan variabel dapat dilihat pada tabel berikut. Tabel 2. 1 Penjelasan Aturan Penamaan Variabel NAMA VARIABEL KETERANGAN Gaji2013 Benar Walaupun ada angka tetapi angka dibelakang 2013Gaji Salah Angka tidak boleh di depan
PRAKTIKUM ALGORITMA DAN STRUKTUR DATA LAB REKAYASA PERANGKAT LUNAK | TEKNIK INFORMATIKA UNKHAIR 20 A Benar Minimal 1 huruf Gaji pengawai Salah Ada spasi, yang benar Gaji_pengawai +A Salah Tanda operasi matematika tidak boleh ada di dalam pengenal Nama-barang Salah Tidak boleh menggunakan karakter - Berikut aturan penamaan variabel dapat dilihat pada program di bawah ini. Gambar 2. 4 Aturan penamaan variabel pada program Program tersebut jika dijalankan terjadi kesalahan terutama pada penulisan perintah, dapat dilihat pada gambar di bawah ini. Gambar 2. 5 Keterangan kesalahan pada program
PRAKTIKUM ALGORITMA DAN STRUKTUR DATA LAB REKAYASA PERANGKAT LUNAK | TEKNIK INFORMATIKA UNKHAIR 21 2.1.2 Deklarasi variabel Dalam membuat program, variabel menjadi unsur terpenting terutama untuk menyimpan data. Variabel harus terlebih dahulu dideklarasikan/dipesankan sebelum variabel tersebut diisi dengan data. Sintaks penulisan deklarasi variabel adalah dengan menuliskan tipe data yang akan digunakan diikuti dengan identifier yang benar, contoh: Bentuk pendeklarasian variabel: Tipe data daftar_variabel Pada pendeklarasian variabel, daftar variabel dapat berupa sebuah variabel atau beberapa variabel yang dipisahkan dengan koma. Gambar 2. 6 Sintaks penulisan deklarasi variabel Jika akan menggunakan tipe data yang sama untuk beberapa identifier maka akan dapat dituliskan dengan menggunakan tanda koma, contoh: Gambar 2. 7 Tipe data dengan beberapa identifier
PRAKTIKUM ALGORITMA DAN STRUKTUR DATA LAB REKAYASA PERANGKAT LUNAK | TEKNIK INFORMATIKA UNKHAIR 22 2.1.3 Menentukan tipe variabel Hal terpenting dalam membuat variabel adalah menentukan tipe data. Salah satu cara termudah untuk menentukan tipe data adalah menentukan apakah isi variabel tersebut berisi angka atau kalimat. Jika berisi bilangan tentukan bilangan bulat atau pecahan. int x; → memesan variabel x yang mempunyai tipe data bilangan bulat (integer) → karena init maka kapasitasnya adalah -32768 atau 32767 flout y; → memesan variabel y yang mempunyai tipe data blangan pecahan → karena float makan kapasitasnya adalah 3.4e + / - 38 (7 digits) long z; → memesan variabel z yang mempunyai tipe data bilangan bulat → karena long maka kapasitasnya adalah: -1247483648 atau 1247483647 Jadi untuk memesan tipe data sebaiknya disesuaikan dengan kapasitas dari isi variabel. A = 134 → sebaiknya tipe variabel adalah integer B = 10000000 → tipe variabel adalah integer Contoh: Bila diketahui suatu rumus W = X + 5 P = W + Q Bagaimana proses diagram alirnya: 1. Tentukan nilai X dan Q 2. Hitung rumus W = X + 5
PRAKTIKUM ALGORITMA DAN STRUKTUR DATA LAB REKAYASA PERANGKAT LUNAK | TEKNIK INFORMATIKA UNKHAIR 23 3. Hitung rumus P = W + Q → Nilai W tidak diambil dari proses penjumlahan rumus W = X + 5 Gambar 2. 8 Flowchart operasi penjumlahan Hasil nilai W dari penjumlahan X + 5, digunakan untuk melakukan operasi W + Q Dari contoh diatas, variabel yang harus dideklarasikan adalah: x, q, w, p → variabel tersebut dapat dideklarasikan dengan tipe data ini. Penjelasan flowchart: Dapat dilihat dari flowchart diatas, diawali dengan menggunakan simbol terminal untuk proses mulai dan selesai. Selanjutnya, untuk memasukan nilai x dan q menggunakan simbol input karena nilai tersebut akan dimasukan oleh user. Selanjutnya, untuk pendefinisian rumus w dan p akan digunakan ke dalam simbol proses agar dapat diproses komputer. Terakhir, untuk menampilkan hasil perhitungan w dan p menggunakan simbol output.
PRAKTIKUM ALGORITMA DAN STRUKTUR DATA LAB REKAYASA PERANGKAT LUNAK | TEKNIK INFORMATIKA UNKHAIR 24 2.1.4 Menentukan Nilai ke variabel Setalah dilakukan proses pendeklarasian, suatu variabel tentunya akan diisi dengan data. Proses pengisian nilai ke variabel dapat langsung diberikan data pada variabel tersebut atau dimasukan lewat program untuk meminta data. Proses memasukan data ke variabel secara langsung ke variabel adalah: Nama_variabel = isi_data Contoh: 2.1.5 Menampilkan isi variabel di monitor Agar isi variabel dapat ditampilkan ke layar monitor, instruksi yang digunakan adalah perintah cout. Dalam pemrograman akan banyak menampilkan isi teks yang berasal dari variabel. Variabel ini nantinya didapat dari hasil inputan pengguna atau hasil pengolahan data. Bentuknya adalah: cout<<”isi statement”<<nama_variabel; Gambar 2. 2. 2 Proses pemasukan data ke variabel 9 Proses pemasukan data ke variabel
PRAKTIKUM ALGORITMA DAN STRUKTUR DATA LAB REKAYASA PERANGKAT LUNAK | TEKNIK INFORMATIKA UNKHAIR 25 Gambar 2. 10 Contoh program variabel Penjelasan: Int a; → memesan variabel a yang bertipe int (bilangan bulat) A = 5 → mengisi variabel a dengan data 5 cout<<”isi variabel a”<<a; → menampilkan isi a ke layar monitor Penjelasan: Mula-mula variabel a diisi 5 (a = 5), kemudian isinya diganti 10 dan a = 15 artinya isi variabel a sekarang 15. Jadi yang disimpan dalam variabel a adalah isi data yang terakhir. Gambar 2. 11 Contoh program variabel
PRAKTIKUM ALGORITMA DAN STRUKTUR DATA LAB REKAYASA PERANGKAT LUNAK | TEKNIK INFORMATIKA UNKHAIR 26 Gambar 2. 12 Contoh program variabel Penjelasan: Variabel a diisi 5, variabel b diisi 10 kemudian variabel c menyimpan hasil penjumlahan antara isi variabel a dengan isi variabel b. cout<<”isi variabel c”<<c; → menampilkan isi variabel c ke layar monitor Catatan: Setiap variabel yang sudah dideklarasikan sebaiknya diisi dengan data. Jika tidak diisi data dan ditampilkan ke layar monitor hasilnya akan dilakukan pengacakan. Gambar 2. 13 Contoh program variabel Jika variabel tidak diisi atau diinisialisasi, dan ditampilkan maka nilai yang akan ditampilkan akan di acak oleh kompiler sehingga hasilnya nilai yang ditampilkan berbedabeda tergantung dari jenis compilernya.
PRAKTIKUM ALGORITMA DAN STRUKTUR DATA LAB REKAYASA PERANGKAT LUNAK | TEKNIK INFORMATIKA UNKHAIR 27 Sebenarnya sewaktu dilakukan proses kompilasi, compiler memberi peringatan bahwa variabel tersebut belum di beri nilai awal. Gambar 2. 14 Peringatan compiler Gambar 2. 15 Hasil running program Penjelasan: 1. Memesan 3 variabel a, b, c dengan tipe integer 2. Melakukan operasi penjumlahan antara isi variabel a dengan isi variabel b. Hasil penjumlahan ini disimpan di variabel c 3. Karena variabel a dan b tidak diisi dengan data, maka isi variabel a dan variabel b diisi secara acak
PRAKTIKUM ALGORITMA DAN STRUKTUR DATA LAB REKAYASA PERANGKAT LUNAK | TEKNIK INFORMATIKA UNKHAIR 28 2.2 Konstanta Konstanta sebenarnya juga termasuk dalam variabel. Perbedaannya kalau variabell nilai dapat berubah-ubah sementara konstanta nilainya bersifat tetap dan tidak bisa diubah/ diganti. Konstanta merupakan suatu nilai yang tidak dapat diubah selama proses program berlangsung. Konstanta harus didefinisikan terlebih dahulu di awal program. Konstanta dapat bernilai integer, pecahan, karakter, dan string. 2.2.1 Pembagian kontanta Kontanta dapat dibagi menjadi 3 tipe sebagai berikut. Konstanta integer berupa integer biasa, integer panjang(long int) dan integer tidak bertanda(usingned integer). Konstanta floating point dapat mengandung pecahan yang biasa ditulis dalam bentuk pecahan biasa maupun bentuk eksponesial dan selalu dinyatakan dalam double kecuali jika diakhiri dengan F (menyatakan kosntanta float). Konstanta karakter selalu diaawali dan diakhiri dengan tanda petik tunggal (‘..’), beberapa konstanta karakter diawali dengan tanda \ (penempatanya setelah tanda petik tunggal). Bentuk penulisannya adalah: #define pengenal nilai Atau const tipe_data nama_variabel
PRAKTIKUM ALGORITMA DAN STRUKTUR DATA LAB REKAYASA PERANGKAT LUNAK | TEKNIK INFORMATIKA UNKHAIR 29 Pendeklarasian konstanta dapat diihat pada gambar di bawah ini. Gambar 2. 16 Deklarasian konstanta phi dengan nilai Program di atas jika dilakukan perubahan nilai phi akan terjadi kesalahan. Gambar 2. 17 Perubahan nilai phi Berikut program dapat dilihat pada gambar di bawah ini. Gambar 2. 18 Phi sebagai konstanta
PRAKTIKUM ALGORITMA DAN STRUKTUR DATA LAB REKAYASA PERANGKAT LUNAK | TEKNIK INFORMATIKA UNKHAIR 30 2.3 Latihan Praktikum 1. Latihan membuat program baru denan cara file-new-source atau CTRL-N dan tuliskan program yang diiginkan Compile dan run program yang sudah diketik 2. 3 hasil compiler dan running program yang sudah dibuat Gambar 2. 19 contoh latihan membuat program Gambar 2. 20 hasil compiler dan running program yang sudah dibuat
PRAKTIKUM ALGORITMA DAN STRUKTUR DATA LAB REKAYASA PERANGKAT LUNAK | TEKNIK INFORMATIKA UNKHAIR 31 2.4 Studi Kasus 1. Diketahui bahwa Variabel A=10 dan B=50. Tukarlah letak dari kedua variabel tersebut, sehingga waktu dicetak nilai A=50 dan B=10. Buatlah Programnya. Algoritmanya sebagai berikut. Inisialisasi a=10 dan b=50 Masukkan nilai A=a dan B=b Tukar nilai menjadi A=b dan B=a Cetak A=b dan B=a Tampilkan hasil Flowchart studi kasus diatas sebagai berikut. Gambar 2. 21 flowchart studi kasus
PRAKTIKUM ALGORITMA DAN STRUKTUR DATA LAB REKAYASA PERANGKAT LUNAK | TEKNIK INFORMATIKA UNKHAIR 32 Penjelasan flowchart studi kasus: Flowchart dimulai dengan simbol terminator untuk memulai program. Kemudian deklarasi variabel a=10 dan b=50 menggunakan simbol preparation. Masukkan nilai A=a dan B=b menggunakan simbol input/output. Cetak nilai A=b dan B=a menggnakan simbol input/output. Terakhir gunakan simbol terminator untuk menandakan program telah selesai. Gambar 2.23 contoh program Maka hasil compiler dan running sebagai berikut. Gambar 2. 22 contoh program Gambar 2. 23 running program nilai variabel A ke B dan B ke A
PRAKTIKUM ALGORITMA DAN STRUKTUR DATA LAB REKAYASA PERANGKAT LUNAK | TEKNIK INFORMATIKA UNKHAIR 33 2. Luas Persegi Panjang Luas = panjang x lebar Flowchart untuk menghitung luas persegi panjang: Gambar 2. 24 Flowchart menghitung luas persegi panjang Penjelasan: Flowchart dimulai dengan simbol terminator untuk memulai program. Masukkan nilai panjang dan lebar menggunakan simbol input/output. Selanjutnya defenisikan rumus luas persegi panjang menggunakan simbol process. Kemudian gunakan simbol input/output untuk menampilkan hasil perhitungan luas persegi panjang. Terakhir gunakan simbol terminator untuk menandakan program telah selesai.
PRAKTIKUM ALGORITMA DAN STRUKTUR DATA LAB REKAYASA PERANGKAT LUNAK | TEKNIK INFORMATIKA UNKHAIR 34 Berikut ini merupakan program dan hasil compile and run: Gambar 2. 26 hasil kompiler dan running program 3. Luas Lingkaran. Luas = Phi x r x r Keliling = Phi x d atau 2 x Phi x r Gambar 2. 25Program menghitung luas persegi panjang
PRAKTIKUM ALGORITMA DAN STRUKTUR DATA LAB REKAYASA PERANGKAT LUNAK | TEKNIK INFORMATIKA UNKHAIR 35 Berikut merupakan Flowchart Menghitung luas lingkaran: Penjelasan: Flowchart dimulai dengan simbol terminator untuk memulai program. Kemudian deklarasi variabel r, luas, keliling dan konstanta phi=3.14 menggunakan simbol preparation. Masukkan nilai r menggunakan simbol input/output. Selanjutnya defenisikan rumus luas dan keliling lingkaran menggunakan simbol process. Kemudian gunakan simbol input/output untuk menampilkan hasil perhitungan luas dan keliling lingkaran. Terakhir gunakan simbol terminator untuk menandakan program telah selesai. Gambar 2. 27 Flowchart menghitung luas dan keliling lingkaran