SlideShare a Scribd company logo
1 of 42
Download to read offline
LOGIKA
PEMROGRAMAN
OLEH
ADI SETIAWAN
Tujuan mata kuliah ini adalah untuk memberi
kemampuan pada mahasiswa tentang konsep dasar
pemrograman.
Mahasiswa diharapkan dapat menyelsaikan
persoalan dengan cara membuat dan menulis
algoritma penyelesaian masalah dan men-translate-
kan algoritma tersebut ke bahasa pemrograman
tertentu (seperti Pascal, Basic, Fortran dll)
1. Pengertian algoritma dan pemrograman
2. Struktur dasar algoritma
3. Notasi algoritmik
4. Tipe, operator dan ekspresi
5. Runtunan
6. Pemilihan
7. Pengulangan
8. Contoh contoh pemecahan masalah
PROGRAM KOMPUTER
Program komputer adalah rangkaian kata perintah yang telah
dimengerti oleh komputer untuk dikerjakannya. Kata-kata
perintah tersebut membentuk suatu bahasa yang disebut dengan
bahasa pemrograman.
Sebagaimana bahasa pada manusia, bahasa pemrograman juga
terdiri atas banyak macam bahasa, dan memiliki aturannya
masing-masing.
Komputer saat ini tidak memiliki hak inisiatif, sehingga jika ada
sedikit saja kesalahan penulisan perintah oleh pemrogram, ia
tidak bisa memakluminya atau berusaha memperbaiki sendiri
kesalahan tersebut. Dengan sendirinya komputer akan
“ngambek” dan tidak mau mengerjakan perintah-perintah
lainnya.
Komputer diciptakan melalui logika manusia, karenanya, ia bekerja
secara logis, tanpa campur-tangan “perasaan.”
ALGORITMA PEMROGRAMAN
Orang yang telah mahir menggunakan satu bahasa pemrograman tertentu,
biasanya tidak lagi memerlukan kertas coret-coretan untuk membuat suatu
program komputer. Namun bagi pemula, atau yang belum mahir, diperlukan kertas
coret-coretan tersebut.
Kertas coret-coretan itu akan digunakan untuk menyusun algoritma (langkah-
langkah penyelesaian masalah), flowcharting (alur logika perintah, yang merupakan
aplikasi dari Algoritma), maupun menuliskan perintah sesuai dengan kaidah dari
bahasa pemrograman yang akan digunakannya.
Sewaktu menyusun algoritma, kita tidak perlu tahu (atau tidak perlu menyesuaikan
dengan) bahasa pemrograman yang nanti akan kita gunakan. Hal utama yang
kita pikirkan adalah kaidah (hirarki) dari komputer itu sendiri, yaitu input-
proses-output.
Input adalah data yang harus ada (sudah ada/ sudah tersedia), yang dapat
diproses dengan aturan-aturan tertentu untuk menghasilkan output seperti yang
dikehendaki. Data yang ada harus logis (masuk akal) bahwa “ia” dapat diproses
untuk menghasilkan output.
Kehidupan manusia pada hakikatnya adalah
serangkaian aktivitas penyelesaian masalah
(persoalan).
Problem (persoalan)
Pertanyaan atau tugas yang kita cari
jawabannya [R.R. Neapolitan, 1996]
Contoh:
Parkir kendaraan bermotor, bagaimana cara menetapkan harga
per kendaraan yang parkir?
Susunan daftar nama mahasiswa, bagaimana cara melacak nama-
nama mahasiswa yang tidak aktif dalam semester ini?
Pengisian KRS, bagaimana cara menentukan SKS dan pengisian
KRS?
Masalah
algoritma solusi
Program
komputer
Penjabaran permasalahan (problem
description)
Dengan menggunakan beberapa parameter
(ukuran)
Contohnya yaitu:
1.Masalah pengurutan, dibuat dalam bentuk daftar (list)
2.Masalah pencarian,
3.Masalah mencari elemen terbesar/terkecil
 Algoritma yaitu urutan langkah-langkah
logis untuk menyelesaikan sebuah masalah
yang disusun dengan sistematis.
 Program yaitu kumpulan instruksi/perintah
komputer dengan bahasa tertentu yang
berfungsi menghubungan pemakai (user)
dengan komputer, atau bisa juga disebut
implementasi dari bahasa pemrograman
- Setiap langkah/step harus jelas dan pasti
- Boleh tidak ada input-an tetapi harus
memiliki output minimal 1 output, output ini
merupakan solusi akhir dari penyelesaian
masalah
- Efektif/tepat guna dan efisien/membutuhkan
waktu singkat dan memori sedikit
- Jumlah langkah/step harus ada batasannya,
baik ada solusi ataupun tidak
- Terstruktur/runtun, jelas (ipo)
 Mendefinisaikan masalah
 Menentukan solusi
 Memilih algoritma
 Menulis program
 Menguji program
 Menulis dokumentasi
 Merawat program
 Kalimat Deskriptif
 Flow Chart (bagan alir)
 Pseudo Code (kode semu)
 Menggunakan untaian kalimat untuk
menjelaskan langkah – langkah
 Contoh
PROGRAM GanjilGenap
Diberikan sebuah bilangan bulat positif X
untuk dicek apakah termasuk ganjil atau
genap
ALGORITMA
1.Jika X habis dibagi 2 maka tulis “Genap”,
jika tidak maka tulis “Ganjil”
 Menggunakan simbol – simbol untuk
menggambarkan aliran atau langkah –
langkah
 Contoh
mulai
baca X
X mod 2 =X mod 2 =
0
selesai
Tulis “Genap
Tulis “Ganjil”
tidak
ya
 Menggunakan kode – kode untuk menyatakan
langkah – langkah
 Mirip bahasa pemrograman
 Contoh
