Anda di halaman 1dari 90

PEMROGRAMAN DASAR

KONSEP DASAR PEMROGRAMAN


(ALGORITMA)
Team Teaching
FILKOM | UB
Bagaimana Berpikir Layaknya Programmer
Pelajaran dalam memecahkan masalah
Bagaimana Memecahkan Masalah?
• Problem solving adalah meta-skill
• Cara “brute-force”/”trial-and-error”
1. Coba sebuah solusi
2. Jika tidak berhasil, coba lainnya
3. Jika tidak berhasil, ulangi langkah 2 hingga kehabisan ide
• Cara ini tidak efektif dan yang paling buruk, membuang-buang waktu
• meski kadang berhasil
Bagaimana Memecahkan Masalah?
• Cara terbaik menyelesaikan masalah:
1. Memiliki kerangka kerja (framework) pemecahan masalah
2. Selalu berlatih (practice)

• “Almost all employers prioritize problem-solving skills first.


• Problem-solving skills are almost unanimously the most important
qualification that employers look for….more than programming languages
proficiency, debugging, and system design.
• Demonstrating computational thinking or the ability to break down large,
complex problems is just as valuable (if not more so) than the baseline
technical skills required for a job.” — Hacker Rank (2018 Developer Skills
Report)
Kesalahan Terbesar Noob Programmer
• Tiap orang berbeda dalam memecahkan masalah, tapi bila dimulai
dengan prinsip yang baik, maka dapat memecahkan masalah dengan
jauh lebih cepat.

• “Kesalahan terbesar programmer baru adalah fokus pada belajar


sintaksis, bukannya belajar memecahkan masalah”
• “The biggest mistake I see new programmers make is focusing on learning
syntax instead of learning how to solve problems.” — V. Anton Spraul
Kerangka Kerja Pemecahan Masalah

UNDERSTAND

PLAN

DIVIDE Debug

Stuck Reasses
?
Research

ALWAYS PRACTICE!
Kerangka Kerja Pemecahan Masalah
1. Memahami masalah (understand)
• Pahami apa yang ditanyakan
• Kebanyakan masalah dianggap sulit, karena tidak paham
• Coba jelaskan permasalahan yang dihadapi
• Tulis ulang, ringkas masalah
• Buat coretan atau gambar diagram

• “Bila kau tidak bisa menjelaskan sesuatu secara sederhana, maka sebenarnya
kau tidak memahaminya”
• “If you can’t explain something in simple terms, you don’t understand it.” — Richard
Feynman
Kerangka Kerja Pemecahan Masalah
2. Membuat rencana (plan)
• Jangan langsung mencoba menyelesaikan masalah tanpa rencana
• Rencanakan solusi
• Tidak ada yang dapat membantu kalau tidak ada langkah-langkah yang baik
• Beri otak waktu untuk menganalisis masalah dan memproses informasi
• Untuk merencakan secara baik, jawab pertanyaan:
• “Diberikan input X, apa langkah-langkah
Kerangka Kerja Pemecahan Masalah
3. Membagi Masalah Menjadi Sub-Masalah (Divide)
• Ini adalah langkah yang penting
• Jangan pernah memecahkan masalah besar sekaligus
• Bagi menjadi sub-masalah, karena sub-masalah lebih mudah diselesaikan
• Selesaikan sub-masalah satu demi satu, dimulai yang paling mudah
• Paling mudah adalah yang paling tahu/mendekati jawabannya
• Sub-masalah tidak tergantung pada sub-masalah lainnya
• Hubungkan semua “sub-masalah” → solusi utama masalah
Kerangka Kerja Pemecahan Masalah
4. Otak buntu (Stuck)
• Bagaimana bila mengalami kebuntuan, tidak dapat memecahkan sub-
masalah?
• Pertama-tama, ambil nafas dalam-dalam, beristirahat!
• Semua ini pasti pernah terjadi ke setiap orang
• Programmer/problem solver yang baik akan selalu ingin tahu tentang
bug/error, bukan kesal/marah-marah!
Mengatasi Kebuntuan
1. Awakutu (Debug): Berjalan selangkah demi selangkah dari solusi
yang dibuat untuk menemukan kesalahan yang terjadi. Ini dikenal
dengan debugging

Seni mengawakutu adalah mencari tahu apa yang sebenarnya


dilakukan program, bukannya apa yang kita pikir apa yang
seharusnya program lakukan
Mengatasi Kebuntuan
2. Menilai kembali (Reasses): Coba mundur selangkah. Lihat masalah
dari perspektif yang lain. Apakah ada yang bisa diabstraksikan ke
pendekatan yang lebih umum?

