Anda di halaman 1dari 57

1.

ALGORITMA
LESSON 1 – ALGORITMA DAN PEMROGRAMAN

12/04/2023 1
PENDAHULUAN DAN
KONTRAK PEMBELAJARAN

12/04/2023 2
TUJUAN

12/04/2023 3
MATERI KULIAH

1. MINGGU KE-2: KONTRAK, ALGORITMA, DAN DASAR-DASAR PYTHON


2. MINGGU KE-2: PENYELEKSIAN
3. MINGGU KE-3: PERULANGAN
4. MINGGU KE-4: FUNGSI
5. MINGGU KE-5: LISTS, TUPLES, SETS, DAN DICTIONARY
6. MINGGU KE-6: NUMPY, SCIPY, DAN MATPLOTLIB
7. MINGGU KE-7: PENGANTAR DATA MINING

12/04/2023 4
PENILAIAN

• TUGAS 2X 20%
• KUIS 2X 30%
• UTS 1X 50%

12/04/2023 5
REFERENSI

• www.learnpython.org
• www.codeacademy.org
• www.w3schools.org
• www.python.org
• Sumber-sumber di youtube

12/04/2023 6
Referensi

• Nichola Lacey, 2019, Python By Example, Cambridge University Press


• Adam Stewart, 2016, Python Programming, Adam Stewart.
• Dan Bader, 2017, Python Tricks the Book, danbader.org
• Irv Kalb, 2018, Learn to Program with Python 3, Apress.
• John Paul Mueller, 2018, Beginnning Programming with Python
Dummies, John Wiley & Sons Inc.
• Tim Hall & JP. Stacey, 2009, Python 3 for Absolute Beginner, Apress
• Magnus Lie Hetland, 2010, Python Algorithms, Apress

12/04/2023 7
ALGORITMA

12/04/2023 8
Algoritma
• Penemunya adalah seorang ahli matematika dari uzbekistan
yang bernama Abu Abdullah Muhammad Ibn Musa al-
Khwarizmi (770-840).
• Di literatur barat dia lebih terkenal dengan sebutan Algorizm.
Panggilan inilah yang kemudian dipakai untuk menyebut
konsep algorithm yang ditemukannya. Dalam bahasa
Indonesia kita kemudian menyebutkannya sebagai algoritma.
• Algoritma adalah kunci dari bidang ilmu komputer, karena
banyak bidang di bawah ilmu komputer yang lahir
berdasarkan konsep algoritma ini.
• Pada hakekatnya algoritma juga adalah kunci dari kehidupan
kita.
• Cara membuat masakan (resep masakan) adalah juga sebuah
contoh nyata dari algoritma.
Algoritma

Algoritma adalah logika, metode dan tahapan


(urutan) sistematis yang digunakan untuk
memecahkan suatu permasalahan.
Algoritma

• Ketika manusia berusaha memecahkan


masalah, metode atau teknik yang digunakan
untuk memecahkan masalah itu ada
kemungkinan bisa banyak (tidak hanya satu).
• Dan kita memilih mana yang terbaik diantara
teknik-teknik itu.
• Hal ini sama juga dengan algoritma, yang
memungkinkan suatu permasalahan
dipecahkan dengan metode dan logika yang
berlainan.
Program

Program adalah perwujudan atau implementasi


algoritma yang ditulis dalam bahasa
pemrograman tertentu
Belajar Memprogram &
Belajar Bahasa Pemrograman
• Belajar memprogram:
pemahaman persoalan, analisis, dan sintesis

- Strategi
Pemecahan Masalah
- Metodologi
- Sistematika Notasi yang telah
disepakati

• Belajar Bahasa Pemrograman :


• Belajar memakai suatu bahasa
aturan sintaks (tata bahasa)
DASAR-DASAR
ALGORITMA dan FLOW
CHART
Proses, Instruksi, dan Aksi

• Algoritma merupakan deskripsi urutan


pelaksanaan suatu proses
• Algoritma tersusun oleh sederetan langkah
instruksi yang logis
• Tiap langkah instruksi akan mengerjakan
suatu tindakan (Aksi)
• Bila Aksi dilaksanakan, maka sejumlah
operasi yang bersesuaian akan dikerjakan
oleh CPU
Struktur Dasar Algoritma

• Runtunan (sequence)
• aksi-aksi dalam algoritma yang dikerjakan secara berurutan
• contoh :
A1. Aksi 1
A2. Aksi 2
A3. Aksi 3
Struktur Dasar Algoritma(2)
•Pemilihan (selection)
• aksi dikerjakan jika kondisi tertentu terpenuhi
• contoh :
IF kondisi1 THEN
IF kondisi THEN Aksi1
aksi ELSE
IF kondisi2 THEN
Aksi2
IF kondisi THEN
ELSE
aksi1
Aksi3
ELSE (Aksi 3 dilakukan jika kondisi 1 dan 2 tidak terpenuhi)

aksi2
Struktur Dasar Algoritma (3)

