Anda di halaman 1dari 50

Konsep Dasar Pemrograman

AnikVegaVitianingsih, S.Kom.,MT
081332765765
@vegavitianingsih
Kontrak Kuliah

- Maks Kedatangan Kuliah Daring:


- Min 8 jam/hari didepan PC→ tidak untuk medsos →
timing boleh dibagi-bagi
- Nilai
- Tugas setiap pertemuan Wajib 100%
- Kehadiran Wajib 100%
- UTS
- Ujian Tulis OL → Close → 30%
- On The Sport Exam → open book, gadget, laptop → 70%
- UAS
- Ujian Tulis OL → Close → 30%
- On The Sport Exam → open book, gadget, laptop → 70%
Outline:

1.Kontrak Kuliah & Konsep Dasar Pemrograman


2.Pengantar Bahasa Pemrograman Java
3.Variabel & Tipe Data
4.Operator
5.Stream, File
6.Struktur Kontrol
7.Struktur Perulangan
8.Array
9.Java Class & Java Method
10.GUI

Next RPS
Algoritma ?
 urutan langkah-langkah logis penyelesaian masalah yang disusun
secara sistematis.
 Logis → benar sesuai dengan logika manusia.
 Urutan langkah yang ditempuh untuk menyelesaikan masalah
harus memberikan hasil yang benar → sesuai dg tujuan
 Setiap langkah algoritma dibaca dari “atas” ke “bawah”
 Komponen teks algoritma dalam pemrograman procedur:
 Instruksi dasar seperti input/output, assignment

 Sequence (runtutan)

 Analisa kasus

 Perulangan
Algoritma (Deskripsi)
 Algoritma adalah bagian inti dari suatu algoritma yang
berisi instruksi atau pemanggilan aksi yang telah
didefinisikan.
 Komponen teks algoritma dalam pemrograman
procedural dapat berupa :
 Instruksi dasar seperti input/output, assignment
 Sequence (runtutan)
 Analisa kasus
 Perulangan
 Setiap langkah algoritma dibaca dari “atas” ke
“bawah”.
 Urutan deskripsi penulisan menentuan urutan langkah
pelaksanaan perintah.
Ciri Algoritma

✓ harus efisien→dimana prosesnya dapat


diselesaikan secepat mungkin dengan frekeusi
perhitungan yang sependek mungkin→tidak
boros sumber daya.
✓ mudah diimplementasikan ke perangkat
komputer.
✓ mudah dipahami.
✓ Akurasi tinggi adalah syarat lain dari program
algoritma yang baik.
✓ Algoritma yang berlaku umum dan tidak
terbatas pada 1 bidang spesifik.
✓ Harus dapat dikembangkan
Contoh Algoritma Sederhana
(Mengirim surat kepada teman)

1. Tulis surat pada secarik kertas surat.


2. Ambil sampul surat.
3. Masukkan surat ke dalam sampul.
4. Tutup sampul surat menggunakan perekat.
5. Jika kita ingat alamat teman tersebut, maka tulis
alamat pada sampul surat.
6. Jika tidak ingat, lihat buku alamat, kemudian tulis
alamat pada sampul surat.
7. Tempel perangko pada surat.
8. Bawa surat ke kantor pos untuk diposkan.
Next Studi Kasus

✓ Membuat kue
✓ Merakit Mobil
✓ Mengisi Voucher
Domain Algoritma
 Masalah : motivasi untuk membuat algoritma.
 Algoritma : prosedur untuk menyelesaikan
masalah. Seringkali satu masalah dapat
diselesaikan dengan lebih dari satu cara
(banyak kemungkinan).
 Program: representasi formal dari suatu
algoritma dengan menggunakan bahasa
pemrograman yang bisa dimengerti oleh
komputer.
 Proses : aktivitas menjalankan langkah-langkah
dalam algoritma.
Penilaian Algoritma
 Algoritma harus benar → keluaran seperti yang
dikehendaki.
 Efisiensi Algoritma
 Kecepatan waktu yang dibutuhkan
 Memori yang dipakai

 Portabilitas : dapat dg mudah diimplementasikan di


