TUGAS RTM DASAR PEMROGRAMAN
Dosen Pengampu:
Giri Wahyu Wiriasto, ST., MT.
Disusun Oleh:
Aura Salsabila Hayatina (F1B02310043)
Ehza Jumiati (F1B02310053)
PROGRAM STUDI TEKNIK ELEKTRO
FAKULTAS TEKNIK
UNIVERSITAS MATARAM
2023/2024
Q1: Tulis sebuah Program untuk Mencetak “Hello World!” pada Konsol (output)
A1: Script
#include <iostream>
using namespace std;
int main (){
cout << "Hello World!";
}
Hasil running
Rancangan Solusi
Q2: Tulis sebuah Program untuk mencari Jumlah dari dua angka yang dimasukkan oleh
pengguna.
A2: Script
#include <iostream>
using namespace std;
int main (){
int a, b;
cout << "Masukkan nilai a : ";
cin >> a;
cout << "Masukkan nilai b : ";
cin >> b;
cout << "Hasil penjumlahan : " << a + b << endl;
}
Hasil running
Rancangan Solusi
Q3: Tulis sebuah Program untuk mencari ukuran dari tipe data antara lain int, float, double,
dan char.
A3: Script
#include <iostream>
using namespace std;
int main (){
int intKarakter;
float floatKarakter;
double doubleKarakter;
char charKarakter;
cout << "Ukuran dari tipe data int \t: " <<
sizeof(intKarakter) << " byte" << endl;
cout << "Ukuran dari tipe data float \t: " <<
sizeof(floatKarakter) << " byte" << endl;
cout << "Ukuran dari tipe data double \t: " <<
sizeof(doubleKarakter) << " byte" << endl;
cout << "Ukuran dari tipe data char \t: " <<
sizeof(charKarakter) << " byte" << endl;
}
Hasil running
Rancangan Solusi
Q4: Tulis sebuah Program untuk Menukar nilai dari dua variabel.
A4: Script
#include <iostream>
using namespace std;
int main (){
int a, b, temp;
cout << "Masukkan nilai a : ";
cin >> a;
cout << "Masukkan nilai b : ";
cin >> b;
cout << "Nilai a dan b sebelum ditukar : " << a << " dan
" << b << endl;
temp = a;
a = b;
b = temp;
cout << "Nilai a dan b setelah ditukar : " << a << " dan
" << b;
}
Hasil running
Rancangan Solusi
Q5: Tulis sebuah Program untuk menghitung Bunga Majemuk.
A5: Script
#include <iostream>
#include <cmath>
using namespace std;
int main() {
double pokok, sukuBunga, waktu;
cout << "Masukkan pokok: ";
cin >> pokok;
cout << "Masukkan waktu (dalam tahun): ";
cin >> waktu;
cout << "Masukkan suku bunga (dalam desimal): ";
cin >> sukuBunga;
cout << endl;
double bungaMajemuk = pokok * pow((1 + sukuBunga / 100),
waktu);
cout << "Besar bunga majemuk setelah " << waktu << "
tahun adalah: " << bungaMajemuk << endl;
return 0;
}
Hasil running
Rancangan Solusi
Q6: Tulis sebuah Program untuk memeriksa apakah angka yang diberikan adalah Genap atau
Ganjil.
A6: Script
#include <iostream>
using namespace std;
int main() {
int angka;
cout << "Masukkan sebuah angka: ";
cin >> angka;
if (angka % 2 == 0) {
cout << "angka " << angka << " adalah angka Genap."
<< endl;
} else {
cout << "angka " << angka << " adalah angka Ganjil."
<< endl;
}
return 0;
}
Hasil running
Rancangan Solusi
Q7: Tulis sebuah Program untuk mencari angka terbesar di antara tiga angka.
A7: Script
#include <iostream>
using namespace std;
int main() {
double angka1, angka2, angka3;
cout << "Masukkan angka pertama: ";
cin >> angka1;
cout << "Masukkan angka kedua: ";
cin >> angka2;
cout << "Masukkan angka ketiga: ";
cin >> angka3;
double angkaTerbesar = angka1;
if (angka2 > angkaTerbesar) {
angkaTerbesar = angka2;
}
if (angka3 > angkaTerbesar) {
angkaTerbesar = angka3;
}
cout << "Angka terbesar di antara " << angka1 << ", " <<
angka2 << ", dan " << angka3 << " adalah : angka " <<
angkaTerbesar << endl;
return 0;
}
Hasil running
Rancangan Solusi
Q8: Tulis sebuah Program untuk membuat kalkulator sederhana.
A8: Script
#include <iostream>
using namespace std;
int main() {
double operan1, operan2;
char operasi;
cout << "Masukkan operan pertama: ";
cin >> operan1;
cout << "Masukkan operan kedua: ";
cin >> operan2;
cout << "Masukkan operator (+, -, *, /): ";
cin >> operasi;
double Hasil;
switch(operasi) {
case '+':
Hasil = operan1 + operan2;
break;
case '-':
Hasil = operan1 - operan2;
break;
case '*':
Hasil = operan1 * operan2;
break;
case '/':
if (operan2 != 0) {
Hasil = operan1 / operan2;
} else {
cout << "Maaf pembagian dengan nol tidak
diperbolehkan." << endl;
return 1;
}
break;
default:
cout << "Maaf operator tidak valid." << endl;
return 1;
}
cout << "Hasil dari " << operan1 << " " << operasi << "
" << operan2 << " adalah: " << Hasil << endl;
return 0;
}
Hasil running
Rancangan Solusi
Q9: Tulis sebuah Program untuk mencari faktorial dari suatu angka yang diberikan.
A9: Script
#include <iostream>
using namespace std;
int faktorial(int n) {
if (n == 0 || n == 1) {
cout << n;
return 1;
} else {
cout << n << " x ";
return n * faktorial(n - 1);
}
}
int main() {
int angka;
cout << "Masukkan angka untuk menghitung faktorial: ";
cin >> angka;
cout << "Faktorial dari " << angka << " = ";
int hasil = faktorial(angka);
cout << " = " << hasil << endl;
return 0;
}
Hasil running
Rancangan Solusi
Q10: Tulis sebuah Program untuk Mengkonversi Biner ke Desimal.
A10: Script
#include <iostream>
#include <cmath>
using namespace std;
int binerToDesimal(string biner) {
int desimal = 0;
int pangkat = 0;
for (int i = [Link]() - 1; i >= 0; i--) {
if (biner[i] == '1') {
desimal += pow(2, pangkat);
}
pangkat++;
}
return desimal;
}
int main() {
string biner;
cout << "Masukkan angka biner: ";
cin >> biner;
int desimal = binerToDesimal(biner);
cout << "Angka desimal yang setara adalah: " << desimal
<< endl;
return 0;
}
Hasil running
Rancangan Solusi
Q11: Tulis sebuah Program untuk mencetak deret Fibonacci menggunakan rekursi.
A11: Script
#include <iostream>
using namespace std;
int fibonacci(int n) {
if (n <= 1) {
return n;
}
return fibonacci(n - 1) + fibonacci(n - 2);
}
int main() {
int n;
cout << "Masukkan jumlah angka dalam deret Fibonacci: ";
cin >> n;
cout << "Deret Fibonacci: ";
for (int i = 0; i < n; i++) {
cout << fibonacci(i) << " ";
}
cout << endl;
return 0;
}
Hasil running
Rancangan solusi
Q12: Tulis sebuah Program untuk Menghitung Jumlah Angka Alamiah menggunakan rekursi.
A12: Script
#include <iostream>
using namespace std;
int jumlahAngkaAlamiah(int n) {
if (n <= 1) {
return n;
}
return n + jumlahAngkaAlamiah(n - 1);
}
int main() {
int n;
cout << "Masukkan angka n: ";
cin >> n;
int jumlah = jumlahAngkaAlamiah(n);
cout << "Jumlah angka alamiah hingga " << n << " adalah:
" << jumlah << endl;
return 0;
}
Hasil running
Rancangan solusi
Q13: Tulis sebuah Program untuk mencari nilai maksimum dan minimum dari sebuah Larik.
A13: Script
#include <iostream>
using namespace std;
void tampilkanMaxMin(int arr[], int n, int &max, int &min) {
max = arr[0];
min = arr[0];
for (int i = 1; i < n; i++) {
if (arr[i] > max) {
max = arr[i];
}
if (arr[i] < min) {
min = arr[i];
}
}
}
int main() {
int n;
cout << "Masukkan ukuran larik: ";
cin >> n;
if (n <= 0) {
cout << "Ukuran larik harus lebih besar dari 0" <<
endl;
return 1;
}
int *arr = new int[n];
cout << "Masukkan elemen-elemen larik: ";
for (int i = 0; i < n; i++) {
cin >> arr[i];
}
int max, min;
tampilkanMaxMin(arr, n, max, min);
cout << "Elemen minimum adalah: " << min << endl;
cout << "Elemen maksimum adalah: " << max << endl;
delete[] arr;
return 0;
}
Hasil running
Rancangan solusi
Q14: Tulis sebuah Program untuk Membalikkan sebuah Larik.
A14: Script
#include <iostream>
using namespace std;
void balikLarik(int arr[], int n) {
for (int i = 0; i < n / 2; i++) {
int temp = arr[i];
arr[i] = arr[n - i - 1];
arr[n - i - 1] = temp;
}
}
int main() {
int n;
cout << "Masukkan ukuran larik: ";
cin >> n;
if (n <= 0) {
cout << "Ukuran larik harus lebih besar dari 0" <<
endl;
return 1;
}
int *arr = new int[n];
cout << "Masukkan elemen-elemen larik: ";
for (int i = 0; i < n; i++) {
cin >> arr[i];
}
balikLarik(arr, n);
cout << "Larik yang dibalik adalah: ";
for (int i = 0; i < n; i++) {
cout << arr[i] << " ";
}
cout << endl;
delete[] arr;
return 0;
}
Hasil running
Rancangan solusi
Q15: Tulis sebuah Program untuk memutar larik ke kiri.
A15: Script
#include <iostream>
using namespace std;
void pembalik(int arr[], int n, int d) {
int temp[d];
for (int i = 0; i < d; i++) {
temp[i] = arr[i];
}
for (int i = d; i < n; i++) {
arr[i - d] = arr[i];
}
for (int i = 0; i < d; i++) {
arr[n - d + i] = temp[i];
}
}
int main() {
int n, d;
cout << "Masukkan ukuran larik: ";
cin >> n;
if (n <= 0) {
cout << "Ukuran larik harus lebih besar dari 0" <<
endl;
return 1;
}
int *arr = new int[n];
cout << "Masukkan elemen-elemen larik: ";
for (int i = 0; i < n; i++) {
cin >> arr[i];
}
cout << "Masukkan jumlah langkah rotasi ke kiri (D): ";
cin >> d;
d = d % n;
pembalik(arr, n, d);
cout << "Setelah rotasi: ";
for (int i = 0; i < n; i++) {
cout << arr[i] << " ";
}
cout << endl;
delete[] arr;
return 0;
}
Hasil running
Rancangan solusi
Q16: Tulis sebuah Program untuk menghapus duplikat dari sebuah Larik yang Terurut.
A16: Script
#include <iostream>
using namespace std;
void hapusDuplikat(int arr[], int &n) {
if (n <= 1) {
return;
}
int idx = 0;
for (int i = 1; i < n; i++) {
if (arr[i] != arr[idx]) {
idx++;
arr[idx] = arr[i];
}
}
n = idx + 1;
}
int main() {
int n;
cout << "Masukkan ukuran larik: ";
cin >> n;
if (n <= 0) {
cout << "Ukuran larik harus lebih besar dari 0" <<
endl;
return 1;
}
int *arr = new int[n];
cout << "Masukkan elemen-elemen larik: ";
for (int i = 0; i < n; i++) {
cin >> arr[i];
}
hapusDuplikat(arr, n);
cout << "Larik setelah menghapus duplikat: ";
for (int i = 0; i < n; i++) {
cout << arr[i] << " ";
}
cout << endl;
delete[] arr;
return 0;
}
Hasil running
Rancangan solusi
Q17: Tulis sebuah Program untuk mencari elemen dalam sebuah larik (menggunakan
Pencarian Biner).
A17: Script
#include <iostream>
using namespace std;
int mencariNilai (int arr[], int low, int high, int target)
{
while (low <= high) {
int mid = low + (high - low) / 2;
if (arr[mid] == target)
return mid;
else if (arr[mid] < target)
low = mid + 1;
else
high = mid - 1;
}
return -1;
}
int main() {
int n, target;
cout << "Masukkan ukuran larik: ";
cin >> n;
if (n <= 0) {
cout << "Ukuran larik harus lebih besar dari 0" <<
endl;
return 1;
}
int *arr = new int[n];
cout << "Masukkan elemen-elemen larik : ";
for (int i = 0; i < n; i++) {
cin >> arr[i];
}
cout << "Masukkan nilai target yang akan dicari: ";
cin >> target;
int result = mencariNilai (arr, 0, n - 1, target);
if (result != -1)
cout << "Elemen ada pada indeks " << result << endl;
else
cout << "Elemen tidak ada dalam larik" << endl;
delete[] arr;
return 0;
}
Hasil running
Rancangan solusi
Q18: Tulis sebuah Program untuk menemukan Transpos dari sebuah Matriks.
A18: Script
#include <iostream>
using namespace std;
void tampilkanMatriks(int** matriks, int baris, int kolom) {
for (int i = 0; i < baris; i++) {
for (int j = 0; j < kolom; j++) {
cout << matriks[i][j] << " ";
}
cout << endl;
}
}
void transpos(int** matriks, int baris, int kolom) {
int** transpos = new int*[kolom];
for (int i = 0; i < kolom; i++) {
transpos[i] = new int[baris];
for (int j = 0; j < baris; j++) {
transpos[i][j] = matriks[j][i];
}
}
cout << "Matriks hasil adalah:" << endl;
tampilkanMatriks(transpos, kolom, baris);
for (int i = 0; i < kolom; i++) {
delete[] transpos[i];
}
delete[] transpos;
}
int main() {
int baris, kolom;
cout << "Masukkan jumlah baris matriks: ";
cin >> baris;
cout << "Masukkan jumlah kolom matriks: ";
cin >> kolom;
int** matriks = new int*[baris];
for (int i = 0; i < baris; i++) {
matriks[i] = new int[kolom];
}
cout << "Masukkan elemen-elemen matriks:" << endl;
for (int i = 0; i < baris; i++) {
for (int j = 0; j < kolom; j++) {
cin >> matriks[i][j];
}
}
cout << "Matriks A:" << endl;
tampilkanMatriks(matriks, baris, kolom);
transpos(matriks, baris, kolom);
for (int i = 0; i < baris; i++) {
delete[] matriks[i];
}
delete[] matriks;
return 0;
}
Hasil running
Rancangan solusi
Q19: Tulis sebuah Program untuk menggabungkan dua string.
A19: Script
#include <iostream>
using namespace std;
int main() {
string str1, str2;
cout << "Masukkan string pertama: ";
getline(cin, str1);
cout << "Masukkan string kedua: ";
getline(cin, str2);
string gabung = str1 + str2;
cout << "String setelah digabungkan: " << gabung <<
endl;
return 0;
}
Hasil running
Rancangan solusi
Q20: Tulis sebuah Program untuk memeriksa apakah string yang diberikan adalah string
palindrom atau tidak.
A20: Scirpt
#include <iostream>
using namespace std;
bool Palindrom(const string& str) {
int n = [Link]();
for (int i = 0; i < n / 2; i++) {
if (str[i] != str[n - i - 1]) {
return false;
}
}
return true;
}
int main() {
string str;
cout << "Masukkan string: ";
getline(cin, str);
if (Palindrom(str)) {
cout << str << " adalah palindrom" << endl;
} else {
cout << str << " bukan palindrom" << endl;
}
return 0;
}
Hasil running
Rancangan solusi