• Kadang kita terjebak dalam detail suatu masalah, sehingga melewatkan


prinsip umum yang dapat memecahkan masalah di tingkat lebih umum
• Misalnya memecahkan masalah penjumlahan angka: 1+2+3+…+ n, padahal
Gauss dengan sederhana menggunakan rumus n(n+1)/2, menghindari semua
penjumlahan panjang
Mengatasi Kebuntuan
3. Meneliti (Research)
• Google adalah teman terbaik.
• Masalah yang kita hadapi, pasti pernah diselesaikan orang lain. Cari orang itu
atau solusinya. Bahkan, meski kita sudah bisa menyelesaikannya, kita dapat
belajar dari perspektif solusi orang lain!

• Cari solusi untuk sub-masalah, bukan masalah besarnya.


• Tanpa usaha, kita tidak akan belajar! Bila tidak belajar, kita hanya buang-
buang waktu!
• Apakah mau 4-7 tahun kuliah tapi tidak bisa menyelesaikan
masalah/membuat program padahal kuliah di Fakultas Ilmu Komputer?!
SELALU BERLATIH!!!
• Jangan berharap bisa dalam waktu satu minggu.
• Bila ingin menjadi pemecah masalah (problem-solver) yang baik,
selesaikan banyak masalah!
• Selalu mencoba, mencoba, mencoba dengan cara berlatih.
• Semua hanya masalah waktu hingga kita dapat mengenali “masalah
ini dapat dengan mudah diselesaikan dengan <konsep yang
dipelajari>”
SELALU BERLATIH!!!
• Bagaimana latihannya? Ada banyak pilihan
• Teka-teki, masalah matematika, catur, Sudoku, Go, monopoli, gim video, dll.
• Semua orang sukses memiliki kebiasaan belatih “micro problem
solving”: Peter Thiel bermain catur, Elon Musk bermain gim video.
• Tapi tidak berarti kita harus main gim!
• Fondasi sebenarnya dari bermain adalah memecahkan masalah
(problem solving)
SELALU BERLATIH!!!
• Sebagai contoh untuk berlatih membuat program:
• Coba untuk selalu berlatih memecahkan masalah coding minimal satu
tantangan, misalnya di
• Coderbyte (https://coderbyte.com/)
• HackerRank (https://www.hackerrank.com/)
• Sphere Online Judge (https://www.spoj.com/)

• Setiap masalah selalu memiliki persamaan pola, cari tahu pola


untuk memecahkan masalah besar
Kesimpulan
• Berpikir sebagai programmer: memiliki kerangka kerja pemecahan
masalah dan selalu berlatih
• Memecahkan masalah/membuat program bukanlah bakat!
• Memecahkan masalah/membuat program adalah keterampilan yang
harus selalu diasah
Konsep Dasar Pemrograman
Pemodelan Komputer Sederhana
COMPUTER TO – COMPUTE + ER
Menghitung/Mengolah bilangan

Mengolah Data

PUSAT PENGOLAH DATA


Data yang diolah Data hasil pengolahan
(PROCESSOR)
(Masukan/Input) (berbasis Aritmetika (Keluaran/Output)
dan Logika)

Penyimpanan Data
Tahap Pengembangan Algoritme

MASALAH/IDE PEMECAHAN SOLUSI/HASIL

Algoritme Source Executable


Code Code
Definisi Algoritme
• Algoritme adalah sekumpulan langkah-langkah terbatas untuk
mencari solusi suatu masalah.
• Berasal dari kata algoris dan ritmis. Awalnya diungkapkan oleh Al
Khowarizmi.
• Di pemrograman, algoritme didefinisikan sebagai metode yang terdiri
dari langkah-langkah terstuktur untuk mencari solusi suatu masalah
dengan bantuan komputer.
Tahap Pengembangan Algoritme
DEFINISI BUAT RANCANG TULIS PROGRAM
MASALAH MODEL ALGORITME

COMPILE

Ya
Compile Error
Tidak
Executable code:
→ Run

Ya
Error

Tidak
DOKUMENTASI
Tahap Pengembangan Algoritme
DEFINISI BUAT RANCANG TULIS PROGRAM
MASALAH MODEL ALGORITME

COMPILE

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

Tidak
DOKUMENTASI
Tahap Pengembangan Algoritme
DEFINISI BUAT RANCANG TULIS PROGRAM
MASALAH MODEL ALGORITME

COMPILE

Ya
Model Matematika: Compile Error
Rumus ABC
Tidak
x1 = (-b + sqrt(b^2 - 4ac))/2a
x2 = (-b – sqrt(b^2 - 4ac))/2a Executable code:
→ Run

Ya
Error

Tidak
DOKUMENTASI
Tahap Pengembangan Algoritme
DEFINISI BUAT RANCANG TULIS PROGRAM
MASALAH MODEL ALGORITME

Start COMPILE

Input: a,b,c Ya
Compile Error
d = b^2 – 4ac
Tidak
d<0 Executable code:
Y
T → Run
x1=(-b+sqrt(d))/2a Output
x2 =(-b-sqrt(d))/2a “Akar imajiner” Ya
Error
Output: x1, x2 Tidak
DOKUMENTASI
Stop
Tahap Pengembangan Algoritme
DEFINISI BUAT RANCANG TULIS PROGRAM
MASALAH MODEL ALGORITME

COMPILE

Ya
Compile Error
Tidak
Executable code:
→ Run

Ya
Error

Tidak
DOKUMENTASI
Tahap Pengembangan Algoritme
DEFINISI BUAT RANCANG TULIS PROGRAM
MASALAH MODEL ALGORITME

COMPILE

Ya
Compile Error
Tidak
Executable code:
→ Run

Ya
Error

Tidak
DOKUMENTASI
Tahap Pengembangan Algoritme
DEFINISI BUAT RANCANG TULIS PROGRAM
MASALAH MODEL ALGORITME

COMPILE

Ya
Compile Error
Tidak
Executable code:
→ Run

Ya
Error

Tidak
DOKUMENTASI
Tahap Pengembangan Algoritme
DEFINISI BUAT RANCANG TULIS PROGRAM
MASALAH MODEL ALGORITME

COMPILE

Ya
Compile Error
Tidak
Executable code:
→ Run

Ya
Error

Tidak
DOKUMENTASI
Tahap Pengembangan Algoritme
DEFINISI BUAT RANCANG TULIS PROGRAM
MASALAH MODEL ALGORITME

COMPILE

Ya
Compile Error
Tidak
Executable code:
→ Run

Ya
Error

Tidak
DOKUMENTASI
Tahap Pengembangan Algoritme
DEFINISI BUAT RANCANG TULIS PROGRAM
MASALAH MODEL ALGORITME

COMPILE

Dokumentasi Program Ya
Mencari Akar Persamaan Kuadrat Compile Error
Tidak
Daftar Isi: Executable code:
1. Definisi Masalah → Run
2. Model Perhitungan/Matematika
3. Flowchart/Rancangan Algoritme
4. Source Code Ya
Error

Tidak
DOKUMENTASI
Penyajian Algoritme
Penyajian Algoritme
• Algoritme bisa dibuat/dituliskan/digambarkan dengan:

• Teknik tulisan seperti:


Structured English dan Kode Semu (Pseudocode)

• Teknik visual seperti:


Diagram Alir (Flowchart)
1. Pseudocode

34
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”

35
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

36
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

37
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

38
3. Perhitungan Aritmetika
• Pseudocode untuk melakukan operasi aritmetika
• + untuk penjumlahan (add)
• - Untuk pengurangan (subtract)
• * Untuk perkalian (multiply)
• / Untuk pembagian (divide)
• () Untuk pengelompokkan/prioritas aritmetika
• Statement “Compute”, “Calculate” ataupun “Hitung” juga dapat
digunakan.
• Contoh:
• Add number to total
• Total = Total + number

39
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

40
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

41
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

42
Contoh Algoritme dengan Pseudocode
Algoritme Berangkat Kuliah
Mulai
Bangun dari tempat tidur
Mandi Pagi
Sarapan Pagi
Pergi Ke Kampus
Cari Ruang Kuliah
Masuk kelas untuk Kuliah
Selesai

43
Contoh Algoritme dengan 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
44
Contoh Algoritme dengan 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

45
Contoh Algoritme dengan 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

46
2. Flowchart

47
Flowchart
• Representasi grafik dari suatu definisi, analisis, solusi metode dari
suatu masalah dengan simbol yang digunakan untuk
merepresentasikan operasi, data, alir, peralatan, dll. (ISO 5807-1985)
• Standardisasi flowchart ditentukan pada dokumen ISO 5807-1985
atau BS 4058:1987
• ISO→International Organization for Standardization
• Ada 5 jenis flowchart dalam ISO 5807: data, program, system,
program network chart, system resources chart

48
Simbol Flowchart

Terminator: keluar ke/masuk dari lingkungan luar, mis.


mulai (start), akhir (end) suatu program, penggunaan data
eksternal, asal/destinasi data → param/return dari fungsi
Proses (Process): pemrosesan fungsi, mis. operasi
atau sekelompok operasi yang mengubah nilai

Input/Output: masukan/keluaran data dalam


pemrosesan, harus dituliskan jenisnya input/output
Human readable data/medium being: dokumen
cetak, formulir, microfilm

Pemilihan (Decision): keputusan atau fungsi switch


(peralihan), satu masukan dengan beberapa keluaran

49
Simbol Flowchart
Persiapan (Preparation): modifikasi instruksi yang
memengaruhi aktivitas berikutnya, mis. Modifikasi register
indeks, inisialisasi routine
Garis (Line): Arah aliran control antar proses dan/atau data

Konektor dalam halaman (On-page connector)/Connector:


memisahkan dan menghubungkan flowchart yang berbeda
kolom dalam satu halaman yang sama; memecah garis

Off-page connector (Konektor antar halaman):


memisahkan dan menghubungkan flowchart yang berbeda
halaman

Predefined process: proses bernama yang terdiri dari satu


atau lebih operasi/langkah program yang didefinisikan di
tempat lain, mis. subroutine, module 50
Contoh Flowchart 1
Patient arrives

Sign-in at front
desk

Confirm Mark patient Confirm


insurance as arrived contact info.

Pull chart

Escort to exam
room

Record chief
complaint, vitals

Notify provider 1 51
Patient ready
Contoh Flowchart 1 (Lanjt.)
Examine
1
Patient

Order
Write order
Req?

Add Progress
Notes to Patient
Chart

File
Charts

End

52
Contoh Flowchart 2
Start

Input a,b,c

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

Output
x1,x2

Stop
53
Contoh Flowchart 3

Start kali(a, b)

Input a, b c=a*b

return c
hasil = kali(a, b) Y

Output “Hasil
kali a x b = ”, c

Stop

54
Aliran
• Flowchart sebaiknya “dibaca” dari atas ke bawah atau kanan ke kiri.
• Respon dari keputusan Ya/Tidak sebaiknya konsisten dengan arah yang sama.

Age > 18 yrs. Age > 18 yrs.

Yes Yes

Comp. 2 wk Yes Comp. 2 wk No


Enroll Not Eligible
washout washout

No Yes

Not Eligible Enroll


55
Aliran
• Flowchart sebaiknya “dibaca” dari atas ke bawah atau kanan ke kiri.
• Garis harus lurus ke atas/bawah atau kanan/kiri (jangan gunakan
garis diagonal!).

HIPAA consent signed HIPAA consent signed

Administer
Health Question Draw blood
Administer
Health Questionnaire
Draw blood

56
Konsep Dasar Pemrograman Terstruktur

57
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.

58
Pemrograman Terstruktur
• Pemrograman terstruktur merupakan pola penyusunan program
komputer hanya dengan menggunakan tiga struktur kontrol
• Sequence
• Selection
• Loop/Repetition

59
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

60
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
61
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).

62
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

63
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)

64
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

01234

65
Anatomi Java
Class Name
• Setiap program Java harus memiliki setidaknya satu Class
• Setiap Class memiliki nama
• Menurut konvensi, nama kelas dimulai dengan huruf besar

// This program prints Welcome to Java!


public class Welcome {
public static void main(String[] args) {
System.out.println("Welcome to Java!");
}
}
Main Method
• Main method akan dijalankan pertama kali oleh program

// This program prints Welcome to Java!


public class Welcome {
public static void main(String[] args) {
System.out.println("Welcome to Java!");
}
}
Statement
• Pernyataan (statement) mewakili tindakan atau urutan tindakan

// This program prints Welcome to Java!


public class Welcome {
public static void main(String[] args) {
System.out.println("Welcome to Java!");
}
}
Statement Terminator
• Setiap pernyataan di Java diakhiri dengan titik koma (;)

// This program prints Welcome to Java!


public class Welcome {
public static void main(String[] args) {
System.out.println("Welcome to Java!");
}
}
Reserved Words
• Reserved word atau keyword adalah kata-kata yang memiliki arti
khusus bagi compiler dan tidak dapat digunakan untuk tujuan lain
dalam program
• Misalnya, ketika compiler melihat kata class maka kompiler
memahami bahwa kata setelah class adalah nama class
// This program prints Welcome to Java!
public class Welcome {
public static void main(String[] args) {
System.out.println("Welcome to Java!");
}
}
Comment
• Komentar membantu programmer untuk berkomunikasi dan
memahami program
• Bukan sebagai pernyataan sehingga diabaikan oleh compiler

// This application program displays Welcome to Java!


/* This application program displays Welcome to Java! */
/* This application program
displays Welcome to Java! */
Block
• Sepasang kurung kurawal dalam program membentuk blok yang
mengelompokkan komponen-komponen program

p
ubl
iccla
ssTes
t{
pu
bli
cstat
icvoi
dmain
(St
ring
[]a
rgs
){ C
la
ssb
loc
k
Sys
tem
.ou
t.p
rin
tln
("W
elc
ometoJ
ava
!")
;Me
tho
dblo
ck
}
}
Gaya Pemrograman dan Dokumentasi
Komentar yang Sesuai
• Sertakan ringkasan di awal program untuk menjelaskan apa yang
dilakukan program, fitur utamanya, struktur data pendukungnya, dan
teknik unik yang digunakannya
• Sertakan nama Anda, bagian kelas, instruktur, tanggal, dan deskripsi
singkat di awal program
Kaidah Penamaan
• Pilih nama yang bermakna dan deskriptif
• Nama class:
• Huruf besar pada huruf pertama dari setiap kata dalam nama
• Misalnya, nama class ComputeExpression.
Indentasi dan Jarak yang Tepat
• Indentasi
• dua spasi
• Jarak
• baris kosong untuk memisahkan segmen kode

public class Arithmetic {


public static void main(String[] args) {
System.out.println(3+4*4); Bad style
System.out.println(3 + 4 * 4); Good style
}
}
Gaya Block
• Gunakan gaya end-of-line style untuk kurung kurawal

N e
xt-lin
e p
ubl
iccla
ssTes
t
sty
le {
pu
bli
cstat
icvoi
dmain
(St
rin
g[]arg
s)
{
Sys
tem
.ou
t.p
rin
tln
("B
loc
kStyle
s")
;
}
}

E n
d-of-lin
e
sty
le
p
ubl
iccla
ssTes
t{
pu
bli
cstat
icvoi
dmain
(St
rin
g[]arg
s){
Sys
tem
.ou
t.p
rin
tln
("B
loc
kStyle
s")
;
}
}
Kesalahan Pemrograman
Programming Errors
• Syntax Errors
• Dideteksi oleh compiler
• Runtime Errors
• Menyebabkan program dibatalkan
• Logic Errors
• Menghasilkan hasil yang salah
1. Syntax Error
1 public class ShowSyntaxErrors {
2 public static main(String[] args) {
3 System.out.println("Welcome to Java);
4 }
5 }
2. Runtime Error
1 public class ShowRuntimeErrors {
2 public static void main(String[] args) {
3 System.out.println(1 / 0);
4 }
5 }
3. Logic Error
1 public class ShowLogicErrors {
2 public static void main(String[] args) {
3 System.out.println("Celsius 35 is Fahrenheit degree ");
4 System.out.println((9 / 5) * 35 + 32);
5 }
6 }
Kesalahan Umum (bag 1)
1. Lupa Kurung Kurawal (Brace)
• Tanda kurung kurawal digunakan untuk menunjukkan blok dalam
program
• Setiap kurung kurawal buka harus dicocokkan dengan kurung
kurawal tutup
• Kesalahan umum tidak ada kurung kurawal tutup
• Untuk menghindari kesalahan ini, ketikkan tanda kurung kurawal
setiap kali kurung kurawal buka

public class Welcome {

}
2. Lupa Titik Koma (Semicolon)
• Setiap pernyataan diakhiri dengan pernyataan terminator (;)
• Programmer baru sering lupa menempatkan pernyataan terminator
untuk pernyataan terakhir dalam sebuah blok

public static void main(String[] args) {


System.out.println("Programming is fun!");
System.out.println("Fundamentals First");
System.out.println("Problem Driven")
}
3. Lupa Tanda Petik (Quotation Mark)
• Setiap string harus ditempatkan di dalam tanda kutip (“ ”)
• Programmer baru sering lupa menempatkan tanda kutip di akhir
string

System.out.println("Problem Driven );
PERTANYAAN???
Tugas
• Membuat flowchart dengan menggunakan Flowgorithm berdasarkan
kasus
• Mengubah nilai jam, menit, dan detik menjadi detik.
• Mengubah nilai suhu celsius menjadi fahrenheit.
• Menentukan suku ke n dari bilangan aritmetika dengan nilai awal a dan beda
b.
PERTANYAAN???

Anda mungkin juga menyukai