Anda di halaman 1dari 66

Samsul Arifin dan Tim

Statistics Department, School of Computer Science, Bina


Nusantara University, Jakarta, 11480, Indonesia
samsul.arifin@binus.edu

Aplikasi Konsep Pewarnaan Graf: Pemodelan


Penjadwalan Ujian Berbasis Algoritma Bitwise
Coloring Menggunakan Python

SEMINAR SEMINAR ALJABAR: KPA WILAYAH BARAT SERI-1


IAIN Syekh Nurjati Cirebon
Sabtu, 24 September 2022
Daftar Isi:
• PENDAHULUAN
– Konsep graf
– Konsep matriks ketetanggaan
– Konsep pewarnaan graf
• METODE
– Algorithm 1: Greedy
– Algorithm 2: Bitwise Graph Coloring
– Algorithm 3: Perbaikan Bitwise Graph Coloring
– Algorithm 4: Convert Dataset into Adjacency Matrix
• HASIL DAN PEMBAHASAN
– Implementasi Penjadwalan pada Dept. TI-Mat-Stat BINUS
– Adjacency Matrix dari dataset TI-Mat-Stat; Output of matrix
forbidden C; Convert Matrix C into a binary; Output of
coloring; Time process
• KESIMPULAN DAN MASALAH TERBUKA
• FAKTA MENARIK DAN REFERENSI
PENDAHULUAN

3
Rujukan utama
What is Graph Theory? (3:13)
Pendahuluan Teori Graf
 Teori Graf mulai dikenal saat matematikawan kebangsaan Swiss, Leonhard Euler,
berhasil mengungkapkan Misteri Jembatan Koningsberg tahun 1736.
 Di kota Koningsberg, Rusia, mengalir sungai Pregel, di sungai terdapat 2 pulau
(daratan) dan diantaranya terdapat jembatan yang menghubungkan pulau-pulau
tersebut, dengan jumlah jembatan sebanyak 7 buah.
 Graf yang merepresentasikan jembatan Konigsberg terdiri dari (lihat gambar):
 Simpul (vertex), menyatakan daratan.
 Sisi (edge), menyatakan jembatan.

6
Pendahuluan Teori Graf

 Graf adalah struktur diskrit yang terdiri dari simpul (vertex) dan sisi
(edge) yang menghubungkan simpul-simpul ini.
 Dengan menggunakan model graf, kita dapat:
 Menentukan apakah mungkin untuk berjalan di semua jalan di kota
tanpa menyusuri jalan dua kali, dan kita dapat menemukan
jumlah warna yang dibutuhkan untuk mewarnai wilayah peta.
Graf dapat digunakan untuk menentukan apakah suatu rangkaian
dapat diimplementasikan pada papan sirkuit planar.
 Membedakan antara dua senyawa kimia dengan rumus molekul
yang sama tetapi struktur yang berbeda menggunakan graf.
 Menentukan apakah dua komputer dihubungkan oleh tautan
komunikasi menggunakan model graf jaringan komputer.
 Memecahkan masalah seperti menemukan jalur terpendek antara
dua kota dalam jaringan transportasi.
 Menggunakan graf untuk menjadwalkan ujian dan menetapkan
saluran ke stasiun televisi.
7
Konsep Graf

Definisi 1
Suatu graf G=(V,E) terdiri dari V, yaitu himpunan simpul (vertex/node)
yang tidak kosong, dan E, yaitu himpunan sisi (edge). Setiap edge
memiliki satu atau dua vertex yang terkait dengannya, yang disebut
titik ujung. Sebuah edge menghubungkan titik-titik ujungnya.

 Graf di mana setiap edge menghubungkan dua vertex berbeda dan


tidak ada dua edge yang menghubungkan pasangan vertex yang
sama disebut graf sederhana.
 Graf yang memiliki banyak edge yang menghubungkan vertex yang
sama disebut multigraf.
 Edge yang menghubungkan vertex ke dirinya sendiri disebut loop.
 Graf yang memiliki loop, dan mungkin edge banyak yang
menghubungkan pasangan vertex yang sama atau vertex ke dirinya
sendiri, disebut graf semu (pseudograph).
 Graf di mana edgenya tidak berarah disebut graf tidak berarah.

