Anda di halaman 1dari 16

LAPORAN

PRAKTIKUM ALGORITMA &


PEMROGRAMAN MODUL 1

NAMA : Muhammad Pakhriz Alif


NIM : 20230910065
KELAS : SINFC - 02 - 2023

FAKULTAS ILMU KOMPUTER


PROGRAM STUDI SISTEM
INFORMASI TAHUN 2023
FORM PENILAIAN
LAPORAN
KOMPONEN PENILAIAN
NO SUB PENILAIAN
Analisis Code Deskripsi Rangkuman Waktu
Nilai
Penyelesaian program code Kompetensi pengumpulan
sub
& program
Total
running

PREE TEST &


1 STUDI KASUS
PRAKTIKUM

SOAL POST
2
TEST

3 SOAL TUGAS

SISTEMATIKA
4
LAPORAN
TOTAL NILAI LAPORAN MODUL KE -

PRAKTIKUM

1. Praktikum modul -1

Sintaks :
Ket Hasil Run Program :

Program ini adalah program C++ sederhana yang menghitung dan menampilkan luas persegi
panjang dengan panjang 5 dan lebar 4. Hasilnya ditampilkan dalam pesan-pesan di layar, termasuk
informasi tentang panjang, lebar, dan luas persegi panjang.

Rangkuman Kompetensi :
Program ini menunjukkan kompetensi dasar dalam:
1. Deklarasi dan inisialisasi variabel.
2. Penggunaan operator matematika untuk perhitungan.
3. Penggunaan output stream (`cout`) untuk menampilkan informasi di layar.
4. Penggunaan fungsi `main()` sebagai titik awal eksekusi program dalam bahasa C++.

Computational Thinking! :

Program ini mencerminkan pemikiran komputasional dengan:


1. Pemecahan Masalah* Menggunakan variabel dan operasi matematika untuk menghitung
luas persegi panjang.
2. Algoritma: Menyusun langkah-langkah logis dalam fungsi `main()` untuk menjalankan
program secara sistematis.
3. Logika Pemrograman: Menggunakan struktur logika dalam operasi matematika dan tata
letak pernyataan untuk mencapai hasil yang diinginkan.
4. Pemahaman Program: Menunjukkan pemahaman terhadap konsep dasar bahasa
pemrograman C++.

Dengan menerapkan konsep Computational Thinking, kita dapat melihat bahwa kode ini
dirancang dengan baik untuk menyelesaikan tugas sederhana, yaitu menghitung dan
menampilkan luas persegi panjang.

POST TEST MODUL 1

1. Buatlah program dalam bahasa C++ menggunakan variable string secara dinamis dan tampilkan
hasil keluaran programnya.

Analisis Penyelesaian Program


Program tersebut menggunakan variabel string secara dinamis untuk menunjukkan konsep alokasi
memori dinamis dalam C++. Berikut analisisnya:
1. Deklarasi Pointer String Dinamis: Program mendeklarasikan pointer string (`dinamicString`) yang
memungkinkan alokasi memori dinamis untuk penyimpanan string.

2. Alokasi Memori Dinamis: Menggunakan operator `new`, program mengalokasikan memori


dinamis untuk menyimpan string.

3. Pengisian Nilai String:Nilai string ("Hello, ini string dinamis!") ditugaskan ke variabel string yang
dialokasikan secara dinamis.

4. Menampilkan Hasil: Program menampilkan string dinamis menggunakan `cout`.

5. Dealokasi Memori: Setelah selesai digunakan, operator `delete` digunakan untuk membebaskan
memori yang telah dialokasikan secara dinamis, mencegah kebocoran memori.

Dengan demikian, program tersebut mencakup konsep dasar alokasi dan dealokasi memori dinamis
serta penggunaan variabel string secara dinamis dalam lingkungan bahasa pemrograman C++.
Program ini dirancang untuk mendemonstrasikan penggunaan variabel string dinamis dalam C++,
memastikan kebersihan kode, keamanan input, dan manajemen memori yang baik.

Berikut adalah kode program C++ yang dapat digunakan untuk menyelesaikan Soal Post Tes

