TUGAS PERTEMUAN 2_STRUKTUR DATA (D)
Nama : Rado Putra Yustisiawan
NRP : 5025251048
Kelas : Struktur Data D
TUGAS 1
Mendwonload VS CODE dan memasang compiler C++ di dalamnya
TUGAS 2
konfigurasikan dengan GCC atau MINGW
TUGAS 3
Mencoba setiap short code yang tersedia, dengan format pengerjaan
a. Nama program dan deskripsi
b. Screenshoot dari program
c. Penjelasan dari program
d. Link source code
1) KODE 1
a. Nama program dan deskripsi
Nama program : Basic C++
Deskripsi : Program ini adalah struktur paling dasar dalam bahasa pemrograman C++. Tujuannya untuk menampilkan teks hello world (string) ke layar terminal/konsol sebagai tanda bahwa lingkungan pengembangan (environment) sudah siap digunakan
b. Screenshoot
c. Penjelasan program
#include <iostream>: Baris ini merupakan instruksi preprocessor yang berfungsi untuk menyertakan pustaka (library) standar iostream. Pustaka ini menyediakan fasilitas dasar untuk operasi input dan output dalam C++ using namespace std;: Pernyataan ini digunakan untuk memberitahu compiler bahwa program akan menggunakan ruang nama (namespace) standar. Hal ini memungkinkan penggunaan objek seperti cout secara langsung tanpa harus menuliskan awalan std:: int main() { ... }: Ini adalah fungsi utama yang menjadi titik awal eksekusi program. Setiap instruksi yang berada di dalam blok kurung kurawal { } akan diproses secara berurutan oleh sistem saat program dijalankan cout << "Hello, World!";: Perintah cout (Console Out) digunakan untuk mengirim data ke aliran output standar (layar). Operator << berfungsi sebagai perantara untuk mengarahkan teks yang berada di dalam tanda kutip ke monitor return 0;: Pernyataan ini berfungsi untuk mengakhiri fungsi main dan mengirimkan sinyal kepada sistem operasi bahwa program telah berhasil dijalankan secara normal tanpa adanya kesalahan (exit status success). d. Link source code :
https://drive.google.com/file/d/15fvKeaGdEy3RctGZgoCbpHEaeXMg2zdn/view?usp=drive_link
2) KODE 2
a. Nama program dan deskripsi
Nama program : implementasi dasar C++
Deskripsi : Program ini merupakan struktur dasar dalam bahasa C++ yang berfungsi untuk menampilkan pesan teks statis ke layar pengguna.
b. Screenshoot
c. Penjelasan program
#include <iostream>: Berfungsi sebagai instruksi untuk menyertakan pustaka Input-Output Stream agar program dapat menggunakan fungsi cout
using namespace std;: Digunakan agar kita dapat menggunakan fitur-fitur standar C++ (seperti cout) secara langsung tanpa menuliskan awalan std::.int main() { ... }: Merupakan fungsi utama di mana eksekusi kode dimulai. Semua logika program diletakkan di dalam blok inicout << "Hello, World!";: Perintah ini menginstruksikan komputer untuk mencetak teks yang berada di dalam tanda kutip ke layar konsolreturn 0;: Memberikan sinyal kepada sistem operasi bahwa program telah berjalan dan berakhir dengan sukses. d. Link source code : https://drive.google.com/file/d/1ikVd9BmDJ7redUiaWj3-h5K9noXWWxd6/view?usp=sharing
3) KODE 3
a. Nama program dan deskripsi
Nama program : output nama dengan fungsi puts
deskripsi : Program ini mendemonstrasikan cara menampilkan sebuah rangkaian karakter (string) ke layar konsol menggunakan fungsi
puts() sebagai alternatif dari objek cout. b. Screenshoot
c. Penjelasan program
#include <bits/stdc++.h>: Baris ini berfungsi untuk menyertakan pustaka standar C++ secara menyeluruh, sehingga fungsi puts() dapat dikenali oleh compiler.using namespace std;: Instruksi ini digunakan agar program dapat mengakses fitur-fitur dalam ruang nama standar secara langsung.Fungsi
puts("Anmol"): Ini adalah instruksi utama untuk mencetak teks. Berbeda dengan cout, fungsi puts() secara otomatis menambahkan karakter baris baru (newline) di akhir teks yang dicetak.Logika Kerja: Program akan masuk ke fungsi
main, memanggil fungsi puts untuk mengirim string "Anmol" ke output layar, dan kemudian berhenti.
return 0;: Menandakan bahwa seluruh proses dalam fungsi utama telah selesai dijalankan dengan benar oleh sistem. d. Link source code:
https://drive.google.com/file/d/1Qji8PmspFI5EtgaF1rHbWErkvaDSnljS/view?usp=drive_link
4) KODE 4
a. Nama program dan deskripsi
Nama program : implementasi pengambilan input tunggal dengan cin
Deskripsi : Program ini bertujuan untuk mendemonstrasikan penggunaan objek
cin dari pustaka iostream untuk membaca data dari perangkat input standar (keyboard) dan menyimpannya ke dalam variabel. b. Screenshoot
c. Penjelasan program
#include <iostream>: Menyertakan pustaka yang diperlukan untuk menggunakan objek cin (input) dan cout (output).int i;: Deklarasi variabel i dengan tipe data integer sebagai wadah untuk menyimpan angka yang akan dimasukkan.cin >> i;: Menggunakan objek cin bersama operator extraction (>>) untuk mengambil data dari user dan memasukkannya ke dalam variabel i.cout << i;: Menampilkan nilai yang tersimpan di dalam variabel i kembali ke layar konsol.Logika Kerja: Program akan berhenti sejenak menunggu user mengetikkan angka (contoh: 10). Setelah tombol Enter ditekan, nilai tersebut dipindahkan ke memori variabel
i dan langsung dicetak ulang ke layar. d. Link source code :
https://drive.google.com/file/d/1acThtlBQizJF1NdU61yotuUI_Xzq0x3V/view?usp=drive_link
5) KODE 5
a. Nama program dan deskripsi
Nama program : implementasi operator modulo untuk mengklasifikasikan bilangan
Deskrips : Program ini digunakan untuk menentukan apakah suatu bilangan bulat termasuk kategori genap (even) atau ganjil (odd) dengan memanfaatkan sisa pembagian (modulo).
b. Screenshoot
Inisialisasi Variabel: Program menetapkan nilai integer
n sebesar 11.Logika Operator Modulo (
%): Program menggunakan operator % untuk mencari sisa hasil bagi antara variabel n dengan angka 2.Struktur Kondisional (
if-else):Jika
n % 2 menghasilkan nilai 0, maka bilangan tersebut habis dibagi dua dan diklasifikasikan sebagai Even (Genap).Jika hasil modulo bukan 0 (memiliki sisa), maka alur program masuk ke blok
else dan mencetak Odd (Ganjil).Hasil Eksekusi: Karena nilai
n adalah 11, hasil pembagiannya memiliki sisa, sehingga program akan menampilkan output "Odd". d. Link source code :
https://drive.google.com/file/d/14jC5o--8FVfFhZsP0Q9j0EFTq32ZB6ai/view?usp=drive_link
6) KODE 6
a. Nama program dan deskripsi
Nama program : Implementasi Perulangan Bersarang (Nested Loop) untuk Pola Angka.
Deskripsi : Program ini bertujuan untuk mencetak pola angka membentuk segitiga siku-siku di layar konsol menggunakan struktur perulangan for ganda.
b. Screenshoot
Inisialisasi Variabel: Program menyiapkan variabel
rows dan columns untuk mengatur baris dan kolom, variabel number dimulai dari 1 sebagai angka yang akan dicetak, dan n = 5 sebagai batas jumlah baris.Perulangan Luar (Outer Loop): Loop pertama (
rows) bertugas menentukan berapa banyak baris yang akan dibuat. Dalam kasus ini, loop berjalan dari 0 hingga nilai n.Perulangan Dalam (Inner Loop): Loop kedua (
columns) berjalan di dalam setiap baris. Jumlah pengulangannya bergantung pada nilai rows saat itu, sehingga menciptakan bentuk segitiga.Logika Pencetakan: Di dalam loop kolom, program mencetak nilai
number saat ini, lalu memberikan spasi.Increment Angka: Setelah mencetak satu angka, perintah
number++ menaikkan nilai angka tersebut sebesar 1 agar angka berikutnya berbeda.Ganti Baris: Perintah
cout << "\n" dijalankan setiap kali satu baris kolom selesai diproses agar baris berikutnya dimulai dari bawah. d. Link source code:
https://drive.google.com/file/d/1hJp6St-KHkhQe7zthMDXOkua8AsoFPIT/view?usp=sharing
7) KODE 7
a. Nama program dan deskripsi
Nama program : klasifikasi huruf vokal
Deskripsi : Program ini dirancang untuk menentukan apakah sebuah karakter yang dimasukkan (baik huruf kecil maupun huruf kapital) merupakan huruf vokal (vowel) atau huruf konsonan. Program ini mendemonstrasikan penggunaan fungsi dengan parameter serta logika percabangan if else dengan operator logika "OR".
b. Screenshoot
c. Penjelasan program
Definisi Fungsi
vowelOrConsonant(char x): Program ini membuat sebuah fungsi khusus bernama vowelOrConsonant yang menerima satu parameter berupa karakter (char x). Tujuannya agar pengecekan bisa dilakukan berulang kali tanpa menulis kode yang sama.Logika Percabangan (
if): Di dalam fungsi, terdapat kondisi if yang sangat panjang. Kondisi ini mengecek apakah karakter x sama dengan salah satu dari huruf vokal: 'a', 'e', 'i', 'o', 'u' (untuk huruf kecil) atau 'A', 'E', 'I', 'O', 'U' (untuk huruf kapital).Operator Logika
|| (OR): Program menggunakan operator || yang berarti jika salah satu saja kondisi tersebut benar (karakter adalah salah satu huruf vokal), maka program akan langsung menjalankan perintah untuk mencetak "Vowel".Blok
else: Jika karakter yang dimasukkan tidak memenuhi satupun syarat di blok if (artinya bukan huruf vokal), maka secara otomatis program akan menjalankan blok else dan mencetak "Consonant".Eksekusi pada
main():1. Saat
vowelOrConsonant('c') dipanggil, program mengecek 'c'. Karena 'c' bukan vokal, outputnya adalah Consonant.2. Saat
vowelOrConsonant('E') dipanggil, program mengecek 'E'. Karena 'E' ada dalam daftar vokal kapital, outputnya adalah Vowel. d. Link source code :
https://drive.google.com/file/d/1sxAu9LERXqKJ92Et52ndRWMX-2xrziQd/view?usp=drive_link
8) KODE 8
a. Nama program dan deskripsi
Nama program : program untuk mencari bilangan prima
Deskripsi : Program ini bertujuan untuk menemukan dan menampilkan semua bilangan prima yang berada di dalam rentang angka tertentu (dari
l sampai r). b. Screenshoot
c. Penjelasan program
Fungsi
isPrime(int n): Fungsi ini mengecek apakah sebuah angka adalah prima. Jika angka kurang dari sama dengan 1, maka bukan prima. Jika angka bisa dibagi habis oleh angka lain selain 1 dan dirinya sendiri (menggunakan perulangan dari 2 sampai n-1), maka fungsi mengembalikan false.Fungsi
findPrimes(int l, int r): Fungsi ini melakukan perulangan dari batas bawah (l) hingga batas atas (r). Di setiap angka, fungsi isPrime dipanggil. Jika benar prima, angka tersebut dicetak menggunakan printf.Variabel
found: Digunakan sebagai penanda (flag). Jika sampai akhir rentang tidak ada angka prima yang ditemukan, program akan memberikan pesan "No prime numbers found...".Logika Kerja: Dengan input
l=10 dan r=30, program akan memeriksa angka 10, 11, ..., 30 satu per satu dan hanya menampilkan angka yang lolos seleksi fungsi isPrime. d. Link source code :
https://drive.google.com/file/d/1d8aYnr9xGTTkAhAl-8nU3KlnV1VkA7Pn/view?usp=drive_link
9) KODE 9
a. Nama program dan deskripsi
Nama program : analisis elemen array (pencarian nilai maximal)
Deskripsi : Program ini digunakan untuk mencari nilai terkecil (minimum) dan nilai terbesar (maksimum) dari sekumpulan data angka yang disimpan di dalam sebuah array menggunakan fungsi terpisah.
b. Screenshoot
c. Penjelasan program
Fungsi
getMin & getMax: Kedua fungsi ini menerima dua parameter: array data dan ukuran array (n). Logikanya, program mengasumsikan elemen pertama (arr[0]) sebagai juara sementara (res), lalu membandingkannya dengan elemen lain satu per satu menggunakan perulangan.Fungsi
min() dan max(): Program menggunakan fungsi bawaan C++ untuk mempermudah perbandingan nilai.Perhitungan Ukuran Array: Baris
int n = sizeof(arr) / sizeof(arr[0]); adalah teknik otomatis untuk menghitung jumlah elemen dalam array agar perulangan tidak kelebihan atau kekurangan.Logika Kerja: Dengan data
{12, 1234, 45, 67, 1}, program akan menyisir semua angka. Hasil akhirnya, angka 1 akan terdeteksi sebagai minimum dan 1234 sebagai maksimum. d. Link source code
https://drive.google.com/file/d/1HDgxnl7ZWesCBV7rc54q_P2uQPlxmEgn/view?usp=drive_link
10) KODE 10
a. Nama program dan deskripsi
Nama program : eksplorasi alamat memori dengan pointer
Deskripsi : Program ini mendemonstrasikan bagaimana sebuah pointer bekerja untuk menyimpan alamat memori dari sebuah variabel. Program ini menunjukkan perbedaan antara nilai variabel, alamat variabel, serta bagaimana pointer merujuk kembali ke nilai aslinya.
b. Screenshoot
Inisialisasi: Variabel
var diisi dengan nilai 10.Deklarasi Pointer: Baris
int* ptr = &var; membuat pointer ptr dan langsung mengisinya dengan alamat memori dari var menggunakan operator address-of (&).Logika Kerja Output:
1. var: Menampilkan nilai asli yaitu 10.2. &var: Menampilkan lokasi fisik variabel di memori komputer (format heksadesimal).3. ptr: Menampilkan isi dari pointer, yang ternyata sama dengan alamat var.4. *ptr: Menggunakan operator dereference untuk mengambil nilai yang ada di alamat tersebut, sehingga muncul angka 10. d. Link source code :
https://drive.google.com/file/d/1bu4r3hcSpxAMsuwxjtE2DPIQStjJwQEd/view?usp=drive_link
-----------------------------------------------------------------------------------------------------------------------
Itu dia implementasi kodingan saya untuk tugas kali ini. Saya sadar ini masih jauh dari sempurna, jadi mohon koreksinya jika ada kesalahan.
Let’s discuss in the comments if you have any thoughts.
Thankyou, ciao!
Komentar
Posting Komentar