E-Modul Algoritma Dan Pemorgraman

You might also like

Download as pdf or txt
Download as pdf or txt
You are on page 1of 25

ALGORITMA DAN

PEMROGRAMAN

E-MODUL
EDISI PERTAMA

Christian Dwi Suhendra, ST., M.Cs


Kata Pengantar

Puji Syukur penulis panjatkan ke hadirat Tuhan Yang Maha Kuasa,


karena atas rahmatnya modul pembelajaran mata kuliah
Algoritma dan Pemrograman ini dapat terlaksana. Kurikulum pada
program studi Teknik Informatika memiliki lima mata kuliah
pemrograman. Tentunya kemampuan dasar pemrograman
mahasiswa harus baik agar dapat mengikuti, menerima, dan
memahami materi pada mata kuliah pemrograman dengan
cermat. Kemampuan mahasiswa untuk menganalisis masalah dan
merancang algoritma serta membuat program sederhana menjadi
capaian pembelajaran yang akan diperoleh pada mahasiswa yang
mengontrak mata kuliah ini. Penulis berharap materi-materi yang
terdapat pada modul ini dapat diterima dengan baik oleh
mahasiswa. Akhir kata penulis mengucapkan banyak terima kasih
kepada pihak-pihak yang telah membantu dalam penyusunan
modul pembelajaran ini yang telah membantu memberikan ide
dalam penyusunan modul study club ini. Semoga Pendidikan di
tanah Papua semakin maju dan berkualitas sehingga
menghasilkan sumber daya manusia yang unggul dan berdaya
saing.

Sincerely,

Christian D. Suhendra, ST., M.Cs


D A F T A R

ISI
2 K A T A P E N G A N T A R

3 D A F T A R I S I

4 P E T A K O N S E P

tipe data dan variabel

5 P E T A K O N S E P

tipe data dan variabel

6 C P M K , S U B - C M P K , I N D I K A T O R

7 M O D U L 1

tipe data dan variabel

14 M O D U L

Percabangan
2

24 R A N G K U M A N

25 D A F T A R P U S T A K A
PETA KONSEP
TIPE DATA DAN VARIABEL
STEP

Pengertian tipe 01
data dan variabel

STEP

02 tipe data primitif


dan composit

STEP

Deklarasi 03
variabel

STEP

04 Inisialisasi
variabel

Membuat variabel STEP


menggunakan Java 05
PETA KONSEP
PERCABANGAN

KONSEP PERCABANGAN

MENGGUNAKAN OPERATOR RELASI


DALAM MEMBUAT PERCABANGAN

STRUKTUR IF DAN SWITCH-CASE

ANALISIS PENGGUNAAN IF PADA KASUS

MERANCANG ALGORITMA
MENGGUNAKAN PERCABANGAN

MEMBUAT PROGRAM
CPMK, Sub-CPMK, Indikator

CPMK: Mahasiswa mampu merancang algoritma aplikasi sederhana


menggunakan konsep-konsep algoritma dan membuat program sederhana
menggunakan bahasa pemrograman.

Sub-CPMK 1: Mahasiswa mampu


Ketepatan dalam menjelaskan
menjelaskan konsep-konsep logika logika-logika informatika dalam
informatika tabel kebenaran.

Ketepatan dalam menjelaskan langkah-


Sub-CPMK 2: Mahasiswa menjelaskan langkah logis pada algoritma dalam bentuk
pseudocode yang terkandung statement
konsep algoritma serta memberi contoh seleksi dan perulangan secara umum.

Sub-CPMK 3: Mahasiswa mampu Ketepatan dalam menjelaskan


menjelaskan tipe data dan membuat hubungan antara data dan tipe data,
variabel yang terdapat pada Bahasa dan membuat variabel berdasarkan
pemrograman java kebutuhan data.

Sub-CPMK 4: Mahasiswa mampu Ketepatan dalam menggunakan


