Lompat ke isi

Ilmu komputer teoretis: Perbedaan antara revisi

Ensiklopedia Pengetahuan Universitas Islam Sultan Agung
Maintenance script (bicara | kontrib)
Impor teks terkontrol dari Wikipedia bahasa Indonesia; revisi 29440653; atribusi sumber disertakan.
 
Maintenance script (bicara | kontrib)
Presentation V4: sitasi, referensi, Math, Wikimedia Commons, dan atribusi
 
Baris 1: Baris 1:
'''Ilmu komputer teoretis''' ([[Bahasa Inggris|en]]: ''Theoretical computer science,'' TCS) merupakan irisan dari [[ilmu komputer]] umum dan [[Matematika|ilmu matematika]] yang fokus pada teori matematis dari [[ilmu komputer]] yang mencakup [[teori komputasi]], [[Bahasa formal|teori bahasa formal]], [[Kalkulus Lambda|kalkulus lambda]], dan [[Ketik teori|teori tipe]] .
'''Ilmu komputer teoretis''' ([[Bahasa Inggris|en]]: ''Theoretical computer science,'' TCS) merupakan irisan dari [[ilmu komputer]] umum dan [[Matematika|ilmu matematika]] yang fokus pada teori matematis dari [[ilmu komputer]] yang mencakup [[teori komputasi]], [[Bahasa formal|teori bahasa formal]], [[Kalkulus Lambda|kalkulus lambda]], dan [[Ketik teori|teori tipe]] .


Kompleksitas dari istilah "teori/teoretis" membuat penentuan definisi ilmu komputer teoretis sulit. [[SIGAK ACM|Kelompok Minat Khusus Algoritma dan Teori Komputasi]] (''Special Interest Group on Algorithms and Computation Theory,'' SIGACT) dari [[Association for Computing Machinery|ACM]] menjelaskan bahwa ilmu komputer teoretik mencakup ragam topik seperti [[algoritma]], [[struktur data]], kompleksitas komputasi, [[komputasi paralel]] dan [[Komputasi terdistribusi|terdistribusi]], komputasi probabilistik, [[komputasi kuantum]], teori automata, [[teori informasi]], [[kriptografi]], semantik dan verifikasi pemrograman, [[pembelajaran mesin]], [[biologi komputasi]], ekonomi komputasi, [[geometri komputasi]], dan teori bilangan komputasi dan teori aljabar komputasi. Ilmu komputer teoretik dicirikan dengan penggunaan teknik matematika dan kekakuan/ketepatan pembuktian matematis (''mathematical rigour'')
Kompleksitas dari istilah "teori/teoretis" membuat penentuan definisi ilmu komputer teoretis sulit. [[SIGAK ACM|Kelompok Minat Khusus Algoritma dan Teori Komputasi]] (''Special Interest Group on Algorithms and Computation Theory,'' SIGACT) dari [[Association for Computing Machinery|ACM]] menjelaskan bahwa ilmu komputer teoretik mencakup ragam topik seperti [[algoritma]], [[struktur data]], kompleksitas komputasi, [[komputasi paralel]] dan [[Komputasi terdistribusi|terdistribusi]], komputasi probabilistik, [[komputasi kuantum]], teori automata, [[teori informasi]], [[kriptografi]], semantik dan verifikasi pemrograman, [[pembelajaran mesin]], [[biologi komputasi]], ekonomi komputasi, [[geometri komputasi]], dan teori bilangan komputasi dan teori aljabar komputasi. Ilmu komputer teoretik dicirikan dengan penggunaan teknik matematika dan kekakuan/ketepatan pembuktian matematis (''mathematical rigour'')  


