1 - Page
1 - Page
BAB III
Algoritma adalah urutan langkah-langkah logis yang digunakan untuk menyelesaikan suatu
masalah atau tugas dengan cara yang sistematis dan efisien.
Sebuah algoritma harus memenuhi beberapa kriteria untuk dianggap baik, yaitu:
1. Benar: Algoritma harus menghasilkan hasil yang benar atau sesuai dengan tujuannya.
2. Efisien: Algoritma harus bekerja dengan cepat dan menggunakan sumber daya yang
sedikit.
3. Jelas: Algoritma harus mudah dipahami dan diikuti oleh orang lain.
4. Terdapat masukan (input): Algoritma harus menerima masukan atau data yang dapat
diproses.
5. Terdapat keluaran (output): Algoritma harus menghasilkan keluaran atau hasil yang
berguna.
6. Tidak ambigu: Algoritma harus jelas dan tidak mengandung arti ganda atau tidak jelas.
2|Page
8. Terbukti: Algoritma harus terbukti secara matematis atau logis untuk memberikan hasil
yang benar.
9. Bersifat umum: Algoritma harus dapat diterapkan pada berbagai masalah dan tidak
terbatas pada kasus-kasus khusus.
Dengan memenuhi kriteria-kriteria tersebut, algoritma akan dianggap baik dan dapat
digunakan secara luas untuk menyelesaikan berbagai jenis masalah.
Ada banyak jenis algoritma yang digunakan dalam komputer dan pemrograman. Berikut
beberapa di antaranya:
1. Algoritma Pencarian
algoritma yang digunakan untuk mencari elemen tertentu dalam struktur data, seperti
Array, List, atau Tree. Beberapa contoh algoritma pencarian adalah Linear Search,
Binary Search, dan Interpolation Search.
2. Algoritma Pengurutan
3. Algoritma Graf
algoritma yang digunakan untuk memecahkan masalah yang melibatkan graf atau
jaringan. Beberapa contoh algoritma graf adalah Breadth-First Search, Depth-First
Search, Dijkstra’s Algorithm, dan Bellman-Ford Algorithm.
4. Algoritma Rekursif
5. Algoritma Greedy
algoritma yang memilih solusi yang terbaik pada setiap langkah, tanpa
mempertimbangkan dampak jangka panjangnya. Beberapa contoh algoritma Greedy
adalah Dijkstra’s Algorithm, Huffman Coding, dan Kruskal’s Algorithm.
3|Page
6. Algoritma Divide and Conquer
7. Algoritma Dinamik
8. Algoritma Backtracking
Itu hanya beberapa contoh jenis algoritma yang ada. Terdapat berbagai jenis algoritma
lainnya, yang digunakan dalam berbagai bidang seperti kecerdasan buatan, pemrosesan
citra, pengenalan suara, dan lainnya.
Algoritma adalah urutan langkah-langkah logis yang harus diikuti untuk menyelesaikan
masalah tertentu. Struktur utama dari sebuah algoritma meliputi:
1. Urutan (Sequence) Struktur ini mengacu pada urutan langkah-langkah yang harus
diikuti dalam algoritma. Setiap langkah dieksekusi secara berurutan dari atas ke bawah
sampai algoritma selesai. Struktur ini merupakan dasar dari hampir semua algoritma.
Contoh:
4|Page
• Masukkan data pada baris kedua
2. Pilihan (Selection) Struktur ini digunakan ketika algoritma harus memilih antara
beberapa opsi yang berbeda. Pilihan ini dibuat berdasarkan kondisi yang diberikan. Jika
kondisi terpenuhi, maka algoritma akan melanjutkan ke langkah selanjutnya. Jika tidak
terpenuhi, maka algoritma akan melompati langkah tersebut dan melanjutkan ke
langkah selanjutnya.
Contoh:
Contoh:
• Set total = 0
Dengan memahami ketiga struktur utama ini, kita dapat membuat algoritma yang lebih
kompleks dan efisien untuk menyelesaikan berbagai macam masalah.
5|Page
mendefinisikan masukan (input) dan luaran (output) terlebih dahulu, dimana input berupa
telur mentah, dan output berupa telur dadar yang sudah matang.
6|Page
Flowchart dan pseudocode adalah dua cara yang berbeda untuk merepresentasikan
algoritma. Berikut adalah perbedaan antara keduanya:
Flowchart adalah diagram yang terdiri dari bentuk-bentuk geometris seperti kotak, oval,
dan panah yang merepresentasikan langkah-langkah dalam algoritma. Sementara itu,
pseudocode adalah representasi teks dari algoritma yang ditulis dalam bahasa yang hampir
mirip dengan bahasa pemrograman.
Flowchart memberikan representasi visual yang jelas dan mudah dimengerti, sehingga
lebih cocok untuk menggambarkan algoritma yang kompleks secara visual. Sementara
pseudocode memberikan representasi yang lebih terperinci dan memungkinkan penggunaan
bahasa yang lebih dekat dengan bahasa pemrograman, sehingga lebih mudah diterjemahkan
ke dalam bahasa pemrograman yang sebenarnya.
7|Page
Contoh Sebuah algoritma untuk mencari bilangan terbesar dari dua bilangan.
3. Jika bilangan pertama lebih besar dari bilangan kedua, cetak bilangan pertama
4. Jika bilangan kedua lebih besar dari bilangan pertama, cetak bilangan kedua
1. Definisi Pemrograman
Pemrograman adalah suatu kegiatan yang berkaitan dengan penulisan kode atau
program komputer untuk melakukan suatu tugas atau memecahkan suatu masalah.
Pemrograman melibatkan penggunaan bahasa pemrograman, yaitu suatu bahasa yang
digunakan untuk menginstruksikan komputer untuk melakukan tugas tertentu. Tujuan
utama pemrograman adalah untuk membuat program komputer yang efisien, efektif,
dan mudah dipahami oleh pengguna atau pengembang lainnya. Pemrograman dapat
digunakan untuk berbagai macam keperluan, seperti pengembangan aplikasi, game,
website, atau alat-alat lainnya. Dalam pemrograman, seorang programmer harus
memiliki pemahaman yang baik tentang logika, algoritma, dan struktur data untuk
dapat membuat program yang baik dan efektif.
8|Page
2. Jenis-jenis Bahasa Pemrograman
a.) Bahasa pemrograman tingkat rendah adalah bahasa pemrograman yang lebih
dekat dengan bahasa mesin atau bahasa biner (0 dan 1). Bahasa pemrograman
tingkat rendah ini biasanya digunakan untuk mengembangkan sistem operasi,
driver perangkat keras, dan program yang memerlukan performa yang sangat
tinggi.Dua jenis bahasa pemrograman tingkat rendah yang umum digunakan
adalah bahasa mesin dan assembly language:
- Bahasa mesin: Bahasa mesin adalah bahasa yang digunakan oleh
komputer untuk memproses instruksi yang diberikan. Bahasa mesin
terdiri dari kode biner, yaitu rangkaian angka 0 dan 1 yang mewakili
instruksi komputer.
- Assembly language: Bahasa assembly adalah bahasa pemrograman
tingkat rendah yang menggunakan instruksi yang lebih mudah dipahami
oleh manusia. Instruksi dalam bahasa assembly diterjemahkan menjadi
bahasa mesin oleh assembler. Assembly language lebih mudah dipahami
oleh manusia daripada bahasa mesin karena menggunakan mnemonik,
yaitu kata-kata yang dapat diingat dan mudah dipahami, seperti MOV
(move), ADD (addition), SUB (substraction), dan sebagainya.
b.) Bahasa pemrograman tingkat tinggi ini umumnya digunakan untuk
pengembangan aplikasi, web, game, dan sebagainya. Berikut adalah beberapa
contoh bahasa pemrograman tingkat tinggi yang umum digunakan:
9|Page
✓ Ruby: Bahasa pemrograman yang digunakan untuk pengembangan web,
dan banyak digunakan oleh pengembang web yang menggunakan
framework Ruby on Rails.
2. Dasar Pemrograman
Berikut beberapa hal dasar yang perlu diperhatikan sebelum membuat sebuah program:
• Struktur Program: Program harus memiliki struktur yang jelas dan teratur agar
mudah dipahami oleh pengguna.
• Tipe Data dan Variabel: Setiap data yang diproses oleh program harus memiliki
tipe data yang sesuai dan disimpan dalam variabel.
• Input dan Output: Program harus mampu menerima input dari pengguna dan
memberikan output yang tepat.
10 | P a g e
3. Mengenal Struktur Program
Struktur yang jelas dan teratur akan memudahkan pengguna dalam memahami
bagaimana program berfungsi dan bagaimana bagian-bagian program saling
berinteraksi. Hal ini dapat membantu pengguna dalam memperbaiki atau memodifikasi
program di masa mendatang.
Dalam program yang memiliki struktur yang buruk atau tidak terorganisir,
pengguna mungkin mengalami kesulitan dalam memahami fungsi program atau
bagaimana memodifikasinya. Hal ini dapat mengakibatkan kesalahan yang tidak
diinginkan dalam program atau memperlambat waktu pengembangan program.
Struktur program biasanya terdiri dari beberapa elemen utama, seperti header,
deklarasi, fungsi, program utama, alur kontrol, dan komentar. Header berisi informasi
tentang program, seperti nama program, nama pengembang, dan deskripsi singkat.
Deklarasi digunakan untuk mendeklarasikan variabel, tipe data, dan fungsi yang
digunakan dalam program. Fungsi berisi kumpulan instruksi yang menjalankan tugas
tertentu dan dapat dipanggil dari bagian lain dalam program. Program utama adalah
bagian utama dari program yang berisi kumpulan instruksi yang akan dijalankan saat
program dijalankan. Alur kontrol berisi struktur kendali yang menentukan urutan
instruksi yang akan dijalankan dalam program, seperti struktur percabangan atau
perulangan. Komentar digunakan untuk memberikan penjelasan tentang bagian-bagian
program.
4. Mengenal Tipe data dan Variabel
a) Variabel
Variabel adalah sebuah simbol atau nama yang digunakan untuk
merepresentasikan nilai atau data yang dapat berubah selama program dijalankan.
Variabel digunakan untuk menyimpan nilai atau data yang digunakan dalam program
dan dapat diakses atau dimodifikasi sesuai kebutuhan.
Variabel dapat memiliki nama dan tipe data tertentu. Nama variabel harus unik
dan tidak boleh mengandung karakter spesial seperti spasi atau tanda baca kecuali
underscore (_).
11 | P a g e
b) Tipe Data
Tipe data adalah jenis nilai yang dapat disimpan dalam sebuah variabel atau
digunakan sebagai argumen dalam suatu fungsi. Tipe data dapat berupa bilangan bulat
(integer), bilangan pecahan (float), string (teks), boolean (nilai benar atau salah), dan
Berikut ini adalah beberapa jenis tipe data pada umumnya dalam pemrograman:
1. Bilangan bulat (integer): Tipe data yang merepresentasikan bilangan bulat tanpa
bagian desimal.
Contohnya adalah 1, 2, 3, -4, -5, dan seterusnya.
2. Bilangan pecahan (float): Tipe data yang merepresentasikan bilangan dengan
bagian desimal.
Contohnya adalah 1.5, 2.3, 3.14159, -4.2, dan seterusnya.
3. String: Tipe data yang merepresentasikan teks. String harus diapit dengan tanda
kutip (", '). Contohnya adalah "Hello, World!", 'Halo, Dunia!', dan seterusnya.
4. Boolean: Tipe data yang merepresentasikan nilai benar atau salah. Hanya
terdapat dua nilai, yaitu True (benar) dan False (salah).
5. List: Tipe data yang merepresentasikan kumpulan nilai. Nilai-nilai tersebut
dapat berbeda-beda tipe datanya. List diapit dengan kurung siku ([]).
Contohnya adalah [1, 2, 3], ['a', 'b', 'c'], [1, 'a', True], dan seterusnya.
6. Tuple: Tipe data yang mirip dengan list, tetapi nilainya tidak dapat diubah
setelah didefinisikan. Tuple diapit dengan kurung biasa (). Contohnya adalah
(1, 2, 3), ('a', 'b', 'c'), dan seterusnya.
7. Dictionary: Tipe data yang merepresentasikan pasangan kunci dan nilai. Setiap
kunci harus unik dan nilainya dapat berbeda-beda tipe datanya. Dictionary
diapit dengan kurung kurawal ({:}).
Contohnya adalah {'nama': 'Andi', 'umur': 20, 'tinggi': 175}, dan seterusnya.
Tipe data yang tepat harus dipilih sesuai dengan kebutuhan program.
12 | P a g e
Berikut adalah contoh kode Python untuk mendefinisikan variabel dengan berbagai
jenis tipe data:
# Tuple
my_tuple = ('a', 'b', 1, 2, 3)
# Dictionary
my_dict = {'nama': 'Andi',
'umur': 20, 'tinggi': 175}
Dalam program ini, kita mendefinisikan beberapa variabel untuk setiap jenis tipe data
yang telah disebutkan. Kemudian, kita mencetak nilai variabel tersebut menggunakan
fungsi print(). Selanjutnya, kita juga mengakses nilai dalam list, tuple, dan dictionary
menggunakan index atau key tertentu.
13 | P a g e
5. Operasi Aritmatik dan Logika
a. Operasi aritmatik adalah operasi matematika yang digunakan untuk
melakukan perhitungan pada bilangan. Berikut adalah beberapa operasi
aritmatik dalam Python:
1. Penjumlahan (+): Untuk menjumlahkan dua bilangan.
2. Pengurangan (-): Untuk mengurangi satu bilangan dengan bilangan lain.
3. Perkalian (*): Untuk mengalikan dua bilangan.
4. Pembagian (/): Untuk membagi satu bilangan dengan bilangan lain.
5. Modulo (%): Untuk menghitung sisa pembagian dari dua bilangan.
6. Pemangkatan (**): Untuk memangkatkan suatu bilangan dengan pangkat
tertentu.
Contoh penggunaan operasi aritmatik dalam bahasa pemrograman python:
# Penjumlahan
a = 5 # Pembagian
b = 7 m = 16
c = a + b n = 5
print(c) # Output: 12 o = m / n
print(o) # Output: 3.2
# Pengurangan
x = 10 # Modulo
y = 3 u = 13
z = x - y v = 5
print(z) # Output: 7 w = u % v
print(w) # Output: 3
# Perkalian
p = 3 # Pemangkatan
q = 4 e = 2
r = p * q f = 3
print(r) # Output: 12 g = e ** f
print(g) # Output: 8
14 | P a g e
b. Operasi logika adalah operasi yang digunakan untuk membandingkan dua nilai
boolean (True atau False). Berikut adalah beberapa operasi logika dalam
Python:
1. AND: Menghasilkan nilai True jika kedua nilai yang dibandingkan bernilai
True.
2. OR: Menghasilkan nilai True jika salah satu atau kedua nilai yang
dibandingkan bernilai True.
3. NOT: Menghasilkan nilai True jika nilai yang dibandingkan bernilai False,
dan sebaliknya.
Contoh penggunaan operasi logika dalam bahasa pemrograman python:
# AND Logika
a = True
b = False
c = True and False
print(c) # Output: False
# OR Logika
x = True
y = False
z = True or False
print(z) # Output: True
# NOT Logika
p = True
q = not p
print(q) # Output: False
Dalam program ini, kita menggunakan tiga operator logika yang berbeda, yaitu and,
or, dan not. Operator and akan menghasilkan True jika kedua operandnya bernilai
True, sedangkan operator or akan menghasilkan True jika salah satu atau kedua
operandnya bernilai True. Operator not akan menghasilkan kebalikan dari operandnya.
Pada contoh di atas, kita mendefinisikan beberapa variabel boolean dan melakukan
operasi logika menggunakan operator yang telah disebutkan. Kemudian, kita mencetak
hasil operasi logika tersebut menggunakan fungsi print().
Operasi logika sering digunakan dalam pengambilan keputusan dan struktur kontrol
seperti if-else.
15 | P a g e
6. Input dan output Program
Input dan output adalah dua hal yang penting dalam pengembangan program.
Input diperlukan untuk memberikan nilai ke program, sedangkan output diperlukan
untuk menampilkan hasil dari pemrosesan program tersebut.
Di Python, input dari pengguna dapat diterima menggunakan fungsi input().
Fungsi ini akan meminta pengguna memasukkan nilai yang diinginkan melalui
keyboard dan mengembalikan nilai tersebut dalam bentuk string. Kita dapat
menyimpan nilai yang dimasukkan pengguna ke dalam variabel untuk digunakan dalam
program.
for i in range(jumlah):
nilai.append(int(input("Masukkan nilai ke-" + str(i+1) + ": ")))
rata_rata = sum(nilai)/jumlah
print("Rata-rata nilai adalah:", rata_rata)
16 | P a g e
Dalam contoh-contoh di atas, fungsi input() digunakan untuk mengambil input
dari pengguna dalam bentuk string, dan kemudian digunakan dalam berbagai operasi
seperti operasi matematika, kondisional, dan loop.
Untuk memberikan output, Python menyediakan fungsi print(). Fungsi ini dapat
digunakan untuk menampilkan nilai dari variabel atau hasil operasi pada layar. Kita
dapat menyertakan beberapa nilai atau teks dalam satu perintah print() dengan
menggunakan koma sebagai pemisah.
17 | P a g e
7. Percabangan (if-else statement)
Percabangan (if-else statement) adalah struktur kontrol pada pemrograman yang
digunakan untuk membuat keputusan berdasarkan kondisi tertentu. Percabangan
memungkinkan program untuk memeriksa nilai dari sebuah variabel atau hasil operasi
dan melakukan tindakan yang berbeda tergantung pada kondisi tersebut.
Dalam percabangan if-else statement, program akan mengevaluasi suatu
kondisi dan akan melakukan aksi berbeda tergantung pada hasil evaluasi tersebut. Jika
kondisi yang dievaluasi bernilai True, maka program akan menjalankan aksi yang
didefinisikan di dalam blok if. Namun, jika kondisi yang dievaluasi bernilai False, maka
program akan menjalankan aksi yang didefinisikan di dalam blok else.
print("Anda termasuk
kategori", kategori)
18 | P a g e
percabangan if-else statement digunakan untuk memilih tindakan yang akan dilakukan
berdasarkan kondisi tertentu. Ini dapat digunakan untuk memvalidasi masukan
pengguna, memilih cabang dalam alur program, dan menentukan hasil yang sesuai
dengan kondisi tertentu.
8. Perulangan (looping)
Perulangan (Looping) merupakan salah satu struktur kontrol pada pemrograman
yang digunakan untuk melakukan tugas yang sama secara berulang-ulang. Terdapat dua
jenis perulangan utama pada pemrograman yaitu for loop dan while loop.
For loop digunakan untuk mengulangi sebuah blok kode sebanyak jumlah yang
telah ditentukan sebelumnya. For loop biasanya digunakan ketika kita mengetahui
berapa kali kita harus melakukan perulangan.
Contoh penggunaan for loop menggunakan bahasa pemrograman Python:
➢ Mencetak baris bintang sebanyak 5 ➢ Mencetak sebuah elemen dari setiap
kali elemen dari sebuah List
for i in range(1, 6): my_list = [1, 2, 3, 4, 5]
for j in range(i): for item in my_list:
print("*", end="") print(item)
print() #outputnya
#outputnya 1
* 2
** 3
*** 4
**** 5
***** 4. For Loop dengan else statement
➢ Contoh penggunaan for loop di
my_list = [1, 2, 3, 4, 5]
Python untuk menghitung jumlah for item in my_list:
huruf "a" dalam sebuah string: if item == 0:
break
my_string = "banana" else:
count = 0 print("No zero in the
for char in my_string: list")
if char == "a":
count += 1
print(count)
#outputnya
3
19 | P a g e
While loop, di sisi lain, digunakan ketika kita tidak mengetahui berapa kali kita harus
melakukan perulangan, tetapi kita ingin melakukan perulangan selama suatu kondisi
bernilai True. Pada while loop, blok kode akan dieksekusi berulang-ulang selama
kondisi yang ditentukan masih bernilai True.
Contoh penggunaan while loop menggunakan pemrograman Python:
n = 10
while n > 0:
print(n)
n -= 1
print("Blastoff!")
#outputnya
10
9
8
7
6
5
4
3
2
1
Blastoff!
Penjelasan: Perulangan while akan berjalan selama nilai n lebih besar dari 0. Setiap
iterasi, nilai n akan dikurangi 1 dan dicetak. Setelah nilai n mencapai 0, maka
perulangan while akan berakhir dan mencetak pesan "Blastoff!".
Contoh :
Program python untuk Menemukan bilangan prima
n = 2
while n < 20:
for i in range(2, n):
if n % i == 0:
break
else:
print(n, "adalah bilangan prima")
n += 1
Penjelasan: Perulangan while akan berjalan selama nilai n kurang dari 20. Pada setiap
iterasi, for loop akan mengiterasi setiap nilai i antara 2 dan n (non inklusif). Jika n
dapat dibagi dengan i tanpa sisa, maka for loop akan dihentikan menggunakan break.
Jika for loop selesai tanpa break, maka nilai n adalah bilangan prima dan akan
dicetak. Setelah itu, nilai n akan ditambahkan 1.
20 | P a g e
Kedua jenis perulangan ini memiliki kegunaannya masing-masing. Pada for loop, kita
dapat memastikan bahwa perulangan akan dilakukan sejumlah yang telah ditentukan
sebelumnya. Sementara itu, pada while loop, kita dapat melakukan perulangan dengan
kondisi yang lebih kompleks dan dinamis, di mana jumlah iterasi tidak diketahui
sebelumnya.
Struktur program dasar terdiri dari beberapa komponen yang harus dipahami oleh
seorang programmer. Beberapa komponen penting tersebut adalah fungsi dan prosedur,
penggunaan library atau modul, serta debugging dan testing.
➢ Fungsi dan Prosedur
Fungsi dan prosedur adalah dua konsep penting dalam pemrograman. Keduanya
merupakan blok kode yang dapat digunakan kembali dalam program, namun
terdapat perbedaan antara keduanya.
Fungsi adalah blok kode yang dapat menerima input dan menghasilkan output.
Fungsi biasanya digunakan untuk melakukan tugas-tugas tertentu dalam program
dan mengembalikan nilai hasilnya.
Dalam Python, fungsi dan prosedur didefinisikan dengan menggunakan
keyword def, seperti contoh berikut:
Prosedur, di sisi lain, adalah blok kode yang juga dapat digunakan kembali
dalam program, namun tidak menghasilkan nilai kembalian. Prosedur biasanya
digunakan untuk melakukan tugas-tugas tertentu yang tidak memerlukan
pengembalian nilai.
Contoh penggunaan Fungsi dan prosedur:
21 | P a g e
➢ Penggunaan Library atau Modul
Library atau modul adalah kumpulan dari fungsi dan prosedur yang telah dibuat
sebelumnya, dan dapat digunakan kembali dalam program kita. Dalam Python, kita
dapat mengimpor library atau modul dengan menggunakan kata kunci import.
Penggunaan library atau modul dapat menghemat waktu dan usaha karena kita
tidak perlu menulis kode program dari awal untuk setiap tugas yang sama. Beberapa
contoh library atau modul yang sering digunakan dalam Python adalah NumPy,
Pandas, dan Matplotlib. Contoh penggunaan library NumPy dalam Python:
# Menampilkan hasil
print("Array:", arr)
print("Mean:", mean)
print("Std dev:", std)
def hitung_rata_rata(nilai):
total = 0
for n in nilai:
22 | P a g e
total += n
rata_rata = total / len(nilai)
return rata_rata
def hitung_rata_rata(nilai):
total = 0
for n in nilai:
total += n
rata_rata = total / len(nilai)
return rata_rata
23 | P a g e
Setelah kita menggunakan breakpoint, kita dapat memeriksa nilai variabel dan
menemukan kesalahan pada fungsi hitung_rata_rata. Kita perlu menambahkan
penanganan untuk kasus ketika daftar nilai kosong.
def hitung_rata_rata(nilai):
if len(nilai) == 0:
return 0
total = 0
for n in nilai:
total += n
rata_rata = total / len(nilai)
return rata_rata
import unittest
class TestProgram(unittest.TestCase):
def test_hitung_rata_rata(self):
nilai = [80, 75, 90, 85]
self.assertEqual(hitung_rata_rata(nilai), 82.5)
nilai = []
self.assertEqual(hitung_rata_rata(nilai),
24 | P a g e
D. Pemrograman Berorientasi Objek (OOP)
class Mobil:
def __init__(self, warna, merek, nomor_plat):
self.warna = warna
self.merek = merek
self.nomor_plat = nomor_plat
def info_mobil(self):
print("Mobil warna", self.warna, "merek",
self.merek, "dengan nomor plat", self.nomor_plat)
def menyalakan_mesin(self):
print("Mesin mobil dinyalakan.")
def mempercepat(self):
print("Mobil sedang dipercepat.")
Dalam contoh ini, class "Mobil" memiliki tiga atribut yaitu warna,
merek, dan nomor plat. Selain itu, class ini juga memiliki tiga
metode yaitu info_mobil, menyalakan_mesin, dan mempercepat.
1. Metode init adalah constructor (pembuat) class Mobil. Ini
digunakan untuk menginisialisasi atribut-atribut yang
dimiliki oleh objek mobil yang dibuat dari class ini.
2. Metode info_mobil digunakan untuk menampilkan informasi
tentang objek mobil, seperti warna, merek, dan nomor plat.
3. Metode menyalakan_mesin digunakan untuk menyalakan
mesin mobil.
4. Metode mempercepat digunakan untuk meningkatkan
kecepatan mobil.
Dengan class ini, kita dapat membuat objek mobil baru dengan
menentukan nilai-nilai atribut seperti warna, merek, dan nomor plat.
Contohnya:
mobil1 = Mobil("merah", "Toyota", "B 1234 ABC")
25 | P a g e
mobil2 = Mobil("biru", "Honda", "B 5678 DEF")
➢ Objek (Object) adalah sebuah objek adalah sebuah instance dari sebuah
class. Class sendiri adalah sebuah blueprint atau template yang digunakan
untuk membuat objek-objek yang memiliki sifat atau karakteristik yang
sama. Setiap objek memiliki state (keadaan) yang terdiri dari nilai-nilai dari
variabel-variabel yang dimiliki oleh objek tersebut, dan behavior (perilaku)
yang terdiri dari Method-Method yang dapat dipanggil untuk memanipulasi
atau mengakses state tersebut. Sebagai contoh, dalam sebuah program
perbankan yang menggunakan OOP, terdapat class "Account" yang
memiliki variabel seperti "account_number", "balance", dan
"owner_name". Setiap objek yang dibuat dari class "Account" akan
memiliki state yang terdiri dari nilai-nilai dari variabel-variabel tersebut.
Selain itu, class "Account" juga memiliki Method seperti "deposit",
"withdraw", dan "check_balance" yang dapat dipanggil untuk
memanipulasi atau mengakses state objek tersebut. Dengan menggunakan
OOP, sebuah program dapat diorganisasi dengan lebih baik dan lebih
mudah dipahami, karena program dibagi ke dalam berbagai class dan objek-
objek yang saling berinteraksi sesuai dengan tujuannya masing-masing.
Berikut ini adalah contoh program Python sederhana yang menggunakan
OOP untuk membuat class "Account":
class Account:
def __init__(self, account_number, balance,
owner_name):
self.account_number = account_number
26 | P a g e
self.balance = balance
self.owner_name = owner_name
def check_balance(self):
print("Account balance:", self.balance)
account1.deposit(500)
account1.check_balance() # Output: Account balance:
1500
account1.withdraw(1000)
account1.check_balance() # Output: Account balance:
500
27 | P a g e
Kemudian pada contoh penggunaannya, kita membuat objek "account1"
dari class "Account" dengan memasukkan nilai-nilai awal ke dalam
constructor. Selanjutnya kita memanggil Method "check_balance()" untuk
mengecek saldo awal pada akun.
class Siswa:
def __init__(self, nama, npm, jurusan):
self._nama = nama # properti privat dengan
awalan underscore
self._npm = npm # properti privat dengan
awalan underscore
28 | P a g e
self.jurusan = jurusan # properti publik
@property
def nama(self):
return self._nama # Method getter untuk
properti privat _nama
@nama.setter
def nama(self, nama_baru):
self._nama = nama_baru # Method setter
untuk properti privat _nama
@property
def npm(self):
return self._npm # Method getter untuk
properti privat _npm
@npm.setter
def npm(self, npm_baru):
self._npm = npm_baru # Method setter untuk
properti privat _npm
Pada contoh di atas, class "Siswa" memiliki tiga properti yaitu "nama",
"npm", dan "jurusan". Properti "jurusan" adalah properti publik yang dapat
diakses dan dimanipulasi langsung dari luar objek, sedangkan properti
"nama" dan "npm" adalah properti privat dengan awalan underscore yang
hanya dapat diakses dan dimanipulasi melalui Method-Method khusus
yang didefinisikan di dalam class tersebut.
29 | P a g e
Untuk mengakses dan memanipulasi properti privat "nama" dan "npm",
kita menggunakan Method getter dan setter yang didefinisikan dengan
menggunakan decorator @property dan @nama.setter serta
@npm.setter. Method getter digunakan untuk mengambil nilai properti
privat, sedangkan Method setter digunakan untuk mengubah nilai properti
privat. Dengan menggunakan properti dan Method getter/setter pada class
"Siswa" seperti di atas, kita dapat memastikan bahwa properti privat tidak
dapat diakses atau dimanipulasi langsung dari luar objek. Selain itu,
penggunaan Method getter/setter juga dapat memberikan validasi atau
verifikasi pada nilai properti sebelum disimpan ke dalam objek.
➢ Metode (Method)
Metode (Method) adalah sebuah fungsi atau prosedur yang terdapat
pada suatu objek atau kelas dalam pemrograman berorientasi objek. Metode
biasanya diimplementasikan di dalam kelas dan memiliki akses ke properti-
properti pada objek tersebut.
Metode digunakan untuk melakukan tindakan atau operasi pada
objek yang sama, atau juga dapat digunakan untuk mengembalikan nilai
yang diinginkan. Dalam beberapa kasus, metode dapat menerima parameter
atau argumen yang diperlukan untuk melakukan tindakan atau operasi yang
diinginkan.
Dalam sebuah kelas, metode seringkali digunakan untuk
memodifikasi atau mengambil data dari objek yang dibuat dari kelas
tersebut. Contohnya, sebuah kelas Mobil dapat memiliki metode untuk
mengubah kecepatan mobil, mengisi bahan bakar, atau memeriksa apakah
mobil sedang menyala atau tidak.
Dalam pemrograman, metode memiliki beberapa karakteristik yang
membedakannya dari fungsi pada umumnya. Beberapa karakteristik
tersebut antara lain:
1. Metode diakses melalui objek atau kelas yang mengandungnya,
sedangkan fungsi biasanya dapat diakses secara global.
2. Metode memiliki akses ke properti-properti atau variabel-variabel
pada objek atau kelas tempat metode tersebut didefinisikan.
30 | P a g e
3. Metode seringkali mengubah atau memodifikasi objek yang
dipanggil, sedangkan fungsi biasanya tidak memiliki efek samping
seperti itu.
4. Metode dapat diwariskan dari kelas lain, sehingga kelas-kelas
turunan dapat menggunakan metode tersebut.
Dalam pemrograman berorientasi objek, metode sangat penting
untuk mengorganisasi dan mengelola kode program. Dengan menggunakan
metode, kita dapat memisahkan logika program ke dalam blok-blok yang
lebih kecil dan mudah dipahami, sehingga memudahkan pengembangan
dan perawatan kode program secara keseluruhan.
31 | P a g e
3. Setelah itu, kita meminta pengguna untuk memasukkan nilai alas dan
tinggi segitiga menggunakan fungsi input.
4. Selanjutnya, kita memanggil metode hitung_luas_segitiga dengan
mengirimkan nilai alas dan tinggi yang sudah dimasukkan pengguna
sebagai argumen.
5. Hasil perhitungan yang diterima dari metode disimpan dalam variabel
luas_segitiga.
6. Akhirnya, kita mencetak hasil perhitungan menggunakan perintah
print.
Dalam program di atas, kita menggunakan metode untuk memisahkan
logika perhitungan luas segitiga ke dalam sebuah blok yang terpisah.
Dengan demikian, program menjadi lebih mudah dipahami dan lebih
mudah dikelola.
32 | P a g e
Misalkan kita memiliki sebuah program untuk menghitung gaji pegawai di
sebuah perusahaan. Pegawai di perusahaan tersebut terbagi menjadi dua jenis,
yaitu pegawai biasa dan pegawai magang. Kedua jenis pegawai ini memiliki
atribut dan Method yang sama, namun ada beberapa perbedaan di antara
keduanya.
class Pegawai:
def __init__(self, nama, gaji):
self.nama = nama
self.gaji = gaji
def hitung_gaji(self):
return self.gaji
class PegawaiBiasa(Pegawai):
def __init__(self, nama, gaji, tunjangan):
super().__init__(nama, gaji)
self.tunjangan = tunjangan
def hitung_gaji(self):
return super().hitung_gaji() + self.tunjangan
class PegawaiMagang(Pegawai):
def __init__(self, nama, gaji, bonus):
super().__init__(nama, gaji)
self.bonus = bonus
def hitung_gaji(self):
return super().hitung_gaji() + self.bonus
Pada contoh di atas, terdapat kelas Pegawai yang memiliki atribut nama dan
gaji, serta Method hitung_gaji(). Selain itu, terdapat kelas turunan
PegawaiBiasa dan PegawaiMagang yang mewarisi atribut dan Method dari
kelas induk Pegawai.
33 | P a g e
pegawai1 = PegawaiBiasa("John Doe", 10000000, 5000000)
pegawai2 = PegawaiMagang("Jane Doe", 2000000, 500000)
cetak_gaji(pegawai1)
cetak_gaji(pegawai2)
34 | P a g e
dipanggil secara eksplisit, sedangkan destruktor tidak memiliki parameter dan
juga tidak perlu dipanggil secara eksplisit.
Di dalam bahasa pemrograman Python, konstruktor dan destruktor
direpresentasikan dengan metode __init__() dan __del__() masing-masing.
Berikut adalah contoh sederhana dari konstruktor dan destruktor pada bahasa
pemrograman Python:
class Contoh:
def __init__(self):
print("Objek telah dibuat")
def __del__(self):
print("Objek telah dihapus")
35 | P a g e
pemeliharaan program karena memungkinkan programmer untuk fokus pada
konsep tingkat tinggi daripada detail implementasi yang lebih rendah. Dalam
abstraksi, kita membuat kelas abstrak yang memiliki beberapa Method abstrak
yang hanya memberikan deklarasi atau pengertian tentang apa yang akan
dilakukan Method tersebut, tanpa memberikan implementasi yang sebenarnya.
Implementasi Method ini akan diwajibkan untuk dibuat oleh kelas turunan yang
mengimplementasikan kelas abstrak tersebut.
Sementara itu, enkapsulasi adalah konsep yang memungkinkan untuk
menyembunyikan detail implementasi dari pengguna dan hanya menampilkan
interface publik yang dapat digunakan pengguna. Dalam enkapsulasi, atribut
atau Method tertentu diberikan hak akses tertentu, seperti public, private, dan
protected, untuk menentukan siapa saja yang dapat mengakses atribut atau
Method tersebut. Ini membantu menjaga integritas data dan menghindari
konflik nama antara Method dan atribut dalam program.
Secara umum, abstraksi dan enkapsulasi berfungsi untuk
menyederhanakan program dan membantu menjaga integritas data dan
konsistensi antar objek. Namun, abstraksi fokus pada menyembunyikan detail
implementasi yang tidak perlu, sedangkan enkapsulasi fokus pada
menyembunyikan atribut atau Method yang tidak perlu diakses dari luar kelas.
Berikut adalah contoh sederhana dari abstraksi dan enkapsulasi pada
bahasa pemrograman Python:
class Kotak:
def __init__(self, panjang, lebar, tinggi):
self.__panjang = panjang
self.__lebar = lebar
self.__tinggi = tinggi
def hitung_volume(self):
return self.__panjang * self.__lebar *
self.__tinggi
36 | P a g e
Pada contoh di atas, sebuah kelas bernama Kotak didefinisikan dengan
metode konstruktor __init__() dan metode hitung_volume(). Variabel
panjang, lebar, dan tinggi diinisialisasi dalam konstruktor dengan
menggunakan konsep enkapsulasi, yaitu dengan menggunakan double
underscore (__) sebelum nama variabel, sehingga variabel tersebut menjadi
variabel pribadi dan hanya bisa diakses dari dalam kelas Kotak. Dalam metode
hitung_volume(), nilai dari variabel pribadi tersebut digunakan untuk
menghitung volume kotak.
Selain itu, konsep abstraksi juga digunakan dalam contoh di atas dengan
cara menyembunyikan detail implementasi dari metode hitung_volume() dan
hanya menampilkan hasil perhitungan pada penggunaan program. Hal ini
membuat program menjadi lebih mudah dimengerti dan dikelola.
37 | P a g e
BAB IV
STRUKTUR DATA
A. Pengertian Struktur Data
Struktur data adalah cara untuk menyimpan, mengatur, dan mengakses data
dalam sebuah program komputer. Struktur data memungkinkan programmer
untuk mengatur data dengan cara yang efisien dan memudahkan dalam
pemrosesan data. Dalam pemrograman, pemilihan struktur data yang tepat sangat
penting untuk mencapai tujuan yang diinginkan.
1. Array
Array adalah struktur data yang terdiri dari beberapa elemen dengan tipe data
yang sama yang disimpan secara berurutan di dalam memori. Setiap elemen
dapat diakses dengan menggunakan indeks yang sesuai. Data pada array
dapat diakses menggunakan indeks yang merupakan posisi dari data tersebut
pada array. Indeks pada array dimulai dari 0.
Jenis-jenis Array
38 | P a g e
b. Array Dua Dimensi(2D)
Array dua dimensi adalah array yang memiliki dua dimensi atau
memiliki baris dan kolom. Array dua dimensi sering juga disebut
sebagai matriks.
Contoh :
angka = [1, 2, 3, 4, 5]
print(angka[0]) # 1
39 | P a g e
print(angka3) # [1, 2, 3, 4, 5, 6]
Linked list merupakan struktur data yang terdiri dari urutan data linier yang
dapat dihubungkan satu sama lain. Saat menggunakan tipe linked list, Anda
perlu untuk mengakses data secara manual. Hal ini dikarenakan Anda tidak
dapat mencari data dengan sistem acak.
Tipe linked list ini dipisahkan menjadi tiga jenis, yaitu singly linked
list, doubly linked list, dan circular linked list. Ketiganya bisa dibedakan
melalui proses traversal atau proses kunjungan ke setiap node pada satu
waktu.
40 | P a g e
• Penambahan atau pengurangan data menjadi lebih cepat.
3. Stack
Terdapat beberapa operasi dasar yang dapat dilakukan pada stack, yaitu:
41 | P a g e
Keunggulan tipe stack:
class Stack:
def __init__(self):
self.items = []
def pop(self):
if not self.is_empty():
return self.items.pop()
else:
return None
def peek(self):
if not self.is_empty():
return self.items[-1]
else:
return None
def is_empty(self):
return len(self.items) == 0
def size(self):
return len(self.items)
42 | P a g e
stack.push(3)
pop_item = stack.pop()
print("Data yang diambil dari Stack: ", pop_item)
4. Queue
43 | P a g e
Queue adalah struktur data yang memungkinkan penyimpanan data dengan
prinsip First In First Out (FIFO). Data yang pertama kali dimasukkan ke
dalam queue akan menjadi data yang pertama kali diambil. Gambaran
sederhana yang menjabarkan tipe ini adalah ketika orang yang sedang
mengantri. Siapa yang datang pertama, orang itulah yang akan dilayani
terlebih dulu.
Secara umum, Queue terdiri dari dua operasi dasar yaitu enqueue dan
dequeue. Operasi enqueue digunakan untuk menambahkan elemen ke ujung
belakang (tail) dari Queue, sedangkan operasi dequeue digunakan untuk
mengambil elemen dari ujung depan (head) dari Queue.
• Ketika waktu pelayanan habis, maka data yang terakhir masuk tidak
dapat dilayani.
44 | P a g e
Contoh program Python untuk mempelajari Queue :
class Queue:
def __init__(self):
self.items = []
def is_empty(self):
return self.items == []
def dequeue(self):
if self.is_empty():
return None
else:
return self.items.pop(0)
def size(self):
return len(self.items)
q = Queue()
print(q.is_empty()) # True
q.enqueue(1)
q.enqueue(2)
q.enqueue(3)
print(q.size()) # 3
print(q.dequeue()) # 1
print(q.size()) # 2
Penjelasan:
• Kelas Queue memiliki empat metode: __init__, is_empty, enqueue,
dequeue, dan size.
• Metode __init__ akan membuat sebuah atribut items berupa sebuah list
yang berisi elemen-elemen queue.
45 | P a g e
• Metode dequeue akan menghapus elemen pertama dari queue dengan
menggunakan method pop(0), lalu mengembalikan nilai elemen
tersebut. Jika queue kosong, metode ini akan mengembalikan None.
• Metode size akan mengembalikan panjang dari list items, yaitu jumlah
elemen pada queue.
Penjelasan:
• Pertama, program memanggil metode is_empty untuk mengecek
apakah queue kosong. Karena belum ada elemen yang ditambahkan
ke queue, maka outputnya adalah True.
• Selanjutnya, program menambahkan tiga elemen ke queue dengan
memanggil metode enqueue. Setelah itu, program memanggil metode
size untuk mengetahui jumlah elemen pada queue. Outputnya adalah
3.
• Kemudian, program memanggil metode dequeue untuk menghapus
elemen pertama dari queue dan mengembalikan nilai elemen tersebut.
Outputnya adalah 1.
• Akhirnya, program memanggil metode size lagi untuk mengetahui
jumlah elemen pada queue setelah satu elemen dihapus. Outputnya
adalah 2.
46 | P a g e
5. Tree
Tree adalah struktur data yang terdiri dari beberapa elemen yang terhubung
dengan bentuk hierarki. Elemen yang berada di atas disebut sebagai parent
node, sedangkan elemen yang berada di bawahnya disebut sebagai child
node.
Setiap node dapat berisi beberapa data atau link yang bersumber pada node
lainnya. Beberapa istilah yang ada pada tipe tree yaitu:
47 | P a g e
6. Graph
Graph adalah struktur data yang terdiri dari beberapa node dan hubungan
antar node. Node pada graph dapat terhubung dengan node lainnya melalui
edge atau sisi.
Node pada tipe graph juga dikenal sebagai simpul. Jadi, setiap garis dapat
saling menghubungkan dua simpul. Biasanya tipe ini diperlukan sebagai cara
dalam menunjukkan jaringan tertentu. Misalnya seperti jaringan telepon.
Tipe graph ini dibedakan dua jenis jenis, yaitu directed graph dan undirected
graph. Directed graph yaitu setiap garis dapat terhubung ke semua simpul.
Sedangkan undirected graph yaitu tidak semua simpul akan terhubung
dengan garis. Jika sebuah simpul tidak dapat terhubung dengan simpul
lainnya, maka disebut dengan isolated vertex.
48 | P a g e
7. Hash Table
Hash table merupakan tipe yang digunakan dalam menyimpan data secara
asosiatif. Tipe ini dapat menyimpan data dalam bentuk array. Hal ini
memungkinkan Anda dalam mengakses data secara lebih cepat karena cukup
menggunakan indeksnya saja.
Operasi utama yang dapat digunakan dalam hash table yaitu search (untuk
mencari elemen), insert (untuk menyisipkan elemen), dan delete (untuk
menghapus elemen). Contoh penggunaan tipe hash table yaitu untuk mencari
data nama dan nomor telepon.
Keunggulan tipe hash table:
• Dibandingkan dengan tipe lainnya, kadang penggunaan hash table lebih
efisien dalam mencari data sehingga sering dipakai pada software untuk
pengindeksan basis data.
• Mudah dalam melakukan sinkronisasi.
Kekurangan tipe hash table:
• Kemungkinan bentrokan data (collision) menjadi sangat besar sehingga
menjadi tidak efisien.
49 | P a g e
2. Delete
Operasi delete digunakan untuk menghapus data dari struktur data. Pada
struktur data seperti array, list, atau queue, operasi delete akan menghapus
elemen dari posisi yang ditentukan. Sedangkan pada struktur data seperti tree
atau graph, operasi delete akan menghapus node dan menghapus koneksi antara
node tersebut dengan node yang sudah ada.
3. Search
Operasi search digunakan untuk mencari data dalam struktur data. Pada struktur
data seperti array, list, atau queue, operasi search akan mencari elemen dengan
nilai tertentu. Sedangkan pada struktur data seperti tree atau graph, operasi
search akan mencari node dengan nilai tertentu dan mengembalikan node
tersebut jika ditemukan.
4. Traverse
Operasi traverse digunakan untuk mengakses semua elemen pada struktur data.
Pada struktur data seperti array, list, atau queue, operasi traverse akan
mengakses setiap elemen secara berurutan. Sedangkan pada struktur data seperti
tree atau graph, operasi traverse dapat dilakukan dalam berbagai cara, seperti
pre-order traversal, post-order traversal, atau inorder traversal, yang masing-
masing memiliki urutan akses yang berbeda.
50 | P a g e
MODUL PRAKTEK
PENGENALAN BAHASA PEMROGRAMAN PYTHON
3.1. Tujuan Pembelajaran
1. Siswa dapat memahami sejarah perkembangan bahasa pemrograman Python.
2. Siswa dapat mengetahui fitur-fitur penting yang terdapat pada Python.
3. Siswa dapat mengetahui kelebihan dan kekurangan bahasa Python.
4. Siswa dapat melakukan proses instalasi bahasa Python.
5. Siswa mengerti konsep dan struktur bahasa pemrograman Python.
6. Siswa mengerti konsep variabel, tipe data, dan operator pada Python.
7. Siswa dapat membuat program sederhana menggunakan bahasa pemrograman Python.
Python dikembangkan oleh Guido van Rossum pada tahun 1990 di CWI, Amsterdam
sebagai kelanjutan dari bahasa pemrograman ABC. Versi terakhir yang dikeluarkan CWI adalah
1.2. Tahun 1995, Guido pindah ke CNRI sambil terus melanjutkan pengembangan Python. Versi
terakhir yang dikeluarkan adalah 1.6. Tahun 2000, Guido dan para pengembang inti Python
pindah ke BeOpen.com yang merupakan sebuah perusahaan komersial dan membentuk
BeOpen PythonLabs. Python 2.0 dikeluarkan oleh BeOpen. Setelah mengeluarkan Python 2.0,
Guido dan beberapa anggota tim PythonLabs pindah ke DigitalCreations.
Saat ini pengembangan Python terus dilakukan oleh sekumpulan pemrogram yang
dikoordinir Guido dan Python Software Foundation. Python Software Foundation adalah
sebuah organisasi non-profit yang dibentuk sebagai pemegang hak cipta intelektual Python
sejak versi 2.1 dan dengan demikian mencegah Python dimiliki oleh perusahaan komersial.
Saat ini distribusi Python sudah mencapai versi 2.6.1 dan versi 3.0.
Nama Python dipilih oleh Guido sebagai nama bahasa ciptaannya karena kecintaan
guido pada acara televisi Monty Python’s Flying Circus. Oleh karena itu seringkali ungkapan-
ungkapan khas dari acara tersebut seringkali muncul dalam korespondensi antar pengguna
Python.
51 | P a g e
3.3. Pengenalan 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 platform sistem operasi. Saat ini skrip python
dapat dijalankan pada sistem berbasis : Windows, Linux / Unix, Mac OS X, OS/2, Amiga.
Python didistribusikan dengan beberapa lisensi yang berbeda dari beberapa versi. Lisensi
Python tidak bertentangan baik menurut definisi Open Source maupun General Public
License (GPL). Interpreter Python dapat diperoleh diwebsite resminya di
http://www.python.org
Python merupakan bahasa pemrograman tingkat tinggi yang diracik oleh Guido van
Rossum. Python banyak digunakan untuk membuat berbagai macam program, seperti:
program CLI, Program GUI (desktop), Aplikasi Mobile, Web, IoT, Game, Program untuk
Hacking, dsb. Python juga dikenal dengan bahasa pemrograman yang mudah dipelajari,
karena struktur sintaknya rapi dan mudah dipahami.
• memiliki kepustakaan yang luas; dalam distribusi Python telah disediakan modulmodul
siap pakai untuk berbagai keperluan.
• memiliki tata bahasa yang jernih dan mudah dipelajari.
• memiliki aturan layout kode sumber yang memudahkan pengecekan, pembacaan
kembali dan penulisan ulang kode sumber. berorientasi obyek.
• memiliki sistem pengelolaan memori otomatis (garbage collection, seperti java)
modular, mudah dikembangkan dengan menciptakan modul-modul baru;
modulmodul tersebut dapat dibangun dengan bahasa Python maupun C/C++.
• memiliki fasilitas pengumpulan sampah otomatis, seperti halnya pada bahasa
52 | P a g e
• pemrograman Java, python memiliki fasilitas pengaturan penggunaan ingatan
komputer sehingga para pemrogram tidak perlu melakukan pengaturan ingatan
komputer secara langsung.
53 | P a g e
• Disebabkan python merupakan interpreter, python bukan merupakan perangkat bantu
terbaik untuk pengantar komponen performa kritis.
• Python tidak dapat digunakan sebagai dasar bahasa pemrograman implementasi untuk
beberapa komponen, tetapi dapat bekerja dengan baik sebagai bagian depan skrip antarmuka
untuk mereka.
• Python memberikan efisiensi dan fleksibilitas tradeoff by dengan tidak memberikannya secara
menyeluruh.
• Python menyediakan bahasa pemrograman optimasi untuk kegunaan, bersama dengan
perangkat bantu yang dibutuhkan untuk diintegrasikan dengan bahasa pemrograman lainnya.
2. Klik software python running program kemudian lakukan peng-instalan pada computer
dan ikuti langkah selanjutnya :
54 | P a g e
Gambar 3.3. Jendela Instalasi Python
3. Pilih direktori tujuan untuk tempat menyimpan program python, lalu klik tombol next.
Jika kita klik tombol Disk Usage maka muncul form yang berisi informasi berapa besar
kapasitas disk yang dibutuhkan/digunakan untuk menginstal python(sekitar 49 MB) :
4. Jika kita klik tombol advanced, pilih compile .py ke byte code setelah instalasi, jika tidak
memilih juga tidak apa-apa. Tunggu beberapa menit selama proses instalasi
berlangsung dan tekan finish, ikuti petunjuk selanjutnya :
55 | P a g e
Gambar 3.5. Jendela Proses Instalasi
56 | P a g e
Gambar 3.7. Tampilan Awal Python
Pada window diatas,,didalam prompt (>>>), tuliskan : print instalasi python selesai. Kemudian
interpreter merespon dengan menampilkan pada layar :
57 | P a g e
Gambar 3.10. Skema Proses Interpreter
Compiler : Source code adalah bahasa tingkat tinggi, object code adalah bahasa mesin atau bahasa
assembly. Source code dan data diproses secara berbeda.
58 | P a g e