Ket Hasil Run Program


Program ini meminta pengguna memasukkan nama, menyimpannya dalam variabel string
dinamis, dan kemudian menampilkan pesan sambutan dengan menggunakan nilai yang
dimasukkan pengguna.

Rangkuman Kompetensi

1. Dinamika Memori: Memahami konsep alokasi dan dealokasi memori dinamis dengan
menggunakan operator `new` dan `delete`.

2. Pemahaman Pointer: Mendeklarasikan dan menggunakan pointer untuk mengakses dan mengelola
data secara dinamis.

3. Manipulasi String: Penggunaan variabel string untuk menyimpan dan memanipulasi data string.

4. Output Program: Menampilkan hasil program dengan menggunakan `cout` untuk output informasi.

5. Best Practices: Memastikan pembebasan memori setelah digunakan untuk mencegah kebocoran
memori (memory leaks).

Program ini mencakup berbagai konsep dasar pemrograman C++ dan menunjukkan pemahaman yang
baik terhadap pengelolaan memori, manipulasi string, dan interaksi dengan pengguna.
Computational Thinking!

1. Pemecahan Masalah: Mampu mendekomposisi masalah besar menjadi masalah yang lebih
kecil, lebih mudah dikelola, dan kemudian memecahkan setiap bagian secara terpisah.
2. Algoritma: Mengembangkan langkah-langkah logis dan urutan instruksi yang terstruktur
untuk menyelesaikan masalah atau tugas tertentu.
3. Pengenalan Pola: Mampu mengidentifikasi pola atau struktur yang mendasari masalah dan
menemukan solusi yang dapat diulang.
4. Representasi Data: Kemampuan untuk merepresentasikan data dan informasi dengan cara
yang mudah dipahami oleh komputer, seperti menggunakan variabel, array, atau struktur data
lainnya.
5. Pemikiran Abstrak: Mampu memahami konsep secara abstrak, mengabaikan detail yang
tidak perlu dan fokus pada inti dari masalah atau tugas.
6. Automatisasi: Mencari cara untuk mengotomatiskan tugas atau proses dengan
mengidentifikasi pola yang dapat diprogram.
7. Simulasi: Membuat model atau simulasi dari suatu situasi untuk memahami dan menguji
berbagai skenario sebelum mengambil keputusan.

Dengan menerapkan konsep Computational Thinking, kita dapat melihat bahwa kode ini tidak hanya
berfungsi sesuai dengan kebutuhan tetapi juga mencerminkan pemikiran logis, pemecahan masalah
yang baik, dan kesadaran akan aspek keamanan dan manajemen memori.
Tugas Modul 1

1. Buatlah algoritma flowchart dan pesuodocode serta progam untuk mamasukan nilai melalui
variable dan mengkonversi kedalam kode ASCII.

ANALISIS PENYELESAIANYAN SOAL TUGAS 1 :

Analisis Penyelesaian Program:

1. Deklarasi Variabel:
- Variabel `karakter` dideklarasikan sebagai `char` untuk menyimpan nilai yang
dimasukkan oleh pengguna.

2. Input Pengguna:
- Program menggunakan `std::cin` untuk meminta pengguna memasukkan nilai dan
menyimpannya dalam variabel `karakter`.

3. Konversi ke Kode ASCII:


- Menggunakan `static_cast<int>(karakter)` untuk mengkonversi nilai `karakter` ke dalam
kode ASCII yang diwakili sebagai nilai integer.

4. Output Hasil Konversi:


- Menampilkan pesan yang mencakup nilai asli yang dimasukkan oleh pengguna dan kode
ASCII yang sesuai menggunakan `std::cout`.

5. Return 0 dan Penutup Program:


- Mengembalikan nilai 0 sebagai indikasi bahwa program berjalan tanpa masalah.

6. Interaksi dengan Pengguna:


- Program dirancang untuk berinteraksi dengan pengguna dengan meminta input dan
memberikan output yang menyertakan informasi tentang nilai dan kode ASCII.

7. Keterbacaan dan Kebersihan Kode:


