LAPORAN PRAKTIKUM PRAKTIKUM ALGORITMA DAN STRUKTUR DATA OLEH Dea Revananda Saputri 07352211027 PROGRAM STUDI TEKNIK INFORMATIKA FAKULTAS TEKNIK UNIVERSITAS KHAIRUN TERNATE 2023
PRAKTIKUM ALGORITMA DAN STRUKTUR DATA LAB REKAYASA PERANGKAT LUNAK | TEKNIK INFORMATIKA UNKHAIR ii LEMBAR PENGESAHAN LABORATORIUM REKAYASA PERANGKAT LUNAK PRAKTIKUM ALGORITMA DAN STRUKTUR DATA OLEH DEA REVANADA SAPUTRI 07352211027 Mengetahui : Dosen Mata Kuliah Algoritma dan Struktur Data Hairil Kurniadi Siradjuddin S.Kom.,M.Kom NIDN : 88361016
PRAKTIKUM ALGORITMA DAN STRUKTUR DATA LAB REKAYASA PERANGKAT LUNAK | TEKNIK INFORMATIKA UNKHAIR iii KATA PENGANTAR Segala puji dan syukur marilah sama-sama kita panjatkan kehadiran Allah SWT. Karena atas rahmat dan limpahan karunia-NYA lah sehingga penyusunan laporan ini dapat terselesaikan walau sedikit hambatan karena keterbatasan pengetahuan dan pengalaman. Laporan praktikum ini dibuat untuk menyelesaikan tugas mata kuliah Algoritma dan Struktur Data dengan dosen pengampu Pak Hairil Kurniadi Suradjuddin S.Kom.,M.Kom. berbu terima kasih senantiasa diucapkan untuk pihak-pihak yang telah membantu demi terlaksanakannya laporan praktikum ini. Saya menyadari bahwa dalam penyusunan laporan ini masih jauh dari kata sempurna. Oleh karena itu, kritik dan saran sangat diharapkan demi perbaikan di masa yang akan datang. Semoga laporan ini dapat berguna bagi siapa saja terumata bagi penyusunan. Ternate, 17 januari 2023 Penyusun
PRAKTIKUM ALGORITMA DAN STRUKTUR DATA LAB REKAYASA PERANGKAT LUNAK | TEKNIK INFORMATIKA UNKHAIR iv BIODATA Nama Lengkap : Dea Revananda Saputri Nama Panggilan : Dea NPM : 07352211027 Kelas : 1if1 Semester : Satu (1) Jenis Kelamin : Perempuan Perguruan Tinggi : Universitas Khairun Program Studi : Teknik Informatika TTL : Amasing Kota 20 Desember 2004 Alamat : Salero Agama : Islam Hobi : Membaca No Telphone : 082259927204 Email : [email protected] Instagram : dearvnnda
PRAKTIKUM ALGORITMA DAN STRUKTUR DATA LAB REKAYASA PERANGKAT LUNAK | TEKNIK INFORMATIKA UNKHAIR v DAFTAR ISI LEMBAR PENGESAHAN ..........................................................................................ii KATA PENGANTAR..................................................................................................iii BIODATA...................................................................................................................iv DAFTAR ISI ...............................................................................................................v DAFTAR GAMBAR....................................................................................................xi DAFTAR TABEL........................................................................................................xix BAB I ALGORITMA DAN STRUKTUR DATA, STRUKTUR DASAR C++, DAN CONTOH DASAR C++...............................................................................................................1 1.1 Pendahuluan ....................................................................................................1 1.1.1 Algoritma ............................................................................................1 1.2 Cara penyajian algoritma.................................................................................1 1.2.1 Metode pengusunan algoritma deskriptif.............................................2 1.2.2 Metode penyusunan flowchart ............................................................3 1.2.3 Metode penyusunan algoritma pseudo-code......................................5 1.3 Struktur data....................................................................................................7 1.4 Struktur dasar C++ ...........................................................................................8 1.5 Tujuan .............................................................................................................13
PRAKTIKUM ALGORITMA DAN STRUKTUR DATA LAB REKAYASA PERANGKAT LUNAK | TEKNIK INFORMATIKA UNKHAIR vi 1.6 Contoh dasar C++ ............................................................................................13 1.7 Flowchart.........................................................................................................18 1.8 Kesimpulan dan saran......................................................................................20 1.8.1 Kesimpulan .........................................................................................20 1.8.2 Saran..................................................................................................20 BAB II VARIABEL DAN KONSTANTA......................................................................22 2.1 Pendahuluan..................................................................................................22 2.1.1 Variabel.............................................................................................22 2.1.2 Konstanta ......................................................................................................22 2.2. Tujuan ..........................................................................................................23 2.3. Langkah-Langkah Kegiatan Praktikum .........................................................24 2.4. Laporan Hasil Kerja Praktikum......................................................................27 2.4.1. Praktikum 1 .......................................................................................27 2.4.2. Praktikum 2 .......................................................................................29 2.4.3. Praktikum 3 .......................................................................................32 2.4.4. Praktikum 4 .......................................................................................36 2.4.5. Praktikum 5 .......................................................................................39 2.5. Kesimpulan dan saran .................................................................................44 2.5.1. Kesimpulan ......................................................................................44 2.5.2. Saran ................................................................................................44
PRAKTIKUM ALGORITMA DAN STRUKTUR DATA LAB REKAYASA PERANGKAT LUNAK | TEKNIK INFORMATIKA UNKHAIR vii BAB III STRUKTUR DASAR ALGORITMA................................................................46 3.1 Pendahuluan .................................................................................................46 3.1.1 Selection (pemilihan).........................................................................46 3.1.2 Looping (perulangan) ........................................................................49 3.2 Tujuan ...........................................................................................................57 3.3 Latihan kerja praktikum .................................................................................58 3.4 Study kasus selection ...................................................................................62 3.4.1 Latihan hasil kerja praktikum 1 ..........................................................62 3.4.2 Latihan hasil kerja praktikum 2 ..........................................................66 3.4.3 Latihan hasil kerja praktikum 3 ..........................................................70 3.5 Study kasus looping ......................................................................................76 3.5.1 Latihan hasil kerja praktikum 1 („statement for)..................................76 3.5.2 Latihan hasil kerja praktikum 2 (NESTEDFOR) .................................78 3.5.3 Latihan hasil kerja praktikum 3 ..........................................................80 3.6 Kesimpulan dan saran ..................................................................................85 3.6.1 Kesimpulan .......................................................................................85 3.6.2 Saran ...............................................................................................85 BAB IV ARRAY..........................................................................................................88 4.1 Pendahuluan ...................................................................................................88 4.1.1 Array....................................................................................................88 4.1.2 Tipe_array nama_array [ukuran]; .........................................................88
PRAKTIKUM ALGORITMA DAN STRUKTUR DATA LAB REKAYASA PERANGKAT LUNAK | TEKNIK INFORMATIKA UNKHAIR viii 4.2 Tujuan praktikum .............................................................................................88 4.3 Latihan kerja praktikum....................................................................................89 4.3.1 Buatlah sebuah program array 1 dimensi. Menginputkan nilai ke variabel array kemudian menampilkannya ........................................................89 4.4 Study kasus ....................................................................................................92 4.4.1 Latihan hasil kerja praktikum 1.............................................................92 4.4.2 Laporan hasil kerja praktikum 2 ..........................................................95 4.4.3 Laporan praktikum .............................................................................100 4.5 Kesimpulan dan saran ....................................................................................104 4.5.1 Kesimpulan.........................................................................................104 4.5.2 Saran..................................................................................................104 BAB V POINTER........................................................................................................106 5.1 Pendahuluan ...................................................................................................106 5.1.1 Pointer .................................................................................................106 5.2 Tujuan praktikum pointer C++..........................................................................107 5.3 Langkah-langkah praktikum pointer C++ .........................................................108 5.4 Latihan kegiatan praktikum .............................................................................109 5.4.1 Latihan 1 (pointer konstanta)...............................................................109
PRAKTIKUM ALGORITMA DAN STRUKTUR DATA LAB REKAYASA PERANGKAT LUNAK | TEKNIK INFORMATIKA UNKHAIR ix 5.4.2 Latihan 2 (pointer variabel) ..................................................................110 5.5 Study kasus .....................................................................................................112 5.5.1 Operasi aritmatika pada pointer ...........................................................112 5.5.2 Pointer dalam array.............................................................................116 5.6 Kesimpulan dan saran .....................................................................................120 5.6.1 Kesimpulan.........................................................................................120 5.6.2 Saran...................................................................................................120 BAB VI STACK..........................................................................................................122 6.1 Pendahuluan ....................................................................................................122 6.1.1 Stack ..................................................................................................122 6.2 Tujuan praktikum..............................................................................................122 6.3 Latihan kerja praktikum.....................................................................................122 6.3.1 Buatlah program stack dengan menggunakan array ............................123 6.4 Study kasus .....................................................................................................130 6.4.1 Latihan hasil kerja praktikum ...............................................................130 6.5 Kesimpulan dan saran .....................................................................................141 6.5.1 Kesimpulan.........................................................................................141
PRAKTIKUM ALGORITMA DAN STRUKTUR DATA LAB REKAYASA PERANGKAT LUNAK | TEKNIK INFORMATIKA UNKHAIR x 6.5.2 Saran..................................................................................................141 BAB VII QUEUE.........................................................................................................143 7.1 Pendahuluan ..................................................................................................143 7.1.1 Queue.................................................................................................143 7.2 Tujuan praktikum.............................................................................................144 7.3 Latihan hasil kerja praktikum ...........................................................................144 7.3.1 Buatlah program queue dalam array ...................................................144 7.4 Study kasus ....................................................................................................153 7.4.1 Latihan hasil kerja praktikum ..............................................................153 7.5 Kesimpulan dan saran .....................................................................................165 7.5.1 Kesimpulan..............................................................................................165 7.5.2 Saran.......................................................................................................165 DAFTAR PUSTAKA...................................................................................................167
PRAKTIKUM ALGORITMA DAN STRUKTUR DATA LAB REKAYASA PERANGKAT LUNAK | TEKNIK INFORMATIKA UNKHAIR xi DAFTAR GAMBAR BAB I ALGORITMA DAN STRUKTUR DATA C++, STRUKTUR DASAR C++ DAN . CONTOH DASAR C++ Gambar 1.1 aplikasi Dev C++................................................................................13 Gambar 1.2 tampilan awal Dev C++ ......................................................................14 Gambar 1.3 membuat program baru......................................................................14 Gambar 1.4 jendela kerja C++...............................................................................15 Gambar 1.5 simbol compile and run ......................................................................15 Gambar 1.6 menyimpan program ..........................................................................16 Gambar 1.7 jendela run Dev C++ ..........................................................................16 Gambar 1.8 hasil running ......................................................................................17 BAB II VARIABEL DAN KONSTANTA Gambar 2.1 tampilan aplikasi Dev C++..................................................................24 Gambar 2.2 tampilan awal Dev C++ ......................................................................24 Gambar 2.3 membuat project baru ........................................................................25 Gambar 2.4 jendela kerja C++...............................................................................25 Gambar 2.5 simbol compile and run .....................................................................26 Gambar 2.6 menyimpan program .........................................................................26
PRAKTIKUM ALGORITMA DAN STRUKTUR DATA LAB REKAYASA PERANGKAT LUNAK | TEKNIK INFORMATIKA UNKHAIR xii Gambar 2.7 jendela run Dev C++ ..........................................................................27 Gambar 2.8 pembuatan source code program pertamaku ....................................28 Gambar 2.9 compile .............................................................................................28 Gambar 2.10 hasil running praktikum 1 .................................................................29 Gambar 2.11 flowchart menghitung luas persegi panjang .....................................30 Gambar 2.12 jendela kerja Dev C++......................................................................31 Gambar 2.13 source code .....................................................................................31 Gambar 2.14 compile ............................................................................................32 Gambar 2.15 hasil running paktikum 2...................................................................32 Gambar 2.16 flowchart menghitung luas lingkaran ...............................................34 Gambar 2.17 jendela kerja Dev C++......................................................................34 Gambr 2.18 source code ......................................................................................35 Gambar 2.19 compile ...........................................................................................35 Gambar 2.20 hasil running praktikum 3 .................................................................36 Gambar 2.21 flowchart menghitung volume kerucut .............................................37 Gambar 2.22 jendela kerja Dev C++......................................................................38 Gambar 2.23 compile ............................................................................................39
PRAKTIKUM ALGORITMA DAN STRUKTUR DATA LAB REKAYASA PERANGKAT LUNAK | TEKNIK INFORMATIKA UNKHAIR xiii Gambar 2.24 hasil running praktikum 4 .................................................................39 Gambar 2.25 flowchart menghitung volume kubus ...............................................41 Gambar 2.26 jendela kerja Dev C++ .....................................................................42 Gambar 2.27 source code .....................................................................................42 Gambar 2.28 compile ...........................................................................................43 Gambar 2.29 hasil running praktikum 5 .................................................................43 BAB III STRUKTUR DASAR ALGORITMA Gambar 3.1 bentuk flowchart IF Sederhana...........................................................46 Gambar 3.2 bentuk flowchart Struktur IF…THEN…ELSE… ..................................47 Gambar 3.3 flowchart struktur IF Bersarang .........................................................48 Gambar 3.4 bentuk umum struktur perulangan “WHILE” .......................................50 Gambar 3.5 flowchart ............................................................................................50 Gambar 3.6 flowchart do…while ............................................................................53 Gambar 3.7 bentuk umum perulangan for .............................................................54 Gambar 3.8 while(…){If(…)Break;}akhir while cout <<”Selesai”<<endl; .................57 Gambar 3.9 hasil running latihan 1 ........................................................................59 Gambar 3.10 hasil running latihan 2 ......................................................................60
PRAKTIKUM ALGORITMA DAN STRUKTUR DATA LAB REKAYASA PERANGKAT LUNAK | TEKNIK INFORMATIKA UNKHAIR xiv Gambar 3.11 hasil running latihan 3 ......................................................................61 Gambar 3.12 flowchart menghitung luas persegi panjang .....................................63 Gambar 3.13 jendela kerja Dev C++......................................................................64 Gambar 3.14 compile ............................................................................................65 Gambar 3.15 hasil running ....................................................................................66 Gambar 3.16 hasil running ....................................................................................66 Gambar 3.17 flowchart menentukan bilangan terbesar dari kedua bilangan .........67 Gambar 3.18 jendela kerja Dev C++......................................................................68 Gambar 3.19 compile ............................................................................................70 Gambar 3.20 hasil running ....................................................................................70 Gambar 3.21 flowchart konversi angka ke nilai huruf .............................................72 Gambar 3.22 jendela kerja Dev C++......................................................................73 Gambar 3.23 compile ............................................................................................75 Gambar 3.24 hasil running.....................................................................................75 Gambar 3.25 flowchart ..........................................................................................76 Gambar 3.26 hasil running latihan 1 ......................................................................77 Gambar 3.27 flowchart .........................................................................................78
PRAKTIKUM ALGORITMA DAN STRUKTUR DATA LAB REKAYASA PERANGKAT LUNAK | TEKNIK INFORMATIKA UNKHAIR xv Gambar 3.28 hasil running latihan 2 ......................................................................80 Gambar 3.29 flowchart konversi angka ke huruf ...................................................81 Gambar 3.30 jendela kerja Dev C++......................................................................82 Gambar 3.31compile .............................................................................................84 Gambar 3.32 hasil running.....................................................................................84 BAB IV ARRAY Gambar 4.1 compile ..............................................................................................91 Gambar 4.2 hasil running ......................................................................................91 Gambar 4.3 flowchart array 1 dimensi ...................................................................92 Gambar 4.4 jendela kerja Dev C++........................................................................93 Gambar 4.5 compile ..............................................................................................95 Gambar 4.6 hasil running ......................................................................................95 Gambar 4.7 flowchart mencari sebuah data ..........................................................96 Gambar 4.8 jendela kerja Dev C++........................................................................97 Gambar 4.9 compile ..............................................................................................99 Gambar 4.10 hasil running.....................................................................................99 Gambar 4.11hasil running......................................................................................100
PRAKTIKUM ALGORITMA DAN STRUKTUR DATA LAB REKAYASA PERANGKAT LUNAK | TEKNIK INFORMATIKA UNKHAIR xvi Gambar 4.12 flowchart perkalian matrix.................................................................100 Gambar 4.13 jendela kerja Dev C++......................................................................101 Gambar 4.14 compile ............................................................................................102 Gambar 4.15hasil running......................................................................................103 BAB V POINTER Gambar 5.1 Tampilan Dev C++ .............................................................................108 Gambar 5.2 struktur kode C++ ..............................................................................108 Gambar 5.3 hasil running ......................................................................................109 Gambar 5.4 compile ..............................................................................................110 Gambar 5.5 hasil running ......................................................................................110 Gambar 5.6 struktur kode program .......................................................................112 Gambar 5.7 hasil running ......................................................................................112 Gambar 5.8 flowchart ............................................................................................113 Gambar 5.9 tampilan Dev C++ ..............................................................................114 Gambar 5.10 struktur kode program......................................................................115 Gambar 5.11hasil running......................................................................................116 Gambar 5.12 flowchart ..........................................................................................117 Gambar 5.13 tampilan Dev C++ ............................................................................118 Gambar 5.14 struktur kode program......................................................................119 Gambar 5.15 hasil running.....................................................................................119 BAB VI STACK
PRAKTIKUM ALGORITMA DAN STRUKTUR DATA LAB REKAYASA PERANGKAT LUNAK | TEKNIK INFORMATIKA UNKHAIR xvii Gambar 6.1 compile ..............................................................................................127 Gmabar 6.2 lanjutan compile .................................................................................128 Gambar 6.3 lanjutan compile .................................................................................128 Gambar 6.4 lanjutan compile .................................................................................129 Gambar 6.5 hasil running ......................................................................................129 Gambar 6.6 lanjutan hasil running .........................................................................130 Gmabra 6.7 lanjutan hasil running .........................................................................130 Gambar 6.8 lanjutan hasil running .........................................................................130 Gambar 6.9 flowchart ............................................................................................131 Gambar 6.10 jendela kerja Dev C++......................................................................132 Gambar 6.11 compile ............................................................................................137 Gambar 6.12 lanjutan compile ...............................................................................138 Gambar 6.13 lanjutan compile ...............................................................................138 Gambar 6.14 lanjutan compile ...............................................................................139 Gambar 6.15 hasil running.....................................................................................139 Gambar 6.16 lanjutan hasil running .......................................................................140 Gambar 6.17 lanjutan compile ...............................................................................140
PRAKTIKUM ALGORITMA DAN STRUKTUR DATA LAB REKAYASA PERANGKAT LUNAK | TEKNIK INFORMATIKA UNKHAIR xviii Gambar 6.18 lanjutan compile ...............................................................................140 BAB VII QUEUE Gambar 7.1 compile ..............................................................................................149 Gambar 7.2 lanjutan compile .................................................................................150 Gambar 7.3 lanjutan compile .................................................................................150 Gambar 7.4 lanjutan compile .................................................................................151 Gambar 7.5 hasil running menambahkan data antrian...........................................151 Gambar 7.6 running menambahkan data antrian sampai max ...............................152 Gamabr 7.7 running data antrian ...........................................................................152 Gambar 7.8 running setelah stu data dikeluarkan ..................................................152 Gambar 7.9 flowchart ............................................................................................153 Gambar 7.10 jendela kerja Dev C++......................................................................154 Gambar 7.11 compile ............................................................................................160 Gambar 7.12 lanjutan compile ...............................................................................161 Gambar 7.13 lanjutan compile ...............................................................................161 Gambar 7.14 lanjutan compile ...............................................................................162 Gambar 7.15 hasil running.....................................................................................162 Gambar 7.16 hasil running.....................................................................................163 Gambar 7.17 hasil running.....................................................................................163 Gambar 7.18 hasil running.....................................................................................163 Gambar 7.19 hasil running.....................................................................................164
PRAKTIKUM ALGORITMA DAN STRUKTUR DATA LAB REKAYASA PERANGKAT LUNAK | TEKNIK INFORMATIKA UNKHAIR xix DAFTAR TABEL Tabel 1.1 simbol flowchart program.......................................................................5 Tabel 1.2 notasi pseudi-code.................................................................................6 Tabel 1.3 kata bercabang dan penambahan 7 kata dari turbo C++........................10 Tabel 1.4 tipe data bilangan bulat ..........................................................................11 Tabel 1.5 tipe data bilangan real............................................................................11 Tabel 1.6 diagram alir............................................................................................19
PRAKTIKUM ALGORITMA DAN STRUKTUR DATA LAB REKAYASA PERANGKAT LUNAK | TEKNIK INFORMATIKA UNKHAIR 1 BAB I ALGORITMA DAN STRUKTUR DATA C++, STRUKTUR DASAR C++ DAN CONTOH DASAR C++ 1.1 Pendahuluan 1.1.1 Algoritma Algoritma adalah rangkaian terbatas dari instruksi-instruksi yang rumit, yang biasanya digunakan untuk menyelesaikan atau menjalankan suatu kelompok masalah komputasi tertentu. Algoritma digunakan sebagai spesifikasi untuk melakukan perhitungan dan pemrosesan data. Algoritma yang lebih mutakhir dapat melakukan dedukasi otomatis (disebut sebagai penalaran otomatis) dan menggunakan tes matematis dan logis untuk mengarahkan eksekusi kode melalui berbagai rute (disebut sebagai pengambilan keputusan otomatis). Penggunaan karakteristik manusia sebagai descriptor mesin secara metaforis telah dipraktekkan oleh Alan Turing dengan terminologi seperti “memory”, “search” dan “stimulus”. Algoritma sendiri mempunyai tiga struktur dasar, yaitu berupa: 1. Runtunan (Sequensial), 2. Pemilihan (Selection), 3. Pengulangan(Looping) 1.2 Cara Penyajian Algoritma
PRAKTIKUM ALGORITMA DAN STRUKTUR DATA LAB REKAYASA PERANGKAT LUNAK | TEKNIK INFORMATIKA UNKHAIR 2 Secara umum algoritma disusun untuk menggambarkan langkah-langkah penyelesaian suatu msalah. Dalam membuat suatu algoritma harus memenuhi syarat, terstruktur, masuk akal dan dituliskan secara sistematis, untuk menyelesaikan suatu masalah dengan bantuan komputer. Ada 3 cara dalam menyusun algoritma yaitu: 1. Dengan merumuskan langkah-langkah pemecahan masalah melalui kalimat yang terstruktur (tersusun secara logis), 2. Menggabungkan kalimat dengan penggalan statements yang ada di suatu bahasa pemrograman (misalkan C++) Biasanya disebut Pseudo code (mirip kode/printah pemrograman), 3. Menggunakan diagram alir (Flowchart). 1.2.1 Metode Penyusunan Algoritma Deskriptif Algoritma dengan kalimat deskriptif dilakukan dengan cara menuliskan instruksiinstruksi yang harus dilaksanakan dalam bentuk untaian kalimat deskriptif dengan bahasa yang jelas. Namun, agar notasi algoritma mudah ditranslasi ke dalam notasi bahasa pemrograman, maka sebaiknya notasi algoritma tersebut berkoresponden dengan notasi bahasa pemrograman umumnya. Kata kerja adalah jenis kata yang biasa digunakan dalam penulisan bahasa deskriptif, contoh tulis, baca hitung, tampilkan, ulangi, bandingkan dll. Notasi jenis ini cocok untuk algoritma yang pendek. Tapi untuk masalah algoritma yang panjang, notasi ini kurang efektif. Pada dasarnya teks algoritma dengan bahasa deskriptif disusun oleh tiga bagian utama yaitu: a. Bagian judul (Header) b. Bagian deklarasi (kamus/ menyimpan nilai pada variabel)
PRAKTIKUM ALGORITMA DAN STRUKTUR DATA LAB REKAYASA PERANGKAT LUNAK | TEKNIK INFORMATIKA UNKHAIR 3 c. Bagian deskripsi Disarankan setiap bagian disertai dengan komentar untuk memperjelas maksud teks yang dituliskan. Komentar adalah kalimat yang diapit pasangan tanda kurung kurawal („{ „}‟). Salah satu contoh sederhana adalah algoritma untuk menentukan bilangan mana yang lebih besar dari input dua buah bilangan. Jadi diberikan input dua buah bilangan dari user, dan program akan secara otomatis menentukan dan memberikan output bilangan mana yang lebih besar. Maka penyelesaian yang bisa dibuat adalah: 1. Inisialisasi 2. Input dua buah bilangan, masukan masing-masing dalam variabel, misalkan bil_1 dan bil_2. 3. Apakah bil_1 lebih besar dari bil_2? a. Jika Ya, maka bil_1 adalah bilangan yang lebih besar dari bil_2. b. Jika Tidak, maka pasti bahwa bil_2 adalah bilangan yang lebih besar dari bil_1. 4. Tampilkan bilangan terbesar (nilai dari bil_1, atau nilai dari bil_2). 5. Selesai 1.2.2 Metode Penyusunan Algoritma Flowchart Flowchart merupakan repesentasi secara diagram dari urutan langkah-langkah untuk mendapatkan suatu hasil. Urutan langkah-langkah ini dilakukan dengan menggambarkan tahap-tahap pemecahan masalah dengan merepresentasikan simbolsimbol tertentu yang mudah di mengerti, mudah digunakan dan standar.
PRAKTIKUM ALGORITMA DAN STRUKTUR DATA LAB REKAYASA PERANGKAT LUNAK | TEKNIK INFORMATIKA UNKHAIR 4 Simbol Penjelasan Simbol Terminal, simbol yang digunakan untuk menyatakan awal (Start/mulai) atau akhir (end/selesai) suatu program. Simbol Input/Output, untuk menunjukan operasi masukan atau keluaran. Simbol proses, untuk mengambarkan proses pengolahan data. Simbol kondisi atau keputusan/decision, untuk menyatakan suatu pilihan berdasarkan suatu kondisi tertentu. Simbol deklarasi atau persiapan/preperation, digunakan untuk memberikan nilai awal pada suatu variabel atau pencahan. Simbol proses terdefenisi (predefined process), digunakan untuk proses yang detilnya dijelaskan terpisah, misal dalam bentuk subrountine. Simbol penghubung ke halaman lain, untuk menghubungkan bagian diagram alir pada halaman yang berbeda.
PRAKTIKUM ALGORITMA DAN STRUKTUR DATA LAB REKAYASA PERANGKAT LUNAK | TEKNIK INFORMATIKA UNKHAIR 5 Simbol penghubung ke halaman yang sama, untuk menghubungkan bagian diagram alir pada halaman yang sama. Simbol arah aliran/penghubung (connector) digunakan untuk menunjukkan arah aliran proses. Tabel 1.1 Simbol flowchart Program 1.2.3 Metode Penyusunan Algoritma Pseudo-code Pseudo artinya semu atau tidak sebenarnya. Pseudo-code berisikan langkahlangkah untuk menyelesaikan suatu permasalahan (hampir sama dengan algoritma), hanya saja bentuknya sedikit berbeda dari algoritma. Pseudocode menggunakan bahasa yang hampir menyerupai bahasa pemrograman. Selain itu biasanya menggunakan bahasa yang mudah dipahami secara universal dan juga lebih ringkas dari pada algoritma. Dalam penulisan pseudocode disarankan untuk menggunakan keyword umum digunakan dalam bahasa pemrograman, seperti: if, then, else, while, do , repeat, for, dan lainnya. Beberapa yang perlu diperhatikan dalam penulisan pseudocode: 1. Tulisan secara spesifik dan konsisten 2. Gunakan indentasi 3. Buat dengan sederhana Berikut tabel penjelasan mengenai penyusunan pseudocode: Notasi Fungsi
PRAKTIKUM ALGORITMA DAN STRUKTUR DATA LAB REKAYASA PERANGKAT LUNAK | TEKNIK INFORMATIKA UNKHAIR 6 Input Digunakan untuk menunjukan proses masukan suatu isi pada variabel. Output Digunakan untuk menunjukkan proses keluaran yang diinginkan ataupun yang terjadi. While Digunakan untuk sebuah perulangan yang memiliki iterasi awal. For Digunakan untuk sebuah perulangan yang memiliki perhitungan iterasi. Repeat – Until Digunakan untuk sebuah perulangan yang memiliki kondisi akhir. If – Then – Else Digunakan untuk mengambil sebuah keputusan dari beberapa kondisi. Table 1.2 Notasi Pseudo-code Contoh penggunaan pseudocode program: Algoritma untuk menentukan bilangan mana yang lebih besar dari input dua buah bilangan. Header: algoirtma_penentuan_dua_bilangan Algoritma menetukan bilangan mana yang lebih besar dari inputan duah buah bilangan. Deklarasi:
PRAKTIKUM ALGORITMA DAN STRUKTUR DATA LAB REKAYASA PERANGKAT LUNAK | TEKNIK INFORMATIKA UNKHAIR 7 Bil_1, bil_2 : integer (nilai akan diberikan pada kedua variabel) Deskripsi: 1. Start 2. Declarations bil_1, bil_2 3. Input bil_1, bil_2 4. Read bil_1, bil_2 5. If bil_1 > bil_2 then Cout (“Bilangan terbesar = bil_1”) 6. Else Cout (“Bilangan terbesar = bil_2”) 7. End. 1.3 Struktur Data Dalam istilah ilmu komputer, struktur data adalah cara menyimpan dan mengatur data secara terstruktur pada sistem komputer atau pangkalan data (database) sehingga lebih mudah diakses. Secara teknis, data dalam bentuk angka, huruf, simbol, dan lainnya ini diletakkan dalam kolom-kolom dan susunan tertentu. Contoh struktur data dapat dilihat pada berkas-berkas lembar sebar (spreadsheet), pangkalan data, pengolah kata, citra yang dipampat (compressed image), dan pemampatan berkas dengan teknik tertentu yang memanfaatkan struktur data. Dalam teknik pemrograman, struktur data berarti tata letak data yang berisi kolomkolom data, baik itu kolom yang tampak oleh pengguna ataupun kolom yang hanya
PRAKTIKUM ALGORITMA DAN STRUKTUR DATA LAB REKAYASA PERANGKAT LUNAK | TEKNIK INFORMATIKA UNKHAIR 8 digunakan untuk keperluan pemrograman yang tidak tampak oleh pengguna. Setiap baris dari kumpulan kolom-kolom tersebut dinamakan catatan (record). Lebar kolom untuk data dapat berubah dan bervariasi. Ada kolom yang lebarnya berubah secara dinamis sesuai masukan dari pengguna, dan juga ada kolom yang lebarnya tetap. Dengan sifatnya ini, sebuah struktur data dapat diterapkan untuk pengolahan basis data (misalnya untuk keperluan data keuangan) atau untuk pengolah kata yang kolomnya berubah secara dinamis. 1.4 Struktur Dasar C++ Berikut merupakan struktur dasar C++ yaitu: 1. Komentar Komentar merupakan bagian yang pentingdalam program. Komentar tidak akan mempengaruhi terhadap jalannya program karena komentar tidak ikutdieksekusi pada saat proses kompilasi. Fungsi komentar antara lain: Menjelaskan tujuan / fungsi program Memudahkan saat program dibuat atau direvisi Menjelaskan keterangan-keterangan lain tentang kegunaan sejumlah pernyataan dalam program. Menggunakan tanda // Pada C++ suatu komentar diawali dengan duatanda garis miring (//). Semua tulisan yang terletak sesudah tanda // hingga akhir baris dengan sendirinya akan diperlakukan
PRAKTIKUM ALGORITMA DAN STRUKTUR DATA LAB REKAYASA PERANGKAT LUNAK | TEKNIK INFORMATIKA UNKHAIR 9 sebagai keterangan. Tanda ini digunakan untuk menuliskan komentar yang banyaknya hanya satu baris. Mengguanakan tanda /*.....*/ Tanda ini dapat digunakan untuk menuliskan komentar yang banyaknya satu baris atau lebih. Bentuk ini bermanfaat untuk mengabaikan sejumlah pernyataan yang telah dibuat oleh pemrograman karena suatu alasan misalnya sedang melacak kesalahan. 2. Identifier Identifier atau biasa yang kita kenal sebagai sebuah pengenal dalam pemrograman C++ yaitu suatu nama yang kita gunakan dalam pemrograman untuk menyatakan tipe data, konstanta, variabel maupun fungsi / function. Ada 4 aturan yang harus kita ingat untuk penulisan identifier, aturan penulisan identifier pada pemrograman C++ tidak jauh berbeda dengan aturan yang dipakai pada bahasa pemrograman pascal. Dibawah ini merupakan aturan-aturan tersebut: Tidak boleh ada spasi Tidak boleh dimulai dengan karakter selain Tidak boleh menggunakan karakter-karakter seperti !, @, #, #, $, %, ^, &, *, (, ), _,+ dan yang lainnya Tidak boleh menggunakan reserved word yang terdapat pada C++ Reserved word merupakan kata bercabang. Ada 32 kata bercabang yang terdapat dalam pemrograman C++ dan penambahan 7 kata dari turbo C++. Kata-kata tersebut yaitu:
PRAKTIKUM ALGORITMA DAN STRUKTUR DATA LAB REKAYASA PERANGKAT LUNAK | TEKNIK INFORMATIKA UNKHAIR 10 *asm Default For *pascal Switch Register Else If Unsigned Short *cdecl Do Auto Struct *near Float Char While Static Long *far Continue Volatile Sizeof *interrupt Extern Const Void Signed Int Enum Long Typedef Break Double *huge Return Union Case Tabel 1.3 kata bercabang dan penambahan 7 kata dari turbo C++ 3. Tipe Data Tipe data merupakan sub program/bagian program yang paling penting dan mempengaruhi terhadap setiap intruksi yang akan dilaksanakan oleh komputer. Tipe data yang berbeda akan memberikan hasil yang berbeda pula pada pemrograman C++. Misal jika 5 dibagi 2 yang samasama bertipe integer maka akan menghasilkan nilai 2, berbeda hasil apabila keduanya bertipe float yang akan menghasilkan nilai 2.500000. Maka dari itu pemilihan tipe data yang sesuai akan mengakibatkan proses pengoperasian menjadi efektif dan efisien. Ada beberapa tipe data dalam C++, yaitu: Tipe data bilangan bulat :
PRAKTIKUM ALGORITMA DAN STRUKTUR DATA LAB REKAYASA PERANGKAT LUNAK | TEKNIK INFORMATIKA UNKHAIR 11 Char Int (integer) Short Long Unsigned char Unsigned int Unsigned short Unsigned long Tabel 1.4 tipe data bilangan bulat Tipe data bilangan real : Float Double Long double Table 1.5 tipe data bilangan real 4. Konstanta Konstanta merupakan suatu nilai yang tidak dapat di ubah atau nilainya selalu tetap selama dalam proses program berjalan. Contoh : const float phi = 3.14 sehingga bisa disimpulkan bahwa sintaks konstanta adalah const tipe_data nama_konstanta=value 5. Variabel Variabel merupakan identifier yang digunakan untuk mewakili suatu nilai di dalam proses program yang akan dijalankan. Ada 4 aturan dalam pemberian sebuah nama variabel yaitu: Karakter pertama harus huruf. Tetapi seperti yang saya bahas sebelumnya bahwa Bahasa C++ itu case sensitive yang artinya huruf capital dan huruf kecil itu dianggap berbeda sehingga NIM, Nim dan nim akan diangap berbeda pada Bahasa pemrograman C++. Tidak boleh memakai space (spasi)
PRAKTIKUM ALGORITMA DAN STRUKTUR DATA LAB REKAYASA PERANGKAT LUNAK | TEKNIK INFORMATIKA UNKHAIR 12 Tidak boleh memakai karakter – karakter khusus kecuali underscore (Garis Bawah). Panjangnya bebas tetapi hanya 32 karakter pertama yang terpakai. 6. Deklarasi Deklarasi adalah mengenalkan identifier dalam suatu program, baik itu deklarasi variabel, konstanta maupun fungsi. Contoh deklarasi variabel : a. int nilai b. float nilai Sehingga bisa disimpulkan bahwa bentuk umum pendeklarasian suatu variabel adalah tipe_data nama_variabel Contoh deklarasi konstanta : #define PHI 3.14 #define nama “Park Jeongwoo” Sehingga bisa disimpulkan bahwa pendeklarasian konstanta menggunakan preprocessor #define. Contoh deklarasi fungsi : void layar () int tambah (int a,int b) Sehingga bisa disimpulkan bahwa bentuk umum pendeklarasian suatu fungsi adalah tipe_fungsi nama_fungsi (parameter_fungsi) 7. Assignment
PRAKTIKUM ALGORITMA DAN STRUKTUR DATA LAB REKAYASA PERANGKAT LUNAK | TEKNIK INFORMATIKA UNKHAIR 13 Assigment adalah pemberian suatu nilai terhadap suatu variabel yang telah dideklarasikan. Contoh : Jumlah = 100; Saya = 'Park Jeongwoo' Saya = 'P' 1.5 Tujuan a. Mempelajari sekaligus mempraktekkan cara penggunaan Dev C++ b. Mempelajari struktur dasar Bahasa C++ c. Membuat program sederhana dengan Bahasa C++ 1.6 Contoh Dasar C++ 1. Langkah-langkah Menuliskan program Dalam Dev C++ a. Bukalah Aplikasi Dev C++ melalui start menu seperti pada gambar dibawah ini Gambar 1.1 Aplikasi Dev C++ b. Tampilan awal tampak seperti gambar dibawah ini
PRAKTIKUM ALGORITMA DAN STRUKTUR DATA LAB REKAYASA PERANGKAT LUNAK | TEKNIK INFORMATIKA UNKHAIR 14 Gambar 1.2 Tampilan awal Dev C++ c. Buatlah program baru dengan cara file-new-source file atau gunakan CTRL + N, seperti gambar dibawah ini Gambar 1.3 Membuat program baru d. Tampilan jendela kerja Dev C++
PRAKTIKUM ALGORITMA DAN STRUKTUR DATA LAB REKAYASA PERANGKAT LUNAK | TEKNIK INFORMATIKA UNKHAIR 15 Gambar 1.4 Jendela kerja C++ e. Setelah menulis source code program, tekan compile and run seperti gambar Gambar 1.5 simbol compile and run f. Akan muncul dialog untuk menyimpan program, beri nama sesuai dengan keinginan anda, kemudian save dengan ekstensi “cpp” seperti gambar dibawah ini
PRAKTIKUM ALGORITMA DAN STRUKTUR DATA LAB REKAYASA PERANGKAT LUNAK | TEKNIK INFORMATIKA UNKHAIR 16 Gambar 1.6 menyimpan program g. Tampilan jendela run program pada Dev C++ seperti gambar dibawah ini Gambar 1.7 Jendela run Dev C++ 2. Contoh membuat pemrograman menggunakan Dev C++
PRAKTIKUM ALGORITMA DAN STRUKTUR DATA LAB REKAYASA PERANGKAT LUNAK | TEKNIK INFORMATIKA UNKHAIR 17 a. Pembuatan program dengan cara: File-New-Source File atau gunakan CTRL+N b. Ketik Source code program seperti dibawah ini: #include <iostream> Using namespace std; Int main () { //menampilkan tulisan Hello world kelayar Cout<<”Hello World”<<endl; Cout<<”Nama: Dea Revananda ”<<endl; Cout<<”NPM: 07352211027”; Return 0 ; } c. Compile dan perbaiki program sampai benar
PRAKTIKUM ALGORITMA DAN STRUKTUR DATA LAB REKAYASA PERANGKAT LUNAK | TEKNIK INFORMATIKA UNKHAIR 18 Gambar 1.8 Hasil Running Keterangan: #include adalah sebuah prosesor pengarah yang mengatakan kepada kompiler untuk meletakan kode dari header file iostream.h kedalam program. Fungsi cout memerlukan file iostream.h. Main adalah nama judul fungsi. Tanda () digunakan untuk mengapit argumen fungsi yaitu nilai yang akan dilewatkan ke fungsi. Tanda { pada fungsi main() menyatakan awal eksekusi program. Adapun } pada fungsi main() menyatakan akhir eksekusi program. Pemakaian fungsi cout dipakai untuk menampilkan text di layar monitoranda. Memakai tanda atau symbol <<, yang diketahui sebagai operator pemasukan (insertion operators). Tanda tersebut mengatakan kepada kompiler agar segera menghasilkan output sesuai dengan input anda. ”Hello world“adalah suatu pernyataan yang diapait oleh tanda petik ganda. Setiap pernyataan harus diakhiri dengan tanda titik koma (;). Return 0 maksudnya pada baris ini juga ada kode yang memerintahkan fungsi main kembali ke 0. Pada saat satu kali kembali. 1.7 Flowchart Flowchart atau diagram alir merupakan sebuah diagram dengan simbolsimbol grafis yang menyatakan aliran algoritma atau proses yang menampilkan langkah-langkah,
PRAKTIKUM ALGORITMA DAN STRUKTUR DATA LAB REKAYASA PERANGKAT LUNAK | TEKNIK INFORMATIKA UNKHAIR 19 secara berurutan dengan menghubungkan masing masing langkah tersebut menggunakan tanda panah. Diagram ini bisa memberi solusi selangkah demi selangkah untuk penyelesaian masalah yang ada di dalam proses atau algoritma tersebut. Tabel 1.6 diagram alir
PRAKTIKUM ALGORITMA DAN STRUKTUR DATA LAB REKAYASA PERANGKAT LUNAK | TEKNIK INFORMATIKA UNKHAIR 20 1.8 Kesimpulan dan saran 1.8.1 Ksesimpulan C++merupakan bahasa pemograman yang banyak digunakan dan memungkinkan kita untuk mengexecute dan mengkompilasi kode yang ramping dan efisien sambil tetap memberikan abstraksi tingkat tinggi untuk mengelola proyek pengembangan besar dengan lebih baik beberapa keunggulan lainnya adalah: berorientasi pada objek, cepat, kuat dan bisa diandalkan, portabilitas yang baik dan masih banyak lagi. 1.8.2 Saran Diperlukan ketelitian dalam penulisan ataupun pengetikkan ejaan pada source kode dengan memperhatikan tata cara dan struktur penulisannya agar ketika melakukan proses running nanti tidak terdapat eror.
PRAKTIKUM ALGORITMA DAN STRUKTUR DATA LAB REKAYASA PERANGKAT LUNAK | TEKNIK INFORMATIKA UNKHAIR 22 BAB II VARIABEL DAN KONSTANTA 2.1 Pendahuluan 2.1.1 Variabel Variabel adalah tempat menyimpan nilai (angka, huruf, dan lain-lain) dan bersifat tidak tetap, atau dengan kata lain variabel adalah identifier yang dapat berubah atau diubah nilainya selama program berjalan (dieksekusi), dan Variabel Berfungsi untuk menyimpan data sementara. Identifier adalah suatu nama yang diciptakan oleh program untuk memberikan namapada variabel, fungsi dan class. Variabel digunakan dalam program untuk menyimpan suatu nilai, dan nilai yang ada padanya dapat diubah-ubah selama eksekusi program berlangsung. Pada sebagian besar bahasa pemrograman, variabel harus dideklarasikan lebih dulu untuk mempermudah compiler bekerja. Apabila variabel tidak dideklarasikan maka setiap kali compiler bertemu dengan variabel baru pada kode program akan terjadi waktu tunda karena compiler harus membuat variabel baru. Hal ini memperlambat proses kerja compiler. Bahkan pada beberapa bahasa pemrograman, compiler akan menolak untuk melanjutkan proses kompilasi. Pemberian nama variabel harus mengikuti aturan yang ditetapkan oleh bahasa pemrograman yang kita gunakan. 2.1.2 Konstanta Konstanta adalah variabel yang nilai datanya bersifat tetap dan tidak bisa diubah. Jadi konstanta adalah juga variabel bedanya adalah pada nilai yang disimpannya. Jika nilai datanya sepanjang program berjalan tidak berubahubah, maka sebuah varibel lebih
PRAKTIKUM ALGORITMA DAN STRUKTUR DATA LAB REKAYASA PERANGKAT LUNAK | TEKNIK INFORMATIKA UNKHAIR 23 baik diperlakukan sebagai konstanta.Pada sebuah kode program, biasanya nilai data dari konstanta diberikan langsung dibagian deklarasi konstanta. Sedangkan untuk variabel biasanya hanya ditentukan nama variabel dan tipe datanya tanpa isian nilai data. Aturan penamaan variabel juga berlaku untuk penamaan konstanta. Demikian juga aturan penetapan tipe data. konstanta dibagi menjadi empat: 1. Konstanta integer, berupa integer biasa, integer panjang (long int) dan integer takbertanda (unsigned integer). Nilainya dapat berupa desimal, oktal atau hexadesimal. 2. Konstanta floating point, dapat mengandung nilai pecahan, yang biasa ditulis dalam bentuk pecahan biasa maupun bentuk eksponensial dan selalu dinyatakan dalam double,kecuali jika diakhiri dengan F atau f (menyatakan konstanta float). 3. Konstanta string, merupakan deretan karakter yang diawali dan diakhiri dengan tanda 4. petik ganda (“…“). Juga dapat mengandung karakter yang menggunakan tanda \ yang disebut karakter escape (escape sequence). Konstanta karakter, selalu diawali dan diakhiri dengan tanda petik tunggal („…‟). Beberapa konstanta karakter dapat diawali dengan tanda \ (penempatannya setelahtanda petik tunggal). 2.2 Tujuan a. Mempraktekkan variabel dan konstanta b. Membuat file kerja
PRAKTIKUM ALGORITMA DAN STRUKTUR DATA LAB REKAYASA PERANGKAT LUNAK | TEKNIK INFORMATIKA UNKHAIR 24 c. Memulai membuat program baru, meng-compile, menyimpan dan menjalankan program yang telah dibuat d. Memanggil membuka kembali program yang telah disimpan e. Membuat program menjadi program yang execute 2.3 Langkah –Langkah Kegiatan Praktikum a. Bukalah aplikasi Dev C++ melalui start menu Gambar 2.1 tampilan aplikasi Dev C++ b. Tampilan awal tampak seperti gambar dibawah Gambar 2.2 Tampilan awal Dev C++
PRAKTIKUM ALGORITMA DAN STRUKTUR DATA LAB REKAYASA PERANGKAT LUNAK | TEKNIK INFORMATIKA UNKHAIR 25 c. Buatlah program baru dengan cara file – new – source atau gunakan CTRL + N atau seperti gambar dibawah ini Gambar 2.3 membuat project baru d. Tampilan jendela kerja Dev C++ Gambar 2.4 Jendela kerja C++
PRAKTIKUM ALGORITMA DAN STRUKTUR DATA LAB REKAYASA PERANGKAT LUNAK | TEKNIK INFORMATIKA UNKHAIR 26 e. Setelah menulis source code program, tekan compile and run seperti gambar Gambar 2.5 simbol compile and run f. Akan muncul dialog untuk menyimpan program, beri nama sesuai dengan keinginan anda, kemudian save dengan ekstensi “cpp” seperti gambar dibawah ini Gambar 2.6 menyimpan program
PRAKTIKUM ALGORITMA DAN STRUKTUR DATA LAB REKAYASA PERANGKAT LUNAK | TEKNIK INFORMATIKA UNKHAIR 27 g. Tampilan jendela run program pada Dev C++ seperti gambar dibawah ini Gambar 2.7 Jendela run Dev C++ 2.4 Laporan Hasil Kerja Praktikum 2.4.1 Praktikum 1 Nama Praktikum: Program Pertamaku 1. Tools yang digunakan Dev C++ 2. Masukkan source code programnya seperti dibawah ini:
PRAKTIKUM ALGORITMA DAN STRUKTUR DATA LAB REKAYASA PERANGKAT LUNAK | TEKNIK INFORMATIKA UNKHAIR 28 Gambar 2.8 pembuatan source code program pertamaku 3. Compile program dengan menekan F9 Gambar 2.9 compile 4. Jalankan program dengan menekan F10
PRAKTIKUM ALGORITMA DAN STRUKTUR DATA LAB REKAYASA PERANGKAT LUNAK | TEKNIK INFORMATIKA UNKHAIR 29 Gambar 2.10 Hasil running praktikum 1 2.4.2 Praktikum 2 Nama Praktikum : Luas Persegi Panjang 1. Tools yang digunakan Dev C++ Rumus : Luas = Panjang x Lebar 2. Luas Persegi Panjang 3. Algoritma Menggunakan Bahasa Natural a. Mulai b. Masukkan Panjang c. Masukkan Lebar d. Hitung Luas = Panjang x Lebar e. Tampilkan Luas f. Selesai
PRAKTIKUM ALGORITMA DAN STRUKTUR DATA LAB REKAYASA PERANGKAT LUNAK | TEKNIK INFORMATIKA UNKHAIR 30 4. Flowchart Gambar 2.11 Flowchart menghitung luas persegi panjang Penjelasan : Flowchart diatas menjelaskan cara menghitung luas persegi panjang, dengan cara inisialisasi variabel kemudian masukkan panjang dan lebar. Hitung dengan menggunakan rumus luas = panjang dan lebar, setelah itu output luas persegi panjang. 5. Langkah-langkah Praktikum a. bukalah Software Dev C++ mulai Luas, Lebar, Panjang Input Lebar dan Panjang Luas = Panjang x Lebar Selesai Output Luas
PRAKTIKUM ALGORITMA DAN STRUKTUR DATA LAB REKAYASA PERANGKAT LUNAK | TEKNIK INFORMATIKA UNKHAIR 31 Gambar 2.12 Jendela Kerja Dev C++ b. asukkan source code berdasarkan algoritma yang diberikan Gambar 2.13 Source Code c. Compile program dengan menekan F9