You are on page 1of 58

Pemrograman Dasar

Pengantar
Tim Pengampu PD Tekkom

Fakultas Ilmu Komputer


Universitas Brawijaya
Apa itu komputer?
• Komputer:
• Peranti/peralatan yang mampu melaksanakan perhitungan (komputasi) dan
membuat keputusan logika
• Program Komputer (Computer Program):
• Sekumpulan instruksi yang mengontrol pemrosesan data yang dilakukan
komputer.
• Hardware:
• Sekumpulan peralatan yang membentuk komputer.
• Misal: keyboard, mouse, CPU, monitor, CD-ROM, Hard Disk, Floppy Disk, DVD-
ROM, RAM, printer, scanner dsb.
• Software:
• Program komputer yang berguna untuk menjalankan suatu pekerjaan sesuai
dengan yang dikehendaki pengguna.
• Proses (Process):
• Program komputer yang sedang dijalankan
Pemodelan Komputer Sederhana

COMPUTER TO – COMPUTE + ER
menghitung/mengolah bilangan

mengolah data

Data yg diolah Pengolah Data Data hasil olahan


(Processor)
(Masukan/Input) (berbasis Aritmatika (Keluaran/Output)
dan Logika)

Penyimpanan Data
(Storage, e.g. memory)
Organisasi Komputer (1)

Secara logis komputer dibagi menjadi 6 bagian:


1. Input Unit
• Bagian Penerimaan – Receiving Section
• Mendapatkan informasi dari peranti masukan seperti:
keyboard, mouse, microphone, scanner, networks, …
Organisasi Komputer (2)

2. Output Unit
• Bagian Pengiriman – Shipping Section
• Mengambil informasi yang diproses komputer
• Menempatkan informasi pada peranti-peranti keluaran
(output devices), seperti: monitor, printer, dsb
Organisasi Komputer (3)
3. Memory Unit
• Akses yang cepat (rapid access) –
Warehouse Section yang memiliki
kapasitas relatif rendah
• Menyimpan informasi dari input unit –
secara langsung tersedia bagi proses
yang ada
• Menyimpan informasi yang telah
diproses–sampai selesai ditempatkan
pada output unit
• Berupa memory (RAM), primary memory
(cache memory pada processor)
Organisasi Komputer (4)

4. Arithmetic and Logic Unit (ALU)


• Bagian Fabrikasi – Manufacturing Section
• Melaksanakan proses perhitungan aritmatika dan
keputusan logika

5. Central Processing Unit (CPU)


• Bagian Administratif – Administrative Section
• Mengawasi dan mengkoordinasi bagian-bagian lain di
dalam komputer
Organisasi Komputer (5)

6. Secondary Storage Unit


• “Warehouse Section” yang memiliki kapasitas besar,
waktu yang lama.
• Sebagai penyimpan – program atau data yang sedang
tidak aktif
• Peranti penyimpan sekunder – disks (hard disk, floppy
disk, compact disc, dsb)
• Lebih lama waktu aksesnya daripada primary memory
Pemrograman
Pemrograman Komputer

• Pemrograman adalah proses pembuatan program


komputer menggunakan bahasa pemrograman
yang dilakukan oleh manusia (programmer)
• Program komputer adalah sekumpulan (langkah
demi langkah) untuk menyelesaikan suatu
tugas/masalah yang dilakukan oleh komputer
Bahasa Pemrograman (1)

• Bahasa pemrograman berisi kosakata dan aturan


tata bahasa (grammar) untuk memberikan instruksi
kepada komputer guna melakukan suatu tugas.
• Ada berbagai macam bahasa pemrograman
• Masing-masing bahasa memiliki sekumpulan
himpunan keywords (kata-kata kunci yang
dipahami) dan syntax (grammar) unutk mengatur
instruksi program
Bahasa Pemrograman - Syntax

• Syntax adalah merujuk kepada ejaan (spelling) dan


tata bahasa (grammar)
• Tiap bahasa pemrograman memiliki tata bahasa,
ejaan, dan tanda baca yang berbeda-beda dan
memiliki arti yang berbeda-beda
Bahasa Pemrograman (2)

• Ada banyak sekali bahasa pemrograman