8
Contoh: pseudograf

e16
e11 e17 e18
e12
e13 e14
e7 e8 e9 e19 e20
e15
e2 e4 e10

e21
e1 e5 e6

e3

Example :
Multiple edges = e5 and e6 ;
e8, e9 and e10 ;
e13 and e14 ;
e19 and e20.
Loops = e2, e3, e7, e11, e16, e18, e21. 9
Contoh-contoh Graf

10
Konsep Graf
• Sebuah graf didefinisikan sebagai sebuah pasangan
himpunan (vertex) yang tak kosong dan (edge),
dinotasikan dengan:

• Order dari graf adalah banyaknya vertex pada graf


tersebut, dinotasikan .

• Contoh:

11
Jenis Graf
Graf sederhana • Graf berarah
• di mana • di mana
– : himpunan tak – : himpunan tak
kosong dari titik- kosong dari titik-
titik/simpul/vertex titik/simpul/vertex
– : himpunan – : himpunan pasangan
pasangan tak terurut dari vertex-
terurut dari vertex- vertex yang berbeda,
vertex yang berbeda, disebut sisi/edge
disebut sisi/edge

12
Terminologi Dasar

Definisi 1
Dua verteks u dan v pada graf tak berarah G disebut adjacent
(bertetangga) di graf G jika u dan v adalah vertex-vertex ujung dari
suatu edge e dari G. Edge e yang demikian disebut incident
(bersinggungan) dengan vertex-verteks u dan v, dan e dikatakan
menghubungkan u dan v.

Definisi 2
Himpunan semua tetangga dari vertex v dari graf G=(V,E), dinotasikan
dengan N(v), disebut neighborhood dari v. Jika A adalah himpunan
bagian dari V, maka N(A) adalah himpunan dari semua vertex di G
yang bertetangga dengan paling sedikit satu vertex di A.
Jadi, N(A) =

13
Terminologi Dasar

Definisi 3
Derajat suatu vertex pada suatu graf tak berarah adalah jumlah edge
yang bersinggungan dengan vertex tersebut, kecuali loop pada suatu
suatu vertex yang berkontribusi dua kali terhadap derajat vertex
tersebut. Derajat suatu vertex v dinotasikan dengan deg(v).

 Sebuah vertex yang berderajat nol disebut vertex yang terisolasi.


Oleh karena itu, sebuah vertex yang terisolasi tidak bertetangga
dengan sembarang vertex.
 Sebuah vertex adalah pendant jika dan hanya jika memiliki derajat
satu.

14
Terminologi Dasar

Contoh:
Tentukan derajat, tetangga, terisolasi, dan pendant dari vertex pada graf
di bawah ini:
Solusi:
a. deg(a) = 2,
deg(b) = deg(c) = deg(f ) = 4,
deg(d) = 1, deg(e) = 3, dan
deg(g) = 0.

b. The neighborhoods
N(a) = {b, f }, N(b) = {a, c, e, f },
N(c) = {b, d, e, f }, N(d) = {c},
N(e) = {b, c, f }, N( f ) = {a, b, c, e},
and N(g) = ∅.

c. Isolated vertex : g
d. Pendant vertex : d 15
Konsep Bertetangga (Adjacent)
dan Terkait (Incident)

• Vertex dan dikatakan bertetangga jika ada edge yang


menghubungkan antara dan .
• Lebih lanjut, dikatakan bahwa edge terkait dengan
vertex dan

𝑣
𝑒
𝑢

16
Derajat suatu vertex

• Derajat dari vertex adalah banyaknya edge yang


terkait dengan , dinotasikan .

• Contoh:
𝑣5

𝑣6 𝑣4

𝑣1 𝑣2 𝑣3

17
Penyajian Graf

Gambar Daftar ketetanggaan Matriks ketetanggaan

𝑣5 Vertex Vertex tetangga 𝑣1 𝑣2 𝑣3 𝑣4 𝑣5 𝑣 6

( )
0 1 0 0 0 1
𝑣6 𝑣4
1 0 1 0 0 1
0 1 0 1 0 0
𝑣1 𝑣2 𝑣3 0 0 1 0 0 0
0 0 0 0 0 0
1 1 0 0 0 0