DEKLARASI
X : integer
ALGORITMA
read(X)
if X mod 2 = 0 then {apakah X habis dibagi 2}
write(“Genap”) {jika ya}
else
write(“Ganjil) {jika tidak}
KETERANGAN SIMBOL
Mulai / Selesai (Terminator)
Aliran Data
Input / Output
Proses
Percabangan (Decision)
Pemberian nilai awal suatu
variabel
(Preparation)
Memangggil prosedur / fungsi
(Call)
Connector (di halaman yang
sama)
Connector (di halaman lain)
Sequence process
Perulangan
- Kasus : menghitung luas segitiga
- Algoritma :
§ Masukkan alas (a)
§ Masukkan tinggi (t)
§ Hitung luas (L), yaitu 0.5 * alas * tinggi
§ Cetak luas (L)
Algoritma Pseudo-code
Masukkan panjang Input panjang
Masukkan lebar Input lebar
Nilai luas adalah panjang x
lebar
Luas  panjang x lebar
Tampilkan luas Print luas
Contoh lain:
Algoritma Pseudo-code
Jika sudah selesai, cetak
invoice
IF KONDISI_SELESAI = “DONE” THEN
PRINT INVOICE
Nilai A dibagi dengan 2 A ← A / 2
Jika nilai A lebih besar dari
2
maka nilai A dikalikan 3
IF A > 2 THEN A ← A x 3
Dari dua bilangan A dan B,
cari
bilangan yang terbesar
IF A > B THEN PRINT A ELSE PRINT B
Masukkan semua mata
kuliah
yang ingin diambil pada
semester
ini
DARI MATKUL = 0 SAMPAI MATKUL
<= MATKUL_DIINGINKAN, MASUKAN
DATA MATKUL
 Sebenarnya tidak ada aturan mengikat
tentang penulisan algoritma dan pseudo-
code, karena fungsi kedua hal ini adalah
untuk memudahkan seseorang untuk
menggambarkan urutan suatu kejadian.
Sedangkan untuk para programmer, kedua
hal ini berfungsi sebagai dasar alur
pembuatan program. Di mana dapat
merepresentasikan alur cerita dari client
tentang kebutuhan dasar dari sebuah
program, sehingga lebih mudah untuk
dipahami.
 Jadi pseudo-code bisa dikatakan juga sebagai
algortima yang sudah sedikit digabungkan
dengan bahasa pemrograman yang akan
digunakan.
Terdapat 2 buah ember A dan B masing – masing
memiliki isi yang berbeda. Tuliskan algoritma
untuk menukarkan isi masing – masing ember
tersebut.
 ALGORITMA
- untuk menukar air dari ember A ke ember
B,dibutuhkan satu ember kosong yaitu C.
- air yang ada di ember A kita pindah dahulu
ke ember C.
- sekarang ember A kosong, kemudian isi yang
ada di ember B kita pindah ke ember A.
- sekarang ember A terisi dan ember B
kosong.
- kemudian isi yang ada di ember C kita
pindah ke ember B.
- sehingga ember A dan B sudah terisi dan
tertukar sedang ember C menjadi kosong.
 FLOWCHART
mulai
b
, ,
baca
A,B,C
selesai
T ilk
,
Tampilkan
A,B
C = A
A = B
B = C
 Pseudo code
 DEKLARASI
 A,B,C : integer
 ALGORITMA
A = 2
B = 5
C A isi di variabel A sudah pindah ke
variabel C
A B isi yang ada di variabel B sudah
pindah ke variabel A
B C isi yang ada di variabel C sudah
pindah ke variabel B
sehingga
A 5
B 2
Tahapan Pembuatan Program
• Mendefinisikan masalah dan menganalisanya.
Mencakup: tujuan pembuatan program,
parameter yang digunakan,fasilitas yang
disediakan, algoritma yang diterapkan dan bahasa
program yang digunakan.
• Merealisasikan dengan langkah-langkah dalam
notasi algoritma.
ATURAN PENULISAN ALGORITMA
• Judul Algoritma
 Berisi nama penjelasan algoritma
• Deklarasi
 Mendefinisikan semua tipe, variable, fungsi dan prosedur
