Anda di halaman 1dari 31

Algoritma dan Pemrograman

Discussion Class 2023 Minggu, 7 Oktober 2023

SISTEM
Sistem merupakan suatu kesatuan (dengan struktur tertentu) yang terdiri dari sekumpulan
elemen-elemen (entitas atau subsistem) yang saling berinteraksi (selaras atau bertolak
belakang, bergabung atau terurai) secara simultan dan terpadu (dengan mekanisme tertentu)
untuk mewujudkan tujuan tertentu dengan mendapatkan masukan dan menghasilkan
keluaran pada lingkungan di luar batasan sistem
SistemKomputer

Hardware Software Brainware


Perangkat lunak yang dilengkapi intelektual.
bahasa Mengintegrasikan hardware dan
pemrograman software
Perangkat keras dan wujudnya nyata. Perangkat
Menunjang kinerja perangkat
KonsepBahasaPemrograman

Bahasa pemrograman merupakan notasi untuk memberikan secara tepat program


komputer dan biasanya disebut sebagai bahasa formal (formal language).
Tidak berlaku kebebasan berekspresi (bahasa alamiah ex: Bahasa Indonesia,
Bahasa Inggris, dsb)

Dasar Pemrograman
Perancangan Implementasi

Analisis Kebutuhan Perencanaan

primitive dan sederhana, namun eksekusi cepat


Tidak perlu translator karena dirancang agar tiap instruksi dikerjakan
langsung
BahasaTingkat
Tinggi

Bahasa yang berorientasi ke manusia


Bahasa lebih ‘manusiawi’ dan mudah dipahami, biasanya menggunakan
Bahasa inggris Tidak dapat dilaksanakan langsung oleh komputer karena
butuh translator

BahasaTingkat
Rendah Contoh: Python, C++

Bahasa yang berorientasi ke mesin Bahasa sulit dipahami karena bersifat

Contoh: Binary code


Kriteria bahasa pemrograman yang baik

Readability
Cost
Kemudahan dalam dibaca dan
dipahami Sepadan dengan biaya yang dikeluarkan

Writability Portability

Kemudahan saat digunakan untuk Kemudahan saat dipindahkan dari satu implementasi ke implementasi lain
membuat program

Generality
Reliability
Dapat diaplikasikan di banyak hal
Kesesuaian pada spesifikasi

Well-definiteness

Kelengkapan dan keakurasian bahasa pemrograman


Algoritma

Algoritmamerupakanurutan langkahlogikapemikirandetail yang diperlukan untuk


memecahkan masalah (Rahman, 2016).
Dalam menuliskan algoritma terdapat 3 cara, yaitu penulisan algoritma menggunakanOutput(keluaran)
bahasa, menggunakan grafik yaitu flowchart, dan juga menggunakan bahasa kode
semu tertentu yaitu pseudocode.

Finiteness
(keterbatasan)

Input(masukan)
Efectiveness
Definiteness (efektif)
(kepastian)
Flowchart

Flowchart adalah untaian simbol gambar (chart) yang menunjukkan aliran (flow) dari proses terhadap data untuk memecahkan masalah ke dalam
segmen-segmen yang lebih kecil dan membantu dalam menganalisis alternatif-alternatif lain dalam pengoperasian.
Flowchart sebaiknya digambar dari atas ke bawah dan mulai
dari bagian kiri dari suatu halaman
Masing-masing kegiatan dalam flowchart sebaiknya
menggunakan suatu kata yang mewakili suatu pekerjaan

Kegiatan di dalam flowchart harus dijelaskan


dengan jelas
Masing-masing kegiatan di dalam flowchart
harus di dalam urutan yang tepat

Kegiatan yang terpotong dan akan di tempat lain harus Harus ditunjukkan dari mana kegiatan akan dimulai dan di
ditunjukkan dengan jelas menggunakan simbol penghubung mana akan berakhirnya
Simbol-Simbol Flowchart
Simbol-Simbol Flowchart
Python