menggunakan operator-operator operator aritmatika dan
dalam Bahasa java operator relasi dalam

pemrograman java

Sub-CPMK 5: Mahasiswa mampu Ketepatan menganalisis


permasalahan percabangan
menganalisis masalah menggunakan
menggunakan struktur IF dan
konsep percabangan dalam algoritma
switch case

Sub-CPMK 6: Mahasiswa mampu Ketepatan dalam menggunakan


mampu merancang sebuah algoritma statement percabangan secara
menggunakan konsep percabangan tepat dalam merancang algoritma
dan membuat program dan membuat program

Sub-CPMK 7: Mahasiswa mampu Ketepatan dalam menggunakan


menggunakan konsep perulangan statement perulangan secara
dalam merancang algoritma tepat dalam merancang algoritma

Sub-CPMK 8: Mahasiswa mampu Kemampuan merancang dan


merancang sebuah algoritma membuat program
menggunakan tipe data array dan menggunakan tipe data array
membuat program

Ketepatan dalam mendeteksi


Sub-CPMK 9: Mahasiswa mampu penggunaan fungsi dengan nilai
menganalisis penggunaan fungsi pada balik dan fungsi tanpa nilai balik
suatu kasus pada suatu kasus

Kemampuan dalam
Sub-CPMK 10: Mahasiswa mampu menggunakan fungsi dalam
membuat fungsi pada Java membuat aplikasi

Kemampuan dalam membuat aplikasi


Sub-CPMK 11: Mahasiswa mampu sederhana berdasarkan algoritma yang telah
bekerja sama dalam kelompok dalam dirancang yang fungsi yang didalamnya
membuat aplikasi sederhana terdapat statement percabangan dan
perulangan dan memanfaatkan tipe data array

TIPE DATA
DAN
VARIABEL
A. Tipe Data
tipe data merupakan kumpulan nilai dan kumpulan operasi terhadap nilai-nilai tersebut.
terdapat 4 tipe data primitif:
integer, menggunakan operasi aritmatika(int)
bilangan Ril, menggunakan operasi aritmatika (double),
Boolean, kumpulan nilai{true, false} dengan operator logika(boolean)
karakter, karakter alfanumerik dan simbol (char)

untuk mendefinisikan tipe data kita perlu mengenali nilai apa dan tipe operasi yang kita
gunakan. misalnya kita akan menghitung hasil operasi perkalian suatu bilangan kita
dapat menggunakan tipe data integer(int), sedangkan menghitung hasil suatu operasi
pembagian maka kita dapat menggunakan tipe data double. sebagai contoh 1/2
menghasilkan 0.5 maka tipe data yang digunakan adalah double.
selain tipe data primitif yang telah dijabarkan sebelumnya. Java memiliki 4 tambahan
tipe data primitif yaitu:
64-bit integer, dengan operator aritmatika(long)
16-bit integer, dengan operator aritmatika(short)
8-bit integer, dengan operator aritmatika(byte)
32-bit bilangan ril, dengan operator aritmatika(float)
perbedaan antara float dan double dapat dilihat pada tabel berikut:

8
B. Variabel

Gambar di atas menggambarkan gurita yang sedang memegang alat-alat tulis. variabel
dapat diilustrasikan sebagai salah satu tentakel dari gurita yang memegang sebuah
pensil. pensil merupakan nilai dan tentakel adalah variabel. pada ilustrasi yang
ditunjukan satu tentakel hanya dapat memegang satu alat tulis saja, dan pada suatu
saat alat tulis tersebut dapat dilepas dan digantikan oleh alat tulis lainnya. variabel juga
dapat diartikan sebagai atribut yang melekat pada sebuah objek. misalnya sebuah
mobil memiliki atribut seperti warna, jumlah pintu, dan kapasitas bahan bakar. sebuah
mobil memiliki atribut yang berbeda dengan mobil lainnya.