• Algoritma
• Bagian utama Algoritma
• Sekumpulan perintah untuk penyelesaian
permasalahan
• Ditulis dengan notasi tertentu (standar)
STRUKTUR PENULISAN ALGORITMA
PROGRAM Nama_Algoritma
{Judul Program}
DEKLARASI
{Deklarasi semua variabel, function dan procedure}
ALGORITMA
{ isi dari algoritma}
Contoh :
Tuliskan Algoritma untuk menuliskan atau mencetak
”Selamat Datang”.
PROGRAM SelamatDatang
{Program untuk mencetak ”Selamat Datang”}
DEKLARASI
{tidak ada}
ALGORITMA
write(’Selamat Datang’)
A. TIPE DATA DASAR
1. Tipe Data Logika (Boolean)
Nama tipe ini diambil dari nama matematikawan yaitu bernama George
Boole
Domain (jangkauan) Nilai : [true, false]
Nama tipe ditulis sebagai: Boolean
Contoh: 52 > 61 hasilnya false
A B A and B A or B Not A
False False False False True
False True False True True
True False False True False
2. Bilangan Bulat
Bilangan yang sudah umum digunakan dalam kehidupan sehari-hari.
Bilangan bulat: adalah bilangan yang tidak mengandung pecahan
desimal, misal : 10, 32, -38, 123567, dst.
Domain Nilai : Integer [-32768..32767]
Nama tipe ditulis : Integer atau Int
Operasi Bilangan Bulat
a. Operasi Aritmatika
+ (Tambah)
- (Kurang)
* (Kali)
div (bagi)
mod (sisa hasil bagi)
b. Operasi Pembandingan
< lebih kecil
≤ lebih kecil atau sama dengan
> lebih besar
≥ lebih besar atau sama dengan
= sama dengan
≠ tidak sama dengan
3. Bilangan Riil
Bilangan Riil adalah bilangan yang mengandung pecahan desimal,
misal 3.65, 3.45, 0.0004, dst
Domain Nilai: tidak terbatas
Tipe ditulis sebagai: Real
Operasi Bilangan Riil
a. Operasi Aritmatika
+ (Tambah)
- (Kurang)
* (Kali)
div (bagi)
mod (sisa hasil bagi)
b. Operasi Pembandingan
< lebih kecil
≤ lebih kecil atau sama dengan
> lebih besar
≥ lebih besar atau sama dengan
= sama dengan
≠ tidak sama dengan
Karakter
Tipe ini adalah tipe yang termasuk dalam semua huruf-huruf abjad, semua
tanda baca, angka ’0’...’9’, dan karakter-karakter khusus seperti ’&’,
’^’,’%’,’#’, ..dst.
Domain Nilai : ’a’,..,’z’,’A’,..’Z’,’0’,..’9’, dan karakter khusus lainnya
Tipe ditulis sebagai : Char
Operasi karakter
Operasi Pembandingan
< lebih kecil
≤ lebih kecil atau sama dengan
> lebih besar
≥ lebih besar atau sama dengan
= sama dengan
≠ tidak sama dengan
B. TIPE DATA BENTUKAN
Tipe data bentukan adalah tipe data yang berasal atau disusun dari tipe
data dasar
1. String
String adalah urutan karakter dengan panjang tertentu yang
membentuk satu kata atau kalimat. String merupakan gabungan dari
tipe karakter yang biasanya diapit oleh dua tanda kutip.
Domain Nilai : nilai yang didefinisikan pada domain karakter
Nama Tipe yang ditulis : String
Contoh: nama, alamat, judul
Operasi String
a. Operasi Penggabungan: +
b. Operasi Pembandingan:
< lebih kecil
≤ lebih kecil atau sama dengan
> lebih besar
≥ lebih besar atau sama dengan
= sama dengan
≠ tidak sama dengan
2. Record
Tipe terstruktur adalah tipe yang berbentuk rekaman
(record). Rekaman disusun oleh satu atau lebih dua field
yang tipe datanya tersusun dari tipe data dasar.
Deklarasi : type variabelRekaman : < var1 : tipe data dasar,
var2: tipe data dasar,
........
>
Contoh:
Type DataMhsw : record
< nim : integer,
nama_mhsw : string,
umur : integer,
jenis_kelamin: char
>
3. Array (larik)
Array adalah tipe data bentukan yang merupakan wadah
untuk menampung beberapa nilai data yang sejenis.
Kumpulan bilangan bulat adalah: Array Integer
Kumpulan bilangan tidak bulat adalah: Array Real
Cara mendefinisikan:
Nilai_ujian : array [1 .. 10] of integer; atau
int nilai_ujian[10]
1. MATLAB Windows
The MATLAB Command Window is the main window where you type commands
directly to the MATLAB interpreter. The MATLAB Editor Window is a simple text
editor where you can load, edit and save complete MATLAB programs. The Editor
window also has a menu command (Debug/Run) which allows you to submit the
program to the command window. The MATLAB Help Window gives you access to
a great deal of useful information about the MATLAB language and MATLAB
computing environment. It also has a number of example programs and tutorials.
2. A first program
The command
disp(argument);
displays the value of the argument. This can be a number, a string in single
quotes, or an expression. For simple numbers, the arithmetic operators are: +, -,
*, / and ^. Try
disp(2*3+1);
or
disp(’Hello World!’);
Try these programs out first on the command line; then practise using the editor
to enter the commands, saving them to a file, loading the file and running the
program from inside the editor.
3. Variables and assignment
Variables are named locations in memory where numbers, strings and
other elements of data may be stored while the program is
working. Variable names are combinations of letters and digits, but
must start with a latter. MATLAB does not require you to declare the
names of variables in advance of their use. This is actually a common
cause of error, since it allows you to refer accidentally to variables that
don’t exist. To assign a variable a value, use the assignment
statement. This takes the form
variable=expression;
for example
a=6;
or
name=’Mark’;
To display the contents of a variable, use
disp(variable);
4. Arrays
MATLAB is particularly powerful in the way it deals with tables of data, called
arrays. An array is simply a variable that can contain a number of values arranged
in tabular form. Arrays may be one dimensional (like a list), two dimensional (like
a table), or have more dimensions. To set the value of one element of a one
dimensional array, use the notation
variable(index)=expression;
for example
table(1)=3;
table(2)=6;
Note that indexes must be expressions evaluating to positive integers. The
smallest index is 1. To access one element from a one dimensional array, use the
notation
variable(index)
for example
a=table(2);
disp(table(2));
For two dimensional arrays, use
variable(index,index)=expression;
to set the value and
variable(index,index)
to retrieve its value. You can store strings in tables, but each string occupies a
row, and all rows must be the same length (think of a two-dimensional array of
characters).
You can assign a whole array in one operation using a notation involving square
brackets: for example:
array = [ v11 v12 v13; v21 v22 v23];
where v11 is the value in row 1 col 1; v21 is the value in row 2 col 1; etc. The ‘;’
marks the end of a row.
You can generate arrays containing sequences very easily with the ‘:’
operator. The expression
start:stop
generates a sequence of integers from start to stop. The expression
start:increment:stop
generates a sequence from start to stop with the specfied increment. Try
disp(1:10);
disp(1:2:10);
You can also select sub-parts of the array with the ‘:’ operator. For example,
x(3:5)
represents the array consisting of the third through fifth elements of x. Also
y(2:2:100)
represents the array containing the even number elements of y below index
100.
You can also add subtract, multiply and divide arrays of data using the operators
we’ve mentioned previously. However MATLAB makes a difference between
operations that work on a cell-by-cell basis (so-called “dot” operations) as
opposed to operations that work on the arrays as a whole. For example, if you
want to multiply two arrays of equal size to give a third array in which each cell
contains the product of the corresponding cells in the input, then you need to
use the “dot-multiply” operator .* for example
C = A.*B;
Finally you can transpose rows and columns of a matrix with the ' operator, for
example
disp(A')
Exercises
For these exercises, use the editor window to enter your code, and save
your answers to files under your account on the central server. To run the
programs, use the Debug/Run menu option or cut and paste the code into
the command window. When you save the files, give them the file
extension of ".m".
1. Write a program (ex21.m) to assign the following expressions to a
variable A and then to print out the value of A.
a)
b)
c)
d) (0.0000123 + 5.67×10
-3) × 0.4567×10-4
% ex21.m
A = (3+4)/(5+6);
disp(A);
A=2*pi*pi;
disp(A);
A=sqrt(2);
disp(A);
A=(0.0000123+5.67E-3)*0.4567E-4;
disp(A);

More Related Content

What's hot

