Pengantar Teknik Informatika
Program Studi Teknik Informatika
"Pemrograman adalah proses menulis, menguji, dan memelihara kode yang membentuk program komputer."
IEEE Computer Society
"Programming is the art of telling another human what one wants the computer to do."
Donald Knuth
"Pemrograman adalah aktivitas merancang dan mengimplementasikan algoritma dalam bentuk kode yang dapat dieksekusi komputer."
ACM (Association for Computing Machinery)
Pemrograman memerlukan pemikiran yang logis dan pendekatan yang sistematis untuk memecahkan masalah.
Fokus utama adalah mencari solusi efektif dan efisien untuk menyelesaikan permasalahan tertentu.
Setiap bahasa pemrograman memiliki aturan sintaks yang harus diikuti dengan tepat.
Program dapat diuji, dijalankan, dan dievaluasi untuk memastikan berjalan sesuai harapan.
Algoritma adalah urutan langkah-langkah logis dan sistematis untuk menyelesaikan suatu masalah atau mencapai tujuan tertentu.
// Algoritma Menghitung Luas Persegi
1. MULAI
2. Masukkan panjang sisi (s)
3. Hitung luas = s × s
4. Tampilkan hasil luas
5. SELESAI
Flowchart adalah representasi visual dari algoritma menggunakan simbol-simbol standar untuk menunjukkan alur logika program.
Contoh Flowchart dan Pseudocode
Pseudocode adalah deskripsi tingkat tinggi dari logika program menggunakan bahasa yang mudah dipahami manusia, namun mengikuti struktur bahasa pemrograman.
// Menentukan Bilangan Genap/Ganjil
BEGIN
INPUT number
IF number MOD 2 = 0 THEN
OUTPUT "Genap"
ELSE
OUTPUT "Ganjil"
ENDIF
END
Konsep dan logika penyelesaian masalah dalam bentuk langkah-langkah sistematis
Representasi visual algoritma menggunakan simbol-simbol standar
Deskripsi algoritma dalam bentuk teks yang mudah dipahami
Paradigma pemrograman adalah pendekatan atau gaya dalam menulis program komputer. Setiap paradigma memiliki konsep, prinsip, dan cara berpikir yang berbeda dalam menyelesaikan masalah.
Fokus pada fungsi dan prosedur. Program terdiri dari serangkaian instruksi yang dieksekusi secara berurutan.
Berbasis objek yang memiliki atribut dan method. Menggunakan konsep encapsulation, inheritance, dan polymorphism.
Berbasis pada fungsi matematika. Menghindari perubahan state dan menggunakan immutable data.
Program Development Life Cycle (PDLC) adalah metodologi yang digunakan untuk mengembangkan program komputer secara sistematis dan terstruktur dari awal hingga akhir.
Fase-fase dalam PDLC
Mengidentifikasi dan memahami masalah yang akan diselesaikan dengan program.
Merancang solusi dalam bentuk algoritma, flowchart, atau pseudocode.
Mengimplementasikan desain ke dalam bahasa pemrograman yang dipilih.
Melakukan pengujian untuk memastikan program berjalan dengan benar.
Membuat dokumentasi program untuk referensi dan maintenance.
Pemeliharaan dan perbaikan program setelah digunakan.
Bahasa tingkat paling rendah yang terdiri dari kode biner (0 dan 1).
Bahasa tingkat rendah yang menggunakan mnemonic dan simbol.
Bahasa tingkat tinggi yang mudah dipahami manusia.
Contoh: Python, Java, C#, JavaScript
Contoh: Assembly, Machine Code
Dikompilasi menjadi machine code sebelum dijalankan
Contoh: C, C++, Rust, Go
Dijalankan langsung oleh interpreter
Contoh: Python, JavaScript, Ruby
Untuk berbagai jenis aplikasi
Contoh: Java, Python, C#
Untuk domain atau tujuan tertentu
Contoh: SQL (database), HTML (web), MATLAB (numerik)
Variabel adalah tempat penyimpanan data dalam memori komputer yang memiliki nama dan dapat berubah nilainya selama program berjalan.
// Java
int age = 25;
String name = "John";
double salary = 5000.50;
// Python
age = 25
name = "John"
salary = 5000.50
Tipe data adalah klasifikasi yang menentukan jenis nilai yang dapat disimpan dalam variabel dan operasi apa yang dapat dilakukan pada data tersebut.
Tipe Data dalam Bahasa C
Tipe Data dalam JavaScript
Fungsi adalah blok kode yang dapat digunakan kembali (reusable) untuk melakukan tugas tertentu. Fungsi menerima input (parameter) dan dapat mengembalikan output (return value).
// Java
public int tambah(int a, int b) {
return a + b;
}
// Pemanggilan fungsi
int hasil = tambah(5, 3);
// Python
def tambah(a, b):
return a + b
# Pemanggilan fungsi
hasil = tambah(5, 3)
Terdiri dari nama fungsi, parameter, dan return type yang menentukan identitas fungsi.
Input yang diterima fungsi untuk diproses. Dapat berupa satu atau lebih nilai.
Blok kode yang berisi instruksi-instruksi yang akan dieksekusi.
Output yang dikembalikan fungsi setelah pemrosesan selesai.
// Struktur Fungsi dalam Java
// Return Type | Nama Fungsi | Parameter
public double hitungLuas(double panjang, double lebar) {
// Function Body
double luas = panjang * lebar;
// Return Statement
return luas;
}
Kata-kata khusus yang memiliki makna tertentu
Contoh: if, else, for, while, class, public
Nama untuk variabel, fungsi, class, dll
Aturan: huruf pertama, tidak boleh keyword
Simbol untuk operasi matematika/logika
Contoh: +, -, *, /, ==, !=, &&, ||
Simbol pemisah elemen program
Contoh: ; (semicolon), {} (braces), () (parentheses)
// Program Hello World
public class HelloWorld {
public static void main(String[] args) {
// Deklarasi variabel
int angka = 10;
String nama = "Java";
// Output
System.out.println("Hello " + nama);
}
}
Instruksi dijalankan secara berurutan dari atas ke bawah.
statement1;
statement2;
statement3;
Pemilihan eksekusi berdasarkan kondisi tertentu.
if (condition) {
statement1;
} else {
statement2;
}
Pengulangan eksekusi instruksi berkali-kali.
for (int i=0; i<10; i++) {
statement;
}
while (condition) {
statement;
}
Struktur kontrol menentukan urutan eksekusi instruksi dalam program. Dengan kombinasi ketiga struktur ini, kita dapat membuat program yang kompleks dan efisien.
Proses mencari, mengidentifikasi, dan memperbaiki kesalahan (bug) dalam program.
Proses menguji program untuk memastikan berfungsi sesuai dengan requirement dan spesifikasi.
Jelaskan perbedaan antara algoritma, flowchart, dan pseudocode! Berikan contoh untuk masing-masing!
Bandingkan paradigma pemrograman prosedural dan object-oriented! Kapan sebaiknya menggunakan masing-masing paradigma?
Sebutkan dan jelaskan fase-fase dalam Program Development Life Cycle (PDLC)! Mengapa PDLC penting dalam pengembangan software?
Buatlah pseudocode untuk menghitung faktorial dari bilangan N! Kemudian buat flowchart untuk algoritma tersebut!
Pilih satu masalah sederhana dalam kehidupan sehari-hari, kemudian:
Pilih dua bahasa pemrograman berbeda, kemudian bandingkan:
Buku Utama:
Abdul Kadir & Terra Ch. Triwahyuni. (2013). Pengantar Teknologi Informasi. Yogyakarta: Penerbit Andi.
Buku Pendukung:
Sumber Online:
Standar dan Dokumentasi:
Questions & Discussion
Pertemuan 10: Pemrograman
Pengantar Teknik Informatika
Email: [email protected]
Website: www.university.ac.id/ti