- Kode ditulis dengan tata letak yang bersih dan menggunakan tanda kurung kurawal `{}`
untuk menandai blok kode, meningkatkan keterbacaan.
8. Pemahaman Dasar Pemrograman C++:
- Program mencakup konsep dasar pemrograman C++ seperti variabel, input/output, tipe
data, dan operasi konversi.

9. Kesadaran Terhadap Keamanan Input:


- Meskipun tidak ada masukan yang dapat merusak dalam program ini, kesadaran
terhadap keamanan input menjadi relevan pada aplikasi yang lebih kompleks.

10. Potensi Perbaikan:


- Program dapat diperluas dengan menambahkan penanganan kesalahan untuk
memastikan bahwa pengguna memasukkan nilai yang sesuai.

Dengan menerapkan konsep ini, program memberikan solusi sederhana untuk


memasukkan nilai, mengonversinya ke dalam kode ASCII, dan menampilkan hasilnya.

Berikut adalah kode program C++ yang dapat digunakan untuk menyelesaikan Soal Tugas 1

Ket Hasil Run Program


Kode tersebut dirancang untuk memungkinkan pengguna memasukkan nilai melalui variabel,
kemudian mengonversinya ke dalam kode ASCII, dan akhirnya menampilkan nilai asli dan kode
ASCII yang sesuai. Program ini memberikan pemahaman praktis tentang bagaimana nilai karakter
dapat diwakili dalam bentuk kode ASCII.

Rangkuman Kompetensi

1.Input dan Output


- Program dapat meminta input dari pengguna dan menampilkan output dengan
menggunakan fungsi `std::cin` dan `std::cout`.

2. Variabel dan Tipe Data


- Penerapan variabel `char` untuk menyimpan nilai karakter dari input pengguna.

3. Konversi Tipe Data


- Menggunakan `static_cast` untuk mengonversi nilai karakter ke dalam kode ASCII yang
diwakili sebagai nilai integer.

4. Interaksi dengan Pengguna


- Program dirancang untuk berinteraksi dengan pengguna dengan memberikan petunjuk
untuk memasukkan nilai.

5. Kesadaran Terhadap Keamanan


- Meskipun sederhana, program ini menunjukkan kesadaran terhadap keamanan input
dengan menggunakan `char` untuk nilai karakter.

6. Manajemen Memori
- Tidak ada alokasi atau penghapusan memori yang rumit dalam kasus ini, tetapi program
menunjukkan penggunaan variabel secara efisien.

7. Penanganan Tipe Data Karakter


- Program menggambarkan cara menggunakan tipe data karakter (`char`) dan bagaimana
mengonversinya ke dalam tipe data lain.
8. Pemahaman Dasar Pemrograman C++
- Kode ini mencakup konsep dasar pemrograman C++ seperti tipe data, variabel, dan
konversi tipe data.

9. Kode yang Bersih dan Keterbacaan


- Kode ditulis dengan tata letak yang bersih dan keterbacaan yang baik, menggunakan
indentasi dan tanda kurung kurawal dengan benar.

10. Simplicity (Kesederhanaan)


- Program dirancang dengan sederhana untuk mencapai tujuan spesifik tanpa
kompleksitas yang tidak perlu.

Program ini memberikan dasar untuk pemahaman konsep dasar pemrograman C++,
input/output, dan konversi tipe data, dengan fokus pada interaksi dengan pengguna.

Computational Thinking

1. Pemecahan Masalah (Decomposition):


- Tahap 1: Identifikasi masalah - Konversi nilai karakter ke dalam kode ASCII.
- Tahap 2: Pecahkan masalah - Pisahkan tugas menjadi input, konversi, dan output.

2. Pengenalan Pola (Pattern Recognition):


- Pola 1:Penggunaan variabel `char` untuk menyimpan nilai karakter.
- Pola 2: Konversi nilai ke dalam kode ASCII menggunakan `static_cast`.

3. Penyederhanaan (Abstraction):
- Abstraksi 1: Fokus pada konsep konversi nilai ke dalam kode ASCII tanpa memahami
detail implementasi.
- Abstraksi 2: Memandang program sebagai langkah-langkah input, proses, dan output.