• Programmer harus memilih bahasa pemrograman mana yang cocok untuk
menyelesaikan masalah
• Misalnya (bersifat subjektif)
• Assembly, C, C++  berguna untuk tugas-tugas yang membutuhkan akses langsung ke
hardware dengan cepat
• Java  multiplatform, desktop, mobile, web
• Matlab, Python  multiplatform, berguna untuk tugas-tugas komputasi yang lebih
mudah dibanding Java, C++
• Perl  berguna untuk tugas-tugas di bidang teks
• PHP, ASP.NET, Java (JSP)  berguna untuk pembuatan web
• C#, VB  berguna apabila menggunakan teknologi Microsoft
• Objective-C, Swift  berguna apabila menggunakan teknologi Apple
Source Code

• Source code adalah kode (sumber) program yang


berisi instruksi-instruksi, bisa berupa bahasa
assembly (low level) atau bahasa tingkat tinggi (high
level), biasanya diketik menggunakan suatu editor
teks atau integrated development environment (IDE)
• Source code tidak dapat dimengerti secara langsung
oleh komputer
• Source code harus diterjemahkan menjadi kode
mesin supaya dapat dijalankan,
• misalnya dengan cara dikompilasi (compile)
Object code, Executable code

• Object code, bytecode adalah kode program yang


telah diterjemahkan sehingga dimengerti oleh mesin
(hasil kompilasi, tapi bisa jadi belum siap dijalankan)
• Misal:
• Kode C C compiler (mis. gcc)  object code  OS
• Kode Java  Java compiler (javac)  byte code 
JVM
• Executable code umumnya merujuk pada kode bahasa
mesin (software hasil kompilasi yang siap dijalankan di
komputer), yang berisi sekumpulan instruksi native
pada perangkat keras komputer
1.6 Machine Languages, Assembly
Languages and High-Level Languages

• Machine language
• “Natural language” of computer component
• Machine dependent
• Assembly language
• English-like abbreviations represent computer operations
• Translator programs convert to machine language
• High-level language
• Allows for writing more “English-like” instructions
• Contains commonly used mathematical operations
• Compiler convert to machine language
• Interpreter
• Execute high-level language programs without compilation
Bahasa Mesin (Machine Language)

• Bahasa asli komputer – “Native Computer Language”.


• Ditentukan oleh perancangan hardware dan
tergantung pada jenis mesinnya – “machine-
dependent”.
• Umumnya terdiri dari deretan angka-angka – hampir
keseluruhan adalah 0 dan 1 saja.
• Menginstruksikan kepada komputer untuk
melaksanakan proses-proses dasar - sekali dalam
satu waktu.
• Sulit bagi manusia
Bahasa Rakitan (Assembly Language)

• Menggunakan singkatan-singkatan dalam bahasa


Inggris untuk menggambarkan operasi-operasi
komputer dasar
• Lebih jelas bagi manusia
• Assembly Language memerlukan beberapa
perintah untuk 1 tugas sederhana
• Tidak dimengerti komputer  perlu translator
(assembler)  mengkonversi ke bahasa mesin
• Misal:
• MOV DX, 100;
Bahasa Tingkat Tinggi
(High-Level Language)

• Menggunakan istilah-istilah dalam bahasa Inggris dan


notasi matematis umum
• Satu pernyataan menyelesaikan tugas-tugas substansial
• Program translator (compiler)  mengonversi ke bahasa
mesin, hasil terjemahan disebut object code/machine
code
• Program interpreter menerjemahkan bahasa tingkat
tinggi langsung ke bahasa mesin, mengeksekusi perintah
satu per satu dalam bahasa tingkat tinggi secara
langsung. Hasil terjemahan (machine code) tidak
disimpan setelah dieksekusi
Cara Kerja Compiler

Compiler
Source code Object code
(menerjemahkan kode program)