• Pengulangan (repetition)
• aksi-aksi yang dikerjakan berulang kali
• contoh :
• FOR pencacah pengulangan dari a sampai b DO
Aksi
(aksi dilakukan sebanyak hitungan pencacah pengulangan, yaitu dari
a sampai b yakni sebanyak b-a+1 kali)
• REPEAT
Aksi
UNTIL kondisi
(pengulangan aksi dilakukan sehingga kondisi/persyaratan berhenti
terpenuhi)
• WHILE kondisi DO
Aksi
(selama kondisi/persyaratan pengulangan masih benar, maka aksi
dikerjakan)
Flow Chart (Bagan Alir)

• Flow chart suatu bagan/diagram yang


menggambarkan aliran proses yang
dikerjakan program dari awal sampai akhir.
• Flow chart adalah algoritma yang
digambarkan dengan diagram
• Fungsi dari flow chart adalah
mendeskripsikan urutan pelaksanaan suatu
proses (sama dengan fungsi algoritma)
Penulisan Algoritma

• FLOW CHART
• Flow chart adalah suatu bagan/diagram yang
menggambarkan aliran proses yang dikerjakan
suatu program dari awal sampai akhir
• Flow chart adalah algoritma yang digambarkan
dengan diagram
• Fungsi dari flow chart adalah mendeskripsikan
urutan pelaksanaan suatu proses (sama dengan
fungsi dari algoritma)
• TEKS ALGORITMA
• berisi langkah-langkah penyelesaian masalah yang
ditulis dengan bahasa yang mudah dipahami
Flow Chart
• Input

• Processing

• Output (display)

• Decision (untuk mengevaluasi suatu kondisi)

• Procedure/subroutine
Flow Chart(2)

• Flow lines
• Terminator (mengawali dan mengakhiri flow chart)

• On page connector
• Off page connector

• Annotation (memberi komentar atau keterangan dalam flow


chart)
Contoh

12/04/2023 23
ATURAN PENULISAN TEKS
ALGORITMA
Teks Algoritma

• Teks algoritma berisi langkah-langkah


penyelesaian masalah
• Tidak ada notasi baku tapi sebaiknya
berkorespondensi dengan bahasa
pemrograman umum, supaya mudah
ditranslasikan ke dalam bahasa pemrograman
• Notasi yang digunakan untuk menulis
algoritma disebut notasi algoritmik
Teks Algoritma

• Struktur teks algoritma


• Kepala algoritma
terdiri atas nama algoritma dan penjelasan (spesifikasi)
tentang algoritma tersebut
• Input
• Output
• Deskripsi
Berisi uraian langkah-langkah penyelesaian

Komentar ditulis diantara tanda kurung “{“ dan “}”


Contoh:
Algoritma menentukan_bilangan_terbesar
{Algoritma ini akan menentukan bilangan terbesar dari 3 bilangan yang
diketahui}
• Input: a, b, c
• Output: bil_terbesar
• Langkah-Langkah:
• Baca ketiga bilangan
• Jika a>b maka
• Jika a>c maka cetak (a terbesar)
• Selain itu cetak (c terbesar)
• Jika tidak
• Jika b>c maka cetak (b terbesar)
• Jika tidak cetak (c terbesar)

12/04/2023 27
TIPE, NAMA, DAN
NILAI
Tipe Data

Tipe data terdiri dari tipe:


• Tipe dasar
• Tipe yang dapat langsung dipakai (disediakan
oleh bahasa pemrograman)
• Contoh: boolean, integer, real, char, string (?)
• Tipe bentukan
• Tipe yang didefinisikan sendiri oleh pemrogram
• Tipe yang dibentuk dari tipe dasar atau dari tipe
bentukan lain yang sudah didefinisikan
• Contoh: tipe dasar yang diberi nama tipe baru,
record
Tipe Data(2)

Empat hal yang harus diperhatikan dalam pendefinisian tipe:


• Nama
• Domain harga
• Konstanta
• Operator
Tipe Data(3)
Nama
• Untuk mengidentifikasikan dan membedakan obyek
• Unik dan tidak boleh sama
• Dalam algoritma nama diberikan pada:
• Variabel
• Tempat penyimpanan data/informasi di memori yang nilainya dapat
diubah selama pelaksanaan program
• Konstanta
• Tempat penyimpanan di memori yang nilainya tidak dapat diubah
selama pelaksanaan program
• Tipe bentukan
• Tipe data baru yang didefinisikan oleh program dari tipe data yang
sudah ada
• Fungsi
• Prosedur yang mengembalikan suatu nilai dengan tipe data
sederhana
Aturan Penulisan Nama
• Harus dimulai dengan huruf alfabet, tidak boleh
dimulai dengan angka, spasi, atau karakter khusus
lainnya.
• Tidak case sensitif (beda dengan bahasa
pemrograman)
• Karakter penyusun nama hanya boleh: huruf alfabet,
angka dan “_” (underscore)
• Tidak boleh dipisahkan dengan spasi
• Panjang nama tidak terbatas
• Semua nama yang dipakai harus dideklarasikan dulu
pada bagian deklarasi
Contoh Penamaan

 SALAH
 6titik {dimulai dg angka}
 nilai ujian {dipisahkan spasi}
 PT-1 {mengandung operator kurang}
 hari! {mengandung karakter khusus}

 BENAR
 titik6 atau titik_6
 nilai_ujian atau nilaiUjian
 PT_1 atau PT1
 hari