Python merupakan bahasa pemrograman dinamis yang mendukung pemrograman berbasis objek.
Python dapat digunakan untuk berbagai keperluan pengembangan perangkat lunak dan dapat berjalan
di berbagai macam sistem operasi karena sifatnya yang dinamis, multiplatform. widely used ,
interpreted, object-oriented, dan high level programming language.
Variabel Syarat variabel menurut Rachmat (2010:107)

Variabel merupakan tempat penyimpanan


dalam memori komputer yang mengandung
data atau nilai sementara dari sebuah proses pada suatu pemrograman garis bawah (_)
2.
Nama variabel sensitif terhadap huruf kapital.
Terdapat beberapa tambahan syarat dalam menulis variabel:
Variabel harus diawali huruf abjad

Variabel tidak boleh sama dengan nama metode, atau proseduri

Variabel tidak boleh menggunakan spasi, diganti dengan garis bawah (_)
Variabel sebaiknya tidak terlalu panjang (maks 40 karakter)
1.
Nama variabel hanya boleh mengandung karakter alpha-numeric (a-z, 0-9) dan
Tipe Data

Tipe Data Keterangan Contoh Code Output


-True True
print(x)

-False

Hanya memiliki dua nilai, true atau false


Boolean
x = "Hello World"
-Hello print(x)Hello World

-Selamat Datang
StringMenyatakan karakter/kalimat (diapit tanda " atau x = True
;)

x = 21
Integer Menyatakan bilangan bulat -21 -22
21
print(x)
Menyatakan bilangan yang
Float

mempunyai koma-21.0 -21,2 x=21.1


21.1
print(x)

Complex Menyatakan pasangan angka


x=lj
real dan imajiner-2k -1sks
print(x) Ij
Tipe Data

Tipe Data Keterangan Contoh Code Output


memiliki index. print(x)

[' apple ' , 'banana ' , ' cherry ']