pada tipe data primitif setiap variabel berasosiasi dengan sebuah tipe data dan hanya
dapat menyimpan satu nilai saja. pada saat sebuah variabel dibuat dalam sebuah
program. maka variabel tersebut akan dialamatkan pada sebuah alamat memori
tempat dimana nilai dari variabel tersebut akan tersimpan.

C. Deklarasi Variabel
Deklarasi variabel adalah langkah pertama dalam membuat aplikasi menggunakan
Java. kita telah mengenal tipe-tipe data primitif yaitu integer, boolean, double, dan char.
deklarasi variabel dilakukan dengan format sebagai berikut:

tipe_data nama_Variabel;

9
contoh deklarasi variabel tipe numerik yang akan disimpan pada integer:

Variabel number1, number2, dan sum akan menyimpan nilai dengan tipe numerik
dan hanya bisa bernilai bilangan bulat. Namun, variabel-variabel tersebut belum
memiliki nilai.

D. Inisialisasi Variabel
inisialisasi variabel dilakukan untuk Setelah sebelumnya telah mendeklarasi
memberikan nilai awal pada suatu variabel number1 dan number2
variabel. proses inisialisasi variabel menggunakan tipe data integer, maka kita
dilakukan setelah variabel tersebut dapat memberikan nilai awal pada kedua
sudah dideklarasikan sesuai tipe variabel tersebut. inisialisasi dan deklarasi
data yang digunakan. variabel pun dapat dilakukan secara
bersamaan:
number1 = 5;
number2 = 3;

agar dapat lebih memahami konsep mengenai variabel dan tipe data silakan menyimak
video berikut:

10
E. Latihan
latihan 1
1. Gerson memiliki usaha kios sederhana yang menjual barang-barang
sebagai berikut: chocolatos 5 karton, aqua 10 karton, dan mie gelas 2,5
karton. tentukan variabel-variabel yang ada pada kios Gerson. dan
buatlah variabel pada Java.

latihan 2
bangunan memiliki panjang 10 meter dan lebar 15 meter sedangkan tinggi
bangunan tersebut adalah 5 meter. variabel apa saja yang kita butuhkan
untuk menghitung volume bangunan tersebut. buatlah variabel dalam Java.

baris 7 pada jawaban kode program di atas beberapa dilakukan deklarasi


pada beberapa variabel sekaligus. cara ini hanya dapat digunakan jika
variabel-variabel tersebut memiliki tipe data yang sama.

11
latihan 3 Karakter
buatlah variabel character dari kata "UNIPA" berikut.

latihan 4 kalimat
terdapat sebuah kalimat "saya membuat aplikasi hari ini" buatlah variabel
berdasarkan format SPOK dalam Java.

untuk nilai yang berupa kumpulan dari karakter atau teks kita menggunakan
tipe data String.

12
latihan 5 Gabungan tipe data
pada mata kuliah algoritma dan pemrograman seorang mahasiswa dengan
nama Ronal memiliki total nilai 90 dan dinyatakan lulus dengan nilai A.
variabel-variabel apa saja yang dibutuhkan untuk merancang algoritma pada
kasus ini.

F. Tugas
1. indikator penliaian pada mata kuliah Algoritma terdiri dari kehadiran 10%,
Tugas, 30%, UTS 30% dan UAS 30%. sedangkan range penilaian huruf adalah
sebagai berikut:
D = 40 - 59, C = 60 – 63, C+ = 64 – 66, B- = 67– 69, B = 70 – 73, B+= 74 – 76,
A- = 77 - 79 , A = >80. tentukan variabel apa saja yang dibutuhkan untuk
membuat program ini. tuliskan variabel dalam kode program

2. tentukan variabel-variabel apa saja yang dibutuhkan untuk dapat membuat


aplikasi yang dapat mencetak surat aktif kuliah.

3. tentukan variabel-variabel apa saja yang dibutuhkan untuk dapat membuat


aplikasi yang dapat mencetak surat aktif kuliah.