Algoritma & pemrograman 2
Algoritma & pemrograman 2Algoritma & pemrograman 2
Algoritma & pemrograman 2Mulyana Yana
 
Bab 3. pengenalan algoritma
Bab 3. pengenalan algoritmaBab 3. pengenalan algoritma
Bab 3. pengenalan algoritmaArif Punk Street
 
Algoritma dan Pemrograman C++ (Pseudocode & Flowchart)
Algoritma dan Pemrograman C++ (Pseudocode & Flowchart)Algoritma dan Pemrograman C++ (Pseudocode & Flowchart)
Algoritma dan Pemrograman C++ (Pseudocode & Flowchart)Nabil Muhammad Firdaus
 
Modul mata kuliah konsep dasar pemrograman
Modul mata kuliah konsep dasar pemrogramanModul mata kuliah konsep dasar pemrograman
Modul mata kuliah konsep dasar pemrogramanMuraba Nasuha
 
ALGORITMA dan PEMROGRAMAN
ALGORITMA dan PEMROGRAMANALGORITMA dan PEMROGRAMAN
ALGORITMA dan PEMROGRAMANBang Jo
 
Diktat kuliah Algoritma dan Pemograman
Diktat kuliah Algoritma dan PemogramanDiktat kuliah Algoritma dan Pemograman
Diktat kuliah Algoritma dan PemogramanPisca Prasetyo
 
Dasar dasar algoritma - 1-1
Dasar dasar algoritma - 1-1Dasar dasar algoritma - 1-1
Dasar dasar algoritma - 1-1Rachmat Narendra
 
Struktur Runtunan Algoritma
Struktur Runtunan AlgoritmaStruktur Runtunan Algoritma
Struktur Runtunan Algoritmacasnadi
 
Struktur Algoritma
Struktur AlgoritmaStruktur Algoritma
Struktur Algoritmadaffa12
 
PENGERTIAN ALGORITMA DAN PEMROGRAMAN
PENGERTIAN ALGORITMA DAN PEMROGRAMANPENGERTIAN ALGORITMA DAN PEMROGRAMAN
PENGERTIAN ALGORITMA DAN PEMROGRAMANAziz Moeslim
 
Modul dasar pemrograman
Modul dasar pemrogramanModul dasar pemrograman
Modul dasar pemrogramanlidyanamaria
 
Pertemuan 2 Pemrograman Dasar
Pertemuan 2 Pemrograman DasarPertemuan 2 Pemrograman Dasar
Pertemuan 2 Pemrograman DasarDisma Ariyanti W
 
Algoritma pemrograman terstruktur
Algoritma pemrograman terstrukturAlgoritma pemrograman terstruktur
Algoritma pemrograman terstrukturRaden Maulana
 
Materi Kuliah : Dasar pemrograman 1
Materi Kuliah : Dasar pemrograman 1Materi Kuliah : Dasar pemrograman 1
Materi Kuliah : Dasar pemrograman 1Braga Rezpect
 
M03b algoritma lanjutan
M03b algoritma lanjutanM03b algoritma lanjutan
M03b algoritma lanjutanBilly Alhamra
 

What's hot (20)

Algoritma & pemrograman 2
Algoritma & pemrograman 2Algoritma & pemrograman 2
Algoritma & pemrograman 2
 
Bab 3. pengenalan algoritma
Bab 3. pengenalan algoritmaBab 3. pengenalan algoritma
Bab 3. pengenalan algoritma
 
Algoritma dan Pemrograman C++ (Pseudocode & Flowchart)
Algoritma dan Pemrograman C++ (Pseudocode & Flowchart)Algoritma dan Pemrograman C++ (Pseudocode & Flowchart)
Algoritma dan Pemrograman C++ (Pseudocode & Flowchart)
 
Algoritma flowchart
Algoritma flowchartAlgoritma flowchart
Algoritma flowchart
 
Modul mata kuliah konsep dasar pemrograman
Modul mata kuliah konsep dasar pemrogramanModul mata kuliah konsep dasar pemrograman
Modul mata kuliah konsep dasar pemrograman
 
ALGORITMA dan PEMROGRAMAN
ALGORITMA dan PEMROGRAMANALGORITMA dan PEMROGRAMAN
ALGORITMA dan PEMROGRAMAN
 
Diktat kuliah Algoritma dan Pemograman
Diktat kuliah Algoritma dan PemogramanDiktat kuliah Algoritma dan Pemograman
Diktat kuliah Algoritma dan Pemograman
 
Dasar dasar algoritma - 1-1
Dasar dasar algoritma - 1-1Dasar dasar algoritma - 1-1
Dasar dasar algoritma - 1-1
 
Alpro referensi
Alpro referensiAlpro referensi
Alpro referensi
 
Struktur Runtunan Algoritma
Struktur Runtunan AlgoritmaStruktur Runtunan Algoritma
Struktur Runtunan Algoritma
 
Struktur Algoritma
Struktur AlgoritmaStruktur Algoritma
Struktur Algoritma
 
PENGERTIAN ALGORITMA DAN PEMROGRAMAN
PENGERTIAN ALGORITMA DAN PEMROGRAMANPENGERTIAN ALGORITMA DAN PEMROGRAMAN
PENGERTIAN ALGORITMA DAN PEMROGRAMAN
 
Algoritam1
Algoritam1Algoritam1
Algoritam1
 
Modul dasar pemrograman
Modul dasar pemrogramanModul dasar pemrograman
Modul dasar pemrograman
 
Pertemuan 2 Pemrograman Dasar
Pertemuan 2 Pemrograman DasarPertemuan 2 Pemrograman Dasar
Pertemuan 2 Pemrograman Dasar
 
3.algoritma dasar
3.algoritma dasar3.algoritma dasar
3.algoritma dasar
 
Algoritma Pemrograman
Algoritma PemrogramanAlgoritma Pemrograman
Algoritma Pemrograman
 
Algoritma pemrograman terstruktur
Algoritma pemrograman terstrukturAlgoritma pemrograman terstruktur
Algoritma pemrograman terstruktur
 
Materi Kuliah : Dasar pemrograman 1
Materi Kuliah : Dasar pemrograman 1Materi Kuliah : Dasar pemrograman 1
Materi Kuliah : Dasar pemrograman 1
 