Untaian yang menyimpan {' name ' : 'John ' , ' age ' : 36}
List berbagai tipe data berupa x = [" apple " , "banana " ,cherry]
Dictionary pasangan penunjuk dan nilai.
Untaian yang menyimpan print(x)
(' apple ' ,banana ' , ' cherry ')
berbagai tipe data dan isinya bisa [' apple ' , 'banana ' , ' ch erry ']
diubah-ubah
x = (" apple " , "banana " ,cherry)
Tuple print(x)
{' apple ' , ' cherry ' , 'banana '}
Untaian yang menyimpan (' apple ' , 'banana ' , ' ch erry ')
berbagai tipe data tapi isinya
tidak bisa diubah x = {" apple " , "banana " ,cherry}
print(x)
{' name ' : 'John ' , ' age ' : 36}
Set {' apple ' , ' cherry ' , 'ban ana '}
Untaian yang menyimpan
berbagai tipe data dan tidak x = {" name " : "John " , age : 36}
PerbedaanList, Tuple,Set,dan Dictionary
Kriteria List Tuple Set Dictionary

Bentuk Sequence (urutan) Sequence (urutan) Sequence (urutan) Pasangan ke dan value Fleksibilitas berubah Bisa Tidak bisa Bisa Bisa Lambang Kurung siku [] Kurung

() Kurung kurawal {} Kurung kurawal {} Sistem index Ya Ya Tidak Tidak

FungsipadaString
FungsipadaList
Fungsipada Dictionary
Konversi Tipe Data
Operator Aritmatika
OperatorPenyerahan
OperatorPerbandingan
Operator Logika
OperatorMembership
OperatorBitwise
Struktur Kontrol Keputusan
Struktur Sederhana

a. if...
Suatu perintah percabangan yang
mempunyai satu percabangan atau satu
blok perintah. Nilai yang akan diuji
biasanya terdiri dari satu nilai atau syarat
Struktur Kontrol Keputusan

Struktur Bertingkat

a. if... : else:
Suatu perintah percabangan yang memiliki
lebih dari satu nilai, percabangan ini akan
sangat memungkinkan membuat pilihan
lebih dari satu.
Struktur Kontrol Keputusan
Struktur Bertingkat

b. if... : elif... : else:


Suatu perintah percabangan yang
memungkinkan adanya beberapa alternatif
untuk kondisi tertentu.
Struktur Kontrol Perulangan While...

For...
Menjalankan pengulangan dari blok perintah sampai nilai perintah tertentu. a. Menjalankan pengulangan selama kondisi masih bernilai benar.
Parameter range

a. Parameter list

Fungsi pada Loop (Perulangan)


LATIHAN SOAL
SOAL 1

Seorang pekerja mendapat tarif per hari Rp 30.000,00, dan tarif kerja lembur Rp. 5.000,00. Jika jumlah jam lembur lebih dari 10 jam maka akan
mendapatkan
tambahan uang 10% dari jumlah uang lembur. Buatlah algoritma dari studi kasus tersebut!
JAWABAN SOAL 1 Algoritma:

1.
2.
S
e
o
r
a
n
g
p
e
k
e 5.
jam maka akan mendapatkan tambahan uang 10% dari jumlah
rj
a
m
e
n
d
a
p
a
t
t
a
ri
f
3.
per hari Rp 30.000,00, dan tarif kerja lembur Rp. 5.000,00. Jika 4.
jumlah jam lembur lebih dari 10
6.

u
a
n
g
le
m
b
u 9.
r. Mulai
B
u Input/masukkan jumlah hari per bulan, dan jam lembur
a Hitung tarif per bulan = 30.000 * jumlah hari per bulan
tl Hitung uang lembur = jam lembur * 5.000 Jika jam lembur > 10, maka lanjut
a ke proses 6. Jika tidak, lanjut ke proses 7.
h
a Hitung tambahan uang = 10/100 * uang lembur
l Hitung gaji yang didapat = tarif per hari + uang lembur + tambahan uang
g Tampilkan gaji yang di dapat
o
ri Selesai
t
m
a
7.
dari studi kasus tersebut!

8.
SOAL 2

Buatlah flowchart yang menghasilkan deret bilangan 3, 4 ,6, 9, 13, 18, 24, 31, 39, 48
JAWABAN SOAL 2

Buatlah flowchart yang


menghasilkan deret bilangan
3, 4 ,6, 9, 13, 18, 24, 31, 39, 48
SOAL 3

Berikut code python:


anggotalama = ['joni','andi','rosi']
anggotabaru = ['budi','anggi']
anggotabaru.extend (anggotalama)
print(anggotabaru)

Apa jenis variable yang digunakan dan fungsi apa yang digunakan pada variable tersebut? Sebutkan pula output yang dihasilkan dari
code tersebut
JAWABAN SOAL 3

Variabel yang digunakan adalah variabel list karena terdapat kurung siku ([])
yang menghimpun nilai dari variabel tersebut.
anggotalama = ['joni','andi', 'rosi'] dalam hal ini seluruh elemen list anggotalama ditambahkan ke akhir list
anggotabaru.
anggotabaru = ['budi','anggi'] anggotabaru.extend
(anggotalama)
print(anggotabaru) Output:
Fungsi variabel yang terdapat disitu adalah extend yang digunakan untuk
[‘budi’,‘anggi’,‘joni’,‘andi’,‘rosi’]
menambahkan seluruh elemen dari suatu list ke bagian akhir list lainnya,
SOAL 4

Buatlah source code yang menghasilkan nilai berikut.


JAWABAN SOAL 4

print ("Toko Amanah Jaya")


nama_baju = str(input("Masukkan nama baju:")) harga_baju = int(input("Masukkan harga baju:")) jumlah_baju =
int(input("Masukkan jumlah baju yang dibeli:")) pembayaran = int(input("Jumlah uang yang dibayarkan:")) total =
pembayaran-(harga_baju*jumlah_baju) print("total kembalian: Rp", total)
SOAL 5
Buatlah source code dari
flowchart disamping.
JAWABAN SOAL 5

name == ‘Alice’
if (name =='Alice'):
print('Hi, Alice.')
else:
print('Hello, stranger.')
Thank You A n y Q u e s t i
on?

Anda mungkin juga menyukai