berbagai platform komputer.
 Mudah dimengerti
Penyajian Algoritma
 Tulisan
 Urutan langkah-langkah
 Pseudocode
 Gambar
 Flowchart → Gambar/bagan yang memperlihatkan
urutan dan hubungan antar proses.
Flowchart

System Flowchart
 urutan proses dalam system dengan menunjukkan alat
media input, output serta jenis media penyimpanan
dalam proses pengolahan data.
Program Flowchart
 urutan instruksi yang digambarkan dengan symbol
tertentu untuk memecahkan masalah dalam suatu
program.
Simbol Flowchart:

1. Flow Direction Symbols (Simbol penghubung alur)


2. Processing Symbols (Simbol proses).
3. Input-output Symbols (Simbol input- output)
Flow Direction Symbols
Arus Menunjukkan jalannya arus dari suatu proses
Dokumen/Pemr
osesan
Menunjukkan penghubung dari satu proses ke
Connector proses yang lainnya dalam halaman/lembar
yang sama
Menunjukkan penghubung dari satu proses ke
Offline proses yang lainnya dalam halaman/lembar
Connector yang berbeda
Processing Symbols
Menunjukkan proses dari operasi program
Proses
komputer
Merupakan proses manual dalam flowchart atau
Proses
proses yang tidak dilakukan oleh komputer
Manual
(manual)
Menunjukkan tahapan pembuatan keputusan
Decision/
atau suatu kondisi tertentu yang akan
Logika
memberikan jawaban trus or false
Predifined Menyatakan nilai awal suatu proses
Process penyimpanan
Menunjukkan awal dan akhir dari bagan alir
Terminal
dokumen
Offline Menunjukkan data yang akan disimpan pada
Storage suatu media tertentu
Memasukkan data secara manual dengan online
Manual Input
keyboard
Input-output Symbols
Input/Output Menyatakan data input/output
Menyatakan input yang berasal dari
Punched Card
kartu/output yang dutulis pada kartu
Menyatakan input yang berasal dari pita
Magnetic-tape
magnetic atau output yang disimpan ke pita
Unit
magnetic
Menunjukkan dokumen input dan otput
baik untuk proses manual, mekanik atau
Dokument
computer yang akan dicetak laporan ke
printer
Menyatakan input yang berasal dari disk
Disk Storage
atau output yang disimpan ke disk
Menyatakan output yang digunakan berupa
Display
layer (video atau computer)
Contoh Penggunaan Simbol
Contoh-1: Algoritma
 Ada 2 buah gelas. Satu berisi teh dan satunya lagi
berisi kopi. Bagaimana caranya menukar isi masing-
masing gelas?

teh kopi
Penyelesaian Contoh-1:
Algoritma
 Siapkan gelas
cadangan X X

 Tuangkan gelas yang


berisi teh ke gelas X teh
cadangan

 Tuangkan gelas yang


berisi kopi ke gelas
yang awalnya dipakai teh
teh kopi

 Tuangkanisi gelas
cadangan ke gelas
yang awalnya berisi kopi
kopi X
Contoh-2: Algoritma
 Bagaimana menentukan apakah suatu bilangan
merupakan bilangan ganjil atau bilangan genap.
1→1

2→0
➔ Operator aritmatika % ➔ if angka % 2==0 then
3→1
genap
4→0
else
5→1
ganjil
6→0

7→1

8→0

9→1

10 → 0
Penyelesaian Contoh-2:
 Algoritmanya :
A. Masukkan bilangan yang akan ditentukan
B. Bagi bilangan dengan bilangan 2
C. Hitung sisa hasil bagi pada langkah B.
D. Jika sisa hasil bagi = 0, maka bilangan = genap.
Jika tidak, maka bilangan = ganjil.
Contoh-3: Algoritma
 Permasalahan: Buatlah sebuah rancangan program
dengan menggunakan flowchart untuk mencari luas
persegi panjang.
 Rumus → L = panjang x lebar
 Algoritma menghitung luas persegi panjang :
