Dasar-dasar Pemrograman
C. Bahan Bacaan
Asal kata algoritma sendiri berasal dari nama Abu Ja’far Mohammed
Ibn Musa Al-Khowarizmi, ilmuan persia yang menulis buku berjudul “Al Jabr
W’ Al-Muqabala” (Rules of Restoration and Reduction) yang diterbitkan pada
tahun 825 M. Kata AL Khuwarizmi dibaca orang barat menjadi Algorism yang
kemudian lambat laun menjadi algorithm. Algorithm diserap dalam Bahasa
Indonesia menjadi Algoritma.
Logika berasal dari bahasa Yunani yaitu LOGOS yang berarti ilmu. Logika
dapat diartikan ilmu yang mengajarkan cara berpikir untuk melakukan
kegiatan dengan tujuan tertentu.
Sumber: https://jwsablog.wordpress.com/2017/09/17/biografi-abu-jafar-muhammad-bin-musa-
al-khawarizmi/
59
Program PKB melalui PKP berbasis Zonasi
KEMENTERIAN PENDIDIKAN DAN KEBUDAYAAN
Lembaga Pengembangan dan Pemberdayaan Pendidik dan Tenaga Kependididikan
Bidang Kelautan Perikanan Teknologi Informasi dan Komunikasi
2. Definisi Algoritma
60
Unit Pembelajaran
Dasar-dasar Pemrograman
Ciri -ciri
61
Program PKB melalui PKP berbasis Zonasi
KEMENTERIAN PENDIDIKAN DAN KEBUDAYAAN
Lembaga Pengembangan dan Pemberdayaan Pendidik dan Tenaga Kependididikan
Bidang Kelautan Perikanan Teknologi Informasi dan Komunikasi
62
Unit Pembelajaran
Dasar-dasar Pemrograman
63
Program PKB melalui PKP berbasis Zonasi
KEMENTERIAN PENDIDIKAN DAN KEBUDAYAAN
Lembaga Pengembangan dan Pemberdayaan Pendidik dan Tenaga Kependididikan
Bidang Kelautan Perikanan Teknologi Informasi dan Komunikasi
5. Penulisan Algoritma
KELEBIHAN
✓ Cocok untuk menuliskan algoritma yang pendek.
✓ Tidak ada aturan baku.
64
Unit Pembelajaran
Dasar-dasar Pemrograman
KEKURANGAN
✓ Sulit diterjemahkan dalam bahasa pemrograman atau coding.
✓ Kurang efektif.
65
Program PKB melalui PKP berbasis Zonasi
KEMENTERIAN PENDIDIKAN DAN KEBUDAYAAN
Lembaga Pengembangan dan Pemberdayaan Pendidik dan Tenaga Kependididikan
Bidang Kelautan Perikanan Teknologi Informasi dan Komunikasi
66
Unit Pembelajaran
Dasar-dasar Pemrograman
KELEBIHAN
✓ Mudah digunakan dan dipahami dalam melakukan pengecekkan
bagian-bagian yang terlupakan dalam analisis masalah.
KEKURANGAN
✓ Kurang efektif untuk penulisan algoritma yang panjang karena
akan menghabiskan banyak tempat.
67
Program PKB melalui PKP berbasis Zonasi
KEMENTERIAN PENDIDIKAN DAN KEBUDAYAAN
Lembaga Pengembangan dan Pemberdayaan Pendidik dan Tenaga Kependididikan
Bidang Kelautan Perikanan Teknologi Informasi dan Komunikasi
68
Unit Pembelajaran
Dasar-dasar Pemrograman
a. Mulai;
b. Periksa ketersediaan kentang;
c. Jika belum ada, maka beli kentang;
d. Jika sudah ada, maka kentang dikupas;
e. Kentang dikupas;
f. Tentukan proses memasak kentang;
g. Jika digoreng, maka goreng kentang;
h. Jika direbus, maka rebus kentang;
i. Jika dibuat sup, maka proses masak sup;
j. Proses measak kentang yang dipilih;
k. Selesai.
69
Program PKB melalui PKP berbasis Zonasi
KEMENTERIAN PENDIDIKAN DAN KEBUDAYAAN
Lembaga Pengembangan dan Pemberdayaan Pendidik dan Tenaga Kependididikan
Bidang Kelautan Perikanan Teknologi Informasi dan Komunikasi
70
Unit Pembelajaran
Dasar-dasar Pemrograman
71
Program PKB melalui PKP berbasis Zonasi
KEMENTERIAN PENDIDIKAN DAN KEBUDAYAAN
Lembaga Pengembangan dan Pemberdayaan Pendidik dan Tenaga Kependididikan
Bidang Kelautan Perikanan Teknologi Informasi dan Komunikasi
72
Unit Pembelajaran
Dasar-dasar Pemrograman
Data adalah representasi dari fakta dunia nyata Fakta atau keterangan
tentang kenyataan yang disimpan, direkam atau direpresentasikan
dalam bentuk tulisan, suara, gambar, sinyal atau simbol. Data
merupakan suatu nilai yang bisa dinyatakan dalam bentuk konstanta
atau variabel. Konstanta menyatakan nilai yang tetap, sedangkan
variabel menyatakan nilai yang dapat diubah-ubah selama eksekusi
berlangsung.
8.1 Tipe Data
73
Program PKB melalui PKP berbasis Zonasi
KEMENTERIAN PENDIDIKAN DAN KEBUDAYAAN
Lembaga Pengembangan dan Pemberdayaan Pendidik dan Tenaga Kependididikan
Bidang Kelautan Perikanan Teknologi Informasi dan Komunikasi
Tipe data dasar atau tipe data sederhana atau biasa juga disebut dengan
tipe data primitif adalah tipe data yang sudah ada dan dijadikan standar
dalam bahasa pemrograman tertentu. Isi dari tipe data sederhana ini
adalah data-data tunggal. Tipe data dasar sudah disediakan oleh program
sehingga programmer bisa langsung memakai.
1. Integer (Bilangan Bulat)
Yang dimaksud bilangan bulat adalah, -1, -2, -3, 0, 1, 2, 3, 4 dan lain
lain yang bukan merupakan bilangan pecahan.
2. Float atau double (Bilangan Real)
Bilangan real adalah bilangan yang mengandung pecahan desimal.
Contoh : 3.45, 6,233.
3. Char (Karakter)
Karakter adalah semua huruf yang ada di dalam alfabet, tanda baca
aupun karakter
spesial. Karakter ditulis diantara dua tanda petik tunggal. Contoh : 'A'.
4. Boolean (logika)
Boolean adalah tipe data logika yang terdiri dari dua pernyataan benar
atau salah.
Pernyataan benar biasanya ditulis True atau angka 1, sedangkan
pernyataan salah ditulis
dengan False atau angka 0. Sedangkan operasi aritmatika yang umum
digunakan adalah
or, not, and dan xor.
74
Unit Pembelajaran
Dasar-dasar Pemrograman
Tipe data bentukan atau tipe data komposit adalah tipe data yang
dibentuk dari tipe data dasar dengan maksud mempermudah pekerjaan
programer. Tipe data ini lawan dari tipe date primitive, tipe data
composite dapat menampung banyak nilai. Antara lain :
1. Array, atau disebut larik. Adalah tipe data yang terstruktur, meskipun
sederhana array mampu menyimpan data dengan tipe yang sama
(homogen) didalam sebuah variable.
2. Record atau Struct, Seperti array, record atau struct termasuk data
komposit. Record biasa dikenal pada bahasa pemrograman Pascal atau
Delphi sedangkan struct lebih dikenal di C++. Lain hal dengan array,
tipe data record menampung tipe data yang berbeda-beda (heterogen).
3. Image, tipe data ini adalah tipe data grafik seperti contohnya grafik
perkembangan suatu populasi. pada bahasa pemrograman modern
yang berbasis visual, tipe data ini sudah sangat didukung.
4. Date Time, nilai data date dan time disimpan dalam format yang
spesifik. Dengan variable atau konstanta yang dideklarasikan dapat
disimpan dengan baik dalam bentuk tipe data “date” maupun “time”.
Tipe data ini termasuk kelompok tipe data komposit, karena terbentuk
dari beberapa tipe data.
75
Program PKB melalui PKP berbasis Zonasi
KEMENTERIAN PENDIDIKAN DAN KEBUDAYAAN
Lembaga Pengembangan dan Pemberdayaan Pendidik dan Tenaga Kependididikan
Bidang Kelautan Perikanan Teknologi Informasi dan Komunikasi
76
Unit Pembelajaran
Dasar-dasar Pemrograman
Gambar 8 Variabel
Sumber: https://www.codingkids.com.au
Dalam suatu bahasa pemrograman, sebuah variabel harus ada dalam sebuah
kelas atau metode. Dalam penamaan variabel memiliki beberapa syarat yaitu:
1. Harus diawali dengan huruf
2. Tidak boleh terdapat karakter unik seperti @,#,% dll
3. Tidak boleh mengandung karakter putih (spasi, enter, tab)
Pembuatan sebuah variabel di dalam bahasa pemrograman misalnya Java
terlihat pada kode dibawah ini:
Tipevariabel namavariabel;
tipenamaVar[,namaVar];
Int nilai;
char indexNilai;
77
Program PKB melalui PKP berbasis Zonasi
KEMENTERIAN PENDIDIKAN DAN KEBUDAYAAN
Lembaga Pengembangan dan Pemberdayaan Pendidik dan Tenaga Kependididikan
Bidang Kelautan Perikanan Teknologi Informasi dan Komunikasi
Listing program
//deklarasi variable
Int angka1, angka2, hasil;
78
Unit Pembelajaran
Dasar-dasar Pemrograman
.....
.....
}
}
8.4 Operator
79
Program PKB melalui PKP berbasis Zonasi
KEMENTERIAN PENDIDIKAN DAN KEBUDAYAAN
Lembaga Pengembangan dan Pemberdayaan Pendidik dan Tenaga Kependididikan
Bidang Kelautan Perikanan Teknologi Informasi dan Komunikasi
80
Unit Pembelajaran
Dasar-dasar Pemrograman
3. Operator Penugasan
4. Operator Pembandingan
81
Program PKB melalui PKP berbasis Zonasi
KEMENTERIAN PENDIDIKAN DAN KEBUDAYAAN
Lembaga Pengembangan dan Pemberdayaan Pendidik dan Tenaga Kependididikan
Bidang Kelautan Perikanan Teknologi Informasi dan Komunikasi
boolean a = 10 == 100;
System.out.println(a);
5. Operator Logika
82
Unit Pembelajaran
Dasar-dasar Pemrograman
Contoh:
boolean hasil = 10 == 100 || 100 == 100;
System.out.println(hasil);
Operator bit yang dikenal di dalam java ada tujuh jenis operator bit,
yaitu:
a. Operator & (dan untuk biner)
Operator & berfungsi sebagai operasi “dan” pada tataran bit.
Berikut tabel operasi dasarnya:
Tabel 17. hasil Operator &
Bit 1 Bit 2 Hasil
0 0 0
83
Program PKB melalui PKP berbasis Zonasi
KEMENTERIAN PENDIDIKAN DAN KEBUDAYAAN
Lembaga Pengembangan dan Pemberdayaan Pendidik dan Tenaga Kependididikan
Bidang Kelautan Perikanan Teknologi Informasi dan Komunikasi
0 1 0
1 0 0
1 1 1
Pada tabel di atas operator bit & hanya dapat
menghasilkan 1 apabila kedua bit yang dikenai
operator & bernilai 1.
b. Operator |
0 0 0
0 1 1
1 0 1
1 1 1
c. Operator ^
Operator ^ berfungsi sebagai operasi “atau ekslusif” pada
tataran bit. Berikut tabel operasi dasarnya:
Tabel 19. hasil Operator ^
Bit 1 Bit 2 Hasil
0 0 0
0 1 1
1 0 1
84
Unit Pembelajaran
Dasar-dasar Pemrograman
1 1 0
d. Operator ~
Operator ~ berfungsi sebagai operasi “kebalikan” pada masing-
masing bit. Berikut contoh penjelasannya:
e. Operator <<
Operator << (geser kiri) berfungsi sebagai penggeser bit-bit ke
kiri, dengan jumlah penggeseran terletak pada nilai yang berada
di kanan operator.
f. Operator >>
Operator >> (geser kanan) berfungsi sebagai penggeser bit-bit
ke kanan, dengan jumlah penggeseran terleta pada nilai yang
berada di kanan operator.
g. Operator >>>
Operator >>> (geser kanan) berfungsi sebagai penggeser bit-bit
ke kanan, di ujung bit paling kanan ditambahkan angka nol,
sehingga apabila menggunakan operator ini setiap bilangan
negatif jika digeser ke kanan akan menghasilkan bilangan yang
selalu positif.
85
Program PKB melalui PKP berbasis Zonasi
KEMENTERIAN PENDIDIKAN DAN KEBUDAYAAN
Lembaga Pengembangan dan Pemberdayaan Pendidik dan Tenaga Kependididikan
Bidang Kelautan Perikanan Teknologi Informasi dan Komunikasi
A. Pernyataan If
Berikut contohnya:
int nilai = 10;
if(nilai == 10){
System.out.println(“Sepuluh”);
}
86
Unit Pembelajaran
Dasar-dasar Pemrograman
87
Program PKB melalui PKP berbasis Zonasi
KEMENTERIAN PENDIDIKAN DAN KEBUDAYAAN
Lembaga Pengembangan dan Pemberdayaan Pendidik dan Tenaga Kependididikan
Bidang Kelautan Perikanan Teknologi Informasi dan Komunikasi
Contoh:
Int nilai = 8;
If(nilai == 10) {
System.out.println{“Sepuluh);
}else{
System.out.println(“Bukan Sepuluh”);
}
Jika program diatas dijalankan, maka hasilnya adalah tulisan “Bukan
Sepuluh”, hal ini dikarenakan nilai bernilai 8 bukan 10.
Pada pernyataan if-else terdapat juga jenis pernyatan if bersarang (nested if).
Pernyataan nested-if atau if bersarang merupakan pernyataan kondisional
yang memiliki pilihan lebih dari satu, di mana jika sebuah parameter yang
dimasukkan bernilai false, pilihan selanjutnyalah yang akan diperiksa. Pada
akhirnya, jika semua pilihan tidak memenuhi syarat, maka pilihan yang
paling akhir (else) akan dieksekusikan. Bentuk pernyataan if bersarang
adalah sebagai berikut:
If(kondisi){
//perintah kondisi1
}else if (kondisi2){
//perintah kondisi2
}else if (kondisi3){
//perintah kondisi 3
}else{
//perintah jika semua kondisi tidak ada yang benar
}
Contoh:
int nilai = 6;
88
Unit Pembelajaran
Dasar-dasar Pemrograman
char index;
If (nilai >=8){
index = ‘A’;
}else if (nilai >= 7){
index = ‘B’;
}else if (nilai >= 6){
index = ‘C’;
}else if (nilai >= 5) {
index = ‘D’;
}else{
Index = ‘E’;
}
System.out.println(index);
Jika program diatas dijalankan, maka hasilnya adalah ‘C’. Mengapa demikian ?
Dapatkah kalian menjelaskannya?
C. Pernyataan switch-case
89
Program PKB melalui PKP berbasis Zonasi
KEMENTERIAN PENDIDIKAN DAN KEBUDAYAAN
Lembaga Pengembangan dan Pemberdayaan Pendidik dan Tenaga Kependididikan
Bidang Kelautan Perikanan Teknologi Informasi dan Komunikasi
break; //hentikan
case nilai4; //jalankan instruksi
break; //hentikan
default: //jalankan instruksi
break;//hentikan
}
Perlu diperhatikan juga: di sana ada kata kunci break dan default.
• break artinya berhenti. Ini untuk memerintahkan komputer untuk
berhenti mengecek case yang lainnya.
• default artinya jika nilai variabel tidak ada yang sama dengan pilihan case
di atas, maka kerjakan kode yang ada di dalam default.
Pilihan default bisa juga tidak memiliki break, karena dia adalah pilihan terakhir.
Artinya pengecekan akan berakhir di situ.
Contohnya:
import java.util.Scanner;
// mengambil input
System.out.print("Inputkan nama warna: ");
lampu = scan.nextLine();
switch(lampu){
case "merah":
System.out.println("Lampu merah, berhenti!");
break;
case "kuning":
System.out.println("Lampu kuning, harap hati-
hati!");
break;
case "hijau":
System.out.println("Lampu hijau, silahkan
jalan!");
break;
default:
System.out.println("Warna lampu salah!");
}
}
}
90
Unit Pembelajaran
Dasar-dasar Pemrograman
Cobalah kalian tulis ulang program diatas dan lihatlah hasil output yang akan
dihasilkan?
Apa yang akan kita lakukan bila ingin menyuruh komputer mengerjakan
perintah yang berulang-ulang? Misalkan kita ingin menyuruh komputer
menampilkan teks “nama saya Budi” sebanyak 5x.
Maka kita bisa menyuruhnya seperti ini:
Tapi… bagaimana kalau sebanyak 1000x, apa kita akan mampu mengetik
kode sebanyak itu? Tentunya tidak. Karena itu, kita harus pakai perulangan.
Sebelum masuk ke pembahasan lebih dalam, ada hal yang harus kalian
ketahui terlebih dahulu. Perulangan dalam pemrograman dibagi manjadi
dua jenis:
1. Counted loop: Perulangan yang jumlah pengulangannya terhitung
atau tentu.
2. Uncounted loop: Perulangan yang jumlah pengulangannya tidak
terhitung atau tidak tentu.
Counted loop terdiri dari perulangan For dan For each. Sedangkan
Uncounted loop terdiri dari perulangan While dan Do/While. Perhatikanlah
gambar dibawah untuk memahami jenis perulangan.
91
Program PKB melalui PKP berbasis Zonasi
KEMENTERIAN PENDIDIKAN DAN KEBUDAYAAN
Lembaga Pengembangan dan Pemberdayaan Pendidik dan Tenaga Kependididikan
Bidang Kelautan Perikanan Teknologi Informasi dan Komunikasi
While (kondisi){
// isi instruksi
}
92
Unit Pembelajaran
Dasar-dasar Pemrograman
Contoh:
Int jumlah = 1;
While(jumlah <= 10){
System.out.println(jumlah);
Jumlah++; //menaikkan jumlah
}
Contohnya;
int jumlah = 100;
do{
System.out.println(jumlah);
Jumlah++; //naikkan jumlah
} while (jumlah <=10);
93
Program PKB melalui PKP berbasis Zonasi
KEMENTERIAN PENDIDIKAN DAN KEBUDAYAAN
Lembaga Pengembangan dan Pemberdayaan Pendidik dan Tenaga Kependididikan
Bidang Kelautan Perikanan Teknologi Informasi dan Komunikasi
Keterangan :
int i = 0 adalah penetapan nilai awal .
i <=10 adalah batas perulangan.
i++ adalah jenis perulangannya.
Jenis perulangan ini bisa kita ganti sesuai keinginan seperti ++i, i-- dan --i.
94
Unit Pembelajaran
Dasar-dasar Pemrograman
10. Array
Apa yang akan kita lakukan bila memiliki banyak data yang akan
disimpan dalam vairabel? Misalkan kita ingin menyimpan nama-nama
95
Program PKB melalui PKP berbasis Zonasi
KEMENTERIAN PENDIDIKAN DAN KEBUDAYAAN
Lembaga Pengembangan dan Pemberdayaan Pendidik dan Tenaga Kependididikan
Bidang Kelautan Perikanan Teknologi Informasi dan Komunikasi
Hal ini sah-sah saja. Akan tetapi, Masalahnya bagaimana kala datanya
banyak, misalkan ada 100 data, pastinya capek donk membuat variabel
sebanyak itu. Karena itu, kita bisa menyimpan itu semua dalam Array.
96
Unit Pembelajaran
Dasar-dasar Pemrograman
TipeArray namaArray[ ];
namaArray = new TipeArray[jumlah];
Dimana:
• Kurang siku [ ] digunakan untuk membuat array;
• Kurung siku [ ] bisa diletakkan setelah tipe data atau nama array;
• Jumlah array merupakan jumlah data yang dapat ditampung oleh
array.
10.3 Memanipulasi data dalam Array
97
Program PKB melalui PKP berbasis Zonasi
KEMENTERIAN PENDIDIKAN DAN KEBUDAYAAN
Lembaga Pengembangan dan Pemberdayaan Pendidik dan Tenaga Kependididikan
Bidang Kelautan Perikanan Teknologi Informasi dan Komunikasi
namaArray[indeks];
Misalnya;
// membuat array
String[] nama = {"Linda", "Santi", "Susan", "Mila", "Ayu"};
Susan
karena perintah mengambil data array teman[2], dimana indeks 2 berisi nilai
dengan nama Susan. Nah apakah kalian sudah mengerti tentang konsep
pembentukan dan manipulasi data menggunakan array ?. Selanutnya kita
akan mempelajari bagaimana cara menambahkan data array ke dalam
sebuah array. Bagaimana yaitu dengan menggunakan array multidimensi.
Array multi dimensi artinya array yang memiliki lebih dari satu dimensi.
Atau kita bisa sebut, array di dalam array. Jumlah dimensinya tidak
terbatas, tergantung kita mampunya sampai berapa. Cara pembuatannya
adalah sebagai berikut:
TipeArray namaArray[ ] = new TipeArray[jumlah][jumlah];
Contohnya:
98
Unit Pembelajaran
Dasar-dasar Pemrograman
String[][] kontak = {
{"Lili","08111"},
{"Lala","08122"},
{"Maya","08133"}
};
11. Graph
Graph adalah kumpulan dari simpul dan busur yang secara matematis
dinyatakan sebagai :
G = (V, E)
Dimana :
G = Graph
V = Simpul atau Vertex, atau Node
E = Busur atau Edge, atau arc
Sejarah Singkat Teori Graf Teori graf lahir pada tahun 1736 melalui
tulisan Euler yang berisi tentangupaya pemecahan masalah jembatan
99
Program PKB melalui PKP berbasis Zonasi
KEMENTERIAN PENDIDIKAN DAN KEBUDAYAAN
Lembaga Pengembangan dan Pemberdayaan Pendidik dan Tenaga Kependididikan
Bidang Kelautan Perikanan Teknologi Informasi dan Komunikasi
100
Unit Pembelajaran
Dasar-dasar Pemrograman
Nah, kalian dapat mempelajari lebih lanjut tentang konsep teori graph
melalui pencarian jarak terpendek atau shortest path. Silahkan pelajari dan
mencari tahu bagaiman konsep teori graf dalam mengeksekusi sebuah
program. Pahamilah terlebih dahulu konsep atau alur pembentukkannya,
kemudian cobalah untuk membuat alurnya dalam menggunakan flowchart,
untuk mempelajari konsep teori graph secara sederhana.
101