13
PERCABANGAN
A. Percabangan
Kita telah melihat bahwa program komputer adalah sederet instruksi yang saling
berurutan. Urutan merupakan konsep dasar dari pemrograman. Dalam struktur
percabangan, perintah dikerjakan bila terpenuhi syaratnya. Misalnya kita ingin
menentukan apakah suhu ruangan terlalu panas atau terlalu dingin. Jika suhu
ruangan diatas 25°C maka suhu ruangan panas, dan jika suhu ruangan dibawah
25°C maka suhu ruangan sejuk. Algoritmanya dapat kita jabarkan sebagai berikut:

Pada algoritma di atas ada dua kemungkinan setelah perintah 2 dijalankan yaitu jika
suhu lebih dari 25°C maka selanjutnya perintah 3 dikerjakan, jika tidak perintah 4
yang dikerjakan.
Percabangan menggunakan ekspresi if. Terdapat dua bentuk ekspresi if yaitu if-then
dan if-then-else. sedangankan untuk Pemilihan menggunakan struktur switch-case.
Flowchart struktur if ditunjukan pada gambar berikut:

15
B. Satu Kasus

Pada percabangan kondisi adalah bagian terpenting. Kondisi membandingkan nilai


antara dua ekspresi. Pada if sederhana, statement akan dikerjakan bilamana if
bernilai True. Notasi algoritmik IF-THEN dinyatakan dalam bentuk:

if kondisi then
pernyataan;
endif

pada struktur di atas, pernyataan hanya akan dieksekusi apabila kondisi terpenuhi
atau bernilai true. flowchart berikut dapat memberikan gambaran visualisasi
percabangan pada satu kasus

contoh-contoh if satu kasus:

if x<10 then if ket=="lulus" then if krt=='*' then


x ← x+1 hadiah← "iphone 13" stop ← true
endif endif endif

16
B. Dua Kasus
Pada kondisi satu kasus hanya menyediakan satu alternatif pilihan jika suatu kondisi
atau persyaratan bernilai benar(true). jika pada suatu kasus terdapat dua pilihan
maka notasi yang digunakan adalah IF-THEN-ELSE dengan bentuk sebagai berikut:

if kondisi then
pernyataan_1;
else
pernyataan_2;
endif

pada struktur di atas jika kondisi bernilai benar(true) maka pernyataan_1 akan
dieksekusi, namun jika kondisi bernilai salah(false) maka pernyataan_2 yang akan
dieksekusi. else pada struktur ini menyatakan ingkaran(negasi) dari kondisi pada if.
flowchart berikut menggambarkan alur percabangan dua kasus.

contoh-contoh if dua kasus:

if x<10 then if ket="lulus" then if krt=='*' then


x ← x+1 hadiah← "iphone 13" stop ← true
else else else
x ← x+2 hadiah← "iphone 10" left← true
endif endif endif

17
C. Tiga Kasus atau lebih
Pada kondisi permasalahan yang membutuhkan pemecahan masalah dengan
kondisi tiga buah kasus atau lebih, maka dapat dianalisis dengan menggunakan
struktur IF-THEN-ELSE bertingkat dengan bentuk sebagai berikut:

if kondisi then
pernyataan_1;
else if kondisi_2 then
pernyataan_2;
else
pernyataan_3;
endif

pada struktur di atas jika kondisi pertama bernilai benar(true) maka pernyataan_1
akan dieksekusi, namun jika kondisi bernilai salah(false) maka kemudian kondisi_2
yang akan dicek. jika kondisi_2 bernilai true maka pernyataan_2 yang akan
dieksekusi. sedangkan jika kondisi_2 bernilai false maka pernyataan_3 yang akan
dieksekusi. else pada struktur ini menyatakan ingkaran(negasi) dari kondisi pada if.
dan else if bermakna pengingkaran pada kondisi if dan memberikan kondisi baru.
flowchart berikut menggambarkan alur percabangan dua kasus.