1. Masukkan panjang (P)
2. Masukkan Lebar (L)
3. Luas = P * L Step 1: input (p)
Step 2: input (l)
4. Tulis luas Step 3: L  p * l
Step 4: output (L)
Penyelesaian Contoh-3

Simbol 1: dimulainya sebuah


program.
Simbol 2: menunjukkan bahwa
input data dari p dan l.
Simbol 3: Data dari p dan l
akan diproses dg rumus L = p. l
Simbol 4: hasil output dari
proses dari simbol 3.
Simbol 5: berakhirnya program
dengan tanda End.
Pseudo-code
 Setiap Algoritma akan selalu terdiri dari tiga bagian
yaitu :
 Judul (Header)
 Kamus

 Algoritma

 Pada setiap bagian tersebut apabila akan dituliskan


komentar mengenai setiap bagian tersebut dituliskan
diantara tanda kurung kurawa
 Contoh : { Komentar }
Bagian dari Penulisan Algoritma

Judul
{Bagian ini berisi komentar mengenai Algoritma program, diantaranya bagaimana cara
kerjanya, bagaimana kondisi awal dan akhir dari algoritma program}
Kamus
{Bagian ini berisi definisi nama variabel, nilai inputan awal, nama prosedur, nama
fungsi, dll}
Algoritma
{Bagian ini tempat untuk menuliskan Algoritma}
Judul (Header)
 bagian teks algoritma yang digunakan sebagai tempat
mendefinisikan nama dengan menentukan apakah teks
tersebut adalah program, prosedur, fungsi.
 Setelah judul disarankan untuk menuliskan spesifikasi singkat
dari teks algoritma tersebut.
 Nama algoritma sebaiknya singkat namun cukup
menggambarkan apa yang akan dilakukan oleh
algoritma tersebut.
Kamus (Deklarasi)
 Kamus adalah bagian teks algoritma sebagai tempat untuk mendefinisikan :
 Nama type
 Nama konstanta
 Nama variabel
 Nama fungsi
 Nama prosedur
Algoritma
Kamus
{Nama type} input (c,d) {program menerima input 2 bil c,d}
{Nama konstanta} if c<d then {operasi kondisi}
x,y: integer e a+b {nilai e di assignment nilai a,b}
z: float else
Nama: String d a-b
x=2; output (e) {hasil output}
z=3.14
Menentukan nilai terbesar dari bilangan bulat yang
dibaca dari piranti masukan dan menuliskan hasilnya
ke piranti keluaran.
Contoh Masalah

Algoritma Nilai MHS


diberikan nilai mahasiswa yang meliputi nilai UTS, nilai
UAS, nilai tugas, jika nilai tersebut lebih kecil atau sama
dengan 65 maka mahasiswa tersebut dinyatakan tidak
lulus, jika nilai lebih besar dari 66 maka dinyatakan lulus.
1. baca nilai mahasiswa.
2. jika nilai <= 65 maka
keterangan = tidak lulus
tetapi jika tidak
keterangan = lulus.
3. tulis nilai mahasiswa
Jawab

START
Step 1: Input NilaiUTS, NilaiUAS, NilaiTugas
Step 2: NA  NilaiUTS+ NilaiUAS+NilaiTugas/3
Input
NilaiUTS, NilaiUAS, NilaiTugas
Step 3: if (NA <=65) then
Print “Tidak Lulus”
else
NA NilaiUTS+ NilaiUAS+NilaiTugas/3 Print “Lulus”
endif
N NA<=65 Y

PRINT PRINT
“Lulus” “Tidak Lulus”

END
Contoh Masalah:

Buatlah algoritma dengan bahasa manusia, flowchart,


pseudocode:

Untuk menghitung :
Fahrenheit = 9/5 x ( C + 32)
Reamur = 4/5 x ( C + 32)
Jawab

Bahasa Manusia
START 1. Masukkan nilai Celsius
2. Hitung konversi nilai Celcius ke→
Input Fahrenheit = 9/5 * (Celsius +32)
Celsius Reamur = 4/5 * (Celsius +32)
3. Cetak Celsius, Fahrenheit, Reamur
Fahrenheit = 9/5 x ( C + 32)