4. Perancangan Algoritma (Algorithm Design):


- Langkah 1: Meminta input dari pengguna.
- Langkah 2: Mengonversi nilai ke dalam kode ASCII.
- Langkah 3: Menampilkan hasil konversi.

5. Pemikiran Logis (Logical Thinking):


- Pemikiran 1: Memastikan pengguna memasukkan nilai karakter yang valid.
- Pemikiran 2: Konversi logis nilai karakter ke dalam kode ASCII.

6. Pencarian Kesalahan (Debugging):


- Kesalahan 1: Program sederhana ini memiliki risiko kesalahan input, yang dapat diatasi
dengan penanganan kesalahan lebih lanjut.

7. Keterlibatan Pengguna (User Involvement):


- Program meminta input pengguna, meningkatkan keterlibatan dan interaktivitas.

8.Analisis Keamanan (Security Analysis):


- Meskipun sederhana, program ini memperhitungkan keamanan input dengan
menggunakan tipe data yang tepat.

9. Manajemen Memori yang Baik:


- Tidak ada kompleksitas manajemen memori dalam program ini, tetapi penggunaan
variabel secara efisien.

10.Penyesuaian dengan Kebutuhan (Customization):


- Program dapat disesuaikan dengan mudah dengan menambahkan fitur tambahan atau
meningkatkan keamanan input.

Melalui penerapan Computational Thinking, program ini menjadi solusi sederhana dan
keterlibatan pengguna yang baik untuk konversi nilai karakter ke dalam kode ASCII.

2. Buatlah algoritma flowchart dan pesuodocode serta progam untuk memasukan satu karakter dan
beberapa karakter (baik dalam bentuk kata atau kalimat) dengan menggunakan kombinasi header file
dan menampilkan apa yang telah diinputkan.

ANALISIS PENYELESAIANYAN SOAL TUGAS 1 SOAL NOMOR 2:


1. Deklarasi Variabel:
- Variabel `satuKarakter` dideklarasikan untuk menyimpan satu karakter.
- Variabel `beberapaKarakter` dideklarasikan sebagai string untuk menyimpan beberapa karakter
2. Input Satu Karakter:
- Menggunakan `std::cin` untuk memasukkan satu karakter dari pengguna.

3. Membersihkan Buffer:
- Menggunakan `std::cin.ignore` untuk membersihkan buffer agar tidak mempengaruhi input
selanjutnya.

4. Input Beberapa Karakter:


- Menggunakan `std::getline` untuk memasukkan beberapa karakter (kata atau kalimat) dari
pengguna.

5. Output Hasil Input:


- Menggunakan `std::cout` untuk menampilkan apa yang telah diinputkan, baik satu karakter
maupun beberapa karakter.

6. Return 0 dan Penutup Program:


- Mengembalikan nilai 0 sebagai indikasi bahwa program berjalan tanpa masalah.

7. Interaksi dengan Pengguna:


- Program dirancang untuk berinteraksi dengan pengguna dengan meminta input dan
menampilkan output yang sesuai.

8. Keterbacaan dan Kebersihan Kode:


- Kode ditulis dengan tata letak yang bersih dan keterbacaan yang baik, menggunakan tanda
kurung kurawal `{}` untuk menandai blok kode.

9. Manajemen Memori yang Baik:


- Meskipun tidak ada alokasi memori dinamis, program ini menunjukkan penggunaan variabel
secara efisien.

10. Pemahaman Dasar Pemrograman C++:


- Program mencakup konsep dasar pemrograman C++ seperti variabel, input/output, dan
manipulasi string.

Program ini memberikan solusi sederhana untuk memasukkan satu karakter dan beberapa karakter
(kata atau kalimat) dari pengguna, dan menampilkan hasil input tersebut.
Berikut adalah kode program C++ yang dapat digunakan untuk menyelesaikan Soal Tugas 1
soal 2:

Ket Hasil Run Program


