- Nov 2024
-
Local file Local file
-
Adjacent
adjacent berdekatan azza
-
Derajat
ada brpa garis ke titik tsb
-
incident
garis menyentuh suatu titik
-
Simple directed graph
karena searah jadi masih simple
-
gelang
berbentuk gelang,mis V2 kembali ke V2 secara melingkar
-
Graph
kumpulan titik garis
-
-
Local file Local file
-
insertFirst
pake newnode karena build from groundzero
algoritma ini berlaku untuk list kosong attau tidak kosong, why? pikirin ae
-
0..length(l)
harusnya 0..(length(l)-1)
-
getElmt, setElmt
bedakan set dan insert kalo get/set node sudah ada kalo insert from ground zero
-
indexOf
index disini lebih "posisi ke berapa" bukan index spt di array karena ya linked list kan info sama next, sbnrnya gaaada index tapi dibuat2 aja
-
indexOf
sbnrnya di linked list gaada index. tp kalo kita "buat" index virtual bisa memudahkan kita
-
-
cdn-edunex.itb.ac.id cdn-edunex.itb.ac.id
-
Alternative ER NotationsChen, IDE1FX, ...©2024 - Tim Pengajar IF2040 Pemodelan Basis Data23
TRIVIAL, GAMUNGKIN ADA DIUAS HARUSNYA YG BIASA
-
Binary Vs. Non-Binary Relationships
Binary vs. Non-Binary Relationships:
Binary Relationships: Melibatkan dua entities. Beberapa hubungan non-binary dapat dipecah menjadi beberapa binary relationships untuk menangani kasus tertentu. Misalnya, hubungan ternary parents dapat dipecah menjadi father dan mother untuk memungkinkan informasi parsial. Non-Binary Relationships: Melibatkan lebih dari dua entities (n-ary, untuk n > 2) dan digunakan saat hubungan lebih jelas jika beberapa entities berpartisipasi bersama dalam satu hubungan. Contoh: proj_guide.
-
Aggregation
aggregasi disini beda dengan di aljabar relasional dan sql.
jadinya, instructor ini kalo ga pake aggregasi bakal terhubung ke semua relasi di atas, biar ga terlalu banyak panah, dibuat kotak besar satu relasi DAN entity ini di hubungkan ke kotaknya aja. contoh bener di slide bwah
-
condition-defined
berdasarkan kondisi
ook jadi bedanya coondition defined dan user defined, kalo di sql condition defined itu udah di auto assign relasi2nya kalo user defined harus diinput satu2
-
type=“employee
ini condition defined karna ada type lalaili, yg gaada user defined
-
partial
Entity tidak wajib menjadi anggota salah satu lower-level entity sets.
-
total
Entity harus menjadi anggota salah satu lower-level entity sets.
-
Completeness constraint:specifies whether or not anentity in the higher-level entityset must belong to at leastone of the lower-level entitysets within a generalization
Completeness constraint menentukan apakah sebuah entity di higher-level entity set harus menjadi anggota dari salah satu lower-level entity sets.
-
Overlapping
bisa lebih dari satu anggota lowe level entity set
-
Disjoint
hanya bisa menjadi anggota satu lower level entity set
-
onstraint on whether or notentities may belong to morethan one lower-level entity setwithin a single generalizatio
Menentukan apakah entities bisa termasuk dalam lebih dari satu lower-level entity set.
-
ser-define
ditentukan pengguna
-
Constraint on which entities canbe members of a given lower-level entity se
Kendala dalam menentukan apakah entity dapat menjadi anggota lower level entity set (Membership constraint)
-
Generalization
mulainya dari bawah, misal ada attribut permanent pengen dibuat higher levelnya employee
Generalization adalah proses desain bottom-up, di mana kita menggabungkan beberapa entitas dengan fitur yang sama ke dalam entitas tingkat lebih tinggi. Specialization dan generalization adalah kebalikan satu sama lain dan digambarkan dengan simbol yang sama dalam diagram E-R. Hubungan ISA menunjukkan pewarisan dari superclass ke subclass. Contoh: "Employee" dapat memiliki subclass seperti "Permanent" dan "Temporary," serta "Officer," "Teller," atau "Secretary."
jjadi dia mulainya dari sub class dulu instead of higher levelnya?
Betul! Generalization dimulai dari subclass (entitas tingkat lebih rendah) dan menggabungkannya menjadi superclass (entitas tingkat lebih tinggi). Jadi, kita mengidentifikasi fitur yang sama di beberapa subclass dan menyatukannya ke dalam satu entitas umum yang disebut superclass.
-
Specialization
Specialization adalah proses desain top-down di mana kita membagi entitas menjadi subkelompok yang memiliki karakteristik unik. Subkelompok ini menjadi entitas tingkat lebih rendah yang mewarisi semua atribut dari entitas tingkat lebih tinggi, tetapi memiliki atribut atau hubungan tambahan yang khusus. Proses ini digambarkan dengan simbol segitiga bertuliskan "ISA", yang menunjukkan hubungan pewarisan. Contohnya, "Customer" adalah subkelompok dari "Person."
-
The ISA relationship alsoreferred to as superclass-subclass relationship
nama lain is a
-
Attribute inheritance – a lower-level entity set inherits all theattributes and relationshipparticipation of the higher-levelentity set to which it is linked
atribut yang berada di "lower level" mewarisi atribut yang ada di atasnya. Misal employee mewarisi person (jadi ada 1 + 3 atribut)
-
wedesignate subgroupings within anentity set that are distinctivefrom other entities in the set.
dibagi menjadi subgroup pakai ISA, jadi person dibagi jadi employee dan customer
-
-
Local file Local file
-
List tidak kosong
udh pasti gk kosong
-
Dasar (tanpa perlakuan khusus untuk List kosong)
menghitung banyak elemen. kan bakal pake cnt, karna kalo list kosong ya cnt ttp 0
contoh lain, mencari elemen terbesar yang mana. ga bisa pake traversal, karena kalo kosong ya gaada yang terbesar, gaberlaku pada list kosong. jadi kasus kedua, ada perlakukan khusus kalo kosong
contoh lain, kasus rata-rata, pembagi gaboleh nol
-
enis traversa
how to determine kapan kita pake jenis traversal? simply ya emang di coba aja, kalo misal pake dasar ga works try the other way
-
Skema dasar pemrosesan List berkait• Traversal• Pencarian sekuensial (search)
harus paham kapan kita pake traversal atau search
-
-
Local file Local file
-
l: List
sama aja kaya di awal tapi ada tambahan l: List
-
penghapusan elemen
jadi ngubah reference nunjuk dari elemen ke yang pengen di hapus jadi di skipp.
bisa 2 kasus, hapus dan ga dipake lagi di "free" kalo di hapus dan di pake lagi berarti ga di "free"
"free" ini ngehapus memory yak
-
penambahan elemen
jadi ya ganti aja update alamatnya bukan nyisipin satu satu
-
List diacu melalui Address elemen pertamanya (first)
oke tiap node akan ada reference lanjut ke node mana? kalo node pertama gmn?
jadi harus buat kotak node baru lagi bernama First untuk mencatat alamat dari node pertama
-
-
Local file Local file
-
node* Address
kalo di notal "pointer to node"
ok intinya ini pake tag node biar bisa memberi instruksi ke preprocessor membuat struct baru node dengan Address yang beda-beda.
pada umumnya itu typedef Node (cara aksesnya)
cuman karna ini pake tag, instead of mengubah, kita membuat baru dengan address yang bisa beda beda
ini typedef struct node* Address (perhatikan bahwa struct di tulis juga)
-
node
ini tag
tag dan type nya dibedakan (node dan Node) untuk mengatasi strictnya bahasa C dimana tipe tidak bisa di declare setelah operasi lain. dibuatlah jadi tag, im not to sure so ask again ke GPT
-
Node
type
-
p1↑
maksud p1 panah ke atas adalah benda yang ditunjuk p1 jadi p2 (5)
-
sudah dialokasikan 100 elemen makamenggunakan memori sebesar ukuran elemen ×100 meskipun pada suatu waktuhanya 3 elemen yang efektif
jadi node lebih efisien
-
node ×3.
note terdiri atas info (isi elemen) dan dan next (untuk menunjuk ke elemen selanjutnya)
-
Node: “next” mencatat alamat elemen berikutnya
Node ini berbeda dengan array, kalo array yaudah per memory isi elemen. Kalo node bisa butuh 2 memory, 1 untuk elemen dan 1 untuk "menunjuk" ke elemen node selanjutnya
-
- Oct 2024
-
cdn-edunex.itb.ac.id cdn-edunex.itb.ac.id
-
elect '437' as FOO
mysql> SELECT '437' AS FOO;
+-----+
| FOO |
+-----+
| 437 |
+-----+
1 row in set (0.00 sec)
menghasilkan konstan dan dinamakan FOO
-
-
Local file Local file
-
=A ́B/C
ini namanya stack of float.
sebenernya bisa ttp stack of token, tapi ribet, sebelum dioperasikan harus diconvert terus setlah operasi di convert jadi token lagi
tambahan, harusnya kalo angka gaakan ada negatif
-
-
Local file Local file
-
val ← top(s)s.idxTop ← s.idxTop - 1
kebetulan bahwa kita mendefinisikan idxUndefnya -1 jadi auto, kalo pop 0 jadi -1 dan ya udah gausah ada handling khusus
-
statik
bisa dinamis, tapi type stack ada tambahan capacity, jadi kalo dah cukup ya realloc
-
Pemakaian Stack• Pemanggilan prosedur• Perhitungan ekspresi aritmatika• Rekursivitas• Backtracking
Function Calls: Like stacking ingredients when cooking – the last added ingredient is used first.
Recursion: Climbing a mountain – you reach the top and then come back down through the same checkpoints in reverse.
Arithmetic Calculations: Old calculators – they solve operations in the order they were entered, using the last numbers first.
Backtracking: Navigating a maze – if you hit a dead end, you backtrack to the previous path until you find the way out.
-
https://en.wikipedia.org/wiki/File:Tower_of_Hanoi_4.gif
15 langkah mas
-
LIFO (Last In First Out)
elemen yang terakhir dimasukkan ke dalam stack akan menjadi yang pertama dihapus, seperti ketika menumpuk buku, buku terakhir yang ditaruh di atas akan menjadi yang pertama diambil.
-
TOP
penghapusan dan penambahan juga dilakukan dari paling atas
-
TOP
kebalikan queue, penambahan jadinya diatas dan menjadi TOP baru
-
-
Local file Local file
-
Ambil
hapus
-
suksesor dari IdxMaxadalah 0 sehingga idxTail yang baru adalah 0
setelah sama, idx tail jadi 0
-
algoritma penambahanelemen sama dengan alt-1 dan alt-2.
geser satu ke kanan
-
3
seolah olah elemen akhir dan awal berdekatan,
jadi head tail bisa berputar mengelilingi array
-
Harus dilakukan aksi menggeser elemen untuk menciptakan ruangan kosong
harus geser.
pergeseran hanya dilakukan ketika TAIL == IdxMax dan hanya saat ingin tambah elemen lagi
-
semu
penuh setelah penghapusan, ada array yang kosong akibat penghapusan.
ada elemen koosong sebelum head dan tidak setelah tail
-
HEAD bergeser ke kanan
geser index head doang
-
tidak efisien.
karena ada pergeseran elemen
-
geser semua elemen mulai dari idxHead+1 s.d.idxTail, kemudian geser TAIL ke kiri.
trus yaudah geser sebelah kanan head ke kiri
-
ambil nilai elemen HEAD
step 1, ambil HAPUS elemen dari head
-
Kasus khusus (Queue kosong): idxHead dan idxTaildiset = 0
kalo inisialnya queue kosong, asalanya undefined jadi 0 indexnya
-
Jika masih ada tempat: geser TAIL ke kanan
tail digeser ke kenan (di 5) jadi elemen baru punya index 5
-
lustrasi Queue tidak kosong dengan 5 elemen
alt 1, head tidak pernah pindah
-
ika Queue kosong, maka idxHead dan idxTail diset = IDX_UNDEF
agar tidak menunjuk ke elemen tabel manapun
-
enqueue: ElmtQ ✕ Q → Q
nambah ke paling belakang yak
-