M03b algoritma lanjutan
M03b algoritma lanjutanM03b algoritma lanjutan
M03b algoritma lanjutan
 

Similar to LOGPEM

DASAR - DASAR ALGORITMA
DASAR - DASAR ALGORITMADASAR - DASAR ALGORITMA
DASAR - DASAR ALGORITMAWalid_1234
 
Pemrograman terstruktur
Pemrograman terstrukturPemrograman terstruktur
Pemrograman terstrukturMeiland Meebo
 
Alur Logika Pemrograman (1).pdf
Alur Logika Pemrograman (1).pdfAlur Logika Pemrograman (1).pdf
Alur Logika Pemrograman (1).pdfecihyuningsih
 
dasar-pemrograman-algoritma-flowchart
 dasar-pemrograman-algoritma-flowchart dasar-pemrograman-algoritma-flowchart
dasar-pemrograman-algoritma-flowchartPT. Likers Fice.com
 
Materi_1_Pengantar_Algoritma.pptx
Materi_1_Pengantar_Algoritma.pptxMateri_1_Pengantar_Algoritma.pptx
Materi_1_Pengantar_Algoritma.pptxwahyu479353
 
Tifanieindahyulianti 1610530183 tugasperulangan_algoritma_muhammadyunus
Tifanieindahyulianti 1610530183 tugasperulangan_algoritma_muhammadyunusTifanieindahyulianti 1610530183 tugasperulangan_algoritma_muhammadyunus
Tifanieindahyulianti 1610530183 tugasperulangan_algoritma_muhammadyunusTifanie Indah
 
Tifanieindahyulianti 1610530183 tugasperulangan_algoritma_muhammadyunus
Tifanieindahyulianti 1610530183 tugasperulangan_algoritma_muhammadyunusTifanieindahyulianti 1610530183 tugasperulangan_algoritma_muhammadyunus
Tifanieindahyulianti 1610530183 tugasperulangan_algoritma_muhammadyunusTifanie Indah
 
Algoritma dan Flowchart1.ppt
Algoritma dan Flowchart1.pptAlgoritma dan Flowchart1.ppt
Algoritma dan Flowchart1.pptBKKSMKN2Jombang
 
Algoritma dan data struktur pdf
Algoritma dan data struktur pdfAlgoritma dan data struktur pdf
Algoritma dan data struktur pdfdedisusanto41
 
listiati univ bung hata (1110013211051) Algoritma dan flowchart
listiati univ bung hata (1110013211051) Algoritma dan flowchartlistiati univ bung hata (1110013211051) Algoritma dan flowchart
listiati univ bung hata (1110013211051) Algoritma dan flowchartMaryanto Sumringah SMA 9 Tebo
 
ALOGARITMA
ALOGARITMAALOGARITMA
ALOGARITMAarstwn
 
Algoritma pertemuan 1
Algoritma pertemuan 1Algoritma pertemuan 1
Algoritma pertemuan 1ysvcyber
 

Similar to LOGPEM (20)

DASAR - DASAR ALGORITMA
DASAR - DASAR ALGORITMADASAR - DASAR ALGORITMA
DASAR - DASAR ALGORITMA
 
modul algoritma Bab 1
modul algoritma Bab 1modul algoritma Bab 1
modul algoritma Bab 1
 
Algoritma 1 pertemuan 1
Algoritma 1 pertemuan 1Algoritma 1 pertemuan 1
Algoritma 1 pertemuan 1
 
Algoritma Pemrogaman
Algoritma PemrogamanAlgoritma Pemrogaman
Algoritma Pemrogaman
 
Pemrograman terstruktur
Pemrograman terstrukturPemrograman terstruktur
Pemrograman terstruktur
 
Alur Logika Pemrograman (1).pdf
Alur Logika Pemrograman (1).pdfAlur Logika Pemrograman (1).pdf
Alur Logika Pemrograman (1).pdf
 
Pk 1 kimia algo and flowchart
Pk 1 kimia algo and flowchartPk 1 kimia algo and flowchart
Pk 1 kimia algo and flowchart
 
Pk 1 kimia algo and flowchart
Pk 1 kimia algo and flowchartPk 1 kimia algo and flowchart
Pk 1 kimia algo and flowchart
 
dasar-pemrograman-algoritma-flowchart
 dasar-pemrograman-algoritma-flowchart dasar-pemrograman-algoritma-flowchart
dasar-pemrograman-algoritma-flowchart
 
Materi_1_Pengantar_Algoritma.pptx
Materi_1_Pengantar_Algoritma.pptxMateri_1_Pengantar_Algoritma.pptx
Materi_1_Pengantar_Algoritma.pptx
 
Chapter 2 - Konsep Dasar Algoritma.pptx
Chapter 2 - Konsep Dasar Algoritma.pptxChapter 2 - Konsep Dasar Algoritma.pptx
Chapter 2 - Konsep Dasar Algoritma.pptx
 
Tifanieindahyulianti 1610530183 tugasperulangan_algoritma_muhammadyunus
Tifanieindahyulianti 1610530183 tugasperulangan_algoritma_muhammadyunusTifanieindahyulianti 1610530183 tugasperulangan_algoritma_muhammadyunus
Tifanieindahyulianti 1610530183 tugasperulangan_algoritma_muhammadyunus
 
Tifanieindahyulianti 1610530183 tugasperulangan_algoritma_muhammadyunus
Tifanieindahyulianti 1610530183 tugasperulangan_algoritma_muhammadyunusTifanieindahyulianti 1610530183 tugasperulangan_algoritma_muhammadyunus
Tifanieindahyulianti 1610530183 tugasperulangan_algoritma_muhammadyunus
 
Algoritma dan Flowchart1.ppt
Algoritma dan Flowchart1.pptAlgoritma dan Flowchart1.ppt
Algoritma dan Flowchart1.ppt
 
Algoritma dan data struktur pdf
Algoritma dan data struktur pdfAlgoritma dan data struktur pdf
Algoritma dan data struktur pdf
 