Nilai
• Merupakan besaran dari tipe data yang sudah
didefinisikan (tipe dasar maupun tipe bentukan)
• Nilai dapat berupa:
• Isi variabel atau konstanta
• Nilai dari hasil perhitungan
• Nilai yang dihasilkan oleh fungsi
• Nilai yang disimpan di variabel dimanipulasi
dengan cara:
• Mengisikan ke variabel lain yang bertipe sama
• Dipakai untuk perhitungan
• Dituliskan ke piranti keluaran
Nilai(2)
Pengisian nilai ke variabel:
• Pengisian nilai secara
langsung(assignment)
• Memasukkan sebuah nilai ke dalam
nama variabel langsung di dalma
teks algoritma
• Syaratnya nilai yang didisikan harus
bertipe sama dengan tipe peubah
• Notasi: 
• Contoh:

variabel  konstanta NoMhs  1234


variabel1 variabel2 Nil_prev  Nil_cur
variabel  ekspresi Luas  0.5 * p * l
Nilai(3)

• Pembacaan nilai dari piranti masukan


• Nilai untuk nama variabel dapt diisi dari piranti masukan, misalnya
dari keyboard.
• Dinamakan dengan operasi pembacaan data
• Notasi dalam teks algoritma: read
• Contoh:
• read (nama1, nama2,…namaN)
Ekspresi

• Ekspresi terdiri atas: operand dan operator


• Operand adalah nilai yang dioperasikan dengan
operator tertentu
• Operand dapat berupa konstanta, nama
variabel, nama konstanta, atau hasil suatu
fungsi
• Hasil evaluasi dari sebuah ekspresi adalah nilai
di dalam domain yang sesuai dengan tipe
operand yang dipakai, ada tiga macam: ekspresi
aritmetik, ekspresi relasional, ekspresi string.
Ekspresi(2)

• Ekspresi Aritmetika
• Ekspresi yang baik operand dan hasilnya berupa numerik
• (ingat: tingkat prioritas operator)
• i. / , div, mod
• ii. *
• iii.+, -
• Ekspresi relasional
• Ekspresi dengan operator <,≤,>,≥,=,≠, not, and, or, dan xor
• Hasil evaluasi adalah nilai bertipe boolean
• Ekspresi string
Ekspresi (3)

• Ekspresi string
• Ekspresi dengan operator penyambungan/concatenation “+”.
Menuliskan Nilai ke Piranti Keluaran
(monitor/printer)
• Dilakukan dengan notasi print
• Contoh:
• print (nama1, nama2, …, namaN)
DASAR-DASAR BAHASA
PYTHON

12/04/2023 44
Tujuan Pembelajaran

• Memberi informasi tentang dasar-dasar Python


• Mengenal kelebihan Python

12/04/2023 45
Outline of this Lesson

• Brief History of Python


• Installing Python
• Basic Commands in Python
• Code Examples
• Challenges to students
• Some algorithms
• Home Exercises

12/04/2023 46
Brief History of Python
• The programming language Python was conceived in the late 1980s,[1] and
its implementation was started in December 1989[2] by Guido van Rossum
at CWI in the Netherlands as a successor to ABC capable of
exception handling and interfacing with the Amoeba operating system
• Python was named after the BBC TV show Monty Python's Flying Circus
• Python 2.0 was released on October 16, 2000
• Python 3.0, a major, backwards-incompatible release, was released on
December 3, 2008
• Written in C
• Open source

12/04/2023 47
Why Use Python (1)

• Python is free – is open source distributable software.


• Python is easy to learn – has a simple language syntax.
• Python is easy to read – is uncluttered by punctuation.
• Python is easy to maintain – is modular for simplicity.
• Python is “batteries included” – provides a large standard library for easy
integration into your own programs.
• Python is interactive – has a terminal for debugging and testing snippets
of code.

12/04/2023 48
Why Use Python (2)

• Python is portable – runs on a wide variety of hardware platforms and has


the same interface on all platforms.
• Python is interpreted – there is no compilation required.
• Python is high-level – has automatic memory management.
• Python is extensible – allows the addition of low-level modules to the
interpreter for customization.
• Python is versatile – supports both procedure-orientated programming
and object-orientated programming (OOP).
• Python is flexible – can create console programs, windowed GUI
(Graphical User Interface) applications, and CGI (Common Gateway
Interface) scripts to process web data.

12/04/2023 49
Installing Python

• Untuk kuliah ini tidak perlu menginstall IDE


• Kita akan menggunakan Google Colab (https://colab.research.google.com)

• Install anaconda

12/04/2023 50
Example
codes (1)

12/04/2023 51
Example
codes (2)

12/04/2023 52
Operator Artimetika

12/04/2023 53
Example codes (3)

12/04/2023 54
Challenges (1)

12/04/2023 55
Challenges
(2)

12/04/2023 56
TERIMA KASIH

12/04/2023 57

Anda mungkin juga menyukai