CII1G3 (Discrete Mathematics, School of Computing, Telkom University)

Course Content
CII1G3 (Discrete Mathematics, School of Computing, Telkom University)
0/1
Teknik Berhitung dalam Matematika Diskrit: Dari Dasar Pencacahan hingga Prinsip Sarang Merpati, Permutasi, Kombinasi, dan Perumumannya
    About Lesson

    Course Identity (Identitas Mata Kuliah)
    Course Name (Nama Mata Kuliah): Discrete Mathematics (Matematika Diskrit).
    Code (Kode): CII1G3.
    Semester/Year (Semester/Tahun): 2/ tahun pertama (2/ first year).
    Credits (SKS): 3 credits (SKS).
    Major Program Studi : Informatics-Undergraduate (S1-Informatika).
    Faculty (Fakultas): School of Computing (Fakultas Informatika).
    Course Profile (Profil Mata Kuliah)
    EN:

    Discrete Mathematics course provides rigorous exposure to discrete structures and their relevant properties for computer science. This course supports the discrete structure materials used in data structure and other relevant foundations in algorithms. There are four main topics in this course, which correspond to four course learning outcomes (CLO), namely:

    CLO 1: relation, function, and recurrence,
    CLO 2: combinatorics,
    CLO 3: graphs and trees, and
    CLO 4: elementary number theory.
    The first topic discusses relation, function, and simple homogenous recurrence relation. The students will learn the definition of relation and function and their representation and mathematical characteristics. In addition, students also learn about recurrence relation, which is later used in the analysis of algorithm. The second topic is about combinatorial mathematics. The students study the basic counting principle, pigeonhole principle, and permutations and combinations, as well as their generalization. Students’ understanding about CLO 1 and CLO 2 materials are comprehensively evaluated using midterm evaluation. The third topic is graphs and trees. In this topic, the students will be exposed to the formal definition of graph, some properties of graphs, and some elementary graph algorithms (shortest path algorithm, graph coloring, and minimum spanning tree construction). Finally, in the last topic, the students will learn elementary number theory, which discusses divisibility, greatest common divisor and least common multiple, as well as their applications, and elementary modular arithmetic. The materials from CLO 3 and CLO 4 are comprehensively evaluated during the exam.

    ID:

    Mata kuliah Matematika Diskret memberikan paparan yang rinci terkait struktur diskret dan sifat-sifatnya yang relevan untuk ilmu komputer. Kuliah ini mendukung materi struktur diskrit yang digunakan pada struktur data dan fondasi relevan lain dalam algoritma. Ada tempat topik utama dalam kuliah ini yang berkaitan dengan empat capaian pembelajaran (course learning outcomes, CLO), yaitu:
    CLO 1: relasi, fungsi, dan rekurensi,
    CLO 2: kombinatorika,
    CLO 3: graf dan pohon, dan
    CLO 4: teori bilangan elementer.
    Topik pertama membahas relasi, fungsi, dan relasi rekurensi homogen sederhana. Mahasiswa mempelajari definisi relasi dan fungsi beserta representasi dan karakteristik matematisnya. Selain itu mahasiswa juga mempelajari relasi rekurensi yang akan digunakan selanjutnya dalam analisis algoritma. Topik kedua terkait matematika kombinatorika. Mahasiswa mempelajari dasar teknik berhitung, prinsip sarang merpati, serta permutasi dan kombinasi beserta perumumannya. Tingkat kepahaman mahasiswa terkait CLO 1 dan CLO 2 akan dievaluasi secara komprehensif pada UTS. Topik ketiga terkait graf dan pohon. Pada topik ini mahasiswa akan mengkaji definisi formal graf, sifat-sifat graf, dan beberapa algoritma graf elementer (pencarian lintasan terpendek, pewarnaan graf, dan konstruksi pohon perentang minimum). Terakhir, pada topik ke empat mahasiswa mengkaji teori bilangan elementer, yang meliputi keterbagian, faktor persekutuan terbesar dan kelipatan persekutuan terkecil beserta aplikasinya, dan aritmetika modular elementer. Materi pada CLO 3 dan CLO 4 diuji secara komprehensif pada UAS.

    Relevance (Relevansi)
    EN: Discrete Mathematics is a mandatory fundamental course in undergraduate informatics major. According to Computer Science ACM Computing Curricula in 2013, around 13% of the course hours in a Computer Science major should be allocated for discrete structure or related subjects. With Mathematical Logic and other discrete structure-related courses, Discrete Mathematics covers almost 12% of the course hours in the undergraduate informatics curriculum. Discrete Mathematics covers 27 topics in ACM Computing Curricula, 89% of which are tier 1 topics, and the rest are classified as tier 2 topics.

    ID: Matematika Diskrit adalah mata kuliah wajib yang fundamental untuk program studi S1 Informatika. Berdasarkan ACM Computing Curricula tahun 2013 untuk bidang Ilmu Komputer, sekitar 13% dari waktu perkuliahan pada program Ilmu Komputer harus dialokasikan untuk kajian struktur diskrit atau yang terkait. Bersama dengan Logika Matematika dan mata kuliah lain yang terkait struktur diskrit, Matematika Diskrit mencakup hampir 12% dari jam perkuliahan pada kurikulum S1 IF. Matematika Diskrit mencakup 27 topik pada ACM Computing Curricula, 89% termasuk dalam kategori tier 1, dan sisanya termasuk dalam tier 2.

    Relationship with Other Courses (Keterkaitan dengan Mata Kuliah Lain)
    EN: Discrete Mathematics is a fundamental mandatory subject in the informatics major. The prerequisite of this subject is:

    Mathematical Logic (first semester, first year).
    Calculus (first semester, first year).
    Introduction to Programming (first semester, first year).
    Discrete Mathematics is a prerequisite of the following subjects:

    Complexity Analysis of Algorithm,
    Theory of Probability,
    Algorithm Strategies, dan
    Introduction to Artificial Intelligence.
    ID: Matematika Disrket adalah mata kuliah fundamental pada program studi S1 Teknik Informatika. Prasyarat dari mata kuliah ini adalah:

    Logika Matematika (semester satu, tahun pertama).
    Kalkulus (semester satu, tahun pertama).
    Pengenalan Pemrograman (semester satu, tahun pertama).
    Matematika Diskret merupakan prasyarat dari mata kuliah berikut:

    Analisis Kompleksitas Algoritma,
    Teori Peluang,
    Strategi Algoritma, dan
    Pengantar Kecerdasan Buatan.
    Program Outcome and Course Learning Outcome (Capaian Program dan Capaian Pembelajaran)
    EN:

    Program Outcome: PO 3:

    The students can apply scientific and mathematical methods to solve engineering problems using informatics and computing principle. (S1 IF)
    The students master theoretical/mathematical concepts for solving information technology problems. (S1 IT)
    Course Learning Outcomes (CLO):

    CLO 1: the students can identify the characteristics of relation, function, and recurrence relation and apply the rigorous technique for solving the mathematical problem about such materials.
    CLO 2: the students can identify elementary combinatorial problems and utilize appropriate mathematical methods for solving such problems.
    CLO 3: the students can identify the characteristics of graphs and trees and demonstrate the process of several algorithms about such structures.
    CLO 4: the students can perform elementary calculation about elementary number theory, such as computing the greatest common divisor, least common multiple, and performing elementary modular arithmetic.
    Each of the CLO is relatively independent to one another. However, some elementary concepts in CLO 1 are used in CLO 2, CLO 3, and CLO 4. Relationship and dependency among course learning outcome can be depicted as follows:

    CLO(EN)

    Some elementary concepts in relation, function, and recurrence are later used in combinatorics, graphs and trees, as well as elementary number theory. The materials in CLO 2 and CLO 3 are independent, although several problems (but not many) in graphs and trees require combinatorial problem-solving. The materials in CLO 4 are relatively unconnected with those in CLO 2 and CLO 3.

    ID:

    Capaian Program (Program Outcome): PO 3:

    Mampu menerapkan sains dan matematika untuk menyelesaikan masalah keteknikan menggunakan prinsip-prinsip computing. (S1 IF)
    Menguasai konsep teoritis sains dan/atau matematika untuk menyelesaikan permasalahan di bidang teknologi informasi. (S1 IT)
    kemampuan menerapkan pengetahuan matematika, ilmu pengetahuan alam, bahasa, teknologi informasi, dan keteknikan untuk mendapatkan pemahaman menyeluruh tentang prinsip-prinsip informatika.
    Capaian Pembelajaran (Course Learning Outcome, CLO):

    CLO 1: mahasiswa memiliki kemampuan dalam mengidentifikasi karakteristik relasi, fungsi, dan relasi rekurensi serta menerapkan teknik baku dalam menyelesaikan masalah-masalah matematika yang terkait dengan hal-hal tersebut.
    CLO 2: mahasiswa memiliki kemampuan dalam mengidentifikasi masalah kombinatorika dasar dan menerapkan metode matematis yang sesuai untuk menyelesaikan masalah-masalah tersebut.
    CLO 3: mahasiswa mampu mengidentifikasi karakteristik graf dan pohon serta mendemonstrasikan algoritma yang terkait dengan struktur-struktur tersebut
    CLO 4: mahasiswa mampu melakukan kalkulasi terkait teori bilangan elementer, seperti: kalkulasi faktor persekutuan terbesar, kelipatan persekutuan terkecil, dan melakukan operasi aritmetika modular elementer.
    Setiap CLO relatif independen satu sama lain. Meskipun begitu, beberapa konsep elementer pada CLO 1 digunakan pada CLO 2, CLO 3, dan CLO 4. Hubungan dan kebergantungan antar capaian pembelejaran digambarkan sebagai berikut:

    CLO(ID)

    Beberapa konsep elementer pada materi relasi, fungsi, dan rekurensi digunakan di kajian kombinatirka, graf dan pohon, serta teori bilangan elementer. Materi pada CLO 2 dan CLO 3 relatif independent, meskipun beberapa (tapi tidak semua) masalah pada graf dan pohon memerlukan penyelesaian masalah kombinatorial. Materi pada CLO 4 relatif tidak terkait dengan materi pada CLO 2 dan CLO 3.

    Weekly Topics (Topik Pokok Bahasan per Pekan)
    EN:

    The four course learning outcomes (CLO) are apportioned into 14 weekly topics as follows:

    Topic 1: Relation 1: Cartesian product, binary relation and its representation (i.e., using matrix and digraph).
    Topic 2: Relation 2: properties of binary relation (reflexivity, irreflexivity, symmetric, antisymmetric, asymmetric, and transitive), relation composition.
    Topic 3: Function: function definition and representation, properties of total function (injectivity, surjectivity, and bijectivity), function composition, inverse function, and floor and ceiling function.
    Topic 4: Recurrence Relation: definition of recurrence relation and its solution, simple problem modeling with a recurrence relation, and general solution of a linear recurrence relation with constant coefficients.
    Topic 5: Basic Counting Techniques: the importance of combinatorics in computer science, the sum rule and its application, product rule and its application, subtraction rule (inclusion-exclusion principle) and its application, and division rule and its application.
    Topic 6: Pigeonhole Principle: definition of the pigeonhole principle, application of pigeonhole principle, solving combinatorial problems with pigeonhole principle and its generalized version.
    Topic 7: Permutation, Combination, and Their Generalizations: permutation and its application, combination and its application, generalized permutation and its application, and generalized combination and its application.
    Topic 8 : Graphs 1: informal and formal definitions of graphs, elementary graphs terminologies (adjacency, neighborhood, degree, and simple graphs), subgraph, spanning subgraph, complement graph, and graph union, and representation of graphs using matrices and lists.
    Topic 9: Graphs 2: graph isomorphism, connectivity in graph, Euler path and circuit, and Hamilton path and circuit.
    Topic 10: Graphs 3: planar graph, Euler formula for planar graph, determining planarity with Kuratowski’s theorem, graph coloring, Welsh-Powell algorithm, and application of graph coloring. Graph 4: shortest path problem, Dijsktra’s algorithm, traveling salesperson problem, and Chinese postman problem.
    Topic 11: Tree 1: definition of tree, forest, and related notions, terminologies in rooted trees, and basic properties of rooted trees.
    Topic 12: Tree 2: definition of spanning tree and minimum spanning tree, Prim’s algorithm, Kruskal algorithm, and applications of trees.
    Topic 13: Number Theory 1: division theorem and its application, prime numbers and related algorithms, integer representation in a particular base.
    Topic 14: Number Theory 2: greatest common divisor and least common multiple, Euclid’s algorithm for finding greatest common divisor, and linear congruence and its solution.
    ID:

    Empat capaian pembelajaran (CLO) dibagi ke dalam 14 topik mingguan sebagai berikut:

    Topik 1: Relasi 1: produk kartesius, relasi biner dan representasinya (dengan matriks dan digraf).
    Topik 2: Relasi 2: sifat-sifat relasi biner (refleksif, irefleksif, simetris, antisimetris, asimetris, dan transitif), dan relasi komposisi.
    Topik 3: Fungsi: definisi dan representasi fungsi, sifat-sifat fungsi total (injektif, surjektif, dan bijektif), komposisi fungsi, fungsi invers, serta fungsi lantai (floor) dan atap (ceiling).
    Topik 4: Relasi Rekurensi: definisi relasi rekurensi dan solusinya, pemodelan sederhana untuk relasi rekurensi, serta solusi umum dari relasi rekurensi linier berkoefisien konstan.
    Topik 5: Teknik Berhitung (Pencacahan) Dasar: relevansi kombinatorika dalam ilmu computer, aturan penjumlahan dan penerapannya, aturan perkalian dan penerapannya, aturan pengurangan (prinsip inklusi-eksklusi) dan penerapannya, serta aturan pembagian dan penerapannya.
    Topik 6: Prinsip Sarang Merpati: definisi prinsip sarang merpati, penerapan prinsip sarang merpati, dan penyelesaian masalah kombinatorika dengan prinsip sarang merpati.
    Topik 7: Permutasi, Kombinasi, dan Generalisasinya: permutasi dan penerapannya, kombinasi dan penerapannya, permutasi yang diperumum dan aplikasinya, serta kombinasi yang diperumum dan aplikasinya.
    Topik 8: Graf 1: definisi informal dan formal dari graf, terminologi elementer pada graf (ketetanggaan, lingkungan, derajat, dan graf sederhana), subgraf, subgraf perentang, graf komplemen, graf gabungan, serta representasi graf dengan matriks dan daftar (list).
    Topik 9: Graf 2: isomorfisma graf, keterhubungan pada graf, lintasan dan sirkuit Euler, serta lintasan dan sirkuit Hamilton.
    Topik 10: Graf 3: graf planar, formula Euler untuk graf planar, penentuan planaritas dengan teorema Kuratowski, pewarnaan graf, algoritma Welsh-Powell, dan aplikasi dari pewarnaan graf. Graf 4: masalah lintasan terpendk, algoritma Dijsktra, masalah pedanganh keliling, dan masalah tukang pos Tiongkok.
    Topik 11: Pohon 1: definisi pohon, hutan, dan hal-hal terkait, terminologi pada pohon berakar, dan sifat-sifat dasar pohon berakar.
    Topik 12: Pohon 2: definisi pohon perentang dan pohon perentang minimum, algoritma Prim, algoritma Kruskal, dan aplikasi pohon.
    Topik 13: Teori Bilangan 1: teorema pembagian dan penerapannya, bilangan prima dan algoritma terkait, serta representasi bilangan bulat dalam basis tertentu.
    Topik 14: Teori Bilangan 2: faktor persekutuan terbesar, kelipatan persekutuan terkecil, algoritma Euclid untuk mencari faktor persekutuan terbesar, serta kongruensi linier dan solusinya.
    Best Practice (Tips and Tricks)
    EN: To complete this course successfully, you need to:

    carefully understand the concept described in slides and relate them to other learning materials (i.e., textbook),
    carefully and seriously complete all quizzes before their deadlines,
    complete and submit assignment (homework) for each CLO,
    actively discuss the materials with your teaching assistant using the forum in CeLOE, and
    ID: Untuk menyelesaikan kuliah ini dengan baik, Anda perlu:

    berhati-hati dalam memahami konsep yang dijelaskan di slide kuliah dan mengaitkannya dengan materi di bahan perkuliahan lainnya (buku teks),
    berhati-hati dan serius dalam mengerjakan kuis sebelum batas waktu yang ditentukan,
    menyelesaikan dan mengumpulkan tugas (PR) yang diberikan untuk setiap CLO, dan
    aktif berdiskusi terkait materi dengan asisten perkuliahan di forum yang disediakan di CeLOE.
    Course References (Referensi Perkuliahan)
    EN:

    Primary references (book): K. H. Rosen, Discrete Mathematics and Its Applications, 8th Edition. McGraw-Hill, 2019.

    Supporting references (books):

    S. S. Epp. Discrete Mathematics with Applications, 5th Edition. Brooks/ Cole Cengage Learning, 2018 (primary supporting reference).
    T. Jenkyns, B. Stephenson. Fundamentals of Discrete Math for Computer Science. Springer, 2013 (exercise and problem-solving reference
    K. L. Bogart, R.L. Drysdale, and C. Stein. Discrete Mathematics for Computer Science. Key College Pub., 2006.
    D. Liben-Nowell. Discrete Mathematics for Computer Science. John Wiley & Sons, 2017.
    R. Munir, Matematika Diskrit (5th edition [revised]), Informatika, 2012 (in Bahasa Indonesia).
    Free electronic book: E. Lehman, T. Leighton, and A. R. Meyer. Mathematics for Computer Science. Lecture notes at MIT, 2017.

    ID: Referensi utama (buku): K. H. Rosen, Discrete Mathematics and Its Applications, 8th Edition. McGraw-Hill, 2019.

    Referensi pendukung (buku):

    S. S. Epp. Discrete Mathematics with Applications, 5th Edition. Brooks/ Cole Cengage Learning, 2018 (referensi pendukung utama).
    T. Jenkyns, B. Stephenson. Fundamentals of Discrete Math for Computer Science. Springer, 2013 (referensi latihan dan penyelesaian masalah).
    K. L. Bogart, R.L. Drysdale, and C. Stein. Discrete Mathematics for Computer Science. Key College Pub., 2006.
    D. Liben-Nowell. Discrete Mathematics for Computer Science. John Wiley & Sons, 2017.
    R. Munir, Matematika Diskrit (5th edition [revised]), Informatika, 2012 (in Bahasa Indonesia).
    Buku elektronik gratis: E. Lehman, T. Leighton, and A. R. Meyer. Mathematics for Computer Science. Lecture notes at MIT, 2017.