0% menganggap dokumen ini bermanfaat (0 suara)
64 tayangan47 halaman

PT 1.structure Python

Diunggah oleh

Rahma Maqfira
Hak Cipta
© © All Rights Reserved
Kami menangani hak cipta konten dengan serius. Jika Anda merasa konten ini milik Anda, ajukan klaim di sini.
Format Tersedia
Unduh sebagai PDF, TXT atau baca online di Scribd
0% menganggap dokumen ini bermanfaat (0 suara)
64 tayangan47 halaman

PT 1.structure Python

Diunggah oleh

Rahma Maqfira
Hak Cipta
© © All Rights Reserved
Kami menangani hak cipta konten dengan serius. Jika Anda merasa konten ini milik Anda, ajukan klaim di sini.
Format Tersedia
Unduh sebagai PDF, TXT atau baca online di Scribd
Anda di halaman 1/ 47

STRUKTUR DATA (PYTHON)

“PENDAHULUAN”
[@SUARGA| [Pertemuan 01]
OutLine
SILABUS DAN PENILAIAN

KONSEP STRUKTUR DATA

ABSTRACT DATA TYPE (ADT)

MENGENAL PYTHON

DASAR-DASAR PYTHON

10-9-2022 Struktur Data @SUARGA 2


SILABUS
1. Pendahuluan & Mengenal Python
2. Elemen Dasar Bahasa Python
11. Struktur Untaian Ganda
3. Instruksi Utama Bahasa Python
(Doubly Linked List)
4. Struktur Larik (Array)
12. Struktur Antrian Prioritas
5. Struktur data internal Python
13. Struktur Pohon Biner (Binary
6. Struktur Tumpukan (Stack)
Tree)
7. Struktur Antrian (Queue)
14. Struktur Pohon Seimbang
8. UTS
(Balanced Tree)
9. Struktur Untaian Tunggal (SIngly
15. Struktur Tabel Hash (Hashed
Linked List)
Table)
10. Struktur Untaian Melingkar
16. UAS
(Circular Linked List)

10-9-2022 Struktur Data @SUARGA 3


Penilaian
1. Kehadiran: harus hadir minimal 12 kali ==> 10%
2. Memasukkan Tugas-tugas : 20%
3. Ikut MID TEST (UTS): Maksimum 35%
4. Ikut FINAL TEST (UAS) : Maksimum 35%

10-9-2022 Struktur Data @SUARGA 4


NILAI AKHIR

A : 86 - 100
A- : 81 - 85
B+ : 76 - 80
B : 71 - 75
B- : 66 - 70
C+ : 61 - 65
C : 51 - 60
D : 41 - 50
E : 0 - 40

10-9-2022 Struktur Data @SUARGA 5


Konsep Struktur Data
• Struktur data dapat didefinisikan sebagai kelas/objek, atau
abstraksi tipe data (ADT) yang memiliki tiga unsur dasar,
yaitu:
• Seperangkat fungsi/method: dimana setiap fungsi
melakukan suatu jenis operasi terhadap nilai yang tersimpan
didalam struktur data.
• Struktur Penyimpanan (Storage) : representasi suatu
struktur abstrak memory yang dipakai menyimpan data /
nilai yang dimasukkan, sehingga membentuk suatu
organisasi data.
• Algoritma : dalam setiap fungsi terdapat algoritma yang
menjelaskan langkah yang harus dilakukan terhadap nilai
data dalam struktur penyimpanan-nya sehingga diperoleh
hasil sesuai dengan tujuan dari fungsi tersebut.

10-9-2022 Struktur Data, @SUARGA 6


Jenis Struktur Data

1. Built-in Python
Data Structure:
List
Tuple
Dictionary
Set

10-9-2022 Struktur Data @SUARGA 7


2.User-defined Data Structures
• Larik (Array)
• Tumpukan (Stack)
• Antrian (Queue)
• Untaian (Linked List)
• Pohon (Tree)
• Tabel Hash
• Heap
• Graph

10-9-2022 Struktur Data, @SUARGA 8


Strong & Weakness
Struktur Data Kekuatan Kelemahan

Larik / Array Mudah menyisip data, Bila indeks tidak


akses data cepat bila diketahui maka
indeks diketahui. mencari,
Menyimpan data menghapus data
sesuai indeks menjadi lambat.
Ukuran (size) tetap
Stack (Tumpukan) Akses LIFO, cepat Akses LIFO cepat,
bila data berada yang berada diposisi
diposisi top
top

10-9-2022 Struktur Data @SUARGA 9


Antrian (Queue) Akses FIFO cepat, yang Akses item yang lain
berada di posisi depan lambat

Untaian (Linked List) Insert cepat, delete Lambat dalam pencarian


cepat, di posisi head item yang berada di-
atau tail posisi lain

Pohon Biner (Binary Mencari data cepat, Algoritma delete rumit,


insert cepat, delete bergantung pada posisi
Tree) cepat item

Pohon Seimbang Search, Insert, Delete Delete item rumit,


cepat struktur AVL harus
(AVL Tree) dipertahankan.

Hash Table Sangat cepat akses bila Lambat dalam delete,


kunci diketahui, insert akses lambat bila kunci
cepat tidak diketahui,
pemakaian memory
kurang efisien

Heap Insert, delete bisa cepat Akses lambat pada item


lain

Graph Model dari situasi nyata Algoritma bisa lambat


dan rumit
10-9-2022 Struktur Data @SUARGA 10
Jenis Algoritma
• Struktur data pada umumnya memerlukan
algoritma/program untuk:
1. menciptakan (init) struktur data
2. menyisipkan (insert/add/append) data baru
3. mencari (search) data yang ada
4. menghitung elemen-nya (len atau size)
5. menghapus (delete/remove) data
6. mengurutkan (sort) data, atau order data

10-9-2022 Struktur Data, @SUARGA 11


ADT (Abstract Data Type)
• Pada ilmu struktur data juga telah ditemukan cara
untuk memecahkan hal struktur data yang sulit,
yaitu dengan abstraksi, sehingga dikenal istilah
Abstract Data Type (ADT), dimana dilakukan
pemisahan antara properti data dan implemetasi
data.
• Pengguna (users) struktur data hanya memerlukan
properti data tanpa harus mengetahui bagaimana
di-implementasi-kan.
• Programmer yang menyusun ADT ini yang akan
pusing memikirkan bagaimana implementasi-nya.

10-9-2022 Struktur Data, @SUARGA 12


ADT memisahkan sifat objek dengan implementasi-nya

10-9-2022 Struktur Data, @SUARGA 13


ADT
• Kategori dari sifat/properti atau fungsi dalam ADT
dapat di-kategorikan menjadi empat bagian/macam
yaitu:
• constructor : menciptakan dan inisialisasi objek
baru
• accessor : melihat isi atau akses data/objek tanpa
mengubahnya
• mutator : mengubah isi atau nilai data field dari
objek ADT
• iterator : mengolah elemen data secara ber-urutan
secara individu
10-9-2022 Struktur Data, @SUARGA 14
Contoh ADT
• Date adalah kelas/objek yang mewakili suatu hari
dalam kalendar Gregorian, dimana hari pertama
dianggap terjadi pada 24-Nopember-4713 SM
(sebelum masehi). Properti dari Date (ADT) adalah
sebagai berikut:
• Date (month, day, year) : menciptakan satu objek date
yang sah menurut penanggalan Gregorian, dimana
tanggal sebelum masehi dinyatakan dengan memiliki
komponen year negatif
• day() : fungsi untuk menyatakan angka Gregorian
untuk hari tersebut
• month() : fungsi untuk menyatakan angka Gregorian
untuk bulan
10-9-2022 Struktur Data, @SUARGA 15
• year() : fungsi untuk menyatakan angka Gregorian untuk
tahun
• monthName() : menyatakan nama dari bulan kalendar
Gregorian
• dayOfWeek() : menyatakan kode nama hari, 0 = senin – 6 =
minggu
• numDays(otherDate) : menyatakan jumlah hari antara hari
ini dengan tangga otherDate
• isLeafYear() : memeriksa apakah tahun ini kabisat atau
bukan, True bila kabisat, False bila bukan kabisat.
• advanceBy(days) : memajukan tanggal sejumlah hari days
yang diberikan
• comparable(otherDate) : membandingkan hari ini dengan
otherDate
• toString() : mengubah tanggal menjadi format string
bulan/hari/tahun
10-9-2022 Struktur Data, @SUARGA 16
• Ketika user/pengguna ADT mau menggunakan
method atau fungsi, maka yang pertama adalah
melakukan inisialisasi (constructor), misalnya:
• tanggal = Date(1, 31, 2014)

• kemudian fungsi/method dari ADT (accessor) dapat


digunakan sebagai berikut:
• tanggal.monthName() # memberikan nama bulan, misal Januari
• tanggal.dayOfWeek() # memberikan kode hari, misal Jum’at
• tanggal.year() # memberikan tahun, misal 2014

• dan sebagai-nya. Perhatikan bagimana fungsi dari


suatu objek digunakan, yaitu fungsi dinyatakan
setelah objek tanggal yang di-ikuti titik.

10-9-2022 Struktur Data, @SUARGA 17


Mengenal Python
• Python adalah bahasa program yang di-klaim oleh
penciptanya sebagai bahasa yang “simple” dan
“powerful”, mudah dipelajari, memiliki struktur data
yang efisien, serta berorientasi objek.
• Pencipta Python adalah Guido van Rossum yang
menamakan bahasa ini berdasarkan nama suatu film
serial TV berjudul “Monty Python’s Flying Circus”,
• jadi nama ini bukan dari “Ular Python”, bahkan Guido
kabarnya tidak menyukai ular python. Namun simbol
yang digunakan oleh para pengguna python adalah
simbol “ular”.

10-9-2022 Struktur Data, @SUARGA 18


Guido van Rossum (born 31 January 1956) is a Dutch computer
programmer who is best known as the author of the Python
programming language. In the Python community, Van Rossum is
known as a "Benevolent Dictator For Life" (BDFL), meaning that he
continues to oversee the Python development process, making
decisions where necessary. He was employed by Google from 2005
until December 7th 2012, where he spent half his time developing the
Python language. In January 2013, Van Rossum started working for
Dropbox. [Wikipedia]

Simbol Python (www.python.org)

10-9-2022 Struktur Data, @SUARGA 19


Menurut Guido, program yang ditulis dalam Python
lebih singkat dari program C/C++ maupun Java
antara lain karena:
• Python memiliki tipe data tingkat tinggi sehingga
suatu operasi yang rumit dapat dilaksanakan
dalam satu statement saja;
• Tanda indicator group seperti begin/end pada
Pascal, atau { } pada C++ dan Java, tidak perlu
pada Python, digantikan hanya oleh “indentation”;
• Variable atau argument tidak perlu di-definisikan
terlebih dahulu sebelum digunakan dengan kata
lain tidak perlu ada deklarasi variabel;

10-9-2022 Struktur Data, @SUARGA 20


• Secara singkat Python memiliki kelebihan berikut
ini:
– Simple, tidak rumit, cukup sederhana
– Easy to learn, mudah dipelajari
– Free and Open Source, gratis bersifat open source
– High-level language, bahasa tingkat tinggi
– Portable / multi-platform, mudah di-install di berbagai
platform
– Interpreted, dapat di-kompilasi dan juga di-interpret
– Object-oriented, berorientasi objek
– Extensible (bisa memanggil prosedur yang ditulis
dalam C/C++
– Embeddable,dapat di-tambahkan ke perangkat lain
– Extensive Libraries, pustaka fungsi-nya sangat besar

10-9-2022 Struktur Data, @SUARGA 21


Instalasi Python
• Instalasi Python dapat di-download dari situs:
http://www.python.org, yang penting diperhatikan
adalah sistem operasi dari komputer dimana Python
akan di-install. Karena file installer berbeda untuk
sistem operasi Windows, OS X, atau versi Linux yang
digunakan.
• Hal selanjutnya adalah versi dari Python, karena versi 2
tidak sesuai dengan versi 3 maka anda harus memilih
dengan tepat versi yang akan digunakan, tentu saja
versi terbaru biasanya lebih lengkap dari versi lama.
File installer untuk komputer dengan sistem operasi
Windows, yang digunakan dalam kuliah ini, nama file-
nya adalah: python-3.10.6.msi.
10-9-2022 Struktur Data, @SUARGA 22
10-9-2022 Struktur Data, @SUARGA 23
• Setelah proses download dari file installer selesai,
maka file tersebut bisa langsung di-click, anda
hanya perlu meng-klik tombol [Next], hingga
muncul-nya tombol [Finish], ketika tombol Finish
di-click berarti instalasi Python telah selesai.
Setelah selesai maka sistem Python bisa dicoba
digunakan.
• Pada OS Windows, klik tombol Start, kemudian klik
“All Programs” dan cari folder “Python3.10”, ketika
diklik, muncul pilihan, pilihlah IDLE(Python GUI),
klik, dan muncul window yang disebut “Python
Shell”, tempat dimana instruksi bisa dimasukkan.
Python Shell adalah “interpreter” dari Pyhon,
instruksi akan langsung di-laksanakan ketika
tombol [Enter] ditekan setelah instruksi.

10-9-2022 Struktur Data, @SUARGA 24


10-9-2022 Struktur Data, @SUARGA 25
Python Shell, ketik instruksi setelah >>> …

10-9-2022 Struktur Data, @SUARGA 26


Editor program di-depan Python Shell, masih kosong

editor program python, didepan shell

10-9-2022 Struktur Data, @SUARGA 27


Editor berisi program “contohWhile.py”

10-9-2022 Struktur Data, @SUARGA 28


RUN ada Error

RUN program
berhasil

10-9-2022 Struktur Data, @SUARGA 29


Beberapa IDE/Editor Python
• Selain Python IDLE, tersedia beberapa editor
program Python yang lain, misalnya:
a.Thonny
b.PyScripter
c.Sublime Text 3
d.Atom
e.Pycharm
f.Visual Studio Code
g.Spyder
h.Online Editor: Programiz
10-9-2022 Struktur Data @SUARGA 30
Thonny

10-9-2022 Struktur Data @SUARGA 31


PyScripter

10-9-2022 Struktur Data @SUARGA 32


Sublime Text 3

10-9-2022 Struktur Data @SUARGA 33


Atom

10-9-2022 Struktur Data @SUARGA 34


PyCharm

10-9-2022 Struktur Data @SUARGA 35


Visual Studio Code

10-9-2022 Struktur Data @SUARGA 36


Spyder

10-9-2022 Struktur Data-1 @SUARGA 37


Online Editor : Programiz.com

10-9-2022 Struktur Data @SUARGA 38


Online Editor: onlinegdb.com

10-9-2022 Struktur Data @SUARGA 39


Struktur Umum Program Python
#komentar tentang program #program utama
import pustaka fungsi def main()
... instruksi utama ...
#pemberian nilai awal
.. .. .. #menjalankan program
# definisi fungsi main()
def fungsi-1:
.. .. instruksi .. ..

def fungsi-2:
.. .. instruksi .. ..

...

10-9-2022 Struktur Data @SUARGA 40


Contoh program python

10-9-2022 Struktur Data-1 @SUARGA 41


Beberapa Pustaka Python
string pustaka untuk proses text os sistem operasi / path
textwrap format text paragraph glob filename pattern matching
re regular expression shutil high level file operation
collections container data types mmap memory map files
array pustaka untuk larik codecs string encoding and decoding
heapq heap sort StringIO text buffers with a file API
struct binary data structures filecmp compare files
time jam, waktu pickle object serialization
datetime penanggalan shelve persistent storage of objects
decimal fixed and floating point anydbm database
fractions rational numbers sqlite3 relational database
random bilangan acak csv comma separated value files
math fungsi matematika gzip GNU zip files
tarfile Tar archive files
zipfile ZIP archive access
hashlib kriptografi

10-9-2022 Struktur Data @SUARGA 42


Basic Python, @Suarga
06/03/2024
43

Cara meng-edit program


1)Aktifkan IDLE
2)click menu : File / New File
3)Window “editor” akan terbuka
4)Ketik program pada editor tersebut
5)Setelah selesai, click menu editor; File / Save,
atau File / SaveAs
6)Ketik nama file program-nya pada jendela
folder (boleh juga cari folder dulu dimana file
akan direkam, kemudian beri nama)
7)click tombol [ Save ]
Basic Python, @Suarga
06/03/2024
44
IDLE aktif

File / New File


Basic Python, @Suarga
06/03/2024
45
Editor Program

File / Save As
Basic Python, @Suarga
06/03/2024
46
Folder untuk merekam file program
Basic Python, @Suarga
06/03/2024
47

Me- RUN program


⚫ Untuk program yang baru saja di-save, langsung
click menu: RUN pada jendela editor
⚫ Untuk program yang sudah direkam pada waktu
sebelumnnya, maka baca (Open) File program
dari folder dimana program di save.
− File / Open
− pilih / click nama program pada folder yang terbuka
− click tombol [Open]
− Program akan di-muat ke window editor
− click menu RUN pada window editor

Anda mungkin juga menyukai