dari flowchart di atas terlihat bahwa struktur percabangan membentuk kondisi


bertingkat. Pada IF-THEN-ELSE bertingkat tidak ada pembatasan mengenai jumlah
kondisi atau kasus.

18
contoh-contoh if tiga kasus atau lebih:

if x mod 2=0 then


write('genap');
else if x mod 2=1 then
write('ganjil');
else
write('nol');
endif

if total>80 then
write('A');
else if total>70 and total<79 then
write('B');
else if total>60 and total<69 then
write('C');
else
write('D');
endif

D. Struktur Switch-Case
Struktur Switch-Case memiliki fungsi yang hampir sama dengan IF-THEN-ELSE
bertingkat, dimana terdapat banyak pilihan kasus dan kondisi. pada struktur switch-
case terdapat ekspresi yang kemudian menghasilkan suatu nilai. nilai tersebut akan
diperiksa pada seluruh case jika nilai tersebut sama dengan salah satu case maka
pernyataan tersebut yang akan dieksekusi. berikut adalah struktur switch-case

switch(ekspresi):
case nilai_1: pernyataan_1;
break;
case nilai_2: pernyataan_2;
break;
case nilai_n: pernyataan_n:
break;
default;

19
contoh-contoh switch-case:

switch(lampu) then
case "merah":
write('berhenti');
break;
case "kuning":
write("hati-hati");
break;
case "hijau":
write("jalan terus");
break;
default:
write("lampu lalu lintas hanya ada 3 warna")
break;

switch(tombolAngka) then
case "1":
layanan ← "pengaduan pelanggan";
break;
case 2:
layanan ← "perbaikan data";
break;
case 3":
layanan ← "";
break;
default:
write("lampu lalu lintas hanya ada 3 warna")
break;

simaklah video berikut agar dapat lebih memahami materi percabangan:

20
E. Latihan
latihan 1 satu kasus
pada urutan abjad ada lima huruf vokal yaitu: 'a','i','u','e','o'. jika terdapat
sebuah masukan sembarang karakter bandingkanlah karakter tersebut
dengan salah satu huruf vokal. jika karakter masukannya benar maka cetak
pesan bahwa karakter tersebut adalah huruf vokal.

latihan 2 dua kasus


Pegawai honorer disuatu instansi digaji berdasarkan jumlah jam kerja
selama satu minggu. gaji per jam yang diterima per hari adalah Rp. 20000
bila jumlah jam kerja lebih dari 48 jam, maka sissanya dianggap sebagai jam
lembur. upah lembur adalah Rp. 25000/jam. rancanglah algoritma yang
membaca jumlah jam kerja seorang karyawan selama satu minggu lalu
tentukan gaji mingguannya kemudian buatlah program dalam Java.

Deklarasi
nama: string
jamKerja: integer
lembur: real
gaji: real

Algoritma:
read(nama, jamKerja)
if jamKerja<=48 then

gaji jamKerja * 20000
else
lembur← jamKerja-48

gaji 48*20000 + lembur * 25000
endif

21
latihan 3 tiga kasus
rancanglah algoritma yang membaca temperatur air (T) dalam satuan derajat
celcius pada tekanan normal, lalu tentukan apakah wujud air tersebut dalam
keadaan padat(T≤ 0 derajat), cair(0<T<100 derajat), atau gas(T>100)
Deklarasi
T: real

Algoritma:
read(T)
if T<=0 then
write("padat");
else if (T>0) and (T<100)
write("cair");
else if T>100 then
write("gas");
endif
endif
endif

latihan 4 switch-case
pada sebuah gedung bertingkat tiga terdapat lantai yang setiap lantainya dihuni oleh
satu perusahaan. PT angkasa raya pada lantai 1, PT Bumi bulat lantai 2, PT Angin Timur
lantai 3. rancanglah sebuah algoritma yang dapat berfungsi sebagai lift yang akan
menuju perusahaan ketika nomor lift ditekan menggunakan struktur switch-case dan
buatlah programnya.
Deklarasi
lantai: integer