Kode tersebut adalah program sederhana yang memungkinkan pengguna memasukkan satu
karakter dan beberapa karakter (kata atau kalimat) melalui terminal. Program menggunakan
fungsi-fungsi dari header file `<iostream>` dan `<string>` untuk operasi input/output dan bekerja
dengan string. Setelah pengguna memasukkan nilai, program membersihkan buffer input untuk
memastikan input berjalan dengan benar. Hasil input, baik satu karakter maupun beberapa
karakter, kemudian ditampilkan kembali ke pengguna.

Rangkuman Kompetensi

1. Penggunaan Header File:


- Program menggunakan kombinasi header file `<iostream>` dan `<string>` untuk operasi
input/output dan manipulasi string.

2. Deklarasi dan Penggunaan Variabel:


- Variabel `satuKarakter` dan `beberapaKarakter` dideklarasikan dan digunakan untuk
menyimpan input pengguna.

3. Input dan Output:


- Menggunakan `std::cin` untuk memasukkan satu karakter dan `std::getline` untuk
memasukkan beberapa karakter (kata atau kalimat).
- Menggunakan `std::cout` untuk menampilkan hasil input kepada pengguna.

4. Penanganan Buffer Input:


- Menggunakan `std::cin.ignore` untuk membersihkan buffer input sehingga input
selanjutnya tidak terpengaruh.

5. Pemahaman String:
- Menggunakan tipe data string (`std::string`) untuk menyimpan dan memanipulasi
beberapa karakter.

6. Kesadaran Terhadap Keamanan Input:


- Menggunakan metode yang benar untuk membersihkan buffer input, menghindari
potensi masalah seperti overflow.

7. Interaksi dengan Pengguna:


- Program dirancang untuk berinteraksi dengan pengguna, meminta input dan memberikan
output yang informatif.

8. Kode yang Bersih dan Keterbacaan:


- Kode ditulis dengan tata letak yang bersih dan keterbacaan yang baik, mengikuti praktik-
praktik pemrograman yang baik.

9. Penggunaan Batasan Tipe Data:


- Menggunakan tipe data yang sesuai, seperti `char` dan `std::string`, sesuai dengan
kebutuhan.

10. Manajemen Memori yang Baik:


- Program ini tidak melibatkan alokasi atau penghapusan memori dinamis, tetapi
menunjukkan penggunaan variabel secara efisien.

Program ini memberikan solusi untuk memasukkan satu karakter dan beberapa karakter dari
pengguna, menampilkan hasilnya, dan mencerminkan sejumlah kompetensi dasar dalam
pemrograman C++.

Coputational Thinking!

1. Pemecahan Masalah (Decomposition):


- Identifikasi dan pecahkan masalah menjadi langkah-langkah terpisah.

2. 8Pengenalan Pola (Pattern Recognition):


- Menggunakan pola input dengan `std::cin` dan `std::getline`.
- Menggunakan pola untuk membersihkan buffer input.

3. Penyederhanaan (Abstraction):
- Melihat program sebagai langkah-langkah input, manipulasi string, dan output.
- Fokus pada fungsionalitas dasar seperti manipulasi karakter.

4. Perancangan Algoritma (Algorithm Design):


- Menggunakan algoritma sederhana untuk menerima dan menampilkan input.

5. Pemikiran Logis (Logical Thinking):


- Mengelola input dan output secara logis dan terstruktur.

6. Pencarian Kesalahan (Debugging):


- Mengidentifikasi dan mengatasi kesalahan terkait buffer input.
7. Keterlibatan Pengguna (User Involvement):
- Menciptakan interaksi yang baik dengan pengguna melalui pesan yang jelas.

8. Analisis Keamanan (Security Analysis):


- Mengimplementasikan langkah-langkah untuk mengamankan input, termasuk
membersihkan buffer.

9. Manajemen Memori yang Baik:


- Menggunakan variabel secara efisien dan membersihkan buffer untuk mencegah
kebocoran memori.

10. Penyesuaian dengan Kebutuhan (Customization):


- Program dapat disesuaikan dengan mudah dengan menambahkan fungsionalitas
tambahan.

Melalui penerapan Computational Thinking, program ini memberikan solusi yang efisien dan
terstruktur untuk menerima dan menampilkan input pengguna.

Anda mungkin juga menyukai