18
Daftar Ketetanggaan
• Misalkan diketahui graf .
𝑣5
• Daftar ketetanggaan adalah sebuah
vektor atau himpunan dengan panjang , 𝑣6 𝑣4
di mana setiap elemennya berisi daftar
vertex-vertex yang bertetangga dengan 𝑣1 𝑣2 𝑣3
vertex untuk setiap .
• Dalam implementasi algoritma, daftar
Vertex Vertex tetangga
ketetanggaan itu:
– Berguna ketika kita ingin mengetahui
semua vertex yang bertetangga
dengan salah satu vertex .
– Kurang berguna saat ingin
mengetahui secara cepat apakah
vertex dan bertetangga. Ini karena
kita harus mencari daftar pada baris
dan baris . Untuk itu lebih disukai
menggunakan matriks
ketetanggaan. 19
Adjacency Matrix (3:34)
Matriks Ketetanggaan
• Diketahui graf .
𝑣5
• Matriks ketetanggaan (adjacency matrix)
adalah sebuah matriks di mana 𝑣6 𝑣4

– jika vertex bertetangga dengan vertex


– jika vertex tidak bertetangga dengan 𝑣1 𝑣2 𝑣3

vertex

• Pada graf sederhana, matriks 𝑣 1 𝑣 2 𝑣 3 𝑣 4 𝑣5 𝑣 6

( )
ketetanggaan berupa: 0 1 0 0 0 1
– matriks simetri dan 1 0 1 0 0 1
0 1 0 1 0 0
– diagonal utamanya nol 0 0 1 0 0 0
0 0 0 0 0 0
1 1 0 0 0 0

21
KONSEP PEWARNAAN GRAF

22
Konsep Pewarnaan Graf

Definisi 1
Pewarnaan graf sederhana adalah pemberian warna pada setiap vertex
pada graf sehingga tidak ada dua vertex bertetangga yang diberi warna
yang sama.

Definisi 2
Bilangan kromatik suatu graf adalah
jumlah warna paling sedikit yang
diperlukan untuk mewarnai graf tersebut.
Bilangan kromatik dari graf G dinotasikan
dengan 𝜒(G). (Here 𝜒 is the Greek letter
chi.)

23
Konsep Pewarnaan Graf
• Diketahui graf G. Bagaimana cara mewarnai (melabeli
dengan ) vertex-vertex pada graf G sedemikian hingga
vertex-vertex yang bertetangga berwarna berbeda, lebih
lanjut lagi, banyaknya warna harus seminimal mungkin.

• Secara matematis ditulis:


– Diketahui graf .

• minimal

24
Pewarnaan Graf
Contoh:
Berapakah bilangan kromatik dari graf G dan H yang ditunjukkan pada
Gambar di bawah ini?

𝜒(G)=3

𝜒(H)=4

25
Aplikasi Pewarnaan Graf

Contoh: Menjadwalkan Ujian Akhir


Misalkan ada tujuh ujian akhir yang
dijadwalkan. Misalkan mata kuliah diberi
nomor 1 sampai 7. Misalkan pasangan
mata kuliah berikut memiliki siswa yang
sama:
1 dan 2, 1 dan 3, 1 dan 4, 1 dan 7,
2 dan 3, 2 dan 4, 2 dan 5, 2 dan 7,
3 dan 4, 3 dan 6, 3 dan 7,
4 dan 5, 4 dan 6,
5 dan 6, 5 dan 7, dan
Graf yang mewakili
6 dan 7. penjadwalan ujian akhir.
Bagaimana ujian akhir di universitas dapat
dijadwalkan sehingga tidak ada siswa
memiliki 2 ujian di waktu yang sama?
26
Penjadwalan Ujian Akhir
Solusion:
Karena bilangan kromatik dari graf ini adalah 4, maka diperlukan empat
slot waktu.

27
Contoh Pewarnaan Graf

𝑣5

𝑣6 𝑣4

𝑣1 𝑣2 𝑣3

𝑣5 𝑣5 𝑣5

𝑣6 𝑣4 𝑣6 𝑣4 𝑣6 𝑣4