Reamur = 4/5 x ( C + 32)


Pseudocode :
Program Konversi_Suhu
Output { Menghitung Fahrenheit dan Reamur }
Celsius, Fahrenheit,
Reamur Kamus
Celsius, Fahrenheit, Reamur : float
Algoritma
END Input (Celsius)
Fahrenheit = 9/5 * (Celsius +32)
Reamur = 4/5 * (Celsius +32)
output Celsius, Fahrenheit, Reamur
32
Pemrograman:

▪ Teknik komunikasi standar untuk mengekspresikan instruksi kepada


komputer→ punya tata tulis dan aturan tertentu.
▪ u/ memfasilitasi seorang programmer untuk secara spesifik apa yang akan
dilakukan oleh komputer selanjutnya→ bagaimana data tersebut disimpan
dan dikirim→apa yang akan dilakukan apabila terjadi kondisi yang variatif.
▪ Bagian Pemrograma
Input ➔ Proses ➔ Output
▪ Input :
▪ Program memasukkan data melalui device (keyboard, mouse,
scanner, voice, dll) untuk dilakukan pembacaan data
▪ Proses :
▪ Program mengolah data dari inputan yang diberikan dengan
menerapkan algoritma/metode/Teknik tertentu
▪ Output :
▪ Proses menampilkan data yang sudah diproses
Program Komputer
 Himpunan instruksi
 Memberitahu kepada komputer apa yg harus
dilakukan
 Instruksi dapat berupa perintah: menambah,
membandingkan, membuat keputusan.
Paradigma Pemrograman

▪ Pemrograman prosedural
▪ Berdasarkan urutan – urutan (sekuensial)
▪ Program berisi rangkaian prosedur untuk memanipulasi data
▪ Prosedur berisi kumpulan instruksi yang dikerjakan secara berurutan
▪ Harus mengingat prosedur mana yang sudah di panggil dan apa yang sudah
diubah
▪ Pemrograman Fungsional
▪ Berdasarkan teori fungsi matematika yang menjadi dasar utama program
▪ Pemrograman Terstruktur
▪ Secara berurutan dan terstruktur, contohnya Pascal dan C
▪ Program dapat dibagi – bagi menjadi prosedur dan fungsi
▪ Pemrograman Modular
▪ Pemrograman yang membentuk banyak modul, contohnya MODULA-2 atau
ADA
▪ Modul merupakan kumpulan dari prosedur dan fungsi yang berdiri
sendiri
▪ Program terdiri dari kumpulan modul – modul
Paradigma Pemrograman

▪ Pemrograman Berorientasi Obyek


▪ Pemrograman berdasarkan prinsip obyek, contohnya C++, Object
Pascal dan Java
▪ Obyek memiliki data/variable/property dan
method/event/prosedur yang dapat dimanipulasi
▪ Pemrograman berorientasi fungsi
▪ Pemrograman yang berfokus pada suatu fungsi tertentu saja
▪ Program bergantung pada tujuan pembuatan bahasa
pemrograman
▪ Contoh SQL (Structured Query Language), HTML, XML, dll
▪ Pemrograman Deklaratif
▪ Pemrograman yang mendeklarasikan suatu masalah dengan
pernyataan daripada memecahkan masalah dengan implementasi
algoritma
▪ Contoh : Prolog
Bahasa Komputer
High Level : Lebih dekat kepada Manusia
• Basic, Pascal, C, C++PL/I, Cobol, Fortran, Java, PHP, .Net, Python, dll

Low Level : Lebih dekat kepada Mesin/Hardware


• Assembly
• Machine Language
Bahasa Low Level
 Setiap instruksinya langsung dikerjakan oleh
komputer
 Tanpa melewati penerjemah
 Bersifat Primitif, orientasi lebih dekat ke mesin
Bahasa Mesin
 Bahasa Numerik
 Memori di dalam komputer hanya menyimpan data
numerik.
 Manusia bekerja dg text → Komputer bekerja dg