listiati univ bung hata (1110013211051) Algoritma dan flowchart
listiati univ bung hata (1110013211051) Algoritma dan flowchartlistiati univ bung hata (1110013211051) Algoritma dan flowchart
listiati univ bung hata (1110013211051) Algoritma dan flowchart
 
ALOGARITMA
ALOGARITMAALOGARITMA
ALOGARITMA
 
Algo 1 2
Algo 1 2Algo 1 2
Algo 1 2
 
Algoritma pertemuan 1
Algoritma pertemuan 1Algoritma pertemuan 1
Algoritma pertemuan 1
 
E1 e117049 nurfadhila fahmi_tugas3
E1 e117049 nurfadhila fahmi_tugas3E1 e117049 nurfadhila fahmi_tugas3
E1 e117049 nurfadhila fahmi_tugas3
 

LOGPEM

  • 2. Tujuan mata kuliah ini adalah untuk memberi kemampuan pada mahasiswa tentang konsep dasar pemrograman. Mahasiswa diharapkan dapat menyelsaikan persoalan dengan cara membuat dan menulis algoritma penyelesaian masalah dan men-translate- kan algoritma tersebut ke bahasa pemrograman tertentu (seperti Pascal, Basic, Fortran dll)
  • 3. 1. Pengertian algoritma dan pemrograman 2. Struktur dasar algoritma 3. Notasi algoritmik 4. Tipe, operator dan ekspresi 5. Runtunan 6. Pemilihan 7. Pengulangan 8. Contoh contoh pemecahan masalah
  • 4. PROGRAM KOMPUTER Program komputer adalah rangkaian kata perintah yang telah dimengerti oleh komputer untuk dikerjakannya. Kata-kata perintah tersebut membentuk suatu bahasa yang disebut dengan bahasa pemrograman. Sebagaimana bahasa pada manusia, bahasa pemrograman juga terdiri atas banyak macam bahasa, dan memiliki aturannya masing-masing. Komputer saat ini tidak memiliki hak inisiatif, sehingga jika ada sedikit saja kesalahan penulisan perintah oleh pemrogram, ia tidak bisa memakluminya atau berusaha memperbaiki sendiri kesalahan tersebut. Dengan sendirinya komputer akan “ngambek” dan tidak mau mengerjakan perintah-perintah lainnya. Komputer diciptakan melalui logika manusia, karenanya, ia bekerja secara logis, tanpa campur-tangan “perasaan.”
  • 5. ALGORITMA PEMROGRAMAN Orang yang telah mahir menggunakan satu bahasa pemrograman tertentu, biasanya tidak lagi memerlukan kertas coret-coretan untuk membuat suatu program komputer. Namun bagi pemula, atau yang belum mahir, diperlukan kertas coret-coretan tersebut. Kertas coret-coretan itu akan digunakan untuk menyusun algoritma (langkah- langkah penyelesaian masalah), flowcharting (alur logika perintah, yang merupakan aplikasi dari Algoritma), maupun menuliskan perintah sesuai dengan kaidah dari bahasa pemrograman yang akan digunakannya. Sewaktu menyusun algoritma, kita tidak perlu tahu (atau tidak perlu menyesuaikan dengan) bahasa pemrograman yang nanti akan kita gunakan. Hal utama yang kita pikirkan adalah kaidah (hirarki) dari komputer itu sendiri, yaitu input- proses-output. Input adalah data yang harus ada (sudah ada/ sudah tersedia), yang dapat diproses dengan aturan-aturan tertentu untuk menghasilkan output seperti yang dikehendaki. Data yang ada harus logis (masuk akal) bahwa “ia” dapat diproses untuk menghasilkan output.
  • 6. Kehidupan manusia pada hakikatnya adalah serangkaian aktivitas penyelesaian masalah (persoalan). Problem (persoalan) Pertanyaan atau tugas yang kita cari jawabannya [R.R. Neapolitan, 1996] Contoh: Parkir kendaraan bermotor, bagaimana cara menetapkan harga per kendaraan yang parkir? Susunan daftar nama mahasiswa, bagaimana cara melacak nama- nama mahasiswa yang tidak aktif dalam semester ini? Pengisian KRS, bagaimana cara menentukan SKS dan pengisian KRS?
  • 8. Penjabaran permasalahan (problem description) Dengan menggunakan beberapa parameter (ukuran) Contohnya yaitu: 1.Masalah pengurutan, dibuat dalam bentuk daftar (list) 2.Masalah pencarian, 3.Masalah mencari elemen terbesar/terkecil
  • 9.  Algoritma yaitu urutan langkah-langkah logis untuk menyelesaikan sebuah masalah yang disusun dengan sistematis.  Program yaitu kumpulan instruksi/perintah komputer dengan bahasa tertentu yang berfungsi menghubungan pemakai (user) dengan komputer, atau bisa juga disebut implementasi dari bahasa pemrograman
  • 10. - Setiap langkah/step harus jelas dan pasti - Boleh tidak ada input-an tetapi harus memiliki output minimal 1 output, output ini merupakan solusi akhir dari penyelesaian masalah - Efektif/tepat guna dan efisien/membutuhkan waktu singkat dan memori sedikit - Jumlah langkah/step harus ada batasannya, baik ada solusi ataupun tidak - Terstruktur/runtun, jelas (ipo)
  • 11.  Mendefinisaikan masalah  Menentukan solusi  Memilih algoritma  Menulis program  Menguji program  Menulis dokumentasi  Merawat program
  • 12.  Kalimat Deskriptif  Flow Chart (bagan alir)  Pseudo Code (kode semu)
  • 13.  Menggunakan untaian kalimat untuk menjelaskan langkah – langkah  Contoh PROGRAM GanjilGenap Diberikan sebuah bilangan bulat positif X untuk dicek apakah termasuk ganjil atau genap ALGORITMA 1.Jika X habis dibagi 2 maka tulis “Genap”, jika tidak maka tulis “Ganjil”
  • 14.  Menggunakan simbol – simbol untuk menggambarkan aliran atau langkah – langkah  Contoh mulai baca X X mod 2 =X mod 2 = 0 selesai Tulis “Genap Tulis “Ganjil” tidak ya
  • 15.  Menggunakan kode – kode untuk menyatakan langkah – langkah  Mirip bahasa pemrograman  Contoh DEKLARASI X : integer ALGORITMA read(X) if X mod 2 = 0 then {apakah X habis dibagi 2} write(“Genap”) {jika ya} else write(“Ganjil) {jika tidak}
  • 16. KETERANGAN SIMBOL Mulai / Selesai (Terminator) Aliran Data Input / Output Proses Percabangan (Decision) Pemberian nilai awal suatu variabel (Preparation) Memangggil prosedur / fungsi (Call)
  • 17. Connector (di halaman yang sama) Connector (di halaman lain) Sequence process Perulangan
  • 18. - Kasus : menghitung luas segitiga - Algoritma : § Masukkan alas (a) § Masukkan tinggi (t) § Hitung luas (L), yaitu 0.5 * alas * tinggi § Cetak luas (L)
  • 19.
  • 20. Algoritma Pseudo-code Masukkan panjang Input panjang Masukkan lebar Input lebar Nilai luas adalah panjang x lebar Luas  panjang x lebar Tampilkan luas Print luas
  • 21. Contoh lain: Algoritma Pseudo-code Jika sudah selesai, cetak invoice IF KONDISI_SELESAI = “DONE” THEN PRINT INVOICE Nilai A dibagi dengan 2 A ← A / 2 Jika nilai A lebih besar dari 2 maka nilai A dikalikan 3 IF A > 2 THEN A ← A x 3 Dari dua bilangan A dan B, cari bilangan yang terbesar IF A > B THEN PRINT A ELSE PRINT B Masukkan semua mata kuliah yang ingin diambil pada semester ini DARI MATKUL = 0 SAMPAI MATKUL <= MATKUL_DIINGINKAN, MASUKAN DATA MATKUL
  • 22.  Sebenarnya tidak ada aturan mengikat tentang penulisan algoritma dan pseudo- code, karena fungsi kedua hal ini adalah untuk memudahkan seseorang untuk menggambarkan urutan suatu kejadian. Sedangkan untuk para programmer, kedua hal ini berfungsi sebagai dasar alur pembuatan program. Di mana dapat merepresentasikan alur cerita dari client tentang kebutuhan dasar dari sebuah program, sehingga lebih mudah untuk dipahami.  Jadi pseudo-code bisa dikatakan juga sebagai algortima yang sudah sedikit digabungkan dengan bahasa pemrograman yang akan digunakan.
  • 23. Terdapat 2 buah ember A dan B masing – masing memiliki isi yang berbeda. Tuliskan algoritma untuk menukarkan isi masing – masing ember tersebut.
  • 24.  ALGORITMA - untuk menukar air dari ember A ke ember B,dibutuhkan satu ember kosong yaitu C. - air yang ada di ember A kita pindah dahulu ke ember C. - sekarang ember A kosong, kemudian isi yang ada di ember B kita pindah ke ember A. - sekarang ember A terisi dan ember B kosong. - kemudian isi yang ada di ember C kita pindah ke ember B. - sehingga ember A dan B sudah terisi dan tertukar sedang ember C menjadi kosong.
  • 25.  FLOWCHART mulai b , , baca A,B,C selesai T ilk , Tampilkan A,B C = A A = B B = C
  • 26.  Pseudo code  DEKLARASI  A,B,C : integer  ALGORITMA A = 2 B = 5 C A isi di variabel A sudah pindah ke variabel C A B isi yang ada di variabel B sudah pindah ke variabel A B C isi yang ada di variabel C sudah pindah ke variabel B sehingga A 5 B 2
  • 27. Tahapan Pembuatan Program • Mendefinisikan masalah dan menganalisanya. Mencakup: tujuan pembuatan program, parameter yang digunakan,fasilitas yang disediakan, algoritma yang diterapkan dan bahasa program yang digunakan. • Merealisasikan dengan langkah-langkah dalam notasi algoritma.
  • 28. ATURAN PENULISAN ALGORITMA • Judul Algoritma  Berisi nama penjelasan algoritma • Deklarasi  Mendefinisikan semua tipe, variable, fungsi dan prosedur • Algoritma • Bagian utama Algoritma • Sekumpulan perintah untuk penyelesaian permasalahan • Ditulis dengan notasi tertentu (standar)
  • 29. STRUKTUR PENULISAN ALGORITMA PROGRAM Nama_Algoritma {Judul Program} DEKLARASI {Deklarasi semua variabel, function dan procedure} ALGORITMA { isi dari algoritma} Contoh : Tuliskan Algoritma untuk menuliskan atau mencetak ”Selamat Datang”. PROGRAM SelamatDatang {Program untuk mencetak ”Selamat Datang”} DEKLARASI {tidak ada} ALGORITMA write(’Selamat Datang’)
  • 30. A. TIPE DATA DASAR 1. Tipe Data Logika (Boolean) Nama tipe ini diambil dari nama matematikawan yaitu bernama George Boole Domain (jangkauan) Nilai : [true, false] Nama tipe ditulis sebagai: Boolean Contoh: 52 > 61 hasilnya false A B A and B A or B Not A False False False False True False True False True True True False False True False
  • 31. 2. Bilangan Bulat Bilangan yang sudah umum digunakan dalam kehidupan sehari-hari. Bilangan bulat: adalah bilangan yang tidak mengandung pecahan desimal, misal : 10, 32, -38, 123567, dst. Domain Nilai : Integer [-32768..32767] Nama tipe ditulis : Integer atau Int Operasi Bilangan Bulat a. Operasi Aritmatika + (Tambah) - (Kurang) * (Kali) div (bagi) mod (sisa hasil bagi) b. Operasi Pembandingan < lebih kecil ≤ lebih kecil atau sama dengan > lebih besar ≥ lebih besar atau sama dengan = sama dengan ≠ tidak sama dengan
  • 32. 3. Bilangan Riil Bilangan Riil adalah bilangan yang mengandung pecahan desimal, misal 3.65, 3.45, 0.0004, dst Domain Nilai: tidak terbatas Tipe ditulis sebagai: Real Operasi Bilangan Riil a. Operasi Aritmatika + (Tambah) - (Kurang) * (Kali) div (bagi) mod (sisa hasil bagi) b. Operasi Pembandingan < lebih kecil ≤ lebih kecil atau sama dengan > lebih besar ≥ lebih besar atau sama dengan = sama dengan ≠ tidak sama dengan
  • 33. Karakter Tipe ini adalah tipe yang termasuk dalam semua huruf-huruf abjad, semua tanda baca, angka ’0’...’9’, dan karakter-karakter khusus seperti ’&’, ’^’,’%’,’#’, ..dst. Domain Nilai : ’a’,..,’z’,’A’,..’Z’,’0’,..’9’, dan karakter khusus lainnya Tipe ditulis sebagai : Char Operasi karakter Operasi Pembandingan < lebih kecil ≤ lebih kecil atau sama dengan > lebih besar ≥ lebih besar atau sama dengan = sama dengan ≠ tidak sama dengan
  • 34. B. TIPE DATA BENTUKAN Tipe data bentukan adalah tipe data yang berasal atau disusun dari tipe data dasar 1. String String adalah urutan karakter dengan panjang tertentu yang membentuk satu kata atau kalimat. String merupakan gabungan dari tipe karakter yang biasanya diapit oleh dua tanda kutip. Domain Nilai : nilai yang didefinisikan pada domain karakter Nama Tipe yang ditulis : String Contoh: nama, alamat, judul Operasi String a. Operasi Penggabungan: + b. Operasi Pembandingan: < lebih kecil ≤ lebih kecil atau sama dengan > lebih besar ≥ lebih besar atau sama dengan = sama dengan ≠ tidak sama dengan
  • 35. 2. Record Tipe terstruktur adalah tipe yang berbentuk rekaman (record). Rekaman disusun oleh satu atau lebih dua field yang tipe datanya tersusun dari tipe data dasar. Deklarasi : type variabelRekaman : < var1 : tipe data dasar, var2: tipe data dasar, ........ > Contoh: Type DataMhsw : record < nim : integer, nama_mhsw : string, umur : integer, jenis_kelamin: char >
  • 36. 3. Array (larik) Array adalah tipe data bentukan yang merupakan wadah untuk menampung beberapa nilai data yang sejenis. Kumpulan bilangan bulat adalah: Array Integer Kumpulan bilangan tidak bulat adalah: Array Real Cara mendefinisikan: Nilai_ujian : array [1 .. 10] of integer; atau int nilai_ujian[10]
  • 37. 1. MATLAB Windows The MATLAB Command Window is the main window where you type commands directly to the MATLAB interpreter. The MATLAB Editor Window is a simple text editor where you can load, edit and save complete MATLAB programs. The Editor window also has a menu command (Debug/Run) which allows you to submit the program to the command window. The MATLAB Help Window gives you access to a great deal of useful information about the MATLAB language and MATLAB computing environment. It also has a number of example programs and tutorials. 2. A first program The command disp(argument); displays the value of the argument. This can be a number, a string in single quotes, or an expression. For simple numbers, the arithmetic operators are: +, -, *, / and ^. Try disp(2*3+1); or disp(’Hello World!’); Try these programs out first on the command line; then practise using the editor to enter the commands, saving them to a file, loading the file and running the program from inside the editor.
  • 38. 3. Variables and assignment Variables are named locations in memory where numbers, strings and other elements of data may be stored while the program is working. Variable names are combinations of letters and digits, but must start with a latter. MATLAB does not require you to declare the names of variables in advance of their use. This is actually a common cause of error, since it allows you to refer accidentally to variables that don’t exist. To assign a variable a value, use the assignment statement. This takes the form variable=expression; for example a=6; or name=’Mark’; To display the contents of a variable, use disp(variable);
  • 39. 4. Arrays MATLAB is particularly powerful in the way it deals with tables of data, called arrays. An array is simply a variable that can contain a number of values arranged in tabular form. Arrays may be one dimensional (like a list), two dimensional (like a table), or have more dimensions. To set the value of one element of a one dimensional array, use the notation variable(index)=expression; for example table(1)=3; table(2)=6; Note that indexes must be expressions evaluating to positive integers. The smallest index is 1. To access one element from a one dimensional array, use the notation variable(index) for example a=table(2); disp(table(2)); For two dimensional arrays, use variable(index,index)=expression; to set the value and variable(index,index) to retrieve its value. You can store strings in tables, but each string occupies a row, and all rows must be the same length (think of a two-dimensional array of characters).
  • 40. You can assign a whole array in one operation using a notation involving square brackets: for example: array = [ v11 v12 v13; v21 v22 v23]; where v11 is the value in row 1 col 1; v21 is the value in row 2 col 1; etc. The ‘;’ marks the end of a row. You can generate arrays containing sequences very easily with the ‘:’ operator. The expression start:stop generates a sequence of integers from start to stop. The expression start:increment:stop generates a sequence from start to stop with the specfied increment. Try disp(1:10); disp(1:2:10);
  • 41. You can also select sub-parts of the array with the ‘:’ operator. For example, x(3:5) represents the array consisting of the third through fifth elements of x. Also y(2:2:100) represents the array containing the even number elements of y below index 100. You can also add subtract, multiply and divide arrays of data using the operators we’ve mentioned previously. However MATLAB makes a difference between operations that work on a cell-by-cell basis (so-called “dot” operations) as opposed to operations that work on the arrays as a whole. For example, if you want to multiply two arrays of equal size to give a third array in which each cell contains the product of the corresponding cells in the input, then you need to use the “dot-multiply” operator .* for example C = A.*B; Finally you can transpose rows and columns of a matrix with the ' operator, for example disp(A')
  • 42. Exercises For these exercises, use the editor window to enter your code, and save your answers to files under your account on the central server. To run the programs, use the Debug/Run menu option or cut and paste the code into the command window. When you save the files, give them the file extension of ".m". 1. Write a program (ex21.m) to assign the following expressions to a variable A and then to print out the value of A. a) b) c) d) (0.0000123 + 5.67×10 -3) × 0.4567×10-4 % ex21.m A = (3+4)/(5+6); disp(A); A=2*pi*pi; disp(A); A=sqrt(2); disp(A); A=(0.0000123+5.67E-3)*0.4567E-4; disp(A);