LAPORAN PRAKTIKUM ALGORITMA DAN STRUKTUR DATA NAMA : SANI PUTRI PRATIWI HAMID NPM : 07352211093 PROGRAM STUDI TEKNIK INFORMATIKA FAKULTAS TEKNIK UNIVERSITAS KHAIRUN TERNATE
ii 2022 LEMBARAN PENGESAHAN LAPORAN LENGKAP PRAKTIKUM ALGORITMA DAN STRUKTUR DATA LABORATORIUM REKAYASA PERANGKAT LUNAK UNIVERSITAS KHAIRUN PROGRAM STUDI TEKNIK INFORMATIKA FAKULTAS TEKNIK UNIVERSITAS KHAIRUN OLEH : SANI PUTRI PRATIWI HAMID 07352211093 Laporan lengkap ini telah diperiksa di setujui 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
iii Kepala Laboratorium Rekayasa Perangkat Lunak Amal Khairan S.T.,M.Eng NIDN : 0011017410 KATA PENGANTAR Puji dan syukur kami panjatkan kepada Allah SWT, atas selesainya laporan praktikum yang berjudul “Algoritama 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 terima kasih kepada bapak selaku dosen beserta asisten yang telah memberikan materi tentang laporan ini. Saya sangat berharap laporan ini dapat berguna dalam rangka menambah wawasan serta pengetahuan kita mengenai algoritma dan struktur data dan juga manfaatnya bagi kehidupan teknologi masa kini.Saya menyadari bahwa laporan ini belumlah sempurna.Oleh karena itu, saran dan kritik sangat saya butuhkan guna menyempurnakan laporan ini. Akhir kata, semoga laporan sederhana ini dapat dipahami bagi siapapun yang membacanya.Sekiranya laporan yang telah disusun dapat berguna bagi kita sendiri maupun bagi siapapun.
iv Ternate, 23 Desember 2022 SANI PUTRI PRATIWI HAMID DAFTAR ISI LEMBAR PENGESAHAN ii KATA PENGANTAR iii DAFTAR ISI iv DAFTAR GAMBAR viii DAFTAR FLOWCHART xii BAB I :ALGORITMA DAN STRUKTUR DASAR C++ DAN CONTOH DASAR C++ 1.1Pendahuluan 1 1.2Algoritma dan Struktur data 2 1. Algoritma 2 a. Runtunan (sequence) 3 b. Pemilihan (selection) 3 c. Pengulangan (repition) 4 2. struktur data 8 a. Integer (Bilangan bulat) 9 b. Float atau Double (Real) 9 c. Char (Karakter) 9 d. Boolean (logika) 9 e. Tipe data bentukan 10
v f. Tipe data abstrak 10 1.3 Struktur Dasar C++ dan contoh Dasar C++ 11 a. Struktur bahasa C++ 11 b. preprocessor directive (header) 12 c. pendeklarasian fungsi-fungsi (namespace std) 12 d. fungsi utama (int main ()) 12 e. pernyataan (statement) 13 1.4 Tujuan Praktikum 13 1.5 Langkah-langkah kegiatan praktikum 14 1.6 Latihan kegiatan praktikum 17 a. latihan 1 17 b. latihan 2 19 1.7 Kesimpulan dan saran 21 a. kesimpulan 21 b. saran 21 LEMBARAN ASISTENSI BAB I BAB II : VARIABEL DAN KONSTANTA 2.1Pendahuluan 22 1. Variabel 22 2. Konstanta 23 2.2Tujuan Praktikum 24 2.3Langkah-langkah Praktikum 25 2.4Latihan kegiatan praktikum 28 a. Latihan 1 28
vi b. Latihan 2 31 2.5 Studi kasus 34 a. Luas persegi panjang 34 b. Volume kerucut 38 c. Volume balok 42 2.6 Kesimpulan dan saran 46 a. Kesimpulan 46 b. Saran 46 LEMBARAN ASISTENSI BAB II BAB III : STRUKTUR DASAR ALGORITMA (SELECTION DAN LOOPING) 3.1Pendahuluan 47 1. Selection (Pemilihan) 47 2. Looping (Perulangan) 47 3.2Tujuan praktikum 48 3.3Langkah-langkah kegiatan praktikum 49 3.4Latihan kegiatan praktikum 52 a. Latihan 1 52 b. Latihan 2 55 c. Latihan 3 58 d. Latihan 4 60 e. Latihan 5 62 f. Latihan 6 64 3.5 Studi kasus 66 a. Menentukan bilangan ganjil atau genap 66
vii b. Mengkonversi angka ke nilai 70 c. Mengkonversi angka ke nilai huruf 73 3.6 Kesimpulan dan saran 81 a. Kesimpulan 81 b. Saran 81 LEMBARAN ASISTENSI BAB III BAB IV : ARRAY 4.1Pendahuluan 82 4.2Tujuan praktikum 83 4.3Langkah-langkah kegiatan praktikum 83 4.4Latihan kegiatan praktikum 87 a. Latihan 1 87 b. Latihan 2 89 4.5 Studi kasus 92 a. Array 1 dimensi 92 b. Array 2 dimensi 96 c. Array 3 dimensi 100 4.6 Kesimpulan dan saran 105 a. Kesimpulan 105 b. Saran 105 LEMBARAN ASISTENSI BAB IV BAB V : POINTER 5.1Pendahuluan 105
viii 5.2Tujuan praktikum 106 5.3Langkah-langkah Praktikum 107 5.4Latihan dan kegiatan praktikum 110 a. Latihan 1 110 b. Latihan 2 112 5.5 Studi kasus 114 a. Operasi aritmatika pada pointer 114 b. Pointer dalam array 117 5.6 Kesimpulan dan saran 120 a. Kesimpulan 120 b. Saran 120 LEMBARAN ASISTENSI BAB V BAB VI : STACK 6.1Pendahuluan 121 6.2Tujuan praktikum 122 6.3Langkah-langkah kegiatan praktikum 122 6.4Latihan kegiatan praktikum 127 a. Latihan 1 127 6.5 Studi kasus 135 a. Stack 135 6.6 Kesimpulan dan Saran 145 a. Kesimpulan 145 b. Saran 145 LEMBARAN ASISTENSI BAB VI
ix BAB VII : QUEUE 7.1Pendahuluan 146 7.2Tujuan praktikum 147 7.3Langkah-langkah kegiatan praktikum 147 7.4Latihan kegiatan praktikum 153 a. Latihan 1 153 7.5 Studi kasus 161 a. Queue 161 7.6 Kesimpulan dan saran 171 a. Kesimpulan 171 b. Saran 171 LEMBARAN ASISTENSI BAB VII BIODATA 172 LAMPIRAN 173 DAFTAR GAMBAR 1.0 Simbol flowchart 6 1.1Aplikasi Dev C++ 14 1.2Tampilan awal Dev C++ 14 1.3Membuat program baru 14 1.4Struktur code C++ 15 1.5proses compile and run 15
x 1.6Proses penyimpanan 16 1.7Hasil running 16 1.8Struktur code C++ 18 1.9Tampilan hasil running 18 1.10 Struktur code C++ 19 1.11 Tampilan hasil running 20 2.1Aplikasi Dev C++ 25 2.2Tampilan awal 25 2.3Membuat program baru 25 2.4Struktur code C++ volume balok 26 2.5Proses compile and run 26 2.6Proses penyimpanan 27 2.7Hasil running 27 2.8Struktur code C++ keliling lingkaran 29 2.9Tampilan hasil running 30 2.10 Struktur code C++ operasi aritmatika 32 2.11 Tampilan hasil running 33 2.12 Struktur code latihan C++ 36 2.13 Hasil running 37 2.14 Struktur code latihan C++ 40 2.15 Hasil running 41 2.16 Struktur code latihan C++ 44 2.17 Hasil running 45
xi 3.1Aplikasi Dev C++ 49 3.2Tampilan awal Dev C++ 49 3.3Membuat program baru 49 3.4Struktur code C++ 50 3.5Proses compile and run 50 3.6Proses penyimpanan program 50 3.7Tampilan hasil running 51 3.8Struktur code latihan C++ 53 3.9Tampilan hasil running tidak memenuhi syarat 54 3.10 Tampilan hasil running memenuhi syarat 54 3.11 Struktur code latihan C++ 56 3.12 Tampilan hasil running jika tabungan <500.000 57 3.13 Tampilan hasil running jika tabungan >500.000 57 3.14 Struktur code latihan C++ 59 3.15 Tampilan hasil running 59 3.16 Struktur code C++ 61 3.17 Hasil running 61 3.18 Struktur code C++ 63 3.19 Hasil running 63 3.20 Struktur code C++ 65 3.21 Hasil running 65 3.22 Struktur code C++ studi kasus 1 68 3.23 Tampilan hasil running bilangan genap 69 3.24 Tampilan hasil running bilangan ganjil 69 3.25 Struktur code C++ studi kasus 2 72
xii 3.26 Tampilan hasil running 73 3.27 Struktur code C++ studi kasus 3 78 3.28 Tampilan hasil running jika nilai A 79 3.29 Tampilan hasil running jika nilai B 79 3.30 Tampilan hasil running jika nilai C 80 3.31 Tampilan hasil running jika nilai D 80 3.32 Tampilan hasil running jika nilai E 80 4.1Aplikasi Dev C++ 83 4.2Tampilan awal Dev C++ 83 4.3Membuat program baru 84 4.4Struktur code C++ 84 4.5Proses compile and run 85 4.6Proses penyimpanan 85 4.7Tampilan hasil running 86 4.8Source code C++ latihan 1 88 4.9Tampilan hasil running 88 4.10 struktur code C++ latihan 2 90 4.11 Tampilan hasil running 91 4.12 Struktur code C++ studi kasus 1 94 4.13 Tampilan hasil running 95 4.14 Struktur code C++ studi kasus 2 98 4.15 Tampilan hasil running 99 4.16 Struktur code C++ studi kasus 3 103 4.17 Tampilan hasil running data ditemukan dan menampilkan elemen
xiii 103 4.18 Tampilan hasil running data tidak ditemukan 104 4.19 Tampilan hasil running data ditemukan sesuai urutanya104 5.1Aplikasi Dev C++ 107 5.2Tampilan awal Dev C++ 107 5.3Membuat program baru 107 5.4Struktur code C++ 108 5.5Proses compile and run 108 5.6Proses penyimpanan 108 5.7Tampilan hasil running 109 5.8Struktur code C++ latihan 1 111 5.9Tampilan hasil running 111 5.10 Struktur code C++ latihan 2 113 5.11 Tampilan hasil running 113 5.12 Struktur code C++ studi kasus 1 116 5.13 Tampilan hasil running 116 5.14 Struktur code C++ studi kasus 2 119 5.15 Tampilan hasil running 119 6.1Aplikasi Dev C++ 122 6.2Tampilan awal Dev C++ 122 6.3Membuat program baru 123 6.4Struktur code program C++ 123 6.5Lanjutan struktur code program C++ 124
xiv 6.6Lanjutan Struktur code program C++ 124 6.7Proses compile and run 125 6.8Proses penyimpanan 125 6.9Tampilan hasil running 126 6.10 Struktur code C++ latihan 1 131 6.11 Lanjutan Struktur code C++ latihan 1 132 6.12 Lanjutan struktur code C++ latihan 1 133 6.13 Tampilan hasil running 134 6.14 Struktur code C++ studi kasus 141 6.15 Lanjutan struktur code C++ studi kasus 142 6.16 Lanjutan struktur code C++ studi kasus 143 6.17 Tampilan hasil running 144 7.1Aplikasi Dev C++ 147 7.2Tampilan awal Dev C++ 147 7.3Membuat program baru 148 7.4Struktur code program C++ 148 7.5Lanjutan struktur code program C++ 149 7.6Lanjutan struktur code program C++ 150 7.7Lanjutan struktur code program C++ 150 7.8Proses compile and run 151 7.9Proses penyimpanan 151 7.10 Tampilan hasil running 152 7.11 struktur code C++ latihan 1 157 7.12 Lanjutan struktur code C++ latihan 1 158
xv 7.13 Lanjutan struktur code C++ 159 7.14 Tampilan hasil running 160 7.15 Struktur code C++ studi kasus 1 167 7.16 Lanjutan struktur code C++ studi kasus 1 168 7.17 Lanjutan struktur code C++ studi kasus 1 169 7.18 Lanjutan struktur code C++ studi kasus 1 169 7.19 Tampilan hasil running 170 DAFTAR FLOWCHART 2.1Flowchart luas persegi panjang 34 2.2Flowchart volume kerucut 38 2.3Flowchart volume balok 42 3.1Flowchart studi kasus 1 66 3.2Flowchart studi kasus 2 70 3.3Flowchart studi kasus 3 74
xvi 4.1Flowchart studi kasus 1 92 4.2Flowchart studi kasus 2 96 4.3Flowchart studi kasus 3 100 5.1Flowchart studi kasus 1 114 5.2Flowchart studi kasus 2 117 6.1Flowchart studi kasus 1 135 6.2Lanjutan flowchart studi kasus 1 136 7.1Flowchart studi kasus 1 161
1 BAB I ALGORITMA DAN STRUKTUR DASAR C++ DAN CONTOH DASAR C++ 1.1PENDAHULUAN C++ adalah bahasa pemrograman komputer yang dibuat oleh Bjarne Stroustup, yang merupakan perkembangan dari bahasa C. dikembangkan di Bong Labs (Dennis Ritchie) pada awal tahun 1070- an. Bahasa itu diturunkan dari bahasa sebelumnya, yaitu bahasa B. Pada awalnya bahasa dirancang sebagai bahasa pemrograman yang dijalankan pada sistem Unix. pada perkembanganya, versi ANSI (American National Standartinstitue). Bahasa pemrograman C menjadi versi domain. meskipun versi tersebut sekarang jarang dipakai dalam perkembangan sistem jaringan maupun untuk sistem embedded. Bjarne Stroustup pada laboratorium Bell pertama kali mengembangkan C++ pada awal 1980-an. untuk mendukung fiturfitur pada C++, dibangun efisien dan sistem support untuk pemrograman tingkat rendah (low-level lan gauges). pada C++ ditambahkan konsep-konsep baru seperti class dengan sifat-sifatnya seperti inheritance dan overloading. salah satu perbedaan yang paling mendasar dengan bahasa C adalah dukungan terhadap konsep pemrograman berorientasi objek (object oriented programing).
2 1.2Algoritma dan Struktur Data 1. algoritma Algoritma berasal dari nama seorang Ilmuwan Arab yang bernama Abu Jafar Muhammad Ibnu Musa Al-Khwarizmi. Orang Barat menyebut Al-Khwarizmi dengan Algorism, pada masa itu Al- Khwarizmi menulis sebuah buku dengan judul Al Jabar wal-Muqabala yang artinya “Buku Pemugaran dan Pengurangan (The Book of Resortation and Reduction) dari abad ke-9. Dari judul buku tersebut, diperoleh kata “aljabar” atau biasa dikenal dengan algebra. Kemudian pada abad ke-12 bukunya diterjemahkan ke dalam bahasa Latin dengan judul “Algoritmi de numero Indorum (Algoritmi pada bilangan India).Menurut Donald Ervin Knuth yang merupakan salah seorang ilmuwan computer terkenal dari Amerika Serikat, algoritma memiliki ciri-ciri diantaranya : -Finiteness (keterbatasan), algoritma harus diakhiri setelah mengerjakan sejumlah langkah proses. -Definiteness (kepastian), setiap langkah harus ditentukan secara tepat dan tidak berarti ganda.
3 -Input (masukkan), algoritma memiliki nol atau lebih data masukkan (input). -Output (keluaran), algoritma mempunyai nol atau lebih hasil keluaran (output). -Effectiveness (efektivitas), algoritma harus efektif, langkah-langkah algoritma dikerjakan dalam waktu yang wajar. Algoritma sendiri memiliki sifat-sifat diantaranya: -Tidak menggunakan simbol atau sintaks dari suatu bahasa pemrograman tertentu. -Tidak tergantung pada bahasa pemrograman tertentu. -Notasi-notasinya dapat digunakan untuk semua bahasa. Algortima dapat digunakan untuk merepresentasikan suatu urutan kejadian secara logis dan dapat diterapkan di semua kejadian sehari- hari. Dalam algoritma juga terdapat struktur-struktur dasar yaitu : a. Runtunan (sequence) Runtunan terdiri dari satu atau lebih instruksi yang dikerjakan secara berurutan sesusai dengan urutan penulisannya, instruksi dilakukan setelah instruksi sebelumnya selesai dikerjakan. Suatu
4 urutan dari instruksi menentukan hasil dari suatu algoritma, bila urutan penulisan berubah maka, hasil akhirnya juga mungkin berubah. b. Pemilihan (selection) Pemilihan yaitu suatu instruksi yang dikerjakan dengan persyaratan yang dapat bernilai salah atau benar. Satu atau beberapa instruksi hanya dapat dilaksanakan bila kondisi bernilai benar, sebaliknya bila bernilai salah maka instruksi tidak dapat dilaksanakan. c. Pengulangan (repetition) Pengulangan merupakan kegiatan mengerjakan sebuah atau sejumlah aksi yang sama sebanyak jumlah yang ditentukan atau sesuai dengan kondisi yang diinginkan, salah satu kelebihan computer adalah untuk mengerjakan pekerjaan yang sama berulang kali tanpa mengenal lelah. Algoritma dan bahasa pemrograman sangat erat hubungannya dengan sebuah program. Program itu sendiri adalah kumpulan instruksi dalam bentuk pernyataan yang ditulis menggunakan bahasa pemrograman yang melibatkan pemilihan struktur data. Algoritma yang baik tanpa pemilihan struktur data yang tepat akan membuat program menjadi buruk, begitu pula sebaliknya. Pembuatan atau
5 penulisan suatu algoritma tidak bergantung pada bahasa pemrograman apapun, artinya penulisan suatu algoritma tidak bergantung pada bahasa pemrograman dan komputer yang memprosesnya. Notasi algoritma dapat diterjemahkan dalam berbagai bahasa pemrograman. Apapun bahasa pemrogramannya, output yang akan dikeluarkan sama karena algoritmanya sama. Notasi algoritma merupakan hal dasar yang harus diketahui oleh setiap orang yang ingin membuat suatu program karena dalam notasi algoritma ini terdapat kerangka – kerangka dari suatu program.Tidak ada aturan baku dalam penulisan algoritma, yang penting adalah mudah untuk dibaca dan menggunakan bahasa yang mudah dimengerti. Namun, untuk menghindari kesalahan, ketaan pada notasi perlu diperhatikan. Macam – macam notasi algortima adalah: a. Kalimat Deskriptif Kalimat deskriptif atau bahasa deskriptif biasa juga disebut dengan notasi alami. Bahasa deskriptif dilakukan dengan cara menuliskan instruksi – instruksi yang harus dilaksanakan dalam bentuk untaian kalimat deskriptif dengan menggunakan bahasa yang jelas, dasar dari notasi bahasa deskriptif adalah bahasa Inggris,
6 namun dapat di modifikasi dengan bahasa sehari – hari atau juga termasuk bahasa Indonesia Agar notasi algoritma mudah diterjemahkan ke dalam notasi bahasa pemrograman, sebaiknya notasi algoritma disesuaikan dengan notasi bahasa pemrograman pada umumnya. b. Pseudocode Pseudocode adalah cara penulisan algotima yang menyerupai bahasa pemrograman tingkat tinggi. Pseudocode berisi deskripsi algoritma pemrograman komputer menggunakan struktur yang disederhanakan dari beberapa bahasa pemrograman tetapi bahasa tersebut ditampilkan hanya untuk dibaca oleh manusia. Tidak ada sintaks standar resmi karena pseudocode ini dapat diimplementasikan dalam berbagai bahasa pemrograman. Disarankan untuk menggunakan kata kunci yang umum digunakan seperti if, then, else, while, do, repeat, for, dll. c. Flowchart Flowchart adalah diagram yang menjelaskan alur proses dari suatu program. Dalam membangun suatu program, flowchart berperan penting dalam menerjemahkan proses berjalannya suatu program sehingga lebih mudah dipahami. Fungsi utama flowchart adalah untuk menggambarkan jalannya
7 suatu program dari satu proses ke proses lainnya. Dengan demikian, alur program menjadi mudah dipahami oleh semua orang. Selain itu, fungsi lain dari flowchart adalah untuk menyederhanakan rangkaian prosedur sehingga informasi lebih mudah dipahami. Pada dasarnya simbol-simbol dalam flowchart memiliki arti yang berbeda-beda. Berikut adalah simbol-simbol yang sering digunakan dalam proses pembuatan flowchart :
8 Gambar 1.0 Simbol Flowchart.
9 2. Struktur Data Struktur data adalah cara penyimpanan, penyusunan dan pengaturan data di dalam media penyimpanan komputer sehingga data tersebut dapat digunakan secara efisien. dengan kata lain struktur data adalah sebuah skema organisasi, seperti variabel dan array dll. yang diterapkan pada data sehingga data dapat diinpresentasikan dan sehingga operasi-operasi spesifik dapat dilaksanakan pada data tersebut, pemakaian struktur data yang tepat dalam proses pemrograman akan menghasilkan algoritma yang lebih jelas dan tepat, sehingga menjadikan program secara keseluruhan lebih efisien dan sederhana. data adalah representasi dari fakta dunia nyata. fakta atau keterangan tentang kenyataan yang disimpan, direkam atau direpresentasikan dalam bentuk tulisan, suara, gambarr, sainyal atau symbol. data merupakan suatu nilai yang bisa dinyatakan dalambentuk konstan atau variabel.Dalam istilah komputer, struktur data adalah metode penyimpanan. Penyusunan dan penataan data pada media penyimpanan komputer agar data tersebut dapat digunakan secara efisien. Dengan kata lain, struktur data adalah skema organisasi, seperti variabel, array, dll., yang diterapkan pada data sehingga data dapat diinterpretasikan dan agar operasi tertentu dapat dilakukan pada data tersebut.Menggunakan struktur data yang
10 tepat dalam proses pemrograman akan menghasilkan algoritma yang lebih jelas dan presisi, sehingga membuat program secara keseluruhan menjadi lebih efisien dan sederhana. Data adalah representasi dari fakta dunia nyata. Fakta atau informasi tentang fakta yang disimpan, direkam atau direpresentasikan dalam bentuk tulisan, suara, gambar, isyarat atau simbol. Data adalah nilai yang biasanya dinyatakan dalam bentuk konstanta atau variabel.Dalam setiap data memiliki tipe data, tipe data ada jenis data yang dapat diolah oleh komputer untuk memenuhi kebutuhan dalam pemrograman komputer. Terdapat tipe data dasar , tipe data bentukan, dan tipe data abstrak pada tipe data.tipe data dasar diantaranya: a. Integer (Bilangan Bulat) Yang dimaksud bilangan bulat adalah -1, -2, -3, 0, 1, 2, 3, 4 dan lain lain yang bukan merupakan bilangan pecahan. b. Float atau Double (Real) Bilangan real adalah bilangan yang mengandung pecahan decimal. Contoh: 3.45, 6,233. c. Char (Karakter) Karakter adalah semua huruf yang ada di dalam alphabet, tanda baca maupun karakter spesial. Karakter ditulis diantara dua
11 tanda petik tunggal. Contoh : ‘A’.. d. Boolean (logika) Boolean adalah tipe data logika yang terdiri dari dua pernyataan benar atau salah. Peryataan benar biasanya ditulis True atau angka 1, sedangkan pernyataan salah ditulis dengan False atau 0. Sedangkan operasi aritmatika yang umum digunakan adalah or, not, and dan xor. e. Tipe Data Bentukan Tipe data bentukan atau tipe data komposit adalah tipe data yang dibentuk dari tipe data dasar dengan maksud untuk memudahkan pekerjaan programmer. Pada tipe data bentukan yang masuk pada tipe data bentukan adalah array, string, record, union, struct, dll.Tujuan dibuatnya tipe data yang terbentuk adalah untuk mempermudah proses pemrograman, mempermudah penambahan variabel, mempermudah pengelompokan data sehingga lebih teratur. f. Tipe Data Abstrak Tipe data abstrak atau yang dikenal sebagai abstract data type adalah model matematika dari obyek data yang menyempurnakan tipe
12 data dengan cara mengaitkannya dengan fungsi-fungsi yang beroperasi pada data yang bersangkutan. Tipe data abstrak adalah tipe data yang didefinisikan oleh pemrograman untuk tujuan tertentu yang tidak memungkinkan mendeklarasikan tipe data yang ada. Contoh tipe data abstrak adalah stack, queue, list, tree, graph, dll.Struktur data hanya menunjukkan bagaimana data diatur, sedangkan tipe data abstrak mengemas struktur data tertentu serta operasi yang dapat dilakukan pada struktur data tersebut.Definisi umum dari tipe data abstrak dapat dipahami bahwa tipe data abstrak adalah struktur data yang berisi operasi atau aturan tertentu. 1.3Struktur Dasar C++ dan Contoh Dasar C++ C++ adalah pengembangan dari bahasa C, yang merupakan pengembangan dari dua bahasa pemrograman generasi sebelumnya,yaitu BCPL dibuat pada tahun 1967 Martin Richards sebagai bahasa untuk menulis sistem operasi dan compiler. Bahasa C dikembangkan dari bahasa B oleh Dennis Ritchie di Bell Laboratories dan pada awalnya diimplementasikan pada komputer DEC PDP-
13 11pada tahun 1972. C menggunakan banyak konsep penting dari BCPL dan B sekaligus ada tambahan jenis-jenis data dan fitur. C++ adalah penambahan dari C, dikembangkan oleh Bjarne Stroustup decade 1980-an di Bell Laboratories. struktur bahasa C++ adalah metode bagaimana cara menulis kode program dengan baik dan benar.struktur dari C++ itu sendiri terdiri dari 5 bagian anatara lain : Preposessor Directive(pengarah kopilator), Declaration (Deklarasi), Defination (Definisi). Statement atau Expression (pernyataan atau ekspresi) dan Comments (komentar) untuk menulis sebuah program C++dibutuhkan yang namanya teks editor dan compiler. hasil editor itu nantinya akan dicompile dengan compiler yang kemudian akan menghasilkan sebuah teks Executable. a. 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 sehingga mudah dibaca. b. Preprocessor Directive (Header) pernyataan yang diawali dengan tanda pagar (#) disebut
14 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. c. 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. d. 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.
15 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 e. Pernyataan (Statement) cout<<”Hello World”;, adalah sebuah baris pernyataan (statement) dan merupakan definisi dari fungsi utama. Cout merupakan bagian dari library <iostream>. Berfungsi untuk mencetak sebuah kalimat “Hello World” saat program di eksekusi 1.4TUJUAN PRAKTIKUM a. Mempraktekan cara penggunaan aplikasi Dev C++. b. Membuat file kerja dengan Bahasa C++. c. Memulai membuat program baru, mengcompile, menyimpan dan menjalankan program baru yang telah dibuat. d. Memanggil atau membuka kembali program yang telah disimpan. e. Membuat program menjadi program execute.
16 1.5LANGKAH-LANGKAH KEGIATAN PRAKTIKUM a. Bukalah aplikasi Dev C++ melalui start menu Gambar 1.1 Aplikasi Dev C++ b. Tampilan awal akan tampak seperti gambar di bawah ini :
17 Gambar 1.2 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.3 membuat program baru. d. Ketik Source Code programnya seperti gambar di bawah ini : Gambar 1.4 Struktur Code C++.
18 e. Setelah menulis sourcenya tekan compile and run seperti gambar di bawah ini: Gambar 1.5 proses compile and run. f. Akan muncul dialog untukmenyimpan program berinama sesuai keinginan kalian masing-masing misalnya “Hello World” kemudian save dengan ekstensi"cpp".
19 Gambar 1.6 Proses Penyimpanan g. Setelah save akan muncul jendela yang menampilkan hasil program “Hello World” yang telah dibuat. Gambar 1.7 hasil running h. Anda telah berhasil membuat program "Hello world" menggunakan Bahasa C++. 1.6LATIHAN KEGIATAN PRAKTIKUM a. Latihan 1 Buatlah program baru dengan cara file-new-source file atau menggunakan Ctrl+N, contoh code C++ seperti dibawah ini : #include<iostream> Using namespace std;
20 Int main () { System (“color F1”); //untukmenggantiwarna font dan background Cout<<”Hello World”<<endl; Cout<<”Nama : SANI PUTRI PRATIWI HAMID”<<endl; Cout<<”NPM : 07352211093”; Return 0; } Compile dan perbaiki program sampai benar
21 Gambar 1.8 struktur code C++ Apabila program telah dicompile dan diperbaiki dengan benar, maka akan tampil hasil program sebagai berikut : Gambar 1.9 tampilan hasil running. b. Latihan 2 ketik source code program seperti gambar di bawah ini. #include<iostream> Using namespace std;
22 Int main () { System(“color F1”); Cout<<”selamat belajar C++”<<endl; Cout<<”nama : SANI PUTRI PRATIWI HAMID”<<endl; Cout<<”npm : 07352211093”<<endl; Return 0; } Compile and run dan perbaiki program sampai benar. Gambar 1.10 Struktur code Apabila tidak terdapat error saat compile and run, maka akan seperti ini hasil runningnya.
23 Gambar 1.11 hasil running 1.7KESIMPULAN DAN SARAN a. Kesimpulan
24 C++ adalah aplikasi yang biasanya dipakai untuk membuat sebuah program yang dimana C++ merupakan salah satu bahasa pemograman yang mudah dipelajari dan berorientasi pada objek. Dalam menjalankan program dari bahasa C++ dibutuhkan suatu compiler yang berguna untuk mengkompilasi kode dalam file yang telah kita tuliskan menjadi bentuk bahasa mesin sehingga program dapat berjalan. b. Saran Sebaiknya dalam pembuatan program perlu diperhatikan huruf besar dan kecilnya, beserta simbol-simbol di dalam program tersebut, karena C++ bersifat case sensitive. dibutuhkan juga ketelitian dalam penulisan ataupun pengetikkan kerjaan dan source code agar proses running dapat berhasil
22 BAB II VARIABEL DAN KONSTANTA 2.1 PENDAHULUAN Konstanta dan variabel adalah suatu pengenal yang digunakan untuk mewakili suatu nilai tertentu didalam proses program. Berbeda dengan konstanta yang nilainya tidak bisa diubah atau selalu tetap selang eksekusi berlangsung, nilai dari suatu variabel dapat berubah sesuai kebutuhan. Konstanta dan variabel merupakan tempat di memori computer untuk menyimpan data berupa nilai dengan tipe data tertentu,konstanta dan variabel harus diberi nama sebagai identifikasi. 1. Variabel Variabel adalah penanda identitas yang digunakan untuk menyimpan nilai. Secara teknis, variabel mengacu pada alamat di memori computer (RAM). Dalam banyak bahasa pemrograman kita harus mendeklarasikan variabel sebelum dapat digunakan. Perlu juga menjelaskan apa nama variabel dan tipe data dari variabel tersebut.dalam bentuk kode integer biasanya dituliskan dengan int, yang merupakan tipe data dari variabel nilai,sedangkan nilai merupakan nama variabelnya.untuk menulis variabel pada hampir
23 semua bahasa pemrograman ada dua langkah yaiut deklarasi dan inisialisasi. Deklarasi adalah proses memberitahu compiler C++ bahwa kita akan membuat variabel. Terdapat aturan penamaan variabel di dalam bahasa pemrograman C++, aturan – aturan tersebut diantaranya yaitu: a. Variabel bisa terdiri dari huruf, angka dan karakter underscore / garis bawah ( _ ). b. Karakter pertama dari variabel hanya boleh berupa huruf dan underscore ( _ ), tidak bisa berupa angka. Meskipun dibolehkan, sebaiknya tidak menggunakan karakter underscore sebagai awal dari variabel karena bisa bentrok dengan beberapa variabel settingan program. c. Variabel harus selain dari keyword. Sebagai contoh, kita tidak bisa memakai kata int sebagai nama variabel, karena int merupakan keyword untuk menandakan tipe data integer. d. Beberapa compiler bahasa C++ ada yang membatasi panjang variabel maksimal 31 karakter. Agar lebih aman, sebaiknya tidak menulis nama variabel yang lebih dari 31 karakter. 2. Konstanta
24 Konstanta adalah sebuah tempat atau wadah dari suatu nilai.Sesuai dengan namanya, nilai konstanta bersifat tetap (konstan) dan tidak dapat diubah sepanjang program sedang berjalan.Ini yang menjadi pembeda antara konstanta dan variabel. Konstanta adalah jenis identifier yang bersifat konstan atau tetap, artinya nilai konstanta adalah tidak dapat di ubah.Konstanta berguna untuk menentukan nilai yang merupakan tetapan, misalnya nilai phi (π), satuan dari kecepatan cahaya dan sebagainya. Identifier adalah suatu pengenal atau pengidentifikasi yang didekralasikan agar kompiler dapat mengenalinya.Identifier dapat berupa variabel, konstanta, fungsi, dan kelas. Dalam menentukan atau membuat identifier pada program, ada beberapa hal yang harus diperrhatikan yaitu: a. C++ bersifat case sensitive sehingga huruf kapital dan huruf kecil berbeda. b. Identifier tidak boleh diawal dengan angka. c. Identifier tidak boleh menggunakan karakter-karakter simbol seperti #, @, ?, !, $, dan lain-lain).
25 d. Identifier tidak boleh menggunakan kata kunci yang terdapat pada C++, seperti break, return dan lain-lain. e. Nama identifier sebaiknya disesuaikan dengan kebutuhannya. 2.2TUJUAN PRAKTIKUM a. Mengenal dan mengetahui fungsi variabel dan konstanta b. Memahami penggunaan variabel dan konstanta c. Mempraktekkan variabel dan konstanta d. Membuat file kerja dengn bahasa pemrograman C/C++ e. Membuat program baru (new file), kompilasi (compile), simpan (save as atau save), dan jalankan program (running). 2.3LANGKAH-LANGKAH PRAKTIKUM a. Bukalah aplikasi DevC++ Gambar 2.1 aplikasi Dev C++ b. Tampilan awal Dev C++ akan tampak seperti gambar di bawah ini :
26 Gambar 2.2 tampilan awal c. Buatlah new file atau program baru dengan cara file-new-source atau gunakan ctrl + N atau seperti gambar di bawah ini : Gambar 2.3 membuat file baru
27 d. Ketik source code seperti dibawah ini : Gambar 2.4 struktur code volume balok e. Setelah menulis source, tekan compile and run seperti gambar di bawah ini : Gambar 2.5 proses compile and run
28 f. Setelah itu muncul proses penyimpanan file, berikan nama sesuai keinginan kalian seperti dibawah ini : Gambar 2.6 proses penyimpanan g. Setelah penyimpanan akan muncul hasil program akan muncul hasil program menghitung vulome balok Gambar 2.7 hasil running h. Anda telah berhasil membuat program menghitung volume balok dengan bahasa pemrograman CH menggunakan Dev C++.
29 2.4LATIHAN KEGIATAN PRAKTIKUM a. latihan 1 buatlah program baru dengan cara file-new-source atau gabungan ctrl-N, kemudian ketik source code programnya seperti di bawah ini: Buatlah program baru dengan cara file-new-source alau gabungkan CTRL +N, kemudian ketik source code programnya seperti dibawah ini: #include <conio.h> #include <iostream> using namespace std; int main() { const float phi = 3.141592; float jari_jari, keliling, Luas; jari_jari = 72; Luas = phi*jari_jari*jari_jari; keliling= 2* phi * jari_jari ; cout<<" Luas lingkaran adalah "<< Luas << "Satuan" <<endl; cout<<" Keliling lingkaran adalah "<< keliling << "Satuan" << endl; cout<< ""<<endl ; cout<< " Nama : SANI PUTRI PRATIWI HAMID "<<endl ;
30 cout<< " NPM : 07352211093 "<<endl; getch () ; } Compile dan perbaiki program sampai benar. Gambar 2.8 struktur code keliling lingkaran latihan C++.