Linker/Loader
(menyimpan
kode di memory

Executable code
Cara Kerja Interpreter

Interpreter
Source code (menerjemahkan instruksi satu machine code
per satu)
Algoritma (Algorithm)
Algoritma

• Algoritma adalah sekumpulan langkah-langkah


terbatas untuk mencari solusi suatu masalah.
• Diambil dari nama Al Khawarizmi (Al Khawarizmi: On
Calculation with Hindu–Arabic numeral system,
825M). Disalahpami sebagai Algoritmi (jamak latin dari
Algoritmus), yang akhirnya menjadi Algorithm, metode
kalkulasi.
• Di pemrograman komputer, algoritma
diimplementasikan dalam program komputer, yaitu
satu set instruksi atau langkah-langkah yang dijalankan
dengan komputer untuk menyelesaikan suatu masalah.
Tahap Pengembangan Algoritma

MASALAH/IDE PEMECAHAN SOLUSI/HASIL

Source Executable
Algoritma
Code Code
Tahap Pengembangan Algoritma
DEFINISI BUAT RANCANG
MASALAH MODEL TULIS PROGRAM
ALGORITMA

COMPILE

Y
Compile Error
T
Executable code:
=> Run

Y
Error
T
DOKUMENTASI

25
Tahap Pengembangan Algoritma
DEFINISI BUAT RANCANG TULIS PROGRAM
MASALAH MODEL ALGORITMA

COMPILE
Masalah:
Tentukan akar-akar dari suatu persamaan kwadrat. Compile Error
Definisi:
Persamaan kwadrat : ax^2 + bx + c = 0
Executable code:
Data yg diperlukan :
Nilai dari a, b dan c : tipe real => Run

Error

DOKUMEN TASI

26
Tahap Pengembangan Algoritma
DEFINISI MEMBUAT RANCANG TULIS PROGRAM
MASALAH MODEL ALGORITMA

COMPILE

Model Matematika : Compile Error


Rumus ABC
x1 = (-b + sqrt(b^2 - 4ac))/2a
x2 = (-b – sqrt(b^2 - 4ac))/2a Executable code:
=> Run

Error

DOKUMENTASI

27
Tahap Pengembangan Algoritma
DEFINISI MEMBUAT RANCANG TULIS PROGRAM
MASALAH MODEL ALGORITMA

Start COMPILE

Masukkan a,b,c
Compile Error
d = b^2 – 4ac

d<0 Executable code:


Y
T => Run
x1=(-b+sqrt(d))/2a Cetak:
x2 =(-b-sqrt(d))/2a “Akar imajiner”
Error
Cetak: x1, x2

DOKUMENTASI
Stop
28
Tahap Pengembangan Algoritma
DEFINISI MEMBUAT RANCANG TULIS PROGRAM
MASALAH MODEL ALGORITMA

COMPILE

Compile Error

Executable code:
=> Run

Error

DOKUMENTASI

29
Tahap Pengembangan Algoritma
DEFINISI MEMBUAT RANCANG TULIS PROGRAM
MASALAH MODEL ALGORITMA

COMPILE

Compile Error

Executable code:
=> Run

Error

DOKUMENTASI

30
Tahap Pengembangan Algoritma
DEFINISI MEMBUAT RANCANG TULIS PROGRAM
MASALAH MODEL ALGORITMA

COMPILE

Compile Error

Executable code:
=> Run

Error

DOKUMENTASI
31
Tahap Pengembangan Algoritma
DEFINISI MEMBUAT RANCANG TULIS PROGRAM
MASALAH MODEL ALGORITMA

COMPILE

Error

Executable code:
=> Run

Error

DOKUMENTASI

32
Tahap Pengembangan Algoritma
DEFINISI MEMBUAT RANCANG TULIS PROGRAM
MASALAH MODEL ALGORITMA

COMPILE

Error

Executable code:
=> Run

Error

DOKUMENTASI

33
Tahap Pengembangan Algoritma
DEFINISI MEMBUAT RANCANG TULIS PROGRAM
MASALAH MODEL ALGORITMA

COMPILE

Error

Executable code:
=> Run

Error

DOKUMENTASI

34
Penyajian algoritme

• algoritme bisa dibuat/dituliskan/


digambarkan dengan:

• Teknik tulisan seperti:


Structured English dan Pseudocode

• Teknik visual seperti:


Flow chart

35
Pseudocode

• Outline dari sebuah program komputer


• Ditulis dalam bahasa Inggris atau Indonesia
sederhana
• Kata kunci (keyword) digunakan untuk menjelaskan
struktur kendali
misalnya:
• “jika”, “ulangi”, “sampai”,
• ”if”, ”repeat”, “until”

36
Pseudocode

• Tujuh operasi dasar komputer:


• Membaca data (Input)
• Menampilkan data (Output)
• Melakukan perhitungan aritmetika (Compute)
• Memberikan nilai ke suatu identifier (Store)
• Membandingkan dan Memilih (Compare)
• Melakukan pengulangan (Loop)
• Procedure dan atau Function

37
1. Membaca Data

• Sewaktu komputer menerima informasi atau


masukan (input), maka statement yang biasa
digunakan adalah “Read”, “Get”, ”Input”, “KeyIn”
atau “Baca”
• Contoh:
• Read Bilangan
• Get kode_pajak
• Baca nama_mahasiswa

38
2. Menampilkan Data
• Sewaktu komputer menampilkan informasi keluaran atau
output, maka statement yang biasa digunakan adalah
“Print”, “Write”, “Put”, “Output”, “Display” ataupun
“Cetak”
• Contoh:
• Print “Universitas Brawijaya”
• Cetak “Dasar Pemrograman Komputer”
• Output Total

39
3. Perhitungan Aritmatika

• Untuk melakukan operasi aritmatika digunakan


pseudocode berikut:
• + untuk penjumlahan (add)
• - Untuk pengurangan (subtract)
• * Untuk perkalian (multiply)
• / Untuk pembagian (divide)
• () Untuk pengelompokkan/prioritas aritmatika
• Statement “Compute”, “Calculate” ataupun “Hitung” juga
dapat digunakan.
• Contoh:
• Add number to total
• Total = Total + number

40
4. Memberikan Nilai ke Identifier

• Ada tiga cara untuk memberikan nilai ke dalam


variabel:
• Memberikan nilai awal, menggunakan statement
“Initialize” atau “Set”
• Memberikan nilai sebagai hasil dari suatu proses, maka
digunakan tanda “=“atau “”
• Untuk menyimpan suatu nilai maka digunakan statement
“Save” atau “Store”
• Contoh:
• Set Counter to 0
• Total  Harga * Jumlah

41
5. Membandingkan dan memilih

• Salah satu operasi terpenting yang dapat dilakukan


komputer adalah membandingkan dan memilih
salah satu alternatif solusi (seleksi kondisi).
• Keyword yang digunakan : “IF”, “THEN” dan
“ELSE”
• Contoh
IF Pilih=‘1’ THEN
Discount  0.1 * harga
ELSE
Discount  0.2 * harga
ENDIF
42
6. Pengulangan

• Jika ada beberapa perintah yang harus diulang,


maka dapat digunakan keyword “WHILE-DO” dan
“END WHILE” atau “FOR” dan “END FOR”
• Contoh
Bil  0
WHILE bil < 10 DO
cetak bil
bil  bil +1
END WHILE

43
Contoh algoritme dgn Pseudocode

• algoritme Berangkat Kuliah


• Mulai
• Bangun dari tempat tidur
• Mandi Pagi
• Sarapan Pagi
• Pergi Ke Kampus
• Cari Ruang Kuliah
• Masuk kelas untuk Kuliah
• Selesai

44
Contoh algoritme dgn Pseudocode

• algoritme Menggunakan Kalkulator


• Mulai
• Nyalakan kalkulator
• Kosong/Nolkan Kalkulator
• Ulangi
• Masukkan harga
• Tekan tombol Tambah (+)
• Sampai semua harga dimasukkan
• Tampilkan total harga
• Matikan kalkulator
• Selesai

45
Contoh algoritme dgn Pseudocode

algoritme Sarapan Pagi


Mulai
Ambil piring
Masukkan nasi dan lauk dalam piring
Ambil sendok dan garpu
Ulangi
Angkat sendok dan garpu
Ambil nasi dan lauk
Suapkan ke dalam mulut
Taruh sendok dan garpu
Kunyah
Sampai (nasi dan lauk habis) ATAU kekenyangan
Bereskan piring, sendok dan garpu
Selesai

46
Contoh algoritme dgn Pseudocode

• algoritme Pembagian Bilangan


• Mulai
• Input a, b
• IF b=0 THEN
• Cetak “Error: division by zero”
• ELSE
• xa/b
• Cetak x
• END IF
• Selesai

47
Flowchart

Terminator Arah

Proses Konektor

Input/Output Konektor antar


halaman
Dokumen
Pemanggilan
Procedure
Pemilihan

Pengulangan
48
Contoh Flowchart
Start

Masukkan
a,b,c

d = b^2 – 4ac
Y
d<0
T Cetak Pesan
x1=(-b+sqrt(d))/2a “Akar
x2 =(-b-sqrt(d))/2a imajiner”

Cetak x1,x2

Stop
49
Kriteria algoritme yang Baik

• Mempunyai logika yang tepat untuk memecahkan


masalah.
• Menghasilkan keluaran (output) yang benar dalam
waktu yang singkat.
• Ditulis dengan bahasa baku terstruktur sehingga
tidak menimbulkan arti ganda.
• Ditulis dengan format baku sehingga mudah
diimplementasikan ke dalam bahasa pemrograman.
• Semua operasi didefinisikan dengan jelas dan
berakhir sesudah sejumlah langkah.
50
Pemrograman Terstruktur

• Pemrograman terstruktur merupakan pola


penyusunan program komputer hanya
dengan menggunakan tiga struktur kontrol
yaitu:
• Sequence
• Selection
• Repetition

51
1. Sequence

• Sequence merupakan urutan pengerjaan dari


perintah/statement pertama sampai dengan
perintah/statement terakhir.
• Umumnya bahasa pemrograman mempunyai
sequence (urutan pengerjaan dari
perintah/statement) mulai dari atas ke bawah dan
dari kiri ke kanan.
• Top-down

52
Contoh Sequence
• Contoh Pseudocode:
1. Cetak “Jumlah Mahasiswa”
2. Set Jumlah to 49
3. Cetak “Tambahan mahasiswa baru”
4. Baca mhs_baru
5. Jumlah = Jumlah + mhs_baru
6. Cetak “Jumlah Mahasiswa”
7. Cetak jumlah

• Penjelasan
• Urutan pengerjaan adalah mulai dari urutan pertama sampai
dengan urutan terakhir, jika mhs_baru diisi dengan 2, maka jumlah
yang tercetak adalah 51

53
2. Selection

• Struktur kontrol Selection adalah penggambaran


sebuah kondisi dan pilihan di antara dua aksi.
• Statement pertama akan dikerjakan jika kondisi
bernilai benar (true), jika tidak (false) maka akan
mengerjakan perintah setelah keyword “ELSE” (jika
ada).

54
Contoh Selection

• Contoh Pseudocode:
1. IF Hari=1 THEN
2. Cetak “Senin”
3. ELSE
4. Cetak “Bukan hari Senin”
5. END IF
• Penjelasan
• Tulisan “Senin” akan ditampilkan jika Hari bernilai 1, jika
tidak maka tulisan “Bukan hari Senin” yang akan
ditampilkan

55
3. Repetition
• Beberapa statement/perintah dapat diulang dengan
menggunakan struktur kontrol repetition.
• Statement/perintah akan tetap diulang selama kondisi
perulangan memenuhi (jika menggunakan WHILE DO–END
WHILE)

56
Contoh Repetition

• Contoh Pseudocode:
1. Bintang  0
2. WHILE bintang < 5 DO
3. Cetak bintang
4. bintang  bintang + 1
5. END WHILE
• Penjelasan:
• Pertama kali bintang akan diisi dengan 0, setelah itu isi dari
bintang akan dicetak sebanyak lima kali, sehingga
tampilannya akan sebagai berikut:

01234
57
Latihan

1. Buatlah algoritme menggunakan pseudocode dan


flowchart untuk menghitung luas persegi panjang
2. Buatlah algoritme menggunakan pseudocode dan
flowchart untuk mengubah jam dan menit yang
dimasukkan ke dalam satuan detik.
3. Buatlah algoritme menggunakan pseudocode dan
flowchart untuk menentukan apakah bilangan
yang dimasukkan adalah bilangan ganjil atau
bilangan genap.

58

You might also like