Haskell: Perbedaan antara revisi
Impor teks terkontrol dari Wikipedia bahasa Indonesia; revisi 29457817; atribusi sumber disertakan. |
Presentation V4: sitasi, referensi, Math, Wikimedia Commons, dan atribusi |
||
| Baris 1: | Baris 1: | ||
[[File:Haskell-Logo.svg|thumb|right|280px|Logo of Haskell]] | |||
'''Haskell''' adalah merupakan bahasa [[Pemrograman Fungsional|pemrograman fungsional]] murni. Nama [[bahasa pemrograman]] Haskell diambil dari nama seseorang matematikawan [[Haskell Curry]], yang terkenal akan karyanya di bidang ''combinatory logic''. Haskell hanya mengenal ''expression'' dan ''equation''. | '''Haskell''' adalah merupakan bahasa [[Pemrograman Fungsional|pemrograman fungsional]] murni. Nama [[bahasa pemrograman]] Haskell diambil dari nama seseorang matematikawan [[Haskell Curry]], yang terkenal akan karyanya di bidang ''combinatory logic''. Haskell hanya mengenal ''expression'' dan ''equation''. | ||
[[Semantika (linguistika)|Semantik]] Haskell secara historis didasarkan pada bahasa pemrograman Miranda, yang berfungsi untuk memfokuskan upaya kelompok kerja Haskell awal. Spesifikasi formal terakhir dari bahasa tersebut dibuat pada bulan Juli 2010, sementara pengembangan GHC terus memperluas Haskell melalui ekstensi bahasa. | [[Semantika (linguistika)|Semantik]] Haskell secara historis didasarkan pada bahasa pemrograman Miranda, yang berfungsi untuk memfokuskan upaya kelompok kerja Haskell awal.<ref>Edward Kmett, [https://www.youtube.com/watch?v=hIZxTQP1ifo Edward Kmett – Type Classes vs. the World]</ref> Spesifikasi formal terakhir dari bahasa tersebut dibuat pada bulan Juli 2010, sementara pengembangan GHC terus memperluas Haskell melalui ekstensi bahasa. | ||
Haskell digunakan dalam akademi dan industri. , Haskell adalah bahasa pemrograman terpopuler ke-28 menurut [[Google Search|Google Pencarian]] untuk tutorial, dan berjumlah kurang dari 1% pengguna aktif di repositori kode sumber [[GitHub]]. | Haskell digunakan dalam akademi dan industri.<ref>Erik Mossberg. [https://github.com/erkmos/haskell-companies erkmos/haskell-companies]. 2020-06-08.</ref><ref>Bryan O'Sullivan. [https://books.google.com/books?id=nh0okI1a1sQC Real World Haskell: Code You Can Believe In]. "O'Reilly Media, Inc.". 15 November 2008. hlm. xxviii-xxxi. ISBN 978-0-596-55430-9.</ref><ref>[https://serokell.io/blog/haskell-in-industry-riskbook Haskell in Production: Riskbook]. ''Serokell Software Development Company''.</ref> , Haskell adalah bahasa pemrograman terpopuler ke-28 menurut [[Google Search|Google Pencarian]] untuk tutorial,<ref>[http://pypl.github.io/PYPL.html PYPL PopularitY of Programming Language index]. ''pypl.github.io''. May 2021.</ref> dan berjumlah kurang dari 1% pengguna aktif di repositori kode sumber [[GitHub]].<ref>Ben Frederickson. [https://www.benfrederickson.com/ranking-programming-languages-by-github-users/ Ranking Programming Languages by GitHub Users]. ''www.benfrederickson.com''.</ref> | ||
== Sejarah == | == Sejarah == | ||
| Baris 9: | Baris 11: | ||
=== Standar mendatang === | === Standar mendatang === | ||
Spesifikasi formal berikutnya telah direncanakan untuk tahun 2020. Pada 29 Oktober 2021, dengan versi GHC 9.2.1, ekstensi GHC2021 dirilis. Meskipun ini bukan spesifikasi [[bahasa formal]], ini menggabungkan sejumlah ekstensi GHC yang stabil dan banyak digunakan pada Haskell 2010. | Spesifikasi formal berikutnya telah direncanakan untuk tahun 2020.<ref>[https://id.wikipedia.org/w/index.php?title=Haskell&oldid=29457817 sumber pada Wikipedia bahasa Indonesia]</ref> Pada 29 Oktober 2021, dengan versi GHC 9.2.1, ekstensi GHC2021 dirilis. Meskipun ini bukan spesifikasi [[bahasa formal]], ini menggabungkan sejumlah ekstensi GHC yang stabil dan banyak digunakan pada Haskell 2010.<ref>GHC 2020 Team (29 October 2021) [https://downloads.haskell.org/~ghc/9.2.1/docs/html/users_guide/9.2.1-notes.html GHC 9.2.1] released</ref><ref>[https://github.com/ghc-proposals/ghc-proposals Proposed compiler and language changes for GHC and GHC/Haskell ]</ref> | ||
== Fitur == | == Fitur == | ||
Haskell menyediakan [[evaluasi malas]], [[Fungsi anonim|ekspresi lambda]], [[pencocokan pola]], [[pemahaman daftar]], [[tipe kelas]], dan [[Polimorfisme (ilmu komputer)|polimorfisme tipe]]. Ini adalah bahasa pemrograman yang [[Pemrograman yang murni fungsional|murni fungsional]], yang berarti bahwa fungsi pada umumnya tidak mempunyai [[Efek samping (ilmu komputer)|efek samping]]. Ada konstruksi berbeda untuk mewakili efek samping, [[Ortogonalitas#ilmu komputer|ortogonal]] terhadap jenis fungsinya. Sebuah fungsi murni dapat mengembalikan sebuah efek samping yang kemudian dieksekusi, memodelkan fungsi [[Fungsi murni#Fungsi tidak murni|tidak murni]] dari bahasa lain. | Haskell menyediakan [[evaluasi malas]], [[Fungsi anonim|ekspresi lambda]], [[pencocokan pola]], [[pemahaman daftar]], [[tipe kelas]], dan [[Polimorfisme (ilmu komputer)|polimorfisme tipe]]. Ini adalah bahasa pemrograman yang [[Pemrograman yang murni fungsional|murni fungsional]], yang berarti bahwa fungsi pada umumnya tidak mempunyai [[Efek samping (ilmu komputer)|efek samping]]. Ada konstruksi berbeda untuk mewakili efek samping, [[Ortogonalitas#ilmu komputer|ortogonal]] terhadap jenis fungsinya. Sebuah fungsi murni dapat mengembalikan sebuah efek samping yang kemudian dieksekusi, memodelkan fungsi [[Fungsi murni#Fungsi tidak murni|tidak murni]] dari bahasa lain. | ||
Haskell memiliki sistem tipe [[Tipe sistem#Pengetikan statis|statis]] yang [[Pengetikan kuat dan lemah|kuat]] berdasarkan [[inferensi jenis Hindley – Milner]]. Inovasi utamanya dalam bidang ini adalah kelas tipe, yang awalnya dipahami sebagai cara berprinsip untuk menambah [[Polimorfisme (ilmu komputer)|beban berlebih]] pada bahasa, tetapi telah menemukan banyak pengguna baru. | Haskell memiliki sistem tipe [[Tipe sistem#Pengetikan statis|statis]] yang [[Pengetikan kuat dan lemah|kuat]] berdasarkan [[inferensi jenis Hindley – Milner]]. Inovasi utamanya dalam bidang ini adalah kelas tipe, yang awalnya dipahami sebagai cara berprinsip untuk menambah [[Polimorfisme (ilmu komputer)|beban berlebih]] pada bahasa,<ref>P. Wadler. ''Proceedings of the 16th ACM SIGPLAN-SIGACT symposium on Principles of programming languages - POPL '89''. ACM. 1989. hlm. 60–76. doi:10.1145/75277.75283. ISBN 978-0-89791-294-5.</ref> tetapi telah menemukan banyak pengguna baru.<ref>T. Hallgren. [http://www.cs.chalmers.se/~hallgren/Papers/wm01.html Fun with Functional Dependencies, or Types as Values in Static Computations in Haskell]. ''Proceedings of the Joint CS/CE Winter Meeting''. January 2001.</ref> | ||
Terdapat komunitas yang aktif dan berkembang seputar bahasa ini, dan lebih dari 5.400 perpustakaan dan alat sumber terbuka pihak ketiga tersedia di repositori paket daring ''Hackage''. | Terdapat komunitas yang aktif dan berkembang seputar bahasa ini, dan lebih dari 5.400 perpustakaan dan alat sumber terbuka pihak ketiga tersedia di repositori paket daring ''Hackage''.<ref>[http://hackage.haskell.org/cgi-bin/hackage-scripts/stats HackageDB statistics]. Hackage.haskell.org.</ref> | ||
== Contoh == | == Contoh == | ||
=== Hello World === | === Hello World === | ||
Berikut ini adalah contoh program sederhana yang akan mencetak kalimat "Hello, World!". | Berikut ini adalah contoh program sederhana yang akan mencetak kalimat "Hello, World!". | ||
<syntaxhighlight lang="haskell"> | |||
main = putStrLn "Hello, world!" | |||
</syntaxhighlight> | |||
=== Penjumlahan sederhana === | === Penjumlahan sederhana === | ||
Berikut ini adalah contoh program sederhana yang akan mencetak hasil penjumlahan antara 2 dan 10. | Berikut ini adalah contoh program sederhana yang akan mencetak hasil penjumlahan antara 2 dan 10.<syntaxhighlight lang="haskell"> | ||
main = print (2 + 10) | |||
</syntaxhighlight> | |||
=== Cetak nama === | === Cetak nama === | ||
Berikut ini adalah contoh program sederhana yang akan meminta nama pengguna dan mencetaknya kembali. | Berikut ini adalah contoh program sederhana yang akan meminta nama pengguna dan mencetaknya kembali.<syntaxhighlight lang="haskell" line="1"> | ||
main = do | |||
putStrLn "Masukan nama Anda:" | |||
nama <- getLine | |||
putStrLn ("Selamat datang, " ++ nama ++ "!") | |||
</syntaxhighlight> | |||
== Penggunaan terkenal == | == Penggunaan terkenal == | ||
* Asisten pembuktian [[Agda (bahasa pemrograman)|Agda]] ditulis dalam Haskell.<ref>[https://github.com/agda/agda Agda 2]. Agda Github Community. 2021-10-15.</ref> | |||
* Asisten pembuktian [[Agda (bahasa pemrograman)|Agda]] ditulis dalam Haskell. | * [[Cabal (software)|Cabal]] adalah sebuah alat untuk [[Otomasi pembuatan|membuat]] dan mengemas program dan pustaka Haskell.<ref>[https://www.haskell.org/cabal/ The Haskell Cabal].</ref> | ||
* [[Cabal (software)|Cabal]] adalah sebuah alat untuk [[Otomasi pembuatan|membuat]] dan mengemas program dan pustaka Haskell. | |||
* [[Darcs]] adalah sistem kontrol revisi yang ditulis dalam Haskell, dengan beberapa fitur inovatif, seperti kontrol ''patch'' yang akan diterapkan lebih tepat. | * [[Darcs]] adalah sistem kontrol revisi yang ditulis dalam Haskell, dengan beberapa fitur inovatif, seperti kontrol ''patch'' yang akan diterapkan lebih tepat. | ||
* [[Glasgow Haskell Compiler]] (GHC) juga sering kali menjadi tempat uji coba untuk fitur pemrograman fungsional tingkat lanjut dan pengoptimalan dalam bahasa pemrograman lain. | * [[Glasgow Haskell Compiler]] (GHC) juga sering kali menjadi tempat uji coba untuk fitur pemrograman fungsional tingkat lanjut dan pengoptimalan dalam bahasa pemrograman lain. | ||
* [[Git-annex]] adalah sebuah alat untuk mengatur berkas data (besar) di bawah kontrol versi [[Git]]. It also provides a distributed file synchronization system (git-annex assistant). | * [[Git-annex]] adalah sebuah alat untuk mengatur berkas data (besar) di bawah kontrol versi [[Git]]. It also provides a distributed file synchronization system (git-annex assistant). | ||
* [[Linspire]] [[Linux]] memilih Haskell untuk pengembangan alat sistem. | * [[Linspire]] [[Linux]] memilih Haskell untuk pengembangan alat sistem.<ref>[http://urchin.earth.li/pipermail/debian-haskell/2006-May/000169.html Linspire/Freespire Core OS Team and Haskell]. ''Debian Haskell mailing list''. May 2006.</ref> | ||
* [[Pandoc]] adalah alat untuk mengubah satu format ''markup'' ke format ''markup'' lainnya. | * [[Pandoc]] adalah alat untuk mengubah satu format ''markup'' ke format ''markup'' lainnya. | ||
* [[Pugs (compiler)|Pugs]] adalah [[Compiler|kompilator]] dan [[Interpreter|penerjemah]] untuk bahasa pemrograman yang kemudian diberi nama [[Perl]] 6, namun sejak berganti nama [[Raku (bahasa pemrograman)|Raku]]. | * [[Pugs (compiler)|Pugs]] adalah [[Compiler|kompilator]] dan [[Interpreter|penerjemah]] untuk bahasa pemrograman yang kemudian diberi nama [[Perl]] 6, namun sejak berganti nama [[Raku (bahasa pemrograman)|Raku]]. | ||
=== Web === | === Web === | ||
[[Kerangka web]] terkenal yang ditulis untuk Haskell termasuk: | [[Kerangka web]] terkenal yang ditulis untuk Haskell termasuk:<ref>[https://wiki.haskell.org/Web/Frameworks Web/Frameworks – HaskellWiki]. ''wiki.haskell.org''.</ref> | ||
* IHP | * IHP | ||
| Baris 49: | Baris 57: | ||
* [[Snap (Kerangka kerja web)|Snap]] | * [[Snap (Kerangka kerja web)|Snap]] | ||
* [[Yesod (Kerangka kerja web)|Yesod]] | * [[Yesod (Kerangka kerja web)|Yesod]] | ||
== Pranala luar == | == Pranala luar == | ||
* | |||
* | |||
* [http://www.haskell.org/haskellwiki/Language_and_library_specification Language and library specification] at the Haskell Wiki | * [http://www.haskell.org/haskellwiki/Language_and_library_specification Language and library specification] at the Haskell Wiki | ||
* | * | ||
; Various | ; Various | ||
* [http://www.willamette.edu/~fruehr/haskell/evolution.html The Evolution of a Haskell Programmer] , slightly humorous overview of different programming styles available in Haskell | * [http://www.willamette.edu/~fruehr/haskell/evolution.html The Evolution of a Haskell Programmer] , slightly humorous overview of different programming styles available in Haskell | ||
* [http://haskell.readscheme.org/ Online Bibliography of Haskell Research] | * [http://haskell.readscheme.org/ Online Bibliography of Haskell Research] | ||
* [http://contemplatecode.blogspot.com/search/label/HWN Haskell Weekly News] | * [http://contemplatecode.blogspot.com/search/label/HWN Haskell Weekly News] | ||
* [http://themonadreader.wordpress.com/ The Monad.Reader] , quarterly magazine on Haskell topics | * [http://themonadreader.wordpress.com/ The Monad.Reader] , quarterly magazine on Haskell topics | ||
* | * | ||
* [http://leksah.org/ Leksah] , a GTK-based Haskell IDE written in Haskell | * [http://leksah.org/ Leksah] , a GTK-based Haskell IDE written in Haskell | ||
;Tutorials | ;Tutorials | ||
| Baris 70: | Baris 73: | ||
* [http://hal3.name/docs/daume02yaht.pdf Yet Another Haskell Tutorial] , by Hal Daumé III; assumes far less prior knowledge than official tutorial | * [http://hal3.name/docs/daume02yaht.pdf Yet Another Haskell Tutorial] , by Hal Daumé III; assumes far less prior knowledge than official tutorial | ||
* [http://cheatsheet.codeslower.com/ The Haskell Cheatsheet] , compact language reference and mini-tutorial | * [http://cheatsheet.codeslower.com/ The Haskell Cheatsheet] , compact language reference and mini-tutorial | ||
== Referensi == | |||
<references /> | |||
== Sumber dan atribusi == | == Sumber dan atribusi == | ||
Konten artikel ini diadaptasi dari [https://id.wikipedia.org/w/index.php?title=Haskell&oldid=29457817 Wikipedia bahasa Indonesia], revisi 29457817 (2026-07-14T12:41:22Z), yang tersedia berdasarkan lisensi Creative Commons Atribusi-BerbagiSerupa (CC BY-SA). Gambar pada artikel ini bersumber dari Wikimedia Commons dan mengikuti ketentuan lisensi masing-masing berkas. Mohon gunakan konten dan media secara bijak serta sesuai dengan ketentuan lisensi yang berlaku. | |||
[https://id.wikipedia.org/w/index.php?title=Haskell&oldid=29457817 Wikipedia bahasa Indonesia], | |||
revisi 29457817 (2026-07-14T12:41:22Z) | <!-- WIKI_UNISSULA_PRESENTATION_V4 --> | ||
Atribusi-BerbagiSerupa (CC BY-SA) pada | |||
Revisi terkini sejak 23 Agustus 2026 03.14
Haskell adalah merupakan bahasa pemrograman fungsional murni. Nama bahasa pemrograman Haskell diambil dari nama seseorang matematikawan Haskell Curry, yang terkenal akan karyanya di bidang combinatory logic. Haskell hanya mengenal expression dan equation.
Semantik Haskell secara historis didasarkan pada bahasa pemrograman Miranda, yang berfungsi untuk memfokuskan upaya kelompok kerja Haskell awal.[1] Spesifikasi formal terakhir dari bahasa tersebut dibuat pada bulan Juli 2010, sementara pengembangan GHC terus memperluas Haskell melalui ekstensi bahasa.
Haskell digunakan dalam akademi dan industri.[2][3][4] , Haskell adalah bahasa pemrograman terpopuler ke-28 menurut Google Pencarian untuk tutorial,[5] dan berjumlah kurang dari 1% pengguna aktif di repositori kode sumber GitHub.[6]
Sejarah
Setelah perilisan Miranda oleh Research Software Ltd. pada tahun 1985, minat terhadap bahasa fungsional yang malas tumbuh. Pada tahun 1987, ada lebih dari selusin bahasa pemrograman yang tidak ketat dan murni fungsional. Miranda merupakan yang paling banyak digunakan, tapi itu adalah perangkat lunak berpemilik. Pada konferensi Functional Programming Languages and Computer Architecture (FPCA '87) di Portland, Oregon, ada konsensus yang kuat bahwa sebuah komite dibentuk untuk menentukan standar terbuka untuk bahasa-bahasa tersebut. Tujuan komite ini adalah untuk menggabungkan bahasa-bahasa fungsional yang ada menjadi bahasa yang umum untuk digunakan sebagai dasar pengmebangan masa depan dalam desain bahasa fungsional.
Standar mendatang
Spesifikasi formal berikutnya telah direncanakan untuk tahun 2020.[7] Pada 29 Oktober 2021, dengan versi GHC 9.2.1, ekstensi GHC2021 dirilis. Meskipun ini bukan spesifikasi bahasa formal, ini menggabungkan sejumlah ekstensi GHC yang stabil dan banyak digunakan pada Haskell 2010.[8][9]
Fitur
Haskell menyediakan evaluasi malas, ekspresi lambda, pencocokan pola, pemahaman daftar, tipe kelas, dan polimorfisme tipe. Ini adalah bahasa pemrograman yang murni fungsional, yang berarti bahwa fungsi pada umumnya tidak mempunyai efek samping. Ada konstruksi berbeda untuk mewakili efek samping, ortogonal terhadap jenis fungsinya. Sebuah fungsi murni dapat mengembalikan sebuah efek samping yang kemudian dieksekusi, memodelkan fungsi tidak murni dari bahasa lain.
Haskell memiliki sistem tipe statis yang kuat berdasarkan inferensi jenis Hindley – Milner. Inovasi utamanya dalam bidang ini adalah kelas tipe, yang awalnya dipahami sebagai cara berprinsip untuk menambah beban berlebih pada bahasa,[10] tetapi telah menemukan banyak pengguna baru.[11]
Terdapat komunitas yang aktif dan berkembang seputar bahasa ini, dan lebih dari 5.400 perpustakaan dan alat sumber terbuka pihak ketiga tersedia di repositori paket daring Hackage.[12]
Contoh
Hello World
Berikut ini adalah contoh program sederhana yang akan mencetak kalimat "Hello, World!".
<syntaxhighlight lang="haskell">
main = putStrLn "Hello, world!"
</syntaxhighlight>
Penjumlahan sederhana
Berikut ini adalah contoh program sederhana yang akan mencetak hasil penjumlahan antara 2 dan 10.<syntaxhighlight lang="haskell">
main = print (2 + 10)
</syntaxhighlight>
Cetak nama
Berikut ini adalah contoh program sederhana yang akan meminta nama pengguna dan mencetaknya kembali.<syntaxhighlight lang="haskell" line="1">
main = do
putStrLn "Masukan nama Anda:"
nama <- getLine
putStrLn ("Selamat datang, " ++ nama ++ "!")
</syntaxhighlight>
Penggunaan terkenal
- Asisten pembuktian Agda ditulis dalam Haskell.[13]
- Cabal adalah sebuah alat untuk membuat dan mengemas program dan pustaka Haskell.[14]
- Darcs adalah sistem kontrol revisi yang ditulis dalam Haskell, dengan beberapa fitur inovatif, seperti kontrol patch yang akan diterapkan lebih tepat.
- Glasgow Haskell Compiler (GHC) juga sering kali menjadi tempat uji coba untuk fitur pemrograman fungsional tingkat lanjut dan pengoptimalan dalam bahasa pemrograman lain.
- Git-annex adalah sebuah alat untuk mengatur berkas data (besar) di bawah kontrol versi Git. It also provides a distributed file synchronization system (git-annex assistant).
- Linspire Linux memilih Haskell untuk pengembangan alat sistem.[15]
- Pandoc adalah alat untuk mengubah satu format markup ke format markup lainnya.
- Pugs adalah kompilator dan penerjemah untuk bahasa pemrograman yang kemudian diberi nama Perl 6, namun sejak berganti nama Raku.
Web
Kerangka web terkenal yang ditulis untuk Haskell termasuk:[16]
Pranala luar
- Language and library specification at the Haskell Wiki
- Various
- The Evolution of a Haskell Programmer , slightly humorous overview of different programming styles available in Haskell
- Online Bibliography of Haskell Research
- Haskell Weekly News
- The Monad.Reader , quarterly magazine on Haskell topics
- Leksah , a GTK-based Haskell IDE written in Haskell
- Tutorials
- Try Haskell! , an in-browser interactive tutorial
- Yet Another Haskell Tutorial , by Hal Daumé III; assumes far less prior knowledge than official tutorial
- The Haskell Cheatsheet , compact language reference and mini-tutorial
Referensi
- ↑ Edward Kmett, Edward Kmett – Type Classes vs. the World
- ↑ Erik Mossberg. erkmos/haskell-companies. 2020-06-08.
- ↑ Bryan O'Sullivan. Real World Haskell: Code You Can Believe In. "O'Reilly Media, Inc.". 15 November 2008. hlm. xxviii-xxxi. ISBN 978-0-596-55430-9.
- ↑ Haskell in Production: Riskbook. Serokell Software Development Company.
- ↑ PYPL PopularitY of Programming Language index. pypl.github.io. May 2021.
- ↑ Ben Frederickson. Ranking Programming Languages by GitHub Users. www.benfrederickson.com.
- ↑ sumber pada Wikipedia bahasa Indonesia
- ↑ GHC 2020 Team (29 October 2021) GHC 9.2.1 released
- ↑ Proposed compiler and language changes for GHC and GHC/Haskell
- ↑ P. Wadler. Proceedings of the 16th ACM SIGPLAN-SIGACT symposium on Principles of programming languages - POPL '89. ACM. 1989. hlm. 60–76. doi:10.1145/75277.75283. ISBN 978-0-89791-294-5.
- ↑ T. Hallgren. Fun with Functional Dependencies, or Types as Values in Static Computations in Haskell. Proceedings of the Joint CS/CE Winter Meeting. January 2001.
- ↑ HackageDB statistics. Hackage.haskell.org.
- ↑ Agda 2. Agda Github Community. 2021-10-15.
- ↑ The Haskell Cabal.
- ↑ Linspire/Freespire Core OS Team and Haskell. Debian Haskell mailing list. May 2006.
- ↑ Web/Frameworks – HaskellWiki. wiki.haskell.org.
Sumber dan atribusi
Konten artikel ini diadaptasi dari Wikipedia bahasa Indonesia, revisi 29457817 (2026-07-14T12:41:22Z), yang tersedia berdasarkan lisensi Creative Commons Atribusi-BerbagiSerupa (CC BY-SA). Gambar pada artikel ini bersumber dari Wikimedia Commons dan mengikuti ketentuan lisensi masing-masing berkas. Mohon gunakan konten dan media secara bijak serta sesuai dengan ketentuan lisensi yang berlaku.