SlideShare a Scribd company logo
1
Dasar Pemrograman
Pertemuan ke-1
Nama : Hendro Gunawan
NIM : 200401072103
Kelas : IF-101
BAB I
TERMINOLOGI PEMROGRAMAN
1. Algoritma
• Algoritma adalah urutan langkah logis pengambilan keputusan untuk memecahkan masalah
secara sistematis.
2. Program
• Himpunan atau kumpulan instruksi tertulis untuk melakukan tugas tertentu dengan komputer.
• Sederetan perintah-perintah yang harus dikerjakan oleh komputer untuk menyelesaikan
masalah.
3. Bahasa Pemrograman
• Bahasa yang digunakan untuk menulis suatu program.
4. Kode Sumber
• Himpunan atau kumpulan instruksi komputer yang ditulis menggunakan bahasa pemrograman.
5. Progammer
• Yaitu orang yang menulis program menggunakan bahasa pemrograman.
6. Software
• Himpunan atau kumpulan program dan data terkait.
1.1. Tiga Level Bahasa Pemrograman
1. Bahasa Tingkat Rendah
• Bahasa mesin berisikan kode-kode mesin yang hanya dapat diinterpretasikan langsung oleh
mesin komputer.
• Berupa kode numerik 0 dan 1 microcode: sekumpulan instruksi dalam bahasa mesin
• Keuntungan: eksekusi cepat
• Kekurangan: sulit dipelajari manusia
2. Bahasa Tingkat Menengah
• Bahasa assembly bahasa simbol dari bahasa mesin. Contohnya adalah: ADD, MUL, SUB, dll.
• Macro instruksi: sekumpulan kode dalam bahasa assembly.
• Kelebihan: eksekusi cepat, masih dapat dipelajari dari bahasa mesin, file kecil.
2
• Kekurangan: tetap sulit dipelajari, program sangat panjang.
• Contoh:
fib:
mov edx, [esp+8]
cmp edx, 0
ja @f
mov eax, 0
ret
@@:
cmp edx, 2
ja @f
mov eax, 1
ret
@f:
push ebx
mov ebx, 1
mov ecx, 1
@@:
lea eax, [ebx+ecx]
cmp edx, 3
jbe @f
mov ebx, ecx
mov ecx, eax
dec edx
jmp @b
@f:
pop ebx
ret
Penjelasan:
• Kode di atas adalah implementasi dalam assembly untuk menghitung bilangan Fibonacci.
• Struktur kode memanfaatkan instruksi low-level seperti mov, cmp, lea, dan penggunaan register
seperti eax, ebx, ecx, dan edx.
• Fungsi fib menerima argumen yang disimpan di [esp+8] dan mengembalikan hasil bilangan
Fibonacci yang sesuai melalui register eax.
3
Logika ini menggunakan dua perbandingan utama untuk bilangan Fibonacci awal (0 dan 1) dan
melakukan iterasi menggunakan instruksi jmp dan manipulasi register untuk menghitung nilai
Fibonacci yang lebih besar.
3. Bahasa Tingkat Tinggi
• The 3rd Generation Programing Language lebih dekat dengan bahasa manusia. Memberi
fasilitas kemudahan dalam pembuatan program. Misalnya: variabel, type data, konstanta,
struktur kontrol, loop, fungsi, prosedur, dll.
• Kelebihan: Mudah dipelajari, mendekati permasalahan yang akan dipecahkan, kode program
pendek.
• Kekurangan: eksekusi lambat.
• Contoh bahasa pemrograman tingkat tinggi: C++ (Turbo C++), Visual Basic (non-.NET), PHP
(prosedural), Delphi (Borland), Pascal (Turbo Pascal).
• Contoh bahasa pemrograman C++:
#include <iostream>
using namespace std;
void sapaLisa() {
cout <<"Hai Lisa" << endl;
}
void sapaJ() {
cout << "Good Morning, J" << endl;
}
void sapaMe() {
cout << "Hello Me,.." << endl;
}
void sapaHendro() {
cout << "Selamat Malam Hendro Gunawan" << endl;
}
int main() {
sapaLisa();
sapaJ();
sapaMe();
sapaHendro();
return 0;
}
Output:
4. Bahasa Tingkat Objek
• Bahasa pemrograman tingkat Object-Oriented dan Visual/Very-High Level.
4
• Beberapa sumber mungkin akan berpendapat bahwa “ bahasa pemrograman tingkat Object-
Oriented dan Visual” merupakan “Pengembangan dari bahasa pemrograman tingkat tinggi”, hal
tersebut memang benar karena pendekatan Object-Oriented diterapkan pada bahasa
pemrograman tingkat tinggi seperti PHP atau Visual Basic.NET.
• Contoh bahasa pemrograman tingkat Object-Oriented dan Visual:
• PHP
<?php
include("koneksi.php"); // Memasukkan file koneksi database
// Cek apakah tombol 'daftar' sudah diklik
if (isset($_POST['daftar'])) {
// Ambil data dari formulir
$nim = $_POST['nim'];
$nama = $_POST['nama'];
$alamat = $_POST['alamat'];
// Buat query SQL untuk menyimpan data ke dalam tabel 'mhs'
$sql = "INSERT INTO mhs (NIM, Nama, Alamat) VALUE ('$nim','$nama', '$alamat')";
$query = mysqli_query($con, $sql); // Eksekusi query
// Cek apakah query berhasil
if ($query) {
// Jika berhasil, redirect ke halaman index.php dengan status sukses
header('Location: index.php?status=sukses');
} else {
// Jika gagal, redirect ke index.php dengan status gagal
header('Location: index.php?status=gagal');
}
} else {
// Jika tidak diakses melalui tombol 'daftar', tampilkan pesan
die("Akses dilarang...");
}
?>
• Visual Basic.NET
• Java (termasuk Java yang digunakan pada Android Studio)
• JSP
• ASP
1.2. Paradigma Bahasa Pemrograman
• Imperative
Fokus pada menjelaskan bagaimana suatu program beroperasi.
• Procedural
5
Program yang dibuat dengan memberikan serangkaian perintah yang berurutan. Program terdiri
dari satu atau lebih prosedur. Bahasa-bahasa ini memiliki kode program sedemikian rupa
sehingga program mengeksekusi pernyataan demi pernyataan.
• Object-Oriented
Program yang mempresentasikan konsep “Object” yang memiliki data field dan prosedur
terkait yang disebut “method”. Seluruh data dan fungsi di dalam paradigma ini dibungkus
dalam kelas-kelas atau objek-objek.
Gambar 1. Programming Language Paradigms
Sumber: Pertemuan 1.pptx
1.3. Logika Pemecahan Masalah
Apa Itu logika?
Logis / Masuk Akal Pola Pikir
Rasional Kaidah Berpikir
Gambar 2. Logika Pemecahan masalah.
Sumber: Pertemuan 1.pptx
1.4. Terminologi Logika
• Di dalam Buku Praktis bahasa Indonesia, logika adalah pengetahuan tentang cara berpikir yang
sehat. Arti lainnya yaitu suatu bentuk pemikiran yang harus diikuti agar berpikir secara valid
(menurut cara semestinya; berlaku) menurut aturan yang berlaku.
• Logika ini akan membantu kita dalam memecahkan permasalahan.
1.5. Pemecahan Masalah
• Algoritma merupakan urutan langkah logis pengambilan keputusan untuk memecahkan
masalah secara sistematis.
6
• Namun, pembuatan algoritma merupakan salah satu tahap dalam proses pemecahan masalah.
1.6. Tahap Pemecahan Masalah
1. Masalah
2. Analisis Masalah
3. Perancangan Algoritma
4. Implementasi (Coding)
Gambar 3. Tahap Pemecahan Masalah
Sumber: Pertemuan 1.pptx
1.7. Input-Process-Output Model
Gambar 4. Input-Process-Output Model
Sumber: Pertemuan 1.pptx
• Dalam IPO Model, Algoritma bertugas untuk memproses seluruh Input dan hasil merupakan
Output.
1.8. Contoh Pemecahan Masalah Persamaan Linear
1. Masalah
• Diberikan persamaan ax + b = c, dimana a, b, c merupakan bilangan Real. Buatlah algoritma
untuk mencari solusi dari persamaan tersebut!
2. Analisa Masalah
• Apa yang ingin diselesaikan?
Nilai dari x dari persamaan linear
• Apa yang menjadi input?
Nilai parameter a, b, c
• Output
Nilai x, atau penjelasan jika ada solusi yang valid.
7
• Bagaimana mengubah input menjadi output?
▪ a = 0 dan c - b = 0, maka hasilnya adalah tak terhingga (karena persamaan selalu benar
untuk semua x).
▪ a = 0 dan c – b ≠ 0, maka hasilnya adalah tak terdefinisi (karena persamaan menjadi tidak
konsisten).
▪ a ≠ 0, selain kedua alternatif solusi di atas, persamaan memiliki satu solusi unik, hasilnya
adalah:
𝒙 =
(𝒄 – 𝒃)
𝒂
3. Algoritma 1
Name : Linear Equations
Given : a, b, c
Result : x
Intermediates : a = 0, (c - b) == 0, a ≠ 0
Definition : x := Linear Equations (a, b, c)
--------------------------------------------------------------------------------------------------------------
Method :
Get a
Get b
Get c
Let If a==0, then:
• If (c-b)==0, print “Solusi tak terhingga”.
• Else, print “Tidak ada solusi”.
Else:
• Let x=(c-b)/a
• Give x
Penjelasan Algoritma 1
Penjelasan dari program pada gambar tersebut adalah penyelesaian persamaan linear sederhana dalam
bentuk ax + b = c, di mana kita perlu mencari nilai x.
Berikut adalah langkah-langkahnya:
1. Input Variabel:
o Program menerima tiga masukan: a, b, dan c.
2. Memeriksa Kondisi:
o Jika a = 0:
8
▪ Program akan memeriksa apakah b sama dengan c. Jika ya, maka persamaan memiliki
"solusi tak hingga" karena setiap nilai x akan memenuhi persamaan 0 ⋅ x + b = c.
▪ Jika b tidak sama dengan ccc, maka program akan menyatakan "tidak ada solusi"
karena persamaan 0 ⋅ x + b = c tidak mungkin dipenuhi untuk sembarang nilai x.
3. Menghitung Nilai x:
o Jika a ≠ 0:
▪ Program akan menghitung nilai x menggunakan rumus: x = (c – b) / a
▪ Setelah menghitung, program akan memberikan nilai x sebagai solusi persamaan.
Program ini dirancang untuk menyelesaikan persamaan linear sederhana dan memeriksa apakah
persamaan memiliki solusi atau tidak berdasarkan nilai dari variabel a, b, dan c.
4. Contoh Implementasi Pseudocode
Start
Input a, b, c
If a == 0 then
If (c - b) == 0 then
Print "Solusi tak terhingga"
Else
Print "Tidak ada solusi"
Else
Hitung x = (c - b) / a
Print "Nilai x =", x
End
Penjelasan Pseudocode:
Berikut adalah rincian dari setiap langkah dalam pseudocode:
1. Start:
o Mulai program.
2. Input a, b, c:
o Program menerima input tiga variabel yaitu a, b, dan c.
3. Pengecekan Nilai a:
o Jika a = 0:
▪ Program memeriksa apakah a bernilai nol, karena jika a = 0, persamaan menjadi tidak
linear.
▪ Jika c − b = 0:
▪ Jika kondisi ini terpenuhi, artinya c sama dengan b, maka persamaan memiliki
solusi tak terhingga (karena setiap nilai x akan memenuhi persamaan 0 ⋅ x + b = c.
▪ Cetak "Solusi tak terhingga".
▪ Jika c − b ≠ 0:
▪ Jika c tidak sama dengan b, maka persamaan tidak memiliki solusi (karena tidak
mungkin 0 ⋅ x + b = c untuk nilai x mana pun).
9
▪ Cetak "Tidak ada solusi".
4. Jika a ≠ 0:
o Jika a tidak sama dengan nol, maka persamaan dapat diselesaikan dengan menghitung
nilai x menggunakan rumus: x = (c−b) / a
o Hitung nilai x dan cetak hasilnya sebagai "Nilai x = [nilai x]".
5. End:
o Program berakhir.
Pseudocode ini memungkinkan untuk menentukan apakah persamaan memiliki solusi tunggal, solusi
tak terhingga, atau tidak ada solusi tergantung pada nilai input dari a, b, dan c.
5. Gambar Flowchart
Flowchart adalah representasi grafis dari suatu proses atau algoritma. Flowchart menggunakan
simbol-simbol tertentu untuk menggambarkan langkah-langkah yang harus di lakukan dalam urutan
tertentu untuk mencapai suatu tujuan atau menyelesaikan masalah. Ini membantu memvisualisasikan
alur kerja, membuat proses lebih mudah dipahami, dan mendeteksi potensi masalah atau langkah yang
tidak efisien.
10
Gambar 5. Flowchart Persamaan Linear
Sumber: (Penulis 2024)
Flowchart ini menggunakan aplikasi Flowgorithm versi 4.5.0 agar mudah dalam
mengimplementasikannya.
6. Penjelasan Flowchart
Gambar flowchart di atas menggambarkan proses penyelesaian persamaan linear sederhana dengan
bentuk: ax + b = c
Flowchart ini menentukan nilai x atau memberikan solusi alternatif berdasarkan nilai dari variabel
input a, b, dan c.. Berikut penjelasan langkah-langkah dari flowchart tersebut:
1. Deklarasi Variabel
• Program mendeklarasikan variabel a, b, c, dan x sebagai integer atau bilangan bulat.
2. Input Variabel
• Program meminta pengguna untuk memasukkan nilai untuk variabel a, b, dan c.
3. Pengecekan Apakah a = 0
• Jika a = 0, program akan masuk ke blok pengecekan kedua.
• Jika c – b = 0: Output berupa “Solusi tak terhingga”, karena persamaan berubah
menjadi identitas (misalnya, 0 = 0).
• Jika c – b ≠ 0: Output berupa “Tidak ada solusi”, karena tidak mungkin
menyelesaikan persamaan seperti 0x = 5.
4. Jika a ≠ 0
• Program akan menghitung nilai x menggunakan formula: 𝐱 =
(𝐜 – 𝐛)
𝐚
• Hasil dari nilai x dicetak sebagai output.
5. Akhir Program
• Setelah semua proses selesai, program akan berakhir.
7. Coding
• Contoh Implementasi dalam Python:
# Fungsi untuk mencari solusi persamaan ax + b = c
def cari_solusi(a, b, c):
if a == 0:
if c - b == 0:
print("Solusi tak terhingga.")
else:
print("Tidak ada solusi.")
else:
x = (c - b) / a
print(f"Nilai x = {x}")
# Contoh penggunaan
11
a = float(input("Masukkan nilai a: "))
b = float(input("Masukkan nilai b: "))
c = float(input("Masukkan nilai c: "))
cari_solusi(a, b, c)
8. Penjelasan Output:
• Jika a = 0 dan c - b = 0, maka output adalah:
“Solusi tak terhingga.”
• Jika a = 0 dan c – b ≠ 𝟎, maka output adalah:
“Tidak ada solusi.”
• Jika a ≠ 𝟎, maka output adalah nilai x sesuai hasil perhitungan.
9. Kode Program dalam C++:
#include <iostream>
using namespace std;
void cariSolusi(double a, double b, double c) {
if (a == 0) {
if (c - b == 0) {
cout << "Solusi tak terhingga." << endl;
} else {
cout << "Tidak ada solusi." << endl;
}
} else {
double x = (c - b) / a;
cout << "Nilai x = " << x << endl;
}
}
int main() {
double a, b, c;
// Input nilai a, b, dan c dari pengguna
cout << "Masukkan nilai a: ";
cin >> a;
cout << "Masukkan nilai b: ";
cin >> b;
cout << "Masukkan nilai c: ";
cin >> c;
// Panggil fungsi untuk mencari solusi
cariSolusi(a, b, c);
return 0;
}
10. Penjelasan Kode Program
12
1. Fungsi cari solusi:
• Mengecek apakah nilai a adalah 0.
▪ Jika iya, ada dua kemungkinan:
➢ c – b == 0 : Artinya, persamaan selalu benar, dan solusinya tak terhingga.
➢ c – b != 0 : Artinya, persamaan tidak konsisten, sehingga tidak ada solusi.
• Jika a tidak 0, solusi dihitung menggunakan: 𝐱 =
(𝐜 – 𝐛)
𝐚
• Hasilnya dicetak ke layar.
2. Fungsi main:
• Menerima input untuk nilai a, b, dan c.
• Memanggil fungsi cari solusi dengan input tersebut.
11. Contoh Output:
Kasus 1: a = 0, b = 1, c = 1
Kasus 2: a = 0, b = 1, c = 3
Kasus 3: a = 2, b = 3, c = 7
Kode ini menangani kasus persamaan linear dengan benar dan memberikan solusi atau pesan yang
tepat berdasarkan input yang diberikan.
1.9. Contoh Pemecahan Masalah Jeruk🍋 dan Apel 🍏
Gambar 6. Bagaimana membuatnya sebanding?
Sumber: Pertemuan 1 .pptx
1. Masalah
13
• Tidak sebandingnya timbangan antara jeruk dan apel.
2. Analisis Masalah
• Apa yang ingin diselesaikan?
Membuat sebanding antara jeruk dan apel.
• Apa yang menjadi input?
Jumlah jeruk dan apel
• Bagaimana membuatnya seimbang?
Menambah 1 jeruk
Menambah apel jika diperlukan
Membelah apel atau menambah buah lain untuk mencapai keseimbangan.
3. Algoritma 2
Name : Fruit Balance
Given : Num Oranges , Num Apples
Result : Balance
Intermediates : Difference (diff)
Definition : Balance:= Fruit Balance(Num Oranges, Num Apples)
----------------------------------------------------------------------------------------------------------------------------
Method :
Get Num Oranges
Get Num Apples
Let Diff = Number Oranges – Number Apples
if diff > 0, Print “Add as many apples as diff”
if diff < 0, Print “Add as many oranges as diff”
if diff == 0, Print “Balance has been reached”
Give Balance
4. Contoh Implementasi Pseudo-Code
Algoritma KeseimbanganBuah (Jeruk, Apel):
diff = Jeruk - Apel
Jika diff > 0:
Tambah Apel sebanyak diff
Output: "Ditambah apel sebanyak " + diff
Jika diff < 0:
Tambah Jeruk sebanyak |diff|
Output: "Ditambah jeruk sebanyak " + |diff|
Jika diff == 0:
Output: "Jumlah buah sudah seimbang"
14
5. Penjelasan Pseudocode:
• Method ini memastikan jumlah jeruk dan apel selalu seimbang dengan cara menghitung selisih
antara keduanya dan menambah buah sesuai kebutuhan.
• Menggunakan variabel antara, seperti diff untuk menyimpan selisih, membantu algoritma
tetap efisien dan mudah dibaca.
• Keluaran atau hasil akan bergantung pada apakah penambahan buah diperlukan atau tidak.
6. Gambar Flowchart
Gambar 7. Flowchart Menyeimbangkan Jumlah Jeruk dan Apel.
Sumber: (Penulis 2024)
7. Penjelasan Flowchart:
1. Inisialisasi dan Input:
o Program memulai dengan mendeklarasikan variabel jeruk, apel, dan diff sebagai
bilangan bulat.
15
o Meminta pengguna untuk menginput jumlah jeruk dan apel.
o Variabel diff dihitung sebagai selisih antara jumlah jeruk dan apel (diff = jeruk -
apel).
2. Cek Keseimbangan Awal:
o Jika diff == 0, artinya jumlah jeruk dan apel sudah seimbang, maka program
menampilkan pesan: "Jumlah jeruk dan apel sudah seimbang" dan langsung berhenti.
3. Jika Tidak Seimbang:
o Jika diff != 0, program menampilkan pesan bahwa buah tidak seimbang beserta nilai
selisih.
o Kemudian, program memeriksa apakah jumlah jeruk lebih banyak daripada apel (jeruk >
apel):
▪ Jika benar, maka program menampilkan pesan untuk menambah apel sejumlah selisih
tersebut.
▪ Jika salah, maka program menampilkan pesan untuk menambah jeruk sejumlah selisih
tersebut.
4. Keseimbangan Akhir:
o Setelah menambah jeruk atau apel, program menampilkan pesan "Jumlah sekarang
seimbang!".
8. Ringkasan Simbol Flowchart:
Berikut adalah ringkasan simbol yang digunakan dalam flowchart tersebut:
1. Oval (Ellipse):
o Fungsi: Menandakan awal atau akhir dari proses.
o Contoh: Simbol "Main" (awal) dan "End" (akhir).
2. Parallelogram (Jajar Genjang):
o Fungsi: Digunakan untuk input atau output.
o Contoh:
▪ Input jeruk dan apel.
▪ Output seperti "Buah tidak seimbang", "Menambah jeruk", dll.
3. Rectangle (Persegi Panjang):
o Fungsi: Menunjukkan proses atau operasi.
o Contoh: Proses diff = jeruk - apel.
4. Diamond (Berlian):
o Fungsi: Menandakan percabangan (kondisi / keputusan).
o Contoh:
▪ Apakah diff == 0?
16
▪ Apakah jeruk > apel?
5. Circle (Lingkaran Kecil):
o Fungsi: Menyambungkan alur dalam flowchart (connector).
o Contoh: Lingkaran yang digunakan setelah percabangan untuk menggabungkan alur.
Flowchart ini menangani perbandingan antara jumlah buah jeruk dan apel serta memberikan respons
berdasarkan hasil perbandingan tersebut.
9. Coding
#include <iostream>
using namespace std;
int main() {
int jeruk, apel, diff;
// Input jumlah jeruk dan apel
cout << "Masukkan jumlah jeruk: ";
cin >> jeruk;
cout << "Masukkan jumlah apel: ";
cin >> apel;
// Hitung selisih antara jeruk dan apel
diff = jeruk - apel;
// Cek apakah sudah seimbang
if (diff == 0) {
cout << "Jumlah jeruk dan apel sudah seimbang." << endl;
} else {
cout << "Buah tidak seimbang. Selisih: " << abs(diff) << endl;
// Tentukan apakah harus menambah jeruk atau apel
if (jeruk > apel) {
cout << "Menambah apel: " << diff << endl;
} else {
cout << "Menambah jeruk: " << abs(diff) << endl;
}
cout << "Jumlah sekarang seimbang!" << endl;
}
return 0;
}
10. Penjelasan Kode:
1. Deklarasi Variabel:
o jeruk, apel, dan diff digunakan untuk menyimpan jumlah buah dan selisihnya.
2. Input dari Pengguna:
o Program meminta input jumlah jeruk dan apel.
17
3. Hitung Selisih:
o Variabel diff menyimpan hasil selisih antara jeruk dan apel (diff = jeruk - apel).
4. Cek Keseimbangan:
o Jika diff == 0, program menampilkan pesan bahwa jumlah buah sudah seimbang.
o Jika tidak seimbang, program menampilkan selisih dan menentukan apakah harus
menambah jeruk atau apel berdasarkan perbandingan jumlah.
5. Output Tambahan:
o Program menampilkan pesan buah mana yang perlu ditambah beserta jumlahnya agar
seimbang.
6. Fungsi abs():
o Digunakan untuk memastikan bahwa selisih selalu positif saat ditampilkan, agar lebih jelas
bagi pengguna.
11. Contoh Output:
Kasus 1
Jumlah jeruk=5, apel=3
Kasus 2
Jumlah jeruk=10, apel=100
Daftar Pustaka
[1] Kurnia Gusti Ayu, S. M. (2024). Dasar Pemrograman Pertemuan 1.pptx. Jakarta: UNSIA.
Link File
https://www.slideshare.net/slideshow/diskusi-dasar-pemrograman-pertemuan-ke-1-pdf/272698749
18

More Related Content

PDF
TUGAS1_DASAR_PEMROGRAMAN_HENDRO_GUNAWAN_200401072103_IF-101.pdf
PDF
Diskusi Dasar Pemrograman Pertemuan Ke-1.pdf
PPT
Pemrograman terstruktur
PDF
Logika pemrograman hand out
PPT
pengenalan algoritma komputasi untuk kuliah
PPT
pengenalan algoritma komputasi sains untuk kuliah
PDF
Algoritam1
PDF
Algoritma Pemrogaman
TUGAS1_DASAR_PEMROGRAMAN_HENDRO_GUNAWAN_200401072103_IF-101.pdf
Diskusi Dasar Pemrograman Pertemuan Ke-1.pdf
Pemrograman terstruktur
Logika pemrograman hand out
pengenalan algoritma komputasi untuk kuliah
pengenalan algoritma komputasi sains untuk kuliah
Algoritam1
Algoritma Pemrogaman

Similar to Diskusi Dasar Pemrograman Pertemuan Ke-1.pdf (20)

PPTX
DASAR - DASAR ALGORITMA
PDF
Dasar pemrogramannnnnnnnnnnnnnnnnnnnn.pdf
PDF
Tugas Pt
PDF
Tugas Pt
PDF
Tugas Pt
PPTX
Pertemuan 1 algoritma
PPTX
Dasar algoritma
PPTX
Materi_1_Pengantar_Algoritma.pptx
PDF
Lecture 1 pendahuluan Bahasa Python
PPTX
02 notasi algoritma
PPTX
02 notasi algoritma
PPTX
02 notasi algoritma
PPTX
Belajar Algoritma Pemograman dengan Mudah
DOTX
PPTX
1.adp dasar-dasar algoritma
PPTX
1 adp dasar-dasar algoritma
PPTX
1 adp dasar-dasar algoritma
PPTX
1 adp dasar-dasar algoritma
PPT
Jeni slides intro1-bab01-pengenalan
PPTX
ALGORITMA PEMROGRAMAN DASAR.pptx
DASAR - DASAR ALGORITMA
Dasar pemrogramannnnnnnnnnnnnnnnnnnnn.pdf
Tugas Pt
Tugas Pt
Tugas Pt
Pertemuan 1 algoritma
Dasar algoritma
Materi_1_Pengantar_Algoritma.pptx
Lecture 1 pendahuluan Bahasa Python
02 notasi algoritma
02 notasi algoritma
02 notasi algoritma
Belajar Algoritma Pemograman dengan Mudah
1.adp dasar-dasar algoritma
1 adp dasar-dasar algoritma
1 adp dasar-dasar algoritma
1 adp dasar-dasar algoritma
Jeni slides intro1-bab01-pengenalan
ALGORITMA PEMROGRAMAN DASAR.pptx
Ad

More from HendroGunawan8 (20)

PDF
1. UAS_DASAR_PEMROGRAMAN_HENDRO_GUNAWAN_200401072103_IF-101.pdf
PDF
Diskusi Dasar Pemrograman Pertemuan Ke-15.pdf
PDF
Diskusi Dasar Pemrograman Pertemuan Ke-14.pdf
PDF
Diskusi Perancangan dan Pengembangan Teknologi Informasi dan Komunikasi Perte...
PDF
Diskusi Dasar Pemrograman Pertemuan Ke-13.pdf
PDF
Diskusi Dasar Pemrograman Pertemuan Ke-12.pdf
PDF
Diskusi Perancangan dan Pengembangan Teknologi Informasi dan Komunikasi Perte...
PDF
Diskusi Perancangan dan Pengembangan Teknologi Informasi dan Komunikasi Perte...
PDF
Diskusi Dasar Pemrograman Pertemuan Ke-11.pdf
PDF
Diskusi Perancangan dan Pengembangan Teknologi Informasi dan Komunikasi Perte...
DOCX
Diskusi Dasar Pemrograman Pertemuan Ke-10 - Salin.docx
DOCX
Diskusi Perancangan dan Pengembangan Teknologi Informasi dan Komunikasi Perte...
PDF
Diskusi Dasar Pemrograman Pertemuan Ke-9.pdf
PDF
Diskusi PPPTIK-Pengenalan Proyek dan Manajemen Proyek.pdf
PDF
Diskusi Dasar Pemrograman Pertemuan Ke-6.pdf
PDF
Diskusi Dasar Pemrograman Pertemuan Ke-5.pdf
PDF
Diskusi Dasar Pemrograman Pertemuan Ke-4.pdf
PDF
Diskusi Dasar Pemrograman Pertemuan Ke-3.pdf
PDF
Diskusi Dasar Pemrograman Pertemuan Ke-2.pdf
PDF
Pengolahan citra digital adalah teknologi visual yang digunakan untuk mengama...
1. UAS_DASAR_PEMROGRAMAN_HENDRO_GUNAWAN_200401072103_IF-101.pdf
Diskusi Dasar Pemrograman Pertemuan Ke-15.pdf
Diskusi Dasar Pemrograman Pertemuan Ke-14.pdf
Diskusi Perancangan dan Pengembangan Teknologi Informasi dan Komunikasi Perte...
Diskusi Dasar Pemrograman Pertemuan Ke-13.pdf
Diskusi Dasar Pemrograman Pertemuan Ke-12.pdf
Diskusi Perancangan dan Pengembangan Teknologi Informasi dan Komunikasi Perte...
Diskusi Perancangan dan Pengembangan Teknologi Informasi dan Komunikasi Perte...
Diskusi Dasar Pemrograman Pertemuan Ke-11.pdf
Diskusi Perancangan dan Pengembangan Teknologi Informasi dan Komunikasi Perte...
Diskusi Dasar Pemrograman Pertemuan Ke-10 - Salin.docx
Diskusi Perancangan dan Pengembangan Teknologi Informasi dan Komunikasi Perte...
Diskusi Dasar Pemrograman Pertemuan Ke-9.pdf
Diskusi PPPTIK-Pengenalan Proyek dan Manajemen Proyek.pdf
Diskusi Dasar Pemrograman Pertemuan Ke-6.pdf
Diskusi Dasar Pemrograman Pertemuan Ke-5.pdf
Diskusi Dasar Pemrograman Pertemuan Ke-4.pdf
Diskusi Dasar Pemrograman Pertemuan Ke-3.pdf
Diskusi Dasar Pemrograman Pertemuan Ke-2.pdf
Pengolahan citra digital adalah teknologi visual yang digunakan untuk mengama...
Ad

Recently uploaded (20)

DOCX
Modul 5_Instrumen Analisis Perencanaan Pembelajaran Mendalam (2).docx
PPTX
Presentasi Al-Quran Hadits Kelompok XI.1
PPTX
Sistem Pencernaan Manusia IPAS Presentasi Pendidikan Hijau Kuning Bingkai Ilu...
PPTX
Ekspresi_dan_Operasi_Logika informatika smp kelas 9
PPTX
PPT POLA PIKIR BERTUMBUH Grow Mindset_2025.pptx
PDF
RPP PEMBELAJARAN MENDALAM BAHASA INDONESIA _SariIndah_DEWI SINTA (1).pdf
PPTX
Pengimbasan pembelajaran mendalam (deep learning
PPTX
Slide_Berpikir_Komputasional_Pola_Algoritma_Kelas5SD.pptx
PPTX
Saint Maximilian Kolbe, Polish friar, priest, missionary and martyr (indonesi...
PPTX
ppt_bola_basket_kelas x sma mata pelajaran pjok.pptx
PDF
AI-Driven Intelligence and Cyber Security: Strategi Stabilitas Keamanan untuk...
PPTX
Perubahan Pengertian_Istilah _Pelatihan "Ketentuan TERBARU Pengadaan Pemerin...
PPT
KOMITMEN MENULIS DI BLOG IGTIK PB PGRI.ppt
PPTX
Modul ajar kelas 5 sd kecerdasan artifisial pptx
PPTX
SISTEM POLITIK DAN PEMERINTAHAN INDONESIA.pptx
PPTX
PPT REVISED - SEMINAR PEMBELAJARAN MENDALAM .pptx
DOCX
Modul Ajar Pembelajaran Mendalam PAI & BP Kelas XII Terbaru 2025
PPTX
MODUL 2 LK 2.1.pptx MODUL 2 LK 2.1.pptx MODUL 2 LK 2.1.pptx
DOCX
Modul Ajar Pembelajaran Mendalam PKWU Budidaya Kelas XII SMA Terbaru 2025
DOCX
LK 1.1.a.2_Modul 2 Pelatihan Koding dan Artifisial
Modul 5_Instrumen Analisis Perencanaan Pembelajaran Mendalam (2).docx
Presentasi Al-Quran Hadits Kelompok XI.1
Sistem Pencernaan Manusia IPAS Presentasi Pendidikan Hijau Kuning Bingkai Ilu...
Ekspresi_dan_Operasi_Logika informatika smp kelas 9
PPT POLA PIKIR BERTUMBUH Grow Mindset_2025.pptx
RPP PEMBELAJARAN MENDALAM BAHASA INDONESIA _SariIndah_DEWI SINTA (1).pdf
Pengimbasan pembelajaran mendalam (deep learning
Slide_Berpikir_Komputasional_Pola_Algoritma_Kelas5SD.pptx
Saint Maximilian Kolbe, Polish friar, priest, missionary and martyr (indonesi...
ppt_bola_basket_kelas x sma mata pelajaran pjok.pptx
AI-Driven Intelligence and Cyber Security: Strategi Stabilitas Keamanan untuk...
Perubahan Pengertian_Istilah _Pelatihan "Ketentuan TERBARU Pengadaan Pemerin...
KOMITMEN MENULIS DI BLOG IGTIK PB PGRI.ppt
Modul ajar kelas 5 sd kecerdasan artifisial pptx
SISTEM POLITIK DAN PEMERINTAHAN INDONESIA.pptx
PPT REVISED - SEMINAR PEMBELAJARAN MENDALAM .pptx
Modul Ajar Pembelajaran Mendalam PAI & BP Kelas XII Terbaru 2025
MODUL 2 LK 2.1.pptx MODUL 2 LK 2.1.pptx MODUL 2 LK 2.1.pptx
Modul Ajar Pembelajaran Mendalam PKWU Budidaya Kelas XII SMA Terbaru 2025
LK 1.1.a.2_Modul 2 Pelatihan Koding dan Artifisial

Diskusi Dasar Pemrograman Pertemuan Ke-1.pdf

  • 1. 1 Dasar Pemrograman Pertemuan ke-1 Nama : Hendro Gunawan NIM : 200401072103 Kelas : IF-101 BAB I TERMINOLOGI PEMROGRAMAN 1. Algoritma • Algoritma adalah urutan langkah logis pengambilan keputusan untuk memecahkan masalah secara sistematis. 2. Program • Himpunan atau kumpulan instruksi tertulis untuk melakukan tugas tertentu dengan komputer. • Sederetan perintah-perintah yang harus dikerjakan oleh komputer untuk menyelesaikan masalah. 3. Bahasa Pemrograman • Bahasa yang digunakan untuk menulis suatu program. 4. Kode Sumber • Himpunan atau kumpulan instruksi komputer yang ditulis menggunakan bahasa pemrograman. 5. Progammer • Yaitu orang yang menulis program menggunakan bahasa pemrograman. 6. Software • Himpunan atau kumpulan program dan data terkait. 1.1. Tiga Level Bahasa Pemrograman 1. Bahasa Tingkat Rendah • Bahasa mesin berisikan kode-kode mesin yang hanya dapat diinterpretasikan langsung oleh mesin komputer. • Berupa kode numerik 0 dan 1 microcode: sekumpulan instruksi dalam bahasa mesin • Keuntungan: eksekusi cepat • Kekurangan: sulit dipelajari manusia 2. Bahasa Tingkat Menengah • Bahasa assembly bahasa simbol dari bahasa mesin. Contohnya adalah: ADD, MUL, SUB, dll. • Macro instruksi: sekumpulan kode dalam bahasa assembly. • Kelebihan: eksekusi cepat, masih dapat dipelajari dari bahasa mesin, file kecil.
  • 2. 2 • Kekurangan: tetap sulit dipelajari, program sangat panjang. • Contoh: fib: mov edx, [esp+8] cmp edx, 0 ja @f mov eax, 0 ret @@: cmp edx, 2 ja @f mov eax, 1 ret @f: push ebx mov ebx, 1 mov ecx, 1 @@: lea eax, [ebx+ecx] cmp edx, 3 jbe @f mov ebx, ecx mov ecx, eax dec edx jmp @b @f: pop ebx ret Penjelasan: • Kode di atas adalah implementasi dalam assembly untuk menghitung bilangan Fibonacci. • Struktur kode memanfaatkan instruksi low-level seperti mov, cmp, lea, dan penggunaan register seperti eax, ebx, ecx, dan edx. • Fungsi fib menerima argumen yang disimpan di [esp+8] dan mengembalikan hasil bilangan Fibonacci yang sesuai melalui register eax.
  • 3. 3 Logika ini menggunakan dua perbandingan utama untuk bilangan Fibonacci awal (0 dan 1) dan melakukan iterasi menggunakan instruksi jmp dan manipulasi register untuk menghitung nilai Fibonacci yang lebih besar. 3. Bahasa Tingkat Tinggi • The 3rd Generation Programing Language lebih dekat dengan bahasa manusia. Memberi fasilitas kemudahan dalam pembuatan program. Misalnya: variabel, type data, konstanta, struktur kontrol, loop, fungsi, prosedur, dll. • Kelebihan: Mudah dipelajari, mendekati permasalahan yang akan dipecahkan, kode program pendek. • Kekurangan: eksekusi lambat. • Contoh bahasa pemrograman tingkat tinggi: C++ (Turbo C++), Visual Basic (non-.NET), PHP (prosedural), Delphi (Borland), Pascal (Turbo Pascal). • Contoh bahasa pemrograman C++: #include <iostream> using namespace std; void sapaLisa() { cout <<"Hai Lisa" << endl; } void sapaJ() { cout << "Good Morning, J" << endl; } void sapaMe() { cout << "Hello Me,.." << endl; } void sapaHendro() { cout << "Selamat Malam Hendro Gunawan" << endl; } int main() { sapaLisa(); sapaJ(); sapaMe(); sapaHendro(); return 0; } Output: 4. Bahasa Tingkat Objek • Bahasa pemrograman tingkat Object-Oriented dan Visual/Very-High Level.
  • 4. 4 • Beberapa sumber mungkin akan berpendapat bahwa “ bahasa pemrograman tingkat Object- Oriented dan Visual” merupakan “Pengembangan dari bahasa pemrograman tingkat tinggi”, hal tersebut memang benar karena pendekatan Object-Oriented diterapkan pada bahasa pemrograman tingkat tinggi seperti PHP atau Visual Basic.NET. • Contoh bahasa pemrograman tingkat Object-Oriented dan Visual: • PHP <?php include("koneksi.php"); // Memasukkan file koneksi database // Cek apakah tombol 'daftar' sudah diklik if (isset($_POST['daftar'])) { // Ambil data dari formulir $nim = $_POST['nim']; $nama = $_POST['nama']; $alamat = $_POST['alamat']; // Buat query SQL untuk menyimpan data ke dalam tabel 'mhs' $sql = "INSERT INTO mhs (NIM, Nama, Alamat) VALUE ('$nim','$nama', '$alamat')"; $query = mysqli_query($con, $sql); // Eksekusi query // Cek apakah query berhasil if ($query) { // Jika berhasil, redirect ke halaman index.php dengan status sukses header('Location: index.php?status=sukses'); } else { // Jika gagal, redirect ke index.php dengan status gagal header('Location: index.php?status=gagal'); } } else { // Jika tidak diakses melalui tombol 'daftar', tampilkan pesan die("Akses dilarang..."); } ?> • Visual Basic.NET • Java (termasuk Java yang digunakan pada Android Studio) • JSP • ASP 1.2. Paradigma Bahasa Pemrograman • Imperative Fokus pada menjelaskan bagaimana suatu program beroperasi. • Procedural
  • 5. 5 Program yang dibuat dengan memberikan serangkaian perintah yang berurutan. Program terdiri dari satu atau lebih prosedur. Bahasa-bahasa ini memiliki kode program sedemikian rupa sehingga program mengeksekusi pernyataan demi pernyataan. • Object-Oriented Program yang mempresentasikan konsep “Object” yang memiliki data field dan prosedur terkait yang disebut “method”. Seluruh data dan fungsi di dalam paradigma ini dibungkus dalam kelas-kelas atau objek-objek. Gambar 1. Programming Language Paradigms Sumber: Pertemuan 1.pptx 1.3. Logika Pemecahan Masalah Apa Itu logika? Logis / Masuk Akal Pola Pikir Rasional Kaidah Berpikir Gambar 2. Logika Pemecahan masalah. Sumber: Pertemuan 1.pptx 1.4. Terminologi Logika • Di dalam Buku Praktis bahasa Indonesia, logika adalah pengetahuan tentang cara berpikir yang sehat. Arti lainnya yaitu suatu bentuk pemikiran yang harus diikuti agar berpikir secara valid (menurut cara semestinya; berlaku) menurut aturan yang berlaku. • Logika ini akan membantu kita dalam memecahkan permasalahan. 1.5. Pemecahan Masalah • Algoritma merupakan urutan langkah logis pengambilan keputusan untuk memecahkan masalah secara sistematis.
  • 6. 6 • Namun, pembuatan algoritma merupakan salah satu tahap dalam proses pemecahan masalah. 1.6. Tahap Pemecahan Masalah 1. Masalah 2. Analisis Masalah 3. Perancangan Algoritma 4. Implementasi (Coding) Gambar 3. Tahap Pemecahan Masalah Sumber: Pertemuan 1.pptx 1.7. Input-Process-Output Model Gambar 4. Input-Process-Output Model Sumber: Pertemuan 1.pptx • Dalam IPO Model, Algoritma bertugas untuk memproses seluruh Input dan hasil merupakan Output. 1.8. Contoh Pemecahan Masalah Persamaan Linear 1. Masalah • Diberikan persamaan ax + b = c, dimana a, b, c merupakan bilangan Real. Buatlah algoritma untuk mencari solusi dari persamaan tersebut! 2. Analisa Masalah • Apa yang ingin diselesaikan? Nilai dari x dari persamaan linear • Apa yang menjadi input? Nilai parameter a, b, c • Output Nilai x, atau penjelasan jika ada solusi yang valid.
  • 7. 7 • Bagaimana mengubah input menjadi output? ▪ a = 0 dan c - b = 0, maka hasilnya adalah tak terhingga (karena persamaan selalu benar untuk semua x). ▪ a = 0 dan c – b ≠ 0, maka hasilnya adalah tak terdefinisi (karena persamaan menjadi tidak konsisten). ▪ a ≠ 0, selain kedua alternatif solusi di atas, persamaan memiliki satu solusi unik, hasilnya adalah: 𝒙 = (𝒄 – 𝒃) 𝒂 3. Algoritma 1 Name : Linear Equations Given : a, b, c Result : x Intermediates : a = 0, (c - b) == 0, a ≠ 0 Definition : x := Linear Equations (a, b, c) -------------------------------------------------------------------------------------------------------------- Method : Get a Get b Get c Let If a==0, then: • If (c-b)==0, print “Solusi tak terhingga”. • Else, print “Tidak ada solusi”. Else: • Let x=(c-b)/a • Give x Penjelasan Algoritma 1 Penjelasan dari program pada gambar tersebut adalah penyelesaian persamaan linear sederhana dalam bentuk ax + b = c, di mana kita perlu mencari nilai x. Berikut adalah langkah-langkahnya: 1. Input Variabel: o Program menerima tiga masukan: a, b, dan c. 2. Memeriksa Kondisi: o Jika a = 0:
  • 8. 8 ▪ Program akan memeriksa apakah b sama dengan c. Jika ya, maka persamaan memiliki "solusi tak hingga" karena setiap nilai x akan memenuhi persamaan 0 ⋅ x + b = c. ▪ Jika b tidak sama dengan ccc, maka program akan menyatakan "tidak ada solusi" karena persamaan 0 ⋅ x + b = c tidak mungkin dipenuhi untuk sembarang nilai x. 3. Menghitung Nilai x: o Jika a ≠ 0: ▪ Program akan menghitung nilai x menggunakan rumus: x = (c – b) / a ▪ Setelah menghitung, program akan memberikan nilai x sebagai solusi persamaan. Program ini dirancang untuk menyelesaikan persamaan linear sederhana dan memeriksa apakah persamaan memiliki solusi atau tidak berdasarkan nilai dari variabel a, b, dan c. 4. Contoh Implementasi Pseudocode Start Input a, b, c If a == 0 then If (c - b) == 0 then Print "Solusi tak terhingga" Else Print "Tidak ada solusi" Else Hitung x = (c - b) / a Print "Nilai x =", x End Penjelasan Pseudocode: Berikut adalah rincian dari setiap langkah dalam pseudocode: 1. Start: o Mulai program. 2. Input a, b, c: o Program menerima input tiga variabel yaitu a, b, dan c. 3. Pengecekan Nilai a: o Jika a = 0: ▪ Program memeriksa apakah a bernilai nol, karena jika a = 0, persamaan menjadi tidak linear. ▪ Jika c − b = 0: ▪ Jika kondisi ini terpenuhi, artinya c sama dengan b, maka persamaan memiliki solusi tak terhingga (karena setiap nilai x akan memenuhi persamaan 0 ⋅ x + b = c. ▪ Cetak "Solusi tak terhingga". ▪ Jika c − b ≠ 0: ▪ Jika c tidak sama dengan b, maka persamaan tidak memiliki solusi (karena tidak mungkin 0 ⋅ x + b = c untuk nilai x mana pun).
  • 9. 9 ▪ Cetak "Tidak ada solusi". 4. Jika a ≠ 0: o Jika a tidak sama dengan nol, maka persamaan dapat diselesaikan dengan menghitung nilai x menggunakan rumus: x = (c−b) / a o Hitung nilai x dan cetak hasilnya sebagai "Nilai x = [nilai x]". 5. End: o Program berakhir. Pseudocode ini memungkinkan untuk menentukan apakah persamaan memiliki solusi tunggal, solusi tak terhingga, atau tidak ada solusi tergantung pada nilai input dari a, b, dan c. 5. Gambar Flowchart Flowchart adalah representasi grafis dari suatu proses atau algoritma. Flowchart menggunakan simbol-simbol tertentu untuk menggambarkan langkah-langkah yang harus di lakukan dalam urutan tertentu untuk mencapai suatu tujuan atau menyelesaikan masalah. Ini membantu memvisualisasikan alur kerja, membuat proses lebih mudah dipahami, dan mendeteksi potensi masalah atau langkah yang tidak efisien.
  • 10. 10 Gambar 5. Flowchart Persamaan Linear Sumber: (Penulis 2024) Flowchart ini menggunakan aplikasi Flowgorithm versi 4.5.0 agar mudah dalam mengimplementasikannya. 6. Penjelasan Flowchart Gambar flowchart di atas menggambarkan proses penyelesaian persamaan linear sederhana dengan bentuk: ax + b = c Flowchart ini menentukan nilai x atau memberikan solusi alternatif berdasarkan nilai dari variabel input a, b, dan c.. Berikut penjelasan langkah-langkah dari flowchart tersebut: 1. Deklarasi Variabel • Program mendeklarasikan variabel a, b, c, dan x sebagai integer atau bilangan bulat. 2. Input Variabel • Program meminta pengguna untuk memasukkan nilai untuk variabel a, b, dan c. 3. Pengecekan Apakah a = 0 • Jika a = 0, program akan masuk ke blok pengecekan kedua. • Jika c – b = 0: Output berupa “Solusi tak terhingga”, karena persamaan berubah menjadi identitas (misalnya, 0 = 0). • Jika c – b ≠ 0: Output berupa “Tidak ada solusi”, karena tidak mungkin menyelesaikan persamaan seperti 0x = 5. 4. Jika a ≠ 0 • Program akan menghitung nilai x menggunakan formula: 𝐱 = (𝐜 – 𝐛) 𝐚 • Hasil dari nilai x dicetak sebagai output. 5. Akhir Program • Setelah semua proses selesai, program akan berakhir. 7. Coding • Contoh Implementasi dalam Python: # Fungsi untuk mencari solusi persamaan ax + b = c def cari_solusi(a, b, c): if a == 0: if c - b == 0: print("Solusi tak terhingga.") else: print("Tidak ada solusi.") else: x = (c - b) / a print(f"Nilai x = {x}") # Contoh penggunaan
  • 11. 11 a = float(input("Masukkan nilai a: ")) b = float(input("Masukkan nilai b: ")) c = float(input("Masukkan nilai c: ")) cari_solusi(a, b, c) 8. Penjelasan Output: • Jika a = 0 dan c - b = 0, maka output adalah: “Solusi tak terhingga.” • Jika a = 0 dan c – b ≠ 𝟎, maka output adalah: “Tidak ada solusi.” • Jika a ≠ 𝟎, maka output adalah nilai x sesuai hasil perhitungan. 9. Kode Program dalam C++: #include <iostream> using namespace std; void cariSolusi(double a, double b, double c) { if (a == 0) { if (c - b == 0) { cout << "Solusi tak terhingga." << endl; } else { cout << "Tidak ada solusi." << endl; } } else { double x = (c - b) / a; cout << "Nilai x = " << x << endl; } } int main() { double a, b, c; // Input nilai a, b, dan c dari pengguna cout << "Masukkan nilai a: "; cin >> a; cout << "Masukkan nilai b: "; cin >> b; cout << "Masukkan nilai c: "; cin >> c; // Panggil fungsi untuk mencari solusi cariSolusi(a, b, c); return 0; } 10. Penjelasan Kode Program
  • 12. 12 1. Fungsi cari solusi: • Mengecek apakah nilai a adalah 0. ▪ Jika iya, ada dua kemungkinan: ➢ c – b == 0 : Artinya, persamaan selalu benar, dan solusinya tak terhingga. ➢ c – b != 0 : Artinya, persamaan tidak konsisten, sehingga tidak ada solusi. • Jika a tidak 0, solusi dihitung menggunakan: 𝐱 = (𝐜 – 𝐛) 𝐚 • Hasilnya dicetak ke layar. 2. Fungsi main: • Menerima input untuk nilai a, b, dan c. • Memanggil fungsi cari solusi dengan input tersebut. 11. Contoh Output: Kasus 1: a = 0, b = 1, c = 1 Kasus 2: a = 0, b = 1, c = 3 Kasus 3: a = 2, b = 3, c = 7 Kode ini menangani kasus persamaan linear dengan benar dan memberikan solusi atau pesan yang tepat berdasarkan input yang diberikan. 1.9. Contoh Pemecahan Masalah Jeruk🍋 dan Apel 🍏 Gambar 6. Bagaimana membuatnya sebanding? Sumber: Pertemuan 1 .pptx 1. Masalah
  • 13. 13 • Tidak sebandingnya timbangan antara jeruk dan apel. 2. Analisis Masalah • Apa yang ingin diselesaikan? Membuat sebanding antara jeruk dan apel. • Apa yang menjadi input? Jumlah jeruk dan apel • Bagaimana membuatnya seimbang? Menambah 1 jeruk Menambah apel jika diperlukan Membelah apel atau menambah buah lain untuk mencapai keseimbangan. 3. Algoritma 2 Name : Fruit Balance Given : Num Oranges , Num Apples Result : Balance Intermediates : Difference (diff) Definition : Balance:= Fruit Balance(Num Oranges, Num Apples) ---------------------------------------------------------------------------------------------------------------------------- Method : Get Num Oranges Get Num Apples Let Diff = Number Oranges – Number Apples if diff > 0, Print “Add as many apples as diff” if diff < 0, Print “Add as many oranges as diff” if diff == 0, Print “Balance has been reached” Give Balance 4. Contoh Implementasi Pseudo-Code Algoritma KeseimbanganBuah (Jeruk, Apel): diff = Jeruk - Apel Jika diff > 0: Tambah Apel sebanyak diff Output: "Ditambah apel sebanyak " + diff Jika diff < 0: Tambah Jeruk sebanyak |diff| Output: "Ditambah jeruk sebanyak " + |diff| Jika diff == 0: Output: "Jumlah buah sudah seimbang"
  • 14. 14 5. Penjelasan Pseudocode: • Method ini memastikan jumlah jeruk dan apel selalu seimbang dengan cara menghitung selisih antara keduanya dan menambah buah sesuai kebutuhan. • Menggunakan variabel antara, seperti diff untuk menyimpan selisih, membantu algoritma tetap efisien dan mudah dibaca. • Keluaran atau hasil akan bergantung pada apakah penambahan buah diperlukan atau tidak. 6. Gambar Flowchart Gambar 7. Flowchart Menyeimbangkan Jumlah Jeruk dan Apel. Sumber: (Penulis 2024) 7. Penjelasan Flowchart: 1. Inisialisasi dan Input: o Program memulai dengan mendeklarasikan variabel jeruk, apel, dan diff sebagai bilangan bulat.
  • 15. 15 o Meminta pengguna untuk menginput jumlah jeruk dan apel. o Variabel diff dihitung sebagai selisih antara jumlah jeruk dan apel (diff = jeruk - apel). 2. Cek Keseimbangan Awal: o Jika diff == 0, artinya jumlah jeruk dan apel sudah seimbang, maka program menampilkan pesan: "Jumlah jeruk dan apel sudah seimbang" dan langsung berhenti. 3. Jika Tidak Seimbang: o Jika diff != 0, program menampilkan pesan bahwa buah tidak seimbang beserta nilai selisih. o Kemudian, program memeriksa apakah jumlah jeruk lebih banyak daripada apel (jeruk > apel): ▪ Jika benar, maka program menampilkan pesan untuk menambah apel sejumlah selisih tersebut. ▪ Jika salah, maka program menampilkan pesan untuk menambah jeruk sejumlah selisih tersebut. 4. Keseimbangan Akhir: o Setelah menambah jeruk atau apel, program menampilkan pesan "Jumlah sekarang seimbang!". 8. Ringkasan Simbol Flowchart: Berikut adalah ringkasan simbol yang digunakan dalam flowchart tersebut: 1. Oval (Ellipse): o Fungsi: Menandakan awal atau akhir dari proses. o Contoh: Simbol "Main" (awal) dan "End" (akhir). 2. Parallelogram (Jajar Genjang): o Fungsi: Digunakan untuk input atau output. o Contoh: ▪ Input jeruk dan apel. ▪ Output seperti "Buah tidak seimbang", "Menambah jeruk", dll. 3. Rectangle (Persegi Panjang): o Fungsi: Menunjukkan proses atau operasi. o Contoh: Proses diff = jeruk - apel. 4. Diamond (Berlian): o Fungsi: Menandakan percabangan (kondisi / keputusan). o Contoh: ▪ Apakah diff == 0?
  • 16. 16 ▪ Apakah jeruk > apel? 5. Circle (Lingkaran Kecil): o Fungsi: Menyambungkan alur dalam flowchart (connector). o Contoh: Lingkaran yang digunakan setelah percabangan untuk menggabungkan alur. Flowchart ini menangani perbandingan antara jumlah buah jeruk dan apel serta memberikan respons berdasarkan hasil perbandingan tersebut. 9. Coding #include <iostream> using namespace std; int main() { int jeruk, apel, diff; // Input jumlah jeruk dan apel cout << "Masukkan jumlah jeruk: "; cin >> jeruk; cout << "Masukkan jumlah apel: "; cin >> apel; // Hitung selisih antara jeruk dan apel diff = jeruk - apel; // Cek apakah sudah seimbang if (diff == 0) { cout << "Jumlah jeruk dan apel sudah seimbang." << endl; } else { cout << "Buah tidak seimbang. Selisih: " << abs(diff) << endl; // Tentukan apakah harus menambah jeruk atau apel if (jeruk > apel) { cout << "Menambah apel: " << diff << endl; } else { cout << "Menambah jeruk: " << abs(diff) << endl; } cout << "Jumlah sekarang seimbang!" << endl; } return 0; } 10. Penjelasan Kode: 1. Deklarasi Variabel: o jeruk, apel, dan diff digunakan untuk menyimpan jumlah buah dan selisihnya. 2. Input dari Pengguna: o Program meminta input jumlah jeruk dan apel.
  • 17. 17 3. Hitung Selisih: o Variabel diff menyimpan hasil selisih antara jeruk dan apel (diff = jeruk - apel). 4. Cek Keseimbangan: o Jika diff == 0, program menampilkan pesan bahwa jumlah buah sudah seimbang. o Jika tidak seimbang, program menampilkan selisih dan menentukan apakah harus menambah jeruk atau apel berdasarkan perbandingan jumlah. 5. Output Tambahan: o Program menampilkan pesan buah mana yang perlu ditambah beserta jumlahnya agar seimbang. 6. Fungsi abs(): o Digunakan untuk memastikan bahwa selisih selalu positif saat ditampilkan, agar lebih jelas bagi pengguna. 11. Contoh Output: Kasus 1 Jumlah jeruk=5, apel=3 Kasus 2 Jumlah jeruk=10, apel=100 Daftar Pustaka [1] Kurnia Gusti Ayu, S. M. (2024). Dasar Pemrograman Pertemuan 1.pptx. Jakarta: UNSIA. Link File https://www.slideshare.net/slideshow/diskusi-dasar-pemrograman-pertemuan-ke-1-pdf/272698749
  • 18. 18