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 ini

cout << "Hello, World!";: Perintah ini menginstruksikan komputer untuk mencetak teks yang berada di dalam tanda kutip ke layar konsol

return 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

    c. Penjelasan program 
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

    c. Penjelasan program
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 

    c. Penjelasan program
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

Postingan populer dari blog ini

TUGAS PERTEMUAN 6_STRUKTUR DATA (D)

TUGAS PERTEMUAN 3_STRUKTUR DATA (D)