Algoritma:
read(lantai)
switch(lantai) then
case 1:
write("PT angkasa raya");
break;
case 2:
write("PT Bumi Bulat");
break;
case 3:
write("PT Angin Timur");
break;
default:

22
E. Tugas
1. Andika diberi pilihan oleh orang tuanya untuk membeli mobil sebagai alat
transportasi kuliah, namun andika kesulitan untuk membeli mobil yang diinginkan.
Pilihannya jika mobil berwarna merah dan silinder di bawah 1200cc maka
pilihannya mereknya hanya ada 3 yaitu honda, Toyota dan Suzuki sedangkan tipe
mobil dari ketiga mereka tersebut yang memiliki silinder dibawah 1200 cc adalah
honda brio, Toyota calya, dan Suzuki ignis. Jika pilihan mobilnya adalah warna
hitam atau isi silindernya diatas 2000 maka pilihan jatuh pada merek Toyota dan
mitsubshi. Sedangkan jenis mobil dengan tipe isi silinder diatas 2000 adalah
Mitsubishi Pajero dan Toyota fortuner. Buatlah program yang dapat membantu
andika memilih mobil yg diinginkan

2. Rancanglah sebuah algoritma kemudian buatlah program untuk memeriksa


apakah sebuah angka merupakan angka yang ganjil dan habis dibagi 5.

3. Pada sebuah perlombaan dance kelereng berkelompok terdapat 4 kriteria


penilaian yaitu keseimbangan sendok, ekspresi, kostum, dan kekompakan.
jika total nilai kelompok antara 80-100 maka kelompok tersebut masuk
mendapat medali Emas, jika skor 60-70 maka kelompok mendapat medali
Perak, dan jika skor di bawah 60 maka kelompok mendapat medali
perunggu. rancanglah algoritma untuk membantu panitia menghitung skor
dari masing-masing kelompok kemudian buatlah program pada Java.

23
RANGKUMAN

TIPE DATA DAN VARIABEL


TIPE DATA VARIABEL
tipe data merupakan kumpulan variabel juga dapat diartikan sebagai
nilai dan kumpulan operasi atribut yang melekat pada sebuah
terhadap nilai-nilai tersebut objek

TIPE DATA PRIMITIF: DEKLARASI VARIABEL


tipe_data namaVariabel;
bilangan bulat: integer (int)
bilangan ril:double (double)
Karakter :character(char) INISIALISASI VARIABEL
logika : Boolean(Boolean) namaVariabel= nilai;
teks : String tipe_data namaVariabel=nilai;

PERCABANGAN

STRUKTUR PERCABANGAN KONDISI


if-then satu kasus: if-then
switch-case dua kasus: if-then-else
tiga kasus atau lebih: if-then bertingkat
DAFTAR PUSTAKA
REFERENSI UTAMA 1
Cormen, Leiserson, dkk. 2009. Introduction to Algorithm.
Massachusetts Institute of Technology. Massachusetts

REFERENSI UTAMA 2
Deitel & Deitel, 2012. Java How to Program. 9th Edition,
Prentice Hall. Massachusetts

CHRISTIAN REFERENSI UTAMA 3


Munir Rinaldi. 2009. Algoritma dan Pemrograman,
DWI Informatika. Bandung.

SUHENDRA
"IF YOU HAVE
KNOWLEDGE, LET OTHERS
LIGHT THEIR CANDLE AT
IT" MARGARET FULLER

PROFILE
I am a lecturer at Papua
University. i have been teaching
since 2016. along with teaching
i also have passion in research.
my main major are Artifical
Intelligence and optimization.
i await the the oppurtunity to
collaborate with you.

CONTACT
081356001812
c.suhendra@unpa.ac.id

You might also like