== Sejarah ==
== Sejarah ==
Pada tahun 1931, [[Kurt Gödel]] memublikasikan [[Teorema ketaklengkapan Gödel|teorema ketidaklengkapan]] yang membuktikan bahwa terdapat batasan mendasar dalam inferensi logika dan [[pembuktian matematika]], atau dalam kata lain, terdapat keterbatasan logika dan matematika dalam melakukan penyangkalan atau pembuktian matematika.
Pada tahun 1931,<ref>[https://www.quantamagazine.org/how-godels-proof-works-20200714/ How Gödel’s Proof Works]. ''Quanta Magaznie''. 2020-07-20.</ref> [[Kurt Gödel]] memublikasikan [[Teorema ketaklengkapan Gödel|teorema ketidaklengkapan]] yang membuktikan bahwa terdapat batasan mendasar dalam inferensi logika dan [[pembuktian matematika]], atau dalam kata lain, terdapat keterbatasan logika dan matematika dalam melakukan penyangkalan atau pembuktian matematika.<ref>Panu Raatikainen. [https://plato.stanford.edu Stanford Encyclopedia of Philosophy]. Metaphysics Research Lab, Stanford University. 2022.</ref>


Kajian mengenai [[teori informasi]] dimulai kemudian dengan publikasi teori matematika pada proses komunikasi digital pada tahun 1948 oleh [[Claude Shannon]]. Pada dekade yang sama, [[Donald O. Hebb|Donald Hebb]] memperkenalkan model matematis yang menggambarkan proses biologis aktivitas [[Pembelajaran Hebbian|pembelajaran]] di [[otak]] manusia. [[Hipotesis]] Hebb tersebut didukung oleh banyaknya data biologis dari penelitian-penelitian mengenai jaringan syaraf. Dari penelitian-penelitian tersebut, mulai dikenal kajian [[Jaringan syaraf|jaringan saraf tiruan]] dan [[Koneksionisme|pemrosesan terdistribusi paralel]]. Pada tahun 1971, [[Stephen Cook]] dan [[Leonid Levin]] [[Penemuan berganda|secara independen]] membuktikan bahwa terdapat permasalahan matematika yang bersifat [[NP-lengkap|NP-complete]] – sebuah hasil penting dalam kajian [[teori kompleksitas komputasi]].
Kajian mengenai [[teori informasi]] dimulai kemudian dengan publikasi teori matematika pada proses komunikasi digital pada tahun 1948 oleh [[Claude Shannon]].<ref>[https://www.quantamagazine.org/how-claude-shannons-information-theory-invented-the-future-20201222/ How Claude Shannon Invented the Future]. ''Quanta Magazine''. 2020-12-22.</ref><ref>Gerard O'Regan. [http://link.springer.com/10.1007/978-3-319-33138-6 Introduction to the History of Computing]. Springer International Publishing. 2016. doi:10.1007/978-3-319-33138-6. ISBN 978-3-319-33137-9.</ref> Pada dekade yang sama, [[Donald O. Hebb|Donald Hebb]] memperkenalkan model matematis yang menggambarkan proses biologis aktivitas [[Pembelajaran Hebbian|pembelajaran]] di [[otak]] manusia.<ref>Jesse J. Langille. [https://www.frontiersin.org/article/10.3389/fnsys.2018.00052/full The Synaptic Theory of Memory: A Historical Survey and Reconciliation of Recent Opposition]. ''Frontiers in Systems Neuroscience''. 2018-10-26. Vol. 12. doi:10.3389/fnsys.2018.00052.</ref> [[Hipotesis]] Hebb tersebut didukung oleh banyaknya data biologis dari penelitian-penelitian mengenai jaringan syaraf. Dari penelitian-penelitian tersebut, mulai dikenal kajian [[Jaringan syaraf|jaringan saraf tiruan]]<ref>Chuang-Chung Lee. [https://dspace.mit.edu/handle/1721.1/49893 Kinetic modeling of amyloid fibrillation and synaptic plasticity as memory loss and formation mechanisms]. Massachusetts Institute of Technology. 2008.</ref><ref>Themis N. Karaminis. [http://link.springer.com/10.1007/978-1-4419-1428-6_398 Connectionist Theories of Learning]. Springer US. 2012. hlm. 771–774. doi:10.1007/978-1-4419-1428-6_398. ISBN 978-1-4419-1427-9.</ref> dan [[Koneksionisme|pemrosesan terdistribusi paralel]].<ref>Themis N. Karaminis. [http://link.springer.com/10.1007/978-1-4419-1428-6_398 Connectionist Theories of Learning]. Springer US. 2012. hlm. 771–774. doi:10.1007/978-1-4419-1428-6_398. ISBN 978-1-4419-1427-9.</ref> Pada tahun 1971, [[Stephen Cook]]<ref>Stephen A. Cook. [http://portal.acm.org/citation.cfm?doid=800157.805047 The complexity of theorem-proving procedures]. ACM Press. 1971. hlm. 151–158. doi:10.1145/800157.805047.</ref> dan [[Leonid Levin]]<ref>Leonid A. Levin. [https://www.mathnet.ru/php/archive.phtml?wshow=paper&jrnid=ppi&paperid=914&option_lang=eng Universal Sequential Search Problems]. ''Probl. Peredachi Inf''. 1973. Vol. 9 (3). hlm. 265–266.</ref><ref>B.A. Trakhtenbrot. [http://ieeexplore.ieee.org/document/4640789/ A Survey of Russian Approaches to Perebor (Brute-Force Searches) Algorithms]. ''IEEE Annals of the History of Computing''. 1984-10. Vol. 6 (4). hlm. 384–400. doi:10.1109/MAHC.1984.10036.</ref> [[Penemuan berganda|secara independen]]<ref>B.A. Trakhtenbrot. [http://ieeexplore.ieee.org/document/4640789/ A Survey of Russian Approaches to Perebor (Brute-Force Searches) Algorithms]. ''IEEE Annals of the History of Computing''. 1984-10. Vol. 6 (4). hlm. 384–400. doi:10.1109/MAHC.1984.10036.</ref> membuktikan bahwa terdapat permasalahan matematika yang bersifat [[NP-lengkap|NP-complete]] – sebuah hasil penting dalam kajian [[teori kompleksitas komputasi]].


Pada awal abad ke-20, perkembangan pesat kajian [[mekanika kuantum]] memberikan sudut pandang baru dalam pemaknaan kata "komputasi". Kajian teori informasi pada dekade sebelumnya fokus melakukan abstraksi terhadap kondisi realitas untuk mendapatkan informasi secara akurat, dengan mengabaikan bentuk fisik (aliran sinyal listrik pada prosesor, misalnya) dari mesin dan realitas itu sendiri. Kegiatan abstraksi ini bersandar pada prinsip-prinsip [[mekanika klasik]] yang menghasilkan informasi yang bermanfaat untuk kegiatan komunikasi maupun komputasi, contohnya pada [[mesin Turing]].
Pada awal abad ke-20, perkembangan pesat kajian [[mekanika kuantum]] memberikan sudut pandang baru dalam pemaknaan kata "komputasi". Kajian teori informasi pada dekade sebelumnya fokus melakukan abstraksi terhadap kondisi realitas untuk mendapatkan informasi secara akurat, dengan mengabaikan bentuk fisik (aliran sinyal listrik pada prosesor, misalnya) dari mesin dan realitas itu sendiri. Kegiatan abstraksi ini bersandar pada prinsip-prinsip [[mekanika klasik]] yang menghasilkan informasi yang bermanfaat untuk kegiatan komunikasi maupun komputasi, contohnya pada [[mesin Turing]].<ref>Eleanor Rieffel. [https://archive.org/details/quantumcomputing0000rief Quantum computing: a gentle introduction]. The Mit Press. 2014. ISBN 978-0-262-52667-8.</ref>


Pada awal tahun 1980, beberapa peneliti menyadari bahwa prinsip-prinsip mekanika kuantum memiliki implikasi pada perspektif mengenai pemrosesan informasi. Fisikawan [[Richard Feynman|Feynman]], Yuri Manin dan peneliti lain kemudian menemukan bahwa fenomena [[Keterkaitan kuantum|keterkaitan partikel]] tidak dapat disimulasikan dengan baik oleh mesin Turing, yang menggunakan bita 0 dan 1 dalam melakukan komputasi. Menggunakan fenomena ini, peneliti lain mencoba menggeser konsep "komputasi" yang menggunakan dua jenis [[bita]] digital: 0 dan 1, menjadi menggunakan ''[[qubit]]'' yang memiliki lebih dari dua "keadaan" (''state'') atau [[Superposisi kuantum|superposisi]].
Pada awal tahun 1980, beberapa peneliti menyadari bahwa prinsip-prinsip mekanika kuantum memiliki implikasi pada perspektif mengenai pemrosesan informasi.<ref>Eleanor Rieffel. [https://archive.org/details/quantumcomputing0000rief Quantum computing: a gentle introduction]. The Mit Press. 2014. ISBN 978-0-262-52667-8.</ref> Fisikawan [[Richard Feynman|Feynman]], Yuri Manin dan peneliti lain kemudian menemukan bahwa fenomena [[Keterkaitan kuantum|keterkaitan partikel]] tidak dapat disimulasikan dengan baik oleh mesin Turing, yang menggunakan bita 0 dan 1 dalam melakukan komputasi.<ref>Richard Feynman. [https://www.feynmanlectures.caltech.edu/III_01.html The Feynman Lectures]. California Institute of Technology. 2013.</ref> Menggunakan fenomena ini, peneliti lain mencoba menggeser konsep "komputasi" yang menggunakan dua jenis [[bita]] digital: 0 dan 1, menjadi menggunakan ''[[qubit]]'' yang memiliki lebih dari dua "keadaan" (''state'') atau [[Superposisi kuantum|superposisi]].<ref>Eleanor Rieffel. [https://archive.org/details/quantumcomputing0000rief Quantum computing: a gentle introduction]. The Mit Press. 2014. ISBN 978-0-262-52667-8.</ref><ref>[https://digitaltonto.com/2016/the-very-strange-and-fascinating-ideas-behind-quantum-computing/ The Very Strange—And Fascinating— Ideas Behind Quantum Computing Digital Tonto]. ''Digital Tonto''. 2016-07-31.</ref>


Dengan menggunakan komputasi dalam qubit, seseorang dapat melakukan komputasi pada fungsi dengan menggunakan beberapa "keadaan" secara bersamaan. Penemuan-penemuan ini mengangkat kajian terhadap konsep [[Komputasi kuantum|komputer kuantum]] pada paruh kedua abad ke-20. Salah satu kajian pada awal tahun 1990an yang dilakukan oleh [[Peter Shor]] meneliti suatu algoritma untuk memfaktorkan bilangan besar dalam kompleksitas [[Kompleksitas waktu|waktu polinomial]] dengan memanfaatkan prinsip kuantum. Melalui penelusuran lebih lanjut, ditemukan bahwa algoritma ini berpotensi membuat algoritma [[kriptografi kunci publik]] seperti [[RSA]] menjadi tidak aman.
Dengan menggunakan komputasi dalam qubit, seseorang dapat melakukan komputasi pada fungsi dengan menggunakan beberapa "keadaan" secara bersamaan. Penemuan-penemuan ini mengangkat kajian terhadap konsep [[Komputasi kuantum|komputer kuantum]] pada paruh kedua abad ke-20. Salah satu kajian pada awal tahun 1990an yang dilakukan oleh [[Peter Shor]] meneliti suatu algoritma untuk memfaktorkan bilangan besar dalam kompleksitas [[Kompleksitas waktu|waktu polinomial]] dengan memanfaatkan prinsip kuantum.<ref>Peter W. Shor. [http://arxiv.org/abs/quant-ph/9508027 Polynomial-Time Algorithms for Prime Factorization and Discrete Logarithms on a Quantum Computer]. ''SIAM Journal on Computing''. 1997-10. Vol. 26 (5). hlm. 1484–1509. doi:10.1137/S0097539795293172.</ref> Melalui penelusuran lebih lanjut, ditemukan bahwa algoritma ini berpotensi membuat algoritma [[kriptografi kunci publik]] seperti [[RSA]] menjadi tidak aman.<ref>Ben Brubaker. [https://www.quantamagazine.org/thirty-years-later-a-speed-boost-for-quantum-factoring-20231017/ Thirty Years Later, a Speed Boost for Quantum Factoring]. ''Quanta Magazine''. 2023-10-17.</ref>


Kajian riset ilmu komputer teoretis modern didasarkan pada perkembangan-perkembangan dasar yang telah dibahas sebelumnya, namun juga mencakup ragam kajian matematika dan interdisipliner lain, seperti yang ditunjukkan di bawah ini:
Kajian riset ilmu komputer teoretis modern didasarkan pada perkembangan-perkembangan dasar yang telah dibahas sebelumnya, namun juga mencakup ragam kajian matematika dan interdisipliner lain, seperti yang ditunjukkan di bawah ini:
 
{| cellspacing="15" style="border:1px solid #ddd; text-align:center; margin: 0 auto;"
|<math> P \rightarrow Q \,</math>
|
|
|
|
| '''P = NP''' ?
|-
| [[Logika matematika]]
| [[Teori otomata|Teori automata]]
| [[Teori bilangan]]
| [[Teori graf|Teori grafik]]
| [[Teori komputasi]]
| [[Teori kompleksitas komputasi]]
|-
| '''GNITIRW-TERCES'''
| <math>\Gamma\vdash x: \text{Int}</math>
|</img>
|
|
|
|-
| [[Kriptografi]]
| [[Teori tipe]]
| [[Teori kategori]]
| [[Geometri komputasi]]
| [[Optimasi kombinatorial]]
| [[Komputasi kuantum|Teori komputasi kuantum]]
|}


== Topik-topik dalam kajian ilmu komputer teoretik ==
== Topik-topik dalam kajian ilmu komputer teoretik ==
=== Algoritma ===
=== Algoritma ===
Suatu [[algoritma]] adalah langkah atau prosedur komputasi. Algoritma digunakan untuk proses [[penghitungan]], [[Pengolahan data|pemrosesan data]], dan [[penalaran otomatis]].
Suatu [[algoritma]] adalah langkah atau prosedur komputasi. Algoritma digunakan untuk proses [[penghitungan]], [[Pengolahan data|pemrosesan data]], dan [[penalaran otomatis]].


Algoritma adalah [[Metode yang efektif|metode efektif]] berupa daftar [[wiktionary:finite|terbatas]] dari instruksi yang didefinisikan dengan akurat untuk menghitung suatu [[Fungsi (matematika)|fungsi]]. Daftar langkah tersebut dimulai dari keadaan (''state'') awal dan masukan (''input'') awal, atau bisa jadi berisi nilai [[String nol|kosong]]. Rangkaian instruksi pada algoritma menjelaskan langkah-langkah [[komputasi]] yang menghasilkan keadaan (''state'') yang tetap di tiap langkah. Pada akhir algoritma, rangkaian instruksi akan menghasilkan "keluaran" (''output'') dan kemudian berhenti. Peralihan dari satu keadaan ke keadaan berikutnya tidak selalu bersifat [[Determinisme|deterministik]] (memiliki hubungan sebab-akibat yang jelas secara kasat mata). Sebagai contoh, [[algoritma acak]], menambahkan tiap masukan secara acak, sehingga hasil algoritma tidak terlihat deterministik.
Algoritma adalah [[Metode yang efektif|metode efektif]] berupa daftar [[wiktionary:finite|terbatas]] dari instruksi yang didefinisikan dengan akurat untuk menghitung suatu [[Fungsi (matematika)|fungsi]].<ref>Hartley Rogers. [https://archive.org/details/isbn_026268051 Theory of recursive functions and effective computability]. MIT Press. 2002. ISBN 978-0-262-68052-3.</ref> Daftar langkah tersebut dimulai dari keadaan (''state'') awal dan masukan (''input'') awal, atau bisa jadi berisi nilai [[String nol|kosong]].<ref>Donald Ervin Knuth. ''Fundamental algorithms''. Addison-Wesley. 1990. ISBN 978-0-201-03821-7.</ref> Rangkaian instruksi pada algoritma menjelaskan langkah-langkah [[komputasi]] yang menghasilkan keadaan (''state'') yang tetap di tiap langkah. Pada akhir algoritma, rangkaian instruksi akan menghasilkan "keluaran" (''output'')<ref>Donald Ervin Knuth. ''Fundamental algorithms''. Addison-Wesley. 1990. ISBN 978-0-201-03821-7.</ref> dan kemudian berhenti. Peralihan dari satu keadaan ke keadaan berikutnya tidak selalu bersifat [[Determinisme|deterministik]] (memiliki hubungan sebab-akibat yang jelas secara kasat mata). Sebagai contoh, [[algoritma acak]], menambahkan tiap masukan secara acak, sehingga hasil algoritma tidak terlihat deterministik.<ref>Whether or not a process with random interior processes (not including the input) is an algorithm is debatable. Rogers opines that: "a computation is carried out in a discrete stepwise fashion, without the use of continuous methods or analog devices . . . carried forward deterministically, without resort to random methods or devices, e.g., dice" .</ref>


=== Teori automata ===
=== Teori automata ===
[[Teori otomata|Teori automata]] adalah kajian mengenai ''[[mesin abstrak]]'' dan ''[[Automaton|automata]]'', serta pemanfaatan keduanya dalam memecahkan permasalahan. Bidang kajian ini termasuk dalam kajian [[matematika diskrit]] (irisan antara bidang kajian [[matematika]] dan [[ilmu komputer]] ). Kata ''Automata'' berasal dari kata [[Bahasa Yunani|Yunani]] αὐτόματα yang berarti "bertindak sendiri".
[[Teori otomata|Teori automata]] adalah kajian mengenai ''[[mesin abstrak]]'' dan ''[[Automaton|automata]]'', serta pemanfaatan keduanya dalam memecahkan permasalahan. Bidang kajian ini termasuk dalam kajian [[matematika diskrit]] (irisan antara bidang kajian [[matematika]] dan [[ilmu komputer]] ). Kata ''Automata'' berasal dari kata [[Bahasa Yunani|Yunani]] αὐτόματα yang berarti "bertindak sendiri".


Secara ringkas, teori automata membahas mesin (mesin mekanik maupun fungsi matematis) yang meniru sebagian fitur aksi manusia. Mesin-mesin ini melakukan konversi informasi dari bentuk satu ke bentuk yang lain. Sebagai contoh, dalam mesin mekanik dikenal suatu sistem [[pendulum]], yang memiliki keadaan awal (''initial state''), masukan berupa faktor peubah (seperti [[Gaya (fisika)|gaya]]) dan luaran berupa kondisi akhir yang menjadi keadaan awal bagi langkah berikutnya. Dalam matematika, [[Fungsi (matematika)|fungsi]] yang menggambarkan relasi antara dua variabel dapat menghasilkan luaran berbeda tiap kali variabel masukan berubah.  Teori automata mengkaji kelakuan dinamis dari hubungan antara masukan dan luaran dari automaton dan memberikan pembuktian matematis dari tingkah laku dinamis tersebut.
Secara ringkas, teori automata membahas mesin (mesin mekanik maupun fungsi matematis) yang meniru sebagian fitur aksi manusia.<ref>Amar Dar Aziz. [https://cs.stanford.edu/people/eroberts/courses/soco/projects/2004-05/automata-theory/basics.html Basics of Automata Theory]. ''Automata Theory''. Stanford Computer Science Department.</ref> Mesin-mesin ini melakukan konversi informasi dari bentuk satu ke bentuk yang lain. Sebagai contoh, dalam mesin mekanik dikenal suatu sistem [[pendulum]], yang memiliki keadaan awal (''initial state''), masukan berupa faktor peubah (seperti [[Gaya (fisika)|gaya]]) dan luaran berupa kondisi akhir yang menjadi keadaan awal bagi langkah berikutnya.<ref>Bayard Rankin. [https://www.britannica.com/topic/automata-theory Automata theory Finite State Machines, Turing Machines & Algorithms Britannica]. ''Encyclopaedia Britannica''.</ref> Dalam matematika, [[Fungsi (matematika)|fungsi]] yang menggambarkan relasi antara dua variabel dapat menghasilkan luaran berbeda tiap kali variabel masukan berubah.<ref>Amar Dar Aziz. [https://cs.stanford.edu/people/eroberts/courses/soco/projects/2004-05/automata-theory/basics.html Basics of Automata Theory]. ''Automata Theory''. Stanford Computer Science Department.</ref> Teori automata mengkaji kelakuan dinamis dari hubungan antara masukan dan luaran dari automaton dan memberikan pembuktian matematis dari tingkah laku dinamis tersebut.<ref>Michael Sipser. ''Introduction to the theory of computation''. Cengage Learning. 2013. ISBN 978-1-133-18779-0.</ref>


=== Teori pengkodean ===
=== Teori pengkodean ===
[[Teori kode|Teori pengkodean]] mengkaji aspek matematika dari metode (dalam konteks kajian ini disebut sebagai "kode") untuk mengoreksi galat pada transmisi informasi. Kode merepresentasikan data sedemikian rupa sehingga informasi tetap dapat diterima, meskipun ditemukan galat/kesalahan pada data. Sebagai contoh, kode digunakan untuk [[kompresi data]], [[kriptografi]], [[koreksi kesalahan]], dan [[pengkodean jaringan]]. Kode dikaji dalam ragam bidang ilmu—seperti [[teori informasi]], [[Teknik listrik|teknik elektro]], [[matematika]], dan [[ilmu komputer]]—dengan tujuan untuk merancang metode [[transmisi data]] yang efisien dan andal. Hal ini biasanya melibatkan penghapusan redundansi dan koreksi (atau deteksi) kesalahan pada transmisi data.
[[Teori kode|Teori pengkodean]] mengkaji aspek matematika dari metode (dalam konteks kajian ini disebut sebagai "kode") untuk mengoreksi galat pada transmisi informasi. Kode merepresentasikan data sedemikian rupa sehingga informasi tetap dapat diterima, meskipun ditemukan galat/kesalahan pada data.<ref>Eric W. Weisstein. [https://mathworld.wolfram.com/CodingTheory.html Coding Theory]. ''mathworld.wolfram.com''.</ref><ref>Venkatesan Guruswami. [http://www.cse.buffalo.edu/faculty/atri/courses/coding-theory/book/ Essential Coding Theory]. Department of Computer Science and Engineering, University at Buffalo, SUNY. 2023.</ref> Sebagai contoh, kode digunakan untuk [[kompresi data]], [[kriptografi]], [[koreksi kesalahan]], dan [[pengkodean jaringan]]. Kode dikaji dalam ragam bidang ilmu—seperti [[teori informasi]], [[Teknik listrik|teknik elektro]], [[matematika]], dan [[ilmu komputer]]—dengan tujuan untuk merancang metode [[transmisi data]] yang efisien dan andal. Hal ini biasanya melibatkan penghapusan redundansi dan koreksi (atau deteksi) kesalahan pada transmisi data.<ref>J. H. van Lint. [http://link.springer.com/10.1007/978-3-642-58575-3 Introduction to Coding Theory]. Springer Berlin Heidelberg. 1999. Vol. 86. doi:10.1007/978-3-642-58575-3. ISBN 978-3-642-63653-0.</ref>


=== Biologi komputasi ===
=== Biologi komputasi ===
[[Biologi komputasi]] merupakan cabang dari ilmu biologi yang beririsan dengan ilmu komputer yang mengkaji pemahaman serta pemodelan proses dan struktur [[makhluk hidup]]. Biologi komputasi mengembangkan dan menerapkan metode analisis dan teori data biologis, pemodelan matematika dari struktur dan proses biologis dan teknik komputasi simulasi dalam sistem biologis, perilaku, dan sosial. Bidang ini didefinisikan secara luas dan beririsan dengan kajian-kajian dalam ilmu komputer, [[matematika terapan]], [[animasi]], [[Statistika|statistik]], [[biokimia]], [[kimia]], [[biofisika]], [[biologi molekuler]], [[genetika]], [[Genomika|genomik]], [[ekologi]], [[evolusi]], [[anatomi]], [[ilmu saraf]], dan [[Visualisasi ilmiah|visualisasi]].
[[Biologi komputasi]] merupakan cabang dari ilmu biologi yang beririsan dengan ilmu komputer yang mengkaji pemahaman serta pemodelan proses dan struktur [[makhluk hidup]].<ref>David B. Searls. [https://www.britannica.com/science/computational-biology Computational biology Algorithms, Data Analysis & Modeling Britannica]. ''www.britannica.com''.</ref> Biologi komputasi mengembangkan dan menerapkan metode analisis dan teori data biologis, pemodelan matematika dari struktur dan proses biologis dan teknik komputasi simulasi dalam sistem biologis, perilaku, dan sosial. <ref>[http://www.bisti.nih.gov/docs/compubiodef.pdf NIH working definition of bioinformatics and computational biology]. Biomedical Information Science and Technology Initiative. 17 July 2000.</ref> Bidang ini didefinisikan secara luas dan beririsan dengan kajian-kajian dalam ilmu komputer, [[matematika terapan]], [[animasi]], [[Statistika|statistik]], [[biokimia]], [[kimia]], [[biofisika]], [[biologi molekuler]], [[genetika]], [[Genomika|genomik]], [[ekologi]], [[evolusi]], [[anatomi]], [[ilmu saraf]], dan [[Visualisasi ilmiah|visualisasi]].<ref>[http://www.brown.edu/research/projects/computational-molecular-biology/ About the CCMB]. Center for Computational Molecular Biology.</ref>


''Biologi komputasi'' berbeda dengan [[Perhitungan biologis|''komputasi biologi'']], yang merupakan subbidang di bawah kajian ilmu komputer dan [[teknik komputer]] yang memanfaatkan [[Rekayasa hayati|bioteknologi]] dan [[biologi]] untuk membangun sistem [[komputer]]. Namun, kajian biologi komputasi memiliki kemiripan dengan kajian [[bioinformatika]], yaitu ilmu interdisipliner yang mengkaji penyimpanan dan pemrosesan data biologis menggunakan komputer.
''Biologi komputasi'' berbeda dengan [[Perhitungan biologis|''komputasi biologi'']], yang merupakan subbidang di bawah kajian ilmu komputer dan [[teknik komputer]] yang memanfaatkan [[Rekayasa hayati|bioteknologi]] dan [[biologi]] untuk membangun sistem [[komputer]].<ref>David B. Searls. [https://www.britannica.com/science/computational-biology Computational biology Algorithms, Data Analysis & Modeling Britannica]. ''www.britannica.com''.</ref> Namun, kajian biologi komputasi memiliki kemiripan dengan kajian [[bioinformatika]], yaitu ilmu interdisipliner yang mengkaji penyimpanan dan pemrosesan data biologis menggunakan komputer.<ref>David B. Searls. [https://www.britannica.com/science/computational-biology Computational biology Algorithms, Data Analysis & Modeling Britannica]. ''www.britannica.com''.</ref>


=== Teori kompleksitas komputasi ===
=== Teori kompleksitas komputasi ===
[[Teori kompleksitas komputasi]] adalah bagian dari kajian [[teori komputasi]] mengenai pengelompokkan [[persoalan komputasi|masalah komputasi]] sesuai tingkat kompleksitas komputasinya, dan membahas hubungan antar tingkatan kompleksitas tersebut satu sama lain. Dalam kajian ini, yang dimaksud dengan masalah komputasi adalah tugas yang pada prinsipnya dapat diselesaikan oleh komputer. Masalah komputasi tersebut dapat diartikan juga sebagai masalah yang dapat diselesaikan dengan penerapan langkah-langkah matematika secara terstruktur, seperti dengan menggunakan solusi [[algoritma]] tertentu.
[[Teori kompleksitas komputasi]] adalah bagian dari kajian [[teori komputasi]] mengenai pengelompokkan [[persoalan komputasi|masalah komputasi]] sesuai tingkat kompleksitas komputasinya, dan membahas hubungan antar tingkatan kompleksitas tersebut satu sama lain.<ref>Walter Dean. [https://plato.stanford.edu/archives/fall2021/entries/computational-complexity/ Computational Complexity Theory]. Metaphysics Research Lab, Stanford University. 2021.</ref> Dalam kajian ini, yang dimaksud dengan masalah komputasi adalah tugas yang pada prinsipnya dapat diselesaikan oleh komputer.<ref>Sanjeev Arora. ''Computational complexity: A Modern Approach''. Cambridge University Press. 2016. ISBN 978-0-521-42426-4.</ref> Masalah komputasi tersebut dapat diartikan juga sebagai masalah yang dapat diselesaikan dengan penerapan langkah-langkah matematika secara terstruktur, seperti dengan menggunakan solusi [[algoritma]] tertentu.


Suatu masalah komputasi dianggap kompleks/sulit bila pencarian solusi membutuhkan sumber daya komputasi yang besar dalam menjalankan algoritma yang diberikan (penggunaan ruang pada penyimpanan, atau penggunaan memori maupun [[Unit Pemroses Sentral|prosesor]] atau prosesor grafik). Kajian teori kompleksitas komputasi menelusuri pola-pola masalah-masalah komputasi secara matematika, dan kemudian menyusun [[model komputasi]] matematis untuk mempelajari masalah-masalah ini. Model komputasi tersebut juga menghitung jumlah sumber daya yang dibutuhkan untuk pencarian solusi, seperti waktu proses dan ruang penyimpanan.
Suatu masalah komputasi dianggap kompleks/sulit bila pencarian solusi membutuhkan sumber daya komputasi yang besar dalam menjalankan algoritma yang diberikan (penggunaan ruang pada penyimpanan, atau penggunaan memori maupun [[Unit Pemroses Sentral|prosesor]] atau prosesor grafik).<ref>Lesile Ann Goldberg. [https://www.seh.ox.ac.uk/blog/an-introduction-to-research-in-computational-complexity-theory Computational Complexity Theory: An introduction]. ''Research - St. Edmund Hall - University of Oxford''. 2019.</ref> Kajian teori kompleksitas komputasi menelusuri pola-pola masalah-masalah komputasi secara matematika, dan kemudian menyusun [[model komputasi]] matematis untuk mempelajari masalah-masalah ini.<ref>Lesile Ann Goldberg. [https://www.seh.ox.ac.uk/blog/an-introduction-to-research-in-computational-complexity-theory Computational Complexity Theory: An introduction]. ''Research - St. Edmund Hall - University of Oxford''. 2019.</ref> Model komputasi tersebut juga menghitung jumlah sumber daya yang dibutuhkan untuk pencarian solusi, seperti waktu proses dan ruang penyimpanan.


Teori kompleksitas komputasi juga mengkaji ukuran-ukuran [[kompleksitas]] lainnya, seperti jumlah komunikasi (digunakan dalam kajian [[kompleksitas komunikasi]]), jumlah [[Gerbang logika|gerbang]] dalam suatu rangkaian digital (digunakan dalam kajian [[Kompleksitas sirkuit|kompleksitas rangkaian]]) dan jumlah unit prosesor yang bekerja (digunakan dalam kajian [[komputasi paralel]]). Salah satu peran teori kompleksitas komputasi adalah untuk menentukan batasan praktis tentang apa yang dapat dan tidak dapat dilakukan oleh [[komputer]].
Teori kompleksitas komputasi juga mengkaji ukuran-ukuran [[kompleksitas]] lainnya, seperti jumlah komunikasi (digunakan dalam kajian [[kompleksitas komunikasi]]),<ref>Mark Braverman. [https://ems.press/doi/10.4171/icm2022/208 Communication and information complexity]. 2023-12-15. hlm. 284–320. doi:10.4171/icm2022/208.</ref> jumlah [[Gerbang logika|gerbang]] dalam suatu rangkaian digital (digunakan dalam kajian [[Kompleksitas sirkuit|kompleksitas rangkaian]])<ref>John E. Savage. [https://cs.brown.edu/people/jsavage/book/pdfs/ModelsOfComputation_Chapter9.pdf Models of computation: exploring the power of computing]. Addison-Wesley. 2003. ISBN 978-0-201-89539-1.</ref> dan jumlah unit prosesor yang bekerja (digunakan dalam kajian [[komputasi paralel]]).<ref>James C. Wylie. [https://ecommons.cornell.edu/items/34f900d5-6e40-4ba4-a8e0-d571d0bce314 The Complexity of Parallel Computations]. Cornell University. 1979.</ref><ref>Martin Fürer. [https://link.springer.com/10.1007/978-0-387-74759-0_498 Parallel Computing: Complexity Classes]. Springer US. 2008. hlm. 2900–2903. doi:10.1007/978-0-387-74759-0_498. ISBN 978-0-387-74758-3.</ref> Salah satu peran teori kompleksitas komputasi adalah untuk menentukan batasan praktis tentang apa yang dapat dan tidak dapat dilakukan oleh [[komputer]].


=== Geometri komputasi ===
=== Geometri komputasi ===
[[Geometri komputasi]] adalah cabang ilmu komputer yang mengkaji secara sistematis algoritma dan struktur data yang digunakan pada objek-objek geometri, dengan fokus untuk menemukan algoritma yang dapat dengan cepat menyelesaikan masalah-masalah geometris. Beberapa masalah dalam kajian geometri murni juga ditemukan dan dapat dipecahkan melalui studi algoritma geometri komputasi.
[[Geometri komputasi]] adalah cabang ilmu komputer yang mengkaji secara sistematis algoritma dan struktur data yang digunakan pada objek-objek geometri, dengan fokus untuk menemukan algoritma yang dapat dengan cepat menyelesaikan masalah-masalah geometris.<ref>Mark de Berg. ''Computational Geometry: Algorithms and Applications''. Springer-Verlag Berlin Heidelberg. 2008. ISBN 978-3-540-77974-2.</ref> Beberapa masalah dalam kajian geometri murni juga ditemukan dan dapat dipecahkan melalui studi algoritma geometri komputasi.


Kajian geometri komputasi sebagai disiplin ilmu bermula dari perkembangan kajian [[grafika komputer]] serta [[CAD|desain]] dan [[Manufaktur tertunjang komputer|manufaktur]] berbantuan komputer (''computer-aided design/''CAD, ''computer-aided manufacturing/''CAM). Seiring dengan perkembangan kajian geometri komputasi, banyak masalah geometri klasik dibahas melalui perspektif geometri komputasi seperti topologi, geometri konveks, dan geometri [[polihedron]].
Kajian geometri komputasi sebagai disiplin ilmu bermula dari perkembangan kajian [[grafika komputer]] serta [[CAD|desain]] dan [[Manufaktur tertunjang komputer|manufaktur]] berbantuan komputer (''computer-aided design/''CAD, ''computer-aided manufacturing/''CAM).<ref>Mark de Berg. ''Computational Geometry: Algorithms and Applications''. Springer-Verlag Berlin Heidelberg. 2008. ISBN 978-3-540-77974-2.</ref> Seiring dengan perkembangan kajian geometri komputasi, banyak masalah geometri klasik dibahas melalui perspektif geometri komputasi seperti topologi, geometri konveks, dan geometri [[polihedron]].<ref>''Handbook of discrete and computational geometry''. CRC Press, Taylor & Francis Group, a Chapman & Hall book. 2018. ISBN 978-1-4987-1139-5.</ref>


Penerapan algoritma hasil kajian geometri komputasi dimanfaatkan dalam ragam bidang, termasuk [[robotika]] (perencanaan gerak dan masalah visibilitas), [[sistem informasi geografis]] (''Geographical Information System/''GIS; lokasi dan pencarian geometris, perencanaan rute), desain [[sirkuit terpadu]] (''integrated circuit/IC''; desain dan verifikasi geometri IC), [[CAE|teknik berbantuan komputer]] (''Computer-aided Engineering/''CAE; generasi jaring), [[visi komputer]] (rekonstruksi 3D).
Penerapan algoritma hasil kajian geometri komputasi dimanfaatkan dalam ragam bidang, termasuk [[robotika]] (perencanaan gerak dan masalah visibilitas),<ref>Mark de Berg. ''Computational Geometry: Algorithms and Applications''. Springer-Verlag Berlin Heidelberg. 2008. ISBN 978-3-540-77974-2.</ref> [[sistem informasi geografis]] (''Geographical Information System/''GIS; lokasi dan pencarian geometris, perencanaan rute),<ref>[https://www.computersciencedegreehub.com/faq/what-is-computational-geometry/ What is Computational Geometry?]. ''Computer Science Degree Hub''.</ref><ref>Mark de Berg. ''Computational Geometry: Algorithms and Applications''. Springer-Verlag Berlin Heidelberg. 2008. ISBN 978-3-540-77974-2.</ref> desain [[sirkuit terpadu]] (''integrated circuit/IC''; desain dan verifikasi geometri IC),<ref>Mark de Berg. ''Computational Geometry: Algorithms and Applications''. Springer-Verlag Berlin Heidelberg. 2008. ISBN 978-3-540-77974-2.</ref> [[CAE|teknik berbantuan komputer]] (''Computer-aided Engineering/''CAE; generasi jaring),<ref>''Handbook of discrete and computational geometry''. CRC Press, Taylor & Francis Group, a Chapman & Hall book. 2018. ISBN 978-1-4987-1139-5.</ref> [[visi komputer]] (rekonstruksi 3D).<ref>Mark de Berg. ''Computational Geometry: Algorithms and Applications''. Springer-Verlag Berlin Heidelberg. 2008. ISBN 978-3-540-77974-2.</ref><ref>''Handbook of discrete and computational geometry''. CRC Press, Taylor & Francis Group, a Chapman & Hall book. 2018. ISBN 978-1-4987-1139-5.</ref>


=== Teori komputasi pembelajaran ===
=== Teori komputasi pembelajaran ===
Teori komputasi pembelajaran mengkaji proses [[kognisi]] secara matematis, memberikan penjelasan menggunakan nalar matematika yang kaku (''rigor'') mengenai bagaimana proses pembelajaran terjadi. Teori ini mengambil fokus dalam [[Pemelajaran terarah|pembelajaran terarah]] (''supervised learning'') dalam konteks pembelajaran mesin.
Teori komputasi pembelajaran mengkaji proses [[kognisi]] secara matematis,<ref>Martin Anthony. [https://archive.org/details/computationallea00anth Computational learning theory: an introduction]. Cambridge Univ. Press. 1997. ISBN 978-0-521-41603-0.</ref> memberikan penjelasan menggunakan nalar matematika yang kaku (''rigor'') mengenai bagaimana proses pembelajaran terjadi.<ref>Dana Angluin. [http://portal.acm.org/citation.cfm?doid=129712.129746 Computational learning theory: survey and selected bibliography]. ACM Press. 1992. hlm. 351–369. doi:10.1145/129712.129746. ISBN 978-0-89791-511-3.</ref> Teori ini mengambil fokus dalam [[Pemelajaran terarah|pembelajaran terarah]] (''supervised learning'') dalam konteks pembelajaran mesin. <ref>Jason Brownlee. [https://machinelearningmastery.com/introduction-to-computational-learning-theory/ A Gentle Introduction to Computational Learning Theory]. ''Machine Learning Mastery''. 2020-09-07.</ref>


Dalam pembelajaran terarah, suatu algoritma diberikan sampel-sampel yang telah diberi label untuk belajar/berlatih dengan sampel-sampel berlabel tersebut. Sebagai contoh, tupel pada sampel jamur berisi data-data deskriptif ragam spesies jamur, dan labelnya bisa berupa apakah jamur-jamur tersebut dapat dimakan atau tidak. Algoritma yang akan dilatih mengambil sampel yang telah dilabeli terlebih dahulu dan membuat suatu fungsi klasifikasi yang mempelajari secara induksi pola-pola relasi antara label jamur dan sampel data jamur.
Dalam pembelajaran terarah, suatu algoritma diberikan sampel-sampel yang telah diberi label untuk belajar/berlatih dengan sampel-sampel berlabel tersebut. Sebagai contoh, tupel pada sampel jamur berisi data-data deskriptif ragam spesies jamur, dan labelnya bisa berupa apakah jamur-jamur tersebut dapat dimakan atau tidak. Algoritma yang akan dilatih mengambil sampel yang telah dilabeli terlebih dahulu dan membuat suatu fungsi klasifikasi yang mempelajari secara induksi pola-pola relasi antara label jamur dan sampel data jamur.
Baris 58: Baris 85:
Kemudian, fungsi klasifikasi memberikan label pada sampel uji ataupun sampel baru yang belum diproses melalui algoritma tersebut. Dari hasil pelabelan sampel uji, akan dilakukan perbandingan dengan sampel latih dan dilihat keakuratan prediksi fungsi klasifikasi dalam mengklasifikasikan jamur yang bisa dimakan dan tidak bisa dimakan.
Kemudian, fungsi klasifikasi memberikan label pada sampel uji ataupun sampel baru yang belum diproses melalui algoritma tersebut. Dari hasil pelabelan sampel uji, akan dilakukan perbandingan dengan sampel latih dan dilihat keakuratan prediksi fungsi klasifikasi dalam mengklasifikasikan jamur yang bisa dimakan dan tidak bisa dimakan.


Teori komputasi pembelajaran fokus dalam melakukan analisis formal matematis terhadap keakuratan fungsi klasifikasi dalam contoh. Pada contoh sebelumnya, analisis keakuratan tergolong mudah, karena label bersifat biner (bisa dimakan/1 dan tidak bisa dimakan/0). Teori komputasi pembelajaran juga melakukan eksplorasi formal matematis terhadap ragam bentuk klasifikasi lain, yang terbukti sangat sulit dilakukan.
Teori komputasi pembelajaran fokus dalam melakukan analisis formal matematis terhadap keakuratan fungsi klasifikasi dalam contoh. Pada contoh sebelumnya, analisis keakuratan tergolong mudah, karena label bersifat biner (bisa dimakan/1 dan tidak bisa dimakan/0).<ref>Jason Brownlee. [https://machinelearningmastery.com/introduction-to-computational-learning-theory/ A Gentle Introduction to Computational Learning Theory]. ''Machine Learning Mastery''. 2020-09-07.</ref> Teori komputasi pembelajaran juga melakukan eksplorasi formal matematis terhadap ragam bentuk klasifikasi lain, yang terbukti sangat sulit dilakukan.<ref>Stuart J. Russell. ''Artificial intelligence: a modern approach''. Pearson. 2021. ISBN 978-0-13-461099-3.</ref>


=== Teori komputasi bilangan ===
=== Teori komputasi bilangan ===
Teori komputasi bilangan adalah irisan dari ilmu komputer dan [[teori bilangan]], dengan tujuan mengkaji permasalahan dalam teori bilangan dari sudut pandang ilmu komputer, dan mencari algoritma yang efisien untuk memecahkan masalah-masalah tersebut.  Permasalahan-permasalahan bilangan yang dibahas dalam teori bilangan komputasi umumnya melibatkan [[bilangan bulat]] (''integer'') yang berukuran terlalu besar untuk ditampung atau diproses dalam komputer dengan prosesor 32 maupun 64 bita.
Teori komputasi bilangan adalah irisan dari ilmu komputer dan [[teori bilangan]], dengan tujuan mengkaji permasalahan dalam teori bilangan dari sudut pandang ilmu komputer, dan mencari algoritma yang efisien untuk memecahkan masalah-masalah tersebut.<ref>Eric W. Weisstein. [https://mathworld.wolfram.com/ Computational Number Theory]. ''mathworld.wolfram.com''.</ref> Permasalahan-permasalahan bilangan yang dibahas dalam teori bilangan komputasi umumnya melibatkan [[bilangan bulat]] (''integer'') yang berukuran terlalu besar untuk ditampung atau diproses dalam komputer dengan prosesor 32 maupun 64 bita.<ref>Samuel S. Wagstaff, Jr. [https://dl.acm.org/doi/book/10.5555/1882757 Algorithms and theory of computation handbook. 1: General concepts and techniques]. Chapman & Hall. 2010. ISBN 978-1-58488-822-2.</ref>


Topik-topik yang dibahas dalam kajian teori bilangan komputas contohnya adalah [[faktorisasi prima]], [[Kongruen|bilangan kongruen]], uji primalitas bilangan. Karena berhubungan dengan bilangan prima, kajian ini memiliki aplikasi, salah satunya, dalam bidang [[kriptografi]] dan [[Analisis kriptografi|kriptoanalisis]].
Topik-topik yang dibahas dalam kajian teori bilangan komputas contohnya adalah [[faktorisasi prima]],<ref>Eric W. Weisstein. [https://mathworld.wolfram.com/ Computational Number Theory]. ''mathworld.wolfram.com''.</ref><ref>Samuel S. Wagstaff, Jr. [https://dl.acm.org/doi/book/10.5555/1882757 Algorithms and theory of computation handbook. 1: General concepts and techniques]. Chapman & Hall. 2010. ISBN 978-1-58488-822-2.</ref> [[Kongruen|bilangan kongruen]],<ref>Eric W. Weisstein. [https://mathworld.wolfram.com/ Computational Number Theory]. ''mathworld.wolfram.com''.</ref> uji primalitas bilangan.<ref>Samuel S. Wagstaff, Jr. [https://dl.acm.org/doi/book/10.5555/1882757 Algorithms and theory of computation handbook. 1: General concepts and techniques]. Chapman & Hall. 2010. ISBN 978-1-58488-822-2.</ref> Karena berhubungan dengan bilangan prima, kajian ini memiliki aplikasi, salah satunya, dalam bidang [[kriptografi]] dan [[Analisis kriptografi|kriptoanalisis]].<ref>Abhijit Das. ''Computational number theory''. CRC Press, Taylor & Francis. 2013. ISBN 978-1-4398-6615-3.</ref>


== Catatan ==
== Catatan ==


== Referensi ==
== Referensi ==
 
<references />
 


== Sumber dan atribusi ==
== Sumber dan atribusi ==


Konten artikel ini diadaptasi dari [https://id.wikipedia.org/w/index.php?title=Ilmu+komputer+teoretis&oldid=29440653 Wikipedia bahasa Indonesia], revisi 29440653 (2026-07-10T15:33:48Z), yang tersedia berdasarkan lisensi Creative Commons Atribusi-BerbagiSerupa (CC BY-SA). Mohon gunakan konten ini secara bijak serta sesuai dengan ketentuan lisensi yang berlaku.
Konten artikel ini diadaptasi dari [https://id.wikipedia.org/w/index.php?title=Ilmu+komputer+teoretis&oldid=29440653 Wikipedia bahasa Indonesia], revisi 29440653 (2026-07-10T15:33:48Z), yang tersedia berdasarkan lisensi Creative Commons Atribusi-BerbagiSerupa (CC BY-SA). Mohon gunakan konten ini secara bijak serta sesuai dengan ketentuan lisensi yang berlaku.
<!-- WIKI_UNISSULA_PRESENTATION_V4 -->

Revisi terkini sejak 23 Agustus 2026 04.15

Ilmu komputer teoretis (en: Theoretical computer science, TCS) merupakan irisan dari ilmu komputer umum dan ilmu matematika yang fokus pada teori matematis dari ilmu komputer yang mencakup teori komputasi, teori bahasa formal, kalkulus lambda, dan teori tipe .

Kompleksitas dari istilah "teori/teoretis" membuat penentuan definisi ilmu komputer teoretis sulit. Kelompok Minat Khusus Algoritma dan Teori Komputasi (Special Interest Group on Algorithms and Computation Theory, SIGACT) dari ACM menjelaskan bahwa ilmu komputer teoretik mencakup ragam topik seperti algoritma, struktur data, kompleksitas komputasi, komputasi paralel dan terdistribusi, komputasi probabilistik, komputasi kuantum, teori automata, teori informasi, kriptografi, semantik dan verifikasi pemrograman, pembelajaran mesin, biologi komputasi, ekonomi komputasi, geometri komputasi, dan teori bilangan komputasi dan teori aljabar komputasi. Ilmu komputer teoretik dicirikan dengan penggunaan teknik matematika dan kekakuan/ketepatan pembuktian matematis (mathematical rigour)

Sejarah

Pada tahun 1931,[1] Kurt Gödel memublikasikan teorema ketidaklengkapan yang membuktikan bahwa terdapat batasan mendasar dalam inferensi logika dan pembuktian matematika, atau dalam kata lain, terdapat keterbatasan logika dan matematika dalam melakukan penyangkalan atau pembuktian matematika.[2]

Kajian mengenai teori informasi dimulai kemudian dengan publikasi teori matematika pada proses komunikasi digital pada tahun 1948 oleh Claude Shannon.[3][4] Pada dekade yang sama, Donald Hebb memperkenalkan model matematis yang menggambarkan proses biologis aktivitas pembelajaran di otak manusia.[5] Hipotesis Hebb tersebut didukung oleh banyaknya data biologis dari penelitian-penelitian mengenai jaringan syaraf. Dari penelitian-penelitian tersebut, mulai dikenal kajian jaringan saraf tiruan[6][7] dan pemrosesan terdistribusi paralel.[8] Pada tahun 1971, Stephen Cook[9] dan Leonid Levin[10][11] secara independen[12] membuktikan bahwa terdapat permasalahan matematika yang bersifat NP-complete – sebuah hasil penting dalam kajian teori kompleksitas komputasi.

Pada awal abad ke-20, perkembangan pesat kajian mekanika kuantum memberikan sudut pandang baru dalam pemaknaan kata "komputasi". Kajian teori informasi pada dekade sebelumnya fokus melakukan abstraksi terhadap kondisi realitas untuk mendapatkan informasi secara akurat, dengan mengabaikan bentuk fisik (aliran sinyal listrik pada prosesor, misalnya) dari mesin dan realitas itu sendiri. Kegiatan abstraksi ini bersandar pada prinsip-prinsip mekanika klasik yang menghasilkan informasi yang bermanfaat untuk kegiatan komunikasi maupun komputasi, contohnya pada mesin Turing.[13]

Pada awal tahun 1980, beberapa peneliti menyadari bahwa prinsip-prinsip mekanika kuantum memiliki implikasi pada perspektif mengenai pemrosesan informasi.[14] Fisikawan Feynman, Yuri Manin dan peneliti lain kemudian menemukan bahwa fenomena keterkaitan partikel tidak dapat disimulasikan dengan baik oleh mesin Turing, yang menggunakan bita 0 dan 1 dalam melakukan komputasi.[15] Menggunakan fenomena ini, peneliti lain mencoba menggeser konsep "komputasi" yang menggunakan dua jenis bita digital: 0 dan 1, menjadi menggunakan qubit yang memiliki lebih dari dua "keadaan" (state) atau superposisi.[16][17]

Dengan menggunakan komputasi dalam qubit, seseorang dapat melakukan komputasi pada fungsi dengan menggunakan beberapa "keadaan" secara bersamaan. Penemuan-penemuan ini mengangkat kajian terhadap konsep komputer kuantum pada paruh kedua abad ke-20. Salah satu kajian pada awal tahun 1990an yang dilakukan oleh Peter Shor meneliti suatu algoritma untuk memfaktorkan bilangan besar dalam kompleksitas waktu polinomial dengan memanfaatkan prinsip kuantum.[18] Melalui penelusuran lebih lanjut, ditemukan bahwa algoritma ini berpotensi membuat algoritma kriptografi kunci publik seperti RSA menjadi tidak aman.[19]

Kajian riset ilmu komputer teoretis modern didasarkan pada perkembangan-perkembangan dasar yang telah dibahas sebelumnya, namun juga mencakup ragam kajian matematika dan interdisipliner lain, seperti yang ditunjukkan di bawah ini:

PQ P = NP ?
Logika matematika Teori automata Teori bilangan Teori grafik Teori komputasi Teori kompleksitas komputasi
GNITIRW-TERCES Γx:Int </img>
Kriptografi Teori tipe Teori kategori Geometri komputasi Optimasi kombinatorial Teori komputasi kuantum

Topik-topik dalam kajian ilmu komputer teoretik

Algoritma

Suatu algoritma adalah langkah atau prosedur komputasi. Algoritma digunakan untuk proses penghitungan, pemrosesan data, dan penalaran otomatis.

Algoritma adalah metode efektif berupa daftar terbatas dari instruksi yang didefinisikan dengan akurat untuk menghitung suatu fungsi.[20] Daftar langkah tersebut dimulai dari keadaan (state) awal dan masukan (input) awal, atau bisa jadi berisi nilai kosong.[21] Rangkaian instruksi pada algoritma menjelaskan langkah-langkah komputasi yang menghasilkan keadaan (state) yang tetap di tiap langkah. Pada akhir algoritma, rangkaian instruksi akan menghasilkan "keluaran" (output)[22] dan kemudian berhenti. Peralihan dari satu keadaan ke keadaan berikutnya tidak selalu bersifat deterministik (memiliki hubungan sebab-akibat yang jelas secara kasat mata). Sebagai contoh, algoritma acak, menambahkan tiap masukan secara acak, sehingga hasil algoritma tidak terlihat deterministik.[23]

Teori automata

Teori automata adalah kajian mengenai mesin abstrak dan automata, serta pemanfaatan keduanya dalam memecahkan permasalahan. Bidang kajian ini termasuk dalam kajian matematika diskrit (irisan antara bidang kajian matematika dan ilmu komputer ). Kata Automata berasal dari kata Yunani αὐτόματα yang berarti "bertindak sendiri".

Secara ringkas, teori automata membahas mesin (mesin mekanik maupun fungsi matematis) yang meniru sebagian fitur aksi manusia.[24] Mesin-mesin ini melakukan konversi informasi dari bentuk satu ke bentuk yang lain. Sebagai contoh, dalam mesin mekanik dikenal suatu sistem pendulum, yang memiliki keadaan awal (initial state), masukan berupa faktor peubah (seperti gaya) dan luaran berupa kondisi akhir yang menjadi keadaan awal bagi langkah berikutnya.[25] Dalam matematika, fungsi yang menggambarkan relasi antara dua variabel dapat menghasilkan luaran berbeda tiap kali variabel masukan berubah.[26] Teori automata mengkaji kelakuan dinamis dari hubungan antara masukan dan luaran dari automaton dan memberikan pembuktian matematis dari tingkah laku dinamis tersebut.[27]

Teori pengkodean

Teori pengkodean mengkaji aspek matematika dari metode (dalam konteks kajian ini disebut sebagai "kode") untuk mengoreksi galat pada transmisi informasi. Kode merepresentasikan data sedemikian rupa sehingga informasi tetap dapat diterima, meskipun ditemukan galat/kesalahan pada data.[28][29] Sebagai contoh, kode digunakan untuk kompresi data, kriptografi, koreksi kesalahan, dan pengkodean jaringan. Kode dikaji dalam ragam bidang ilmu—seperti teori informasi, teknik elektro, matematika, dan ilmu komputer—dengan tujuan untuk merancang metode transmisi data yang efisien dan andal. Hal ini biasanya melibatkan penghapusan redundansi dan koreksi (atau deteksi) kesalahan pada transmisi data.[30]

Biologi komputasi

Biologi komputasi merupakan cabang dari ilmu biologi yang beririsan dengan ilmu komputer yang mengkaji pemahaman serta pemodelan proses dan struktur makhluk hidup.[31] Biologi komputasi mengembangkan dan menerapkan metode analisis dan teori data biologis, pemodelan matematika dari struktur dan proses biologis dan teknik komputasi simulasi dalam sistem biologis, perilaku, dan sosial. [32] Bidang ini didefinisikan secara luas dan beririsan dengan kajian-kajian dalam ilmu komputer, matematika terapan, animasi, statistik, biokimia, kimia, biofisika, biologi molekuler, genetika, genomik, ekologi, evolusi, anatomi, ilmu saraf, dan visualisasi.[33]

Biologi komputasi berbeda dengan komputasi biologi, yang merupakan subbidang di bawah kajian ilmu komputer dan teknik komputer yang memanfaatkan bioteknologi dan biologi untuk membangun sistem komputer.[34] Namun, kajian biologi komputasi memiliki kemiripan dengan kajian bioinformatika, yaitu ilmu interdisipliner yang mengkaji penyimpanan dan pemrosesan data biologis menggunakan komputer.[35]

Teori kompleksitas komputasi

Teori kompleksitas komputasi adalah bagian dari kajian teori komputasi mengenai pengelompokkan masalah komputasi sesuai tingkat kompleksitas komputasinya, dan membahas hubungan antar tingkatan kompleksitas tersebut satu sama lain.[36] Dalam kajian ini, yang dimaksud dengan masalah komputasi adalah tugas yang pada prinsipnya dapat diselesaikan oleh komputer.[37] Masalah komputasi tersebut dapat diartikan juga sebagai masalah yang dapat diselesaikan dengan penerapan langkah-langkah matematika secara terstruktur, seperti dengan menggunakan solusi algoritma tertentu.

Suatu masalah komputasi dianggap kompleks/sulit bila pencarian solusi membutuhkan sumber daya komputasi yang besar dalam menjalankan algoritma yang diberikan (penggunaan ruang pada penyimpanan, atau penggunaan memori maupun prosesor atau prosesor grafik).[38] Kajian teori kompleksitas komputasi menelusuri pola-pola masalah-masalah komputasi secara matematika, dan kemudian menyusun model komputasi matematis untuk mempelajari masalah-masalah ini.[39] Model komputasi tersebut juga menghitung jumlah sumber daya yang dibutuhkan untuk pencarian solusi, seperti waktu proses dan ruang penyimpanan.

Teori kompleksitas komputasi juga mengkaji ukuran-ukuran kompleksitas lainnya, seperti jumlah komunikasi (digunakan dalam kajian kompleksitas komunikasi),[40] jumlah gerbang dalam suatu rangkaian digital (digunakan dalam kajian kompleksitas rangkaian)[41] dan jumlah unit prosesor yang bekerja (digunakan dalam kajian komputasi paralel).[42][43] Salah satu peran teori kompleksitas komputasi adalah untuk menentukan batasan praktis tentang apa yang dapat dan tidak dapat dilakukan oleh komputer.

Geometri komputasi

Geometri komputasi adalah cabang ilmu komputer yang mengkaji secara sistematis algoritma dan struktur data yang digunakan pada objek-objek geometri, dengan fokus untuk menemukan algoritma yang dapat dengan cepat menyelesaikan masalah-masalah geometris.[44] Beberapa masalah dalam kajian geometri murni juga ditemukan dan dapat dipecahkan melalui studi algoritma geometri komputasi.

Kajian geometri komputasi sebagai disiplin ilmu bermula dari perkembangan kajian grafika komputer serta desain dan manufaktur berbantuan komputer (computer-aided design/CAD, computer-aided manufacturing/CAM).[45] Seiring dengan perkembangan kajian geometri komputasi, banyak masalah geometri klasik dibahas melalui perspektif geometri komputasi seperti topologi, geometri konveks, dan geometri polihedron.[46]

Penerapan algoritma hasil kajian geometri komputasi dimanfaatkan dalam ragam bidang, termasuk robotika (perencanaan gerak dan masalah visibilitas),[47] sistem informasi geografis (Geographical Information System/GIS; lokasi dan pencarian geometris, perencanaan rute),[48][49] desain sirkuit terpadu (integrated circuit/IC; desain dan verifikasi geometri IC),[50] teknik berbantuan komputer (Computer-aided Engineering/CAE; generasi jaring),[51] visi komputer (rekonstruksi 3D).[52][53]

Teori komputasi pembelajaran

Teori komputasi pembelajaran mengkaji proses kognisi secara matematis,[54] memberikan penjelasan menggunakan nalar matematika yang kaku (rigor) mengenai bagaimana proses pembelajaran terjadi.[55] Teori ini mengambil fokus dalam pembelajaran terarah (supervised learning) dalam konteks pembelajaran mesin. [56]

Dalam pembelajaran terarah, suatu algoritma diberikan sampel-sampel yang telah diberi label untuk belajar/berlatih dengan sampel-sampel berlabel tersebut. Sebagai contoh, tupel pada sampel jamur berisi data-data deskriptif ragam spesies jamur, dan labelnya bisa berupa apakah jamur-jamur tersebut dapat dimakan atau tidak. Algoritma yang akan dilatih mengambil sampel yang telah dilabeli terlebih dahulu dan membuat suatu fungsi klasifikasi yang mempelajari secara induksi pola-pola relasi antara label jamur dan sampel data jamur.

Kemudian, fungsi klasifikasi memberikan label pada sampel uji ataupun sampel baru yang belum diproses melalui algoritma tersebut. Dari hasil pelabelan sampel uji, akan dilakukan perbandingan dengan sampel latih dan dilihat keakuratan prediksi fungsi klasifikasi dalam mengklasifikasikan jamur yang bisa dimakan dan tidak bisa dimakan.

Teori komputasi pembelajaran fokus dalam melakukan analisis formal matematis terhadap keakuratan fungsi klasifikasi dalam contoh. Pada contoh sebelumnya, analisis keakuratan tergolong mudah, karena label bersifat biner (bisa dimakan/1 dan tidak bisa dimakan/0).[57] Teori komputasi pembelajaran juga melakukan eksplorasi formal matematis terhadap ragam bentuk klasifikasi lain, yang terbukti sangat sulit dilakukan.[58]

Teori komputasi bilangan

Teori komputasi bilangan adalah irisan dari ilmu komputer dan teori bilangan, dengan tujuan mengkaji permasalahan dalam teori bilangan dari sudut pandang ilmu komputer, dan mencari algoritma yang efisien untuk memecahkan masalah-masalah tersebut.[59] Permasalahan-permasalahan bilangan yang dibahas dalam teori bilangan komputasi umumnya melibatkan bilangan bulat (integer) yang berukuran terlalu besar untuk ditampung atau diproses dalam komputer dengan prosesor 32 maupun 64 bita.[60]

Topik-topik yang dibahas dalam kajian teori bilangan komputas contohnya adalah faktorisasi prima,[61][62] bilangan kongruen,[63] uji primalitas bilangan.[64] Karena berhubungan dengan bilangan prima, kajian ini memiliki aplikasi, salah satunya, dalam bidang kriptografi dan kriptoanalisis.[65]

Catatan

Referensi

  1. How Gödel’s Proof Works. Quanta Magaznie. 2020-07-20.
  2. Panu Raatikainen. Stanford Encyclopedia of Philosophy. Metaphysics Research Lab, Stanford University. 2022.
  3. How Claude Shannon Invented the Future. Quanta Magazine. 2020-12-22.
  4. Gerard O'Regan. Introduction to the History of Computing. Springer International Publishing. 2016. doi:10.1007/978-3-319-33138-6. ISBN 978-3-319-33137-9.
  5. Jesse J. Langille. The Synaptic Theory of Memory: A Historical Survey and Reconciliation of Recent Opposition. Frontiers in Systems Neuroscience. 2018-10-26. Vol. 12. doi:10.3389/fnsys.2018.00052.
  6. Chuang-Chung Lee. Kinetic modeling of amyloid fibrillation and synaptic plasticity as memory loss and formation mechanisms. Massachusetts Institute of Technology. 2008.
  7. Themis N. Karaminis. Connectionist Theories of Learning. Springer US. 2012. hlm. 771–774. doi:10.1007/978-1-4419-1428-6_398. ISBN 978-1-4419-1427-9.
  8. Themis N. Karaminis. Connectionist Theories of Learning. Springer US. 2012. hlm. 771–774. doi:10.1007/978-1-4419-1428-6_398. ISBN 978-1-4419-1427-9.
  9. Stephen A. Cook. The complexity of theorem-proving procedures. ACM Press. 1971. hlm. 151–158. doi:10.1145/800157.805047.
  10. Leonid A. Levin. Universal Sequential Search Problems. Probl. Peredachi Inf. 1973. Vol. 9 (3). hlm. 265–266.
  11. B.A. Trakhtenbrot. A Survey of Russian Approaches to Perebor (Brute-Force Searches) Algorithms. IEEE Annals of the History of Computing. 1984-10. Vol. 6 (4). hlm. 384–400. doi:10.1109/MAHC.1984.10036.
  12. B.A. Trakhtenbrot. A Survey of Russian Approaches to Perebor (Brute-Force Searches) Algorithms. IEEE Annals of the History of Computing. 1984-10. Vol. 6 (4). hlm. 384–400. doi:10.1109/MAHC.1984.10036.
  13. Eleanor Rieffel. Quantum computing: a gentle introduction. The Mit Press. 2014. ISBN 978-0-262-52667-8.
  14. Eleanor Rieffel. Quantum computing: a gentle introduction. The Mit Press. 2014. ISBN 978-0-262-52667-8.
  15. Richard Feynman. The Feynman Lectures. California Institute of Technology. 2013.
  16. Eleanor Rieffel. Quantum computing: a gentle introduction. The Mit Press. 2014. ISBN 978-0-262-52667-8.
  17. The Very Strange—And Fascinating— Ideas Behind Quantum Computing Digital Tonto. Digital Tonto. 2016-07-31.
  18. Peter W. Shor. Polynomial-Time Algorithms for Prime Factorization and Discrete Logarithms on a Quantum Computer. SIAM Journal on Computing. 1997-10. Vol. 26 (5). hlm. 1484–1509. doi:10.1137/S0097539795293172.
  19. Ben Brubaker. Thirty Years Later, a Speed Boost for Quantum Factoring. Quanta Magazine. 2023-10-17.
  20. Hartley Rogers. Theory of recursive functions and effective computability. MIT Press. 2002. ISBN 978-0-262-68052-3.
  21. Donald Ervin Knuth. Fundamental algorithms. Addison-Wesley. 1990. ISBN 978-0-201-03821-7.
  22. Donald Ervin Knuth. Fundamental algorithms. Addison-Wesley. 1990. ISBN 978-0-201-03821-7.
  23. Whether or not a process with random interior processes (not including the input) is an algorithm is debatable. Rogers opines that: "a computation is carried out in a discrete stepwise fashion, without the use of continuous methods or analog devices . . . carried forward deterministically, without resort to random methods or devices, e.g., dice" .
  24. Amar Dar Aziz. Basics of Automata Theory. Automata Theory. Stanford Computer Science Department.
  25. Bayard Rankin. Automata theory Finite State Machines, Turing Machines & Algorithms Britannica. Encyclopaedia Britannica.
  26. Amar Dar Aziz. Basics of Automata Theory. Automata Theory. Stanford Computer Science Department.
  27. Michael Sipser. Introduction to the theory of computation. Cengage Learning. 2013. ISBN 978-1-133-18779-0.
  28. Eric W. Weisstein. Coding Theory. mathworld.wolfram.com.
  29. Venkatesan Guruswami. Essential Coding Theory. Department of Computer Science and Engineering, University at Buffalo, SUNY. 2023.
  30. J. H. van Lint. Introduction to Coding Theory. Springer Berlin Heidelberg. 1999. Vol. 86. doi:10.1007/978-3-642-58575-3. ISBN 978-3-642-63653-0.
  31. David B. Searls. Computational biology Algorithms, Data Analysis & Modeling Britannica. www.britannica.com.
  32. NIH working definition of bioinformatics and computational biology. Biomedical Information Science and Technology Initiative. 17 July 2000.
  33. About the CCMB. Center for Computational Molecular Biology.
  34. David B. Searls. Computational biology Algorithms, Data Analysis & Modeling Britannica. www.britannica.com.
  35. David B. Searls. Computational biology Algorithms, Data Analysis & Modeling Britannica. www.britannica.com.
  36. Walter Dean. Computational Complexity Theory. Metaphysics Research Lab, Stanford University. 2021.
  37. Sanjeev Arora. Computational complexity: A Modern Approach. Cambridge University Press. 2016. ISBN 978-0-521-42426-4.
  38. Lesile Ann Goldberg. Computational Complexity Theory: An introduction. Research - St. Edmund Hall - University of Oxford. 2019.
  39. Lesile Ann Goldberg. Computational Complexity Theory: An introduction. Research - St. Edmund Hall - University of Oxford. 2019.
  40. Mark Braverman. Communication and information complexity. 2023-12-15. hlm. 284–320. doi:10.4171/icm2022/208.
  41. John E. Savage. Models of computation: exploring the power of computing. Addison-Wesley. 2003. ISBN 978-0-201-89539-1.
  42. James C. Wylie. The Complexity of Parallel Computations. Cornell University. 1979.
  43. Martin Fürer. Parallel Computing: Complexity Classes. Springer US. 2008. hlm. 2900–2903. doi:10.1007/978-0-387-74759-0_498. ISBN 978-0-387-74758-3.
  44. Mark de Berg. Computational Geometry: Algorithms and Applications. Springer-Verlag Berlin Heidelberg. 2008. ISBN 978-3-540-77974-2.
  45. Mark de Berg. Computational Geometry: Algorithms and Applications. Springer-Verlag Berlin Heidelberg. 2008. ISBN 978-3-540-77974-2.
  46. Handbook of discrete and computational geometry. CRC Press, Taylor & Francis Group, a Chapman & Hall book. 2018. ISBN 978-1-4987-1139-5.
  47. Mark de Berg. Computational Geometry: Algorithms and Applications. Springer-Verlag Berlin Heidelberg. 2008. ISBN 978-3-540-77974-2.
  48. What is Computational Geometry?. Computer Science Degree Hub.
  49. Mark de Berg. Computational Geometry: Algorithms and Applications. Springer-Verlag Berlin Heidelberg. 2008. ISBN 978-3-540-77974-2.
  50. Mark de Berg. Computational Geometry: Algorithms and Applications. Springer-Verlag Berlin Heidelberg. 2008. ISBN 978-3-540-77974-2.
  51. Handbook of discrete and computational geometry. CRC Press, Taylor & Francis Group, a Chapman & Hall book. 2018. ISBN 978-1-4987-1139-5.
  52. Mark de Berg. Computational Geometry: Algorithms and Applications. Springer-Verlag Berlin Heidelberg. 2008. ISBN 978-3-540-77974-2.
  53. Handbook of discrete and computational geometry. CRC Press, Taylor & Francis Group, a Chapman & Hall book. 2018. ISBN 978-1-4987-1139-5.
  54. Martin Anthony. Computational learning theory: an introduction. Cambridge Univ. Press. 1997. ISBN 978-0-521-41603-0.
  55. Dana Angluin. Computational learning theory: survey and selected bibliography. ACM Press. 1992. hlm. 351–369. doi:10.1145/129712.129746. ISBN 978-0-89791-511-3.
  56. Jason Brownlee. A Gentle Introduction to Computational Learning Theory. Machine Learning Mastery. 2020-09-07.
  57. Jason Brownlee. A Gentle Introduction to Computational Learning Theory. Machine Learning Mastery. 2020-09-07.
  58. Stuart J. Russell. Artificial intelligence: a modern approach. Pearson. 2021. ISBN 978-0-13-461099-3.
  59. Eric W. Weisstein. Computational Number Theory. mathworld.wolfram.com.
  60. Samuel S. Wagstaff, Jr. Algorithms and theory of computation handbook. 1: General concepts and techniques. Chapman & Hall. 2010. ISBN 978-1-58488-822-2.
  61. Eric W. Weisstein. Computational Number Theory. mathworld.wolfram.com.
  62. Samuel S. Wagstaff, Jr. Algorithms and theory of computation handbook. 1: General concepts and techniques. Chapman & Hall. 2010. ISBN 978-1-58488-822-2.
  63. Eric W. Weisstein. Computational Number Theory. mathworld.wolfram.com.
  64. Samuel S. Wagstaff, Jr. Algorithms and theory of computation handbook. 1: General concepts and techniques. Chapman & Hall. 2010. ISBN 978-1-58488-822-2.
  65. Abhijit Das. Computational number theory. CRC Press, Taylor & Francis. 2013. ISBN 978-1-4398-6615-3.

Sumber dan atribusi

Konten artikel ini diadaptasi dari Wikipedia bahasa Indonesia, revisi 29440653 (2026-07-10T15:33:48Z), yang tersedia berdasarkan lisensi Creative Commons Atribusi-BerbagiSerupa (CC BY-SA). Mohon gunakan konten ini secara bijak serta sesuai dengan ketentuan lisensi yang berlaku.