bilangan biner (0 dan 1).
Bahasa Mesin
Bahasa High Level
 Lebih mudah dipahami
 Lebih manusiawi
 Tidak dapat langsung dilaksanakan oleh komputer
 Membutuhkan penerjemah → ke bahasa mesin. →
dieksekusi oleh CPU.
Alur→Pembuatan Program (Metodologi):

1. Mendefiniskan masalah
2. Menganalisa dan membuat rumusan pemecahan
masalah
3. Desain Algoritma dan Representasi
4. Pengkodean, Uji Coba dan pembuatan
dokumentasi
1. Mendefiniskan masalah
 Programmer mendapatkan tugas berdasarkan sebuah
permasalahan
 Sebelum sebuah program dapat terdesain dengan
baik untuk menyelesaikan beberapa permasalahan,
masalah” yang terjadi harus dapat diketahui dan
terdefinisi dengan baik untuk mendapatkan detail
persyaratan input dan output.
 Sebuah pendefinisan yang jelas adalah sebagian dari
penyelesaian masalah
 Pemrograman komputer mempersyaratkan untuk
mendefiniskan program terlebih dahulu sebelum
membuat suatu penyelesaian masalah.
 c/
”Buatlah sebuah program yang akan menampilkan berapa
kali sebuah nama tampil pada sebuah daftar”
2. Menganalisa dan membuat rumusan
pemecahan masalah
 d/ memecahkan masalah tersebut menjadi beberapa
bagian kecil dan ringkas
 Contoh masalah :
Menampilkan jumlah kemunculan sebuah nama
pada daftar
 Input Terhadap Program :
Daftar Nama, Nama yang akan dicari
 Output Dari Program :
Jumlah kemunculan nama yang dicari
3. Desain Algoritma dan Representasi (1)

 Membuat rumusan algoritma untuk menyelesaikan


masalah yang didefinisikan dalam langkah demi
langkah
 Langkah”:
 Ekpresikan dengan bahasa manusia
1. Tentukan daftar nama
2. Tntukan nama yang akan dicari, anggaplah ini merupakan sebuah kata
kunci
3. Bandingkan kata kunci terhadap setiap nama yang terdapat pada daftar
4. Jika kata kunci tersebut sama dengan nama yang terdapat pada daftar,
tambahkan nilai 1 pada hasil perhitungan
5. Jika seluruh nama telah dibandingkan, tampilkan hasil perhitungan (output)
 Ekpresikan dengan bahasa mesin
3. Desain Algoritma dan Representasi (2)

 Langkah”:
 Ekspresi dengan bahasa Pseudocode
◼ listNama = Daftar Nama
◼ keyNama = Nama yang dicari
◼ hitung = 0
◼ Untuk setiap nama pada Daftar Nama lakukan :
◼ Jika nama == keyNama
◼ Hitung = Hitung + 1
◼ Tampilkan Hitung
4. Pengkodean, Uji Coba dan Dokumentasi

 Algoritma selesai→proses pengkodean dengan


algoritma sebagai pedoman (bahasa pemrograman
dipilih)
 Kode program selesai→menguji program(tujuan)
 Jikaterjadi kesalahan logika atas program (bugs)→kita
perlu untuk mengkaji ulang rumusan / algoritma yang telah
dibuat, kemudian memperbaiki implementasi kode program
yang mungkin keliru (debugging)
Algoritma vs Program
Program Algoritma
 Kumpulan instruksi utk  Metode dan tahapan
komputer sistematis
 Ditulis dalam bahasa  Penulisan tidak
pemrograman bergantung pada
 Penulisan bahasa pemrograman
manapun
memperhatikan
syntax.  Apapun bahasa
pemrograman, output
akan sama.
Arsitektur Program

Tools Bahasa Modul Web Server Scripting Modul Scripting


Pemrograman Web Web Web
Server Browser Browser

Java Servlet JSP Applet Java script


C++ CGI exe ActiveX*
(Common Gateway Interface)

Perl CGI script


Python CGI script
PHP PHP script
Visual Basic ASP* ActiveX* VB script*

Anda mungkin juga menyukai