𝑣1 𝑣2 𝑣3 𝑣1 𝑣2 𝑣3 𝑣1 𝑣2 𝑣3

6 warna 4 warna 3 warna

28
Contoh Pewarnaan Graf

55
𝑣
3
𝑣5
3
𝑣5

6
𝑣6 𝑣4
3
𝑣6 𝑣4
3
𝑣6 𝑣4
4 4 1

𝑣1 𝑣2 𝑣3 𝑣1 𝑣2 𝑣3 𝑣1 𝑣2 𝑣3

1 2 3 1 2 3 1 2 3
6 warna 4 warna 3 warna
. . .

29
Bilangan kromatik
(dibaca: chi(G))
• Bilangan kromatik adalah bilangan terkecil dari
banyaknya warna yang diperlukan untuk mewarnai suatu
graf.
• Pewarnaan yang menggunakan bilangan sebanyak
dikatakan sebagai pewarnaan yang optimal.
3
𝑣5
3
𝑣6 𝑣4 1

𝑣1 𝑣2 𝑣3
1 2 3
3 warna

30
Batas atas
dari bilangan kromatik

Welsh dan powel menemukan teorema sebagai berikut.

• Diketahui graf G dengan vertex-vertexnya diurutkan


sedemikian hingga . Maka berlaku:

31
Batas atas
dari bilangan kromatik
Contoh: 𝑣6

𝑣4 𝑣5

𝑣2 𝑣1 𝑣3

Vertex Derajat
3 (4,1) 1
2 (3,2) 2
2 (3,3) 3
2 (3,4) 3
1 (2,5) 2
0 (1,6) 1

Jadi, .
32
Bilangan Kromatik
Vertex

(5,1) 1

(5,2) 2

(5,3) 3
𝑣1 𝑣2 𝑣3 𝑣4 𝑣5
(5,4) 4

𝑣6 𝑣7 𝑣8 𝑣9 𝑣 10
(5,5) 5 𝜒 (𝐺) ≤ 5
(5,6) 5
𝐺 (5,7) 5

(5,8) 5

(5,9) 5

(5,10) 5

Apakah ?

33
Algoritma Pewarnaan Graf

Algoritma 1. Greedy
1. Misalkan adalah permutasi dari vertex-
vertex di
2. untuk setiap :
, di mana adalah label warna
terkecil yang belum ditandai pada
semua tetangga .

34
Graph Coloring (2:33)
Contoh Algoritma Greedy

1
𝑣6 𝑣6 𝑣6 𝑣6 𝑣6
𝑣5 𝑣5 𝑣5 3 𝑣5 3 1 𝑣5
𝑣4 𝑣4 𝑣4 𝑣4 𝑣4
1 2 1 2 1 2 2 1 2 2 1 2
𝑣2 𝑣1 𝑣3 𝑣2 𝑣1 𝑣3 𝑣2 𝑣1 𝑣3 𝑣2 𝑣1 𝑣3 𝑣2 𝑣1 𝑣3

Vertex Vertex Vertex Vertex Vertex

1 1 1 1 1
2 2 2 2

2 2 2
3 3
1
1

36
Contoh Algoritma Greedy

• Urutan itu sangat menentukan hasil pewarnaannya.


• Contoh: Graf berikut ini memiliki derajat 5 pada setiap
vertexnya.

𝑣1 𝑣2 𝑣3 𝑣4 𝑣5 𝑣1 𝑣2 𝑣3 𝑣4 𝑣5
1 1 1 1 1 Ini perwarnaan yang
optimal karena
banyaknya warna yang
𝑣 6 𝑣 7 𝑣 8 𝑣 9 𝑣 10
2 2 2 2
𝑣 6 𝑣 7 𝑣 8 𝑣 9 𝑣 10
2
dibutuhkan sama
dengan , yaitu 2.

Vertex

1 1 1 1 1 2 2 2 2 2

37
Contoh Algoritma Greedy

• Urutan itu sangat menentukan hasil pewarnaannya.


• Contoh: Graf berikut ini memiliki derajat 5 pada setiap
vertexnya.

𝑣1 𝑣3 𝑣5 𝑣7 𝑣9 𝑣1 𝑣3 𝑣5 𝑣7 𝑣9 Dengan urutan
1 2 3 4 5
vertex yang
seperti ini,
1 2 3 4 5 algoritma greedy
𝑣 2 𝑣 4 𝑣 6 𝑣 8 𝑣 10 𝑣 2 𝑣 4 𝑣 6 𝑣 8 𝑣 10 menghasilkan 5
warna. Ini tidak
Vertex optimal
1 1 2 2 3 3 4 4 5 5

38
Bit dan Byte
• Bit (binary digit). Bit merepresentasikan pernyataan logika, bernilai 0
atau 1.
– Bit pattern: himpunan terurut dari bit-bit
– Contoh: 101011 adalah sebuah bit pattern yang terdiri dari 6 bit.
– Sebuah bit pattern yang terdiri dari bit disebut sebuah -bit
pattern.

• Byte adalah bit pattern dengan panjang yang tetap.


– Misalkan 8-bit bytes, 6-bit bytes, dsb.
– Yang sering dipakai adalah 8-bit.
– Contoh: 00101011

• Bit string adalah barisan dari bit-bit yang berdekatan, biasanya


panjangnya tidak tetap.
– Dalam aplikasi data processing, bit pattern dengan panjang
sesuai dengan variable secara umum disebut sebagai bit string.

39
Operasi Bitwise AND ,
OR , dan shift
(<< left shift, >> right shift)

p q Shift memindahkan bit-bit,


1 1 1 1 << memindahkan ke kiri
1 0 0 1
0 1 0 1
>> memindahkan ke kanan
0 0 0 0

Contoh:
100101011 100101011 000101 << 2
010010111∧ ∨
010010111 = 010100
000000011 110111111
001011 >> 2
= 000010

40
Ingat Kembali
Algoritma Pewarnaan Graf

1. Susun vertex-vertex berdasarkan


derajatnya secara menurun. Misalkan
adalah susunan dari vertex-vertex di
2. untuk setiap :
, di mana adalah label warna
terkecil yang belum ditandai pada
semua tetangga .

41
METODE

42
Algoritma Pewarnaan Graf

Algoritma 1. Greedy
1. Misalkan adalah permutasi dari vertex-
vertex di
2. untuk setiap :
, di mana adalah label warna
terkecil yang belum ditandai pada
semua tetangga .

43
Bitwise Graph Coloring
(Komosko 2015)

Algoritma 2. Bitwise Graph Coloring


1. Input: A[nxn]
2. C = [0] ukuran 1xn
3. topeng = 1 << (n - 1)
4. untuk j = 0 sampai n – 1:
5. untuk i = 0 sampai n – 1:
6. cek = C[i] AND topeng
7. if cek == 0:
8. C[i] = C[i] OR A[j]
9. topeng = topeng >> 1
10. break
11. Output: C

• Advantage: Fast

44
Propose Algorithm
Algoritma 3. Perbaikan dari Bitwise Graph Coloring
1. Input: Matriks ketetanggaan A[nxn]
2. Urutkan A berdasarkan derajatnya secara menurun (baik kolom
maupun baris).
3. Ubah setiap baris di A menjadi sebuah bilangan decimal,
kemudian simpan pada matriks Aint (ukuran: 1xn).
4. C = [0] ukuran 1xn
5. topeng = 1 << (n - 1)
6. untuk i = 0 sampai n – 1:
7. untuk j = 0 sampai n – 1:
8. cek = C[j] AND topeng
9. if cek == 0:
10. C[j] = C[j] OR Aint[i]
11. topeng = topeng >> 1
12. break
13. Output: C

45
Convert Dataset into
Adjacency Matrix (Algorithm)

Algoritma 4. Convert Dataset into Adjacency Matrix


1. Arrange the raw data into two columns, the first column is for the course
id, the second column is for the student id or student name
2. mk = the list containing unique course ids. Also create a separator index
from the data already in the group
3. n = len(mk)
4. adj = zero-matrix of size n x n
5. mk_pisah = list of second column data separated by separator index
6. for i in range(0,n):
7. for j in range(i+1, n):
8. if there exist intersection of mk_pisah[i] and mk_pisah[j]:
9. adj[i,j] = 1
10. adj[j,i] = 1

46
Aplikasi dari Pewarnaan Graf
• Penyusunan jadwal pertemuan
• Penyusunan jadwal taksi
• Pengaturan lampu lalu lintas

47
Penjadwalan Ujian Semester

• Penjadwalan ujian semester adalah salah satu aplikasi


dari pewarnaan graf.
• Dalam hal ini:
– Mata kuliah menjadi vertex
– Jika ada minimal satu mahasiswa yang mengambil
mata kuliah A dan B, maka ada edge yang
menghubungkan vertex A dan titik B.
– Artinya vertex A bertetangga dengan B

48
Convert Dataset into
Adjacency Matrix
• Dataset diperoleh dari petugas BAAK seperti pada tabel
berikut ini.
• Ambil hanya 2 kolom saja, yaitu
Kolom1: course ID, kolom 2: nama student
• Urutkan tabel berdasarkan kolom 1.

Academi
c Semester Course Class section Class Nbr SKS theory SKS Course
program Campus Binusian ID Student ID Official name code Long title peacticum Code Official name

DBCST CSKMG BN12394421 2440115956 NICHOLAS LAVENDO TANERI 2 LANG6027 Indonesian LA06 12845 2 0 LANG6027 NICHOLAS LAVENDO TANERI
Statistical
DBCST CSKMG BN12394421 2440115956 NICHOLAS LAVENDO TANERI 2 STAT6175 methods For LA06 15904 2 0 STAT6175 NICHOLAS LAVENDO TANERI
data science
DBCST CSKMG BN12394421 2440115956 NICHOLAS LAVENDO TANERI 2 COMP6048 Data structures LA06 11413 4 2 COMP6048 NICHOLAS LAVENDO TANERI
DBCST CSKMG BN12394421 2440115956 NICHOLAS LAVENDO TANERI 2 COMP6048 Data structures LA06 11413 4 2 COMP6048 NICHOLAS LAVENDO TANERI
DBCST CSKMG BN12394421 2440115956 NICHOLAS LAVENDO TANERI 2 COMP6048 Data structures TA06 11415 4 2 COMP6048 NICHOLAS LAVENDO TANERI
DBCST CSKMG BN12394421 2440115956 NICHOLAS LAVENDO TANERI 2 MATH6039 Calculus ll LA06 13110 4 0 MATH6039 NICHOLAS LAVENDO TANERI
DBCST CSKMG BN12394421 2440115956 NICHOLAS LAVENDO TANERI 2 MATH6039 Calculus ll LA06 13110 4 0 MATH6039 NICHOLAS LAVENDO TANERI
DBCST CSKMG BN12394421 2440115956 NICHOLAS LAVENDO TANERI 2 EESE2 EESE2 LA06 15039 0 0 EESE2 NICHOLAS LAVENDO TANERI
DBCST CSKMG BN12394421 2440115956 NICHOLAS LAVENDO TANERI 2 COMP6048 Data structures BA06 12302 4 2 COMP6048 NICHOLAS LAVENDO TANERI

DBCST CSKMG BN12394421 2440115956 NICHOLAS LAVENDO TANERI 2 ENGL6129 English savvy LA06 12513 0 0 ENGL6129 NICHOLAS LAVENDO TANERI

49
Bitwise Graph Coloring
untuk Penjadwalan

• Algoritma yang diajukan (Algoritma 3) kemudian diaplikasikan


ke masalah penjadwalan di Binus.
• Matriks ketetanggaan diperoleh dari Algoritma 4.

50
Python

• Operasi bitwise pada python sangatlah mudah


• Menggunakan << untuk left shift dan >> untuk right
shift
• Langsung dituliskan pada bilangan integer

51
HASIL & PEMBAHASAN

52
Implementasi Penjadwalan
pada Dept. TI-Mat-Stat

Academic
program Campus
• Dataset
Binusian ID Student ID Official name Semester Course code Long title Class section Class Nbr SKS theory SKS peacticum

DBCST CSKMG BN12394421 2440115956 NICHOLAS LAVENDO TANERI 2 LANG6027 Indonesian LA06 12845 2 0

Statistical
DBCST CSKMG BN12394421 2440115956 NICHOLAS LAVENDO TANERI 2 STAT6175 methods For data LA06 15904 2 0
science

DBCST CSKMG BN12394421 2440115956 NICHOLAS LAVENDO TANERI 2 COMP6048 Data structures LA06 11413 4 2

DBCST CSKMG BN12394421 2440115956 NICHOLAS LAVENDO TANERI 2 COMP6048 Data structures LA06 11413 4 2

DBCST CSKMG BN12394421 2440115956 NICHOLAS LAVENDO TANERI 2 COMP6048 Data structures TA06 11415 4 2

DBCST CSKMG BN12394421 2440115956 NICHOLAS LAVENDO TANERI 2 MATH6039 Calculus ll LA06 13110 4 0

DBCST CSKMG BN12394421 2440115956 NICHOLAS LAVENDO TANERI 2 MATH6039 Calculus ll LA06 13110 4 0

DBCST CSKMG BN12394421 2440115956 NICHOLAS LAVENDO TANERI 2 EESE2 EESE2 LA06 15039 0 0

DBCST CSKMG BN12394421 2440115956 NICHOLAS LAVENDO TANERI 2 COMP6048 Data structures BA06 12302 4 2

DBCST CSKMG BN12394421 2440115956 NICHOLAS LAVENDO TANERI 2 ENGL6129 English savvy LA06 12513 0 0

Ada 2802 baris, 59 mata kuliah

53
Matriks Ketetanggaan
dari Dataset TI-Mat-Stat
• Menggunakan Algoritma 4, diperoleh matriks ketetanggaan (Adjacency
matrix) berikut dengan 59 baris dan 59 kolom

54
Hasil Matriks C

• c = [287878360632130526L, 396312094275534822L,
484135860426505643L, 562378202004053948L,
575194045616614992L, 576407408675319809L,
571950546240339968L, 408587686408880128L, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]

• Kita lihat yang bilangan tak nolnya saja, perhatikan bahwa


hanya ada 8, yang artinya hanya 8 warna saja yang dibutuhkan

• Lalu kita ubah bilangan-bilangan tak nol tersebut ke dalam biner


agar lebih mudah dibaca.

55
Mengubah Entri-entri Matriks C
Menjadi Bilangan Biner

• Ada 8 baris dan 59 kolom. Baris menunjukkan warna,


kolom menunjukkan vertex atau mata kuliahnya.
• Angka nol menunjukkan warna pada baris itu tersedia
untuk vertex/mata kuliah ke kolom.

56
Hasil pewarnaan graf

57
Waktu proses

• Waktu untuk pewarnaan graf dengan


menggunakan algoritma yang diusulkan
adalah 0,675 detik.
• Dengan proses waktu yang relatif singkat
tersebut, dapat sangat membantu petugas
akademik untuk menentukan jadwal.

58
KESIMPULAN DAN
MASALAH TERBUKA

59
Kesimpulan dan
Masalah Terbuka

Kesimpulan: Masalah terbuka:


• Konsep Bitwise coloring dapat • Bagaimana menghasilkan output berupa
digunakan untuk menjadwalkan ujian variasi jadwal sesuai dengan yang
semester. diinginkan peneliti?
• Dari program tersebut dihasilkan 8 • Kami menduga bahwa jika dapat
slot waktu. dihasilkan permutasi vertex dengan
derajat yang sama, maka masalah kita
• Waktu yang digunakan untuk
dapat diuraikan dan diselesaikan.
menjalankan program ini adalah 0,675
detik.
• Dengan waktu yang singkat ini, hasil
tersebut dapat dijadikan sebagai
bahan pertimbangan bagi petugas
penjadwalan di Binus University dalam
menyusun jadwal ujian semester.
• Hasil dalam penelitian ini juga dapat
digunakan dan dikembangkan di
institusi lain.

60
FUN FACT

61
Jangan Malu/Takut
Untuk Meneliti

• Perhatikan kembali Algoritma 3.


• Algoritma tersebut berisi revisi dari
Algoritma 2, yang kami rasa kurang efisien.
• Dengan diskusi dan deffense yang cukup
lama pada proses peer review, akhirnya
algoritma yang dipropose bisa diterima
dan artikelnya berhasil published.

62
References

• Arifin, S., & Muktyas, I. B. (2021, April). Generate a system of linear equation through
unimodular matrix using Python and Latex. In AIP Conference Proceedings (Vol. 2331,
No. 1, p. 020005). AIP Publishing LLC. doi.org/10.1063/5.0041651
• Arifin, S., Muktyas, I. B., & Sukmawati, K. I. (2021, February). Product of two groups
integers modulo m, n and their factor groups using python. In Journal of Physics:
Conference Series (Vol. 1778, No. 1, p. 012026). IOP Publishing. doi.org/0.1088/1742-
6596/1778/1/012026
• Bustan, A. W., & Salim, M. R. (2019). Penerapan Pewarnaan Graf Menggunakan
Algoritma Welch- Powell Untuk Menentukan Jadwal Bimbingan Mahasiswa. Jurnal
THEOREMS (The Original Research of Mathematics), 4(1), 79-86.
• Chollet, F. (2021). Deep Learning with Python, Second Edition. United States: Manning.
• Firdaus, M. A. (2020). Aplikasi pewarnaan Graf menggunakan Algoritma Welch-
Powell pada penyusunan jadwal mata kuliah prodi matematika UIN Sunan Ampel
Surabaya (Doctoral dissertation, Uin Sunan Ampel Surabaya).
http://digilib.uinsby.ac.id/42168/

63
References

• Gravetter, F. J., & Forzano, L. B. (2012). Research methods for the behavioral sciences
4th edition. Belmont: Cengage Learning.
• Muktyas, I. B. (2010). Program Pewarnaan Graf untuk Pemodelan Penjadwalan Ujian
Semester di Jurusan Matematika Unnes (Doctoral dissertation, Universitas Negeri
Semarang). lib.unnes.ac.id/13117/
• Jioudi, B., Sabir, E., Moutaouakkil, F., & Medromi, H. (2019, November). A Congestion
Game Analysis for Route-Parking Selection with Dynamic Pricing Policies. In
International Symposium on Ubiquitous Networking (pp. 171-181). Springer, Cham.
• Rosen, K. H. (2019). Discrete Mathematics and its Applications, 8th ed. New York, USA:
McGraw-Hill Education, 2019.
• Klotz, W. (2002). Graph coloring algorithms (pp. 1-9). Verlag nicht ermittelbar.
• Komosko, L., Batsyn, M., San Segundo, P., & Pardalos, P. M. (2016). A fast greedy
sequential heuristic for the vertex colouring problem based on bitwise operations.
Journal of Combinatorial Optimization, 31(4), 1665-1677.
• Malkawi, M., Hassan, M. A. H., & Hassan, O. A. H. (2008). A New Exam Scheduling
Algorithm Using Graph Coloring. International Arab Journal of Information
Technology (IA JIT), 5(1). https://iajit.org/PDF/vol.5,no.1/11-68.pdf

64
References

• Muktyas, I. B., Sulistiawati, & Arifin, S. (2021, April). Digital image


encryption algorithm through unimodular matrix and logistic map using Python.
In AIP Conference Proceedings (Vol. 2331, No. 1, p. 020006). AIP Publishing LLC.
doi.org/10.1063/5.0041653
• Oliphant, T. E. (2007). Python for scientific computing. Computing in science &
engineering, 9(3), 10-20. doi.org/10.1109/MCSE.2007.58
• Rahman, B., Arifin, S., & Muktyas, I. B. (2019). All Cyclic Subgroups In Group (ZmxZn,+)
Using Python. Int. J. Sci. Technol. Res., 8, 2282-5.
• Rosen, K. H., & Krithivasan, K. (2012). Discrete mathematics and its applications: With
combinatorics and graph theory. Tata McGraw-Hill Education.
• Widodo, A. (2016). Teori Graf. Universitas Brawijaya Press.
• Xiaoying, S. (2019, October). A greedy approach for TDMA based on matrix
operation. In 2019 International Conference on Cyber-Enabled Distributed
Computing and Knowledge Discovery (CyberC) (pp. 284-287). IEEE.
doi.org/10.1109/CyberC.2019.00055

65
Terima Kasih

Anda mungkin juga menyukai