    {"id":2555,"date":"2023-10-02T03:32:24","date_gmt":"2023-10-02T03:32:24","guid":{"rendered":"https:\/\/student-activity.binus.ac.id\/csc\/?p=2555"},"modified":"2024-07-17T12:47:34","modified_gmt":"2024-07-17T12:47:34","slug":"programming-language","status":"publish","type":"post","link":"https:\/\/student-activity.binus.ac.id\/csc\/2023\/10\/programming-language\/","title":{"rendered":"Programming Language"},"content":{"rendered":"<p style=\"text-align: justify\"><img loading=\"lazy\" decoding=\"async\" class=\"size-full wp-image-2557\" src=\"http:\/\/student-activity.binus.ac.id\/csc\/wp-content\/uploads\/sites\/37\/2023\/10\/1.thumbnail.jpg\" alt=\"\" width=\"1424\" height=\"726\" \/><\/p>\n<p style=\"text-align: justify\"><em><span style=\"font-weight: 400\">Programming language <\/span><\/em><span style=\"font-weight: 400\">adalah suatu hal yang esensial untuk <\/span><em><span style=\"font-weight: 400\">software development <\/span><\/em><span style=\"font-weight: 400\">baik itu pada <\/span><em><span style=\"font-weight: 400\">web<\/span><\/em><span style=\"font-weight: 400\">, <\/span><em><span style=\"font-weight: 400\">mobile<\/span><\/em><span style=\"font-weight: 400\">, ataupun <\/span><em><span style=\"font-weight: 400\">desktop application<\/span><\/em><span style=\"font-weight: 400\">. Per tahun 2023 sekarang terdapat lebih dari 250 bahasa pemrograman, setiap bahasa pemrograman memiliki <\/span><em><span style=\"font-weight: 400\">syntax<\/span><\/em><span style=\"font-weight: 400\"> dan fitur yang berbeda. Pernahkah kalian mendengar bahasa pemrograman C, C#, C++, python, java, javascript, php, flutter, Go, dll? Lalu pernahkah kalian berpikir kenapa tidak dibuat satu bahasa pemrograman saja, toh ujung-ujungnya komputer memakai <\/span><em><span style=\"font-weight: 400\">machine language <\/span><\/em><span style=\"font-weight: 400\">yaitu 0, 1? Nah pada artikel kali ini akan membahas tentang berbagai bahasa pemrograman, alasan kenapa ada banyak sekali bahasa pemrograman?<\/span><\/p>\n<p style=\"text-align: justify\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-full wp-image-2556\" src=\"http:\/\/student-activity.binus.ac.id\/csc\/wp-content\/uploads\/sites\/37\/2023\/10\/2.gambar.jpg\" alt=\"\" width=\"1280\" height=\"720\" \/><\/p>\n<p style=\"text-align: justify\"><span style=\"font-weight: 400\">Pada dasarnya bahasa pemrograman yang mungkin anda pernah gunakan adalah bahasa <\/span><em><span style=\"font-weight: 400\">high level language<\/span><\/em><span style=\"font-weight: 400\"> yang artinya bahasa yang mudah untuk dimengerti manusia tetapi sulit untuk dipahami komputer, komputer akan hanya memahami <\/span><em><span style=\"font-weight: 400\">machine language <\/span><\/em><span style=\"font-weight: 400\">yang dimaksud adalah bahasa biner, untuk menjadikan <\/span><em><span style=\"font-weight: 400\">high level language <\/span><\/em><span style=\"font-weight: 400\">dimengerti oleh komputer diperlukan <\/span><em><span style=\"font-weight: 400\">compiler <\/span><\/em><span style=\"font-weight: 400\">atau <\/span><em><span style=\"font-weight: 400\">interpreter<\/span><\/em><span style=\"font-weight: 400\">, kedua hal itu bertugas untuk mengubah <\/span><em><span style=\"font-weight: 400\">source code <\/span><\/em><span style=\"font-weight: 400\">yang sudah dibuat menjadi bahasa biner, keduanya memiliki kelebihan dan kekurangannya sendiri.<\/span><\/p>\n<p style=\"text-align: justify\"><span style=\"font-weight: 400\">\u00a0<\/span><\/p>\n<p style=\"text-align: justify\"><span style=\"font-weight: 400\">Sebagai analoginya seperti ini, pada sebuah toko <\/span><em><span style=\"font-weight: 400\">pizza<\/span><\/em><span style=\"font-weight: 400\">, terdapat 5 order <\/span><em><span style=\"font-weight: 400\">pizza<\/span><\/em><span style=\"font-weight: 400\"> yang harus dibuat, <em>interpreter<\/em> akan mengambil order pertama, memberi tahu <\/span><em><span style=\"font-weight: 400\">chef <\/span><\/em><span style=\"font-weight: 400\">tentang <\/span><em><span style=\"font-weight: 400\">order <\/span><\/em><span style=\"font-weight: 400\">pertama, lalu mengantarkannya ke pelanggan, begitu juga seterusnya untuk <\/span><em><span style=\"font-weight: 400\">order <\/span><\/em><span style=\"font-weight: 400\">kedua sampai kelima. Sedangkan <\/span><em><span style=\"font-weight: 400\">Compiler <\/span><\/em><span style=\"font-weight: 400\">akan mengambil semua 5 <\/span><em><span style=\"font-weight: 400\">order <\/span><\/em><span style=\"font-weight: 400\"><em>pizza<\/em> dan memberitahu ke <\/span><em><span style=\"font-weight: 400\">chef<\/span><\/em><span style=\"font-weight: 400\">, lalu mengantarkannya ke pelanggan. Dengan analogi tersebut jika terdapat kasus kalau terdapat <em>order<\/em> yang tidak sesuai, <\/span><em><span style=\"font-weight: 400\">compiler<\/span><\/em><span style=\"font-weight: 400\"> akan tetap menyelesaikan ordernya walaupun orderannya ada yang tidak sesuai, sedangkan pada <\/span><em><span style=\"font-weight: 400\">interpreter<\/span><\/em><span style=\"font-weight: 400\"> jika terdapat order yang tidak sesuai maka proses tidak akan dilanjutkan dan akan memberikan <\/span><em><span style=\"font-weight: 400\">feedback<\/span><\/em><span style=\"font-weight: 400\"> kalau ada yang tidak sesuai. Dari analogi toko <em>pizza<\/em> tersebut 5 order bisa diartikan sebagai <\/span><em><span style=\"font-weight: 400\">source code<\/span><\/em><span style=\"font-weight: 400\">, sedangkan masing-masing order adalah setiap baris <\/span><em><span style=\"font-weight: 400\">code<\/span><\/em><span style=\"font-weight: 400\">. Artinya pada <em>interpreter<\/em> itu relatif lebih cepat di <\/span><em><span style=\"font-weight: 400\">debug <\/span><\/em><span style=\"font-weight: 400\">karena tidak perlu menunggu semua <\/span><em><span style=\"font-weight: 400\">source code <\/span><\/em><span style=\"font-weight: 400\">diproses terlebih dahulu, sedangkan <\/span><em><span style=\"font-weight: 400\">compiler<\/span><\/em><span style=\"font-weight: 400\"> harus memproses semua <\/span><em><span style=\"font-weight: 400\">source code <\/span><\/em><span style=\"font-weight: 400\">terlebih dahulu baru diantarkan ke pelanggan.<\/span><\/p>\n<p style=\"text-align: justify\"><span style=\"font-weight: 400\">\u00a0<\/span><\/p>\n<p style=\"text-align: justify\"><span style=\"font-weight: 400\">Selain itu bahasa yang menggunakan <\/span><em><span style=\"font-weight: 400\">interpreter<\/span><\/em><span style=\"font-weight: 400\"> bisa pada <\/span><em><span style=\"font-weight: 400\">cross platform <\/span><\/em><span style=\"font-weight: 400\">karena cara kerja nya <\/span><em><span style=\"font-weight: 400\">interpreter<\/span><\/em><span style=\"font-weight: 400\"> akan selalu membutuhkan <\/span><em><span style=\"font-weight: 400\">source code<\/span><\/em><span style=\"font-weight: 400\"> untuk dijalankan pada komputer target, dan di komputer target harus terdapat <\/span><em><span style=\"font-weight: 400\">interpreter<\/span><\/em><span style=\"font-weight: 400\"> untuk menjalankan <\/span><em><span style=\"font-weight: 400\">source code <\/span><\/em><span style=\"font-weight: 400\">tersebut, <\/span><em><span style=\"font-weight: 400\">interpreter<\/span><\/em><span style=\"font-weight: 400\"> juga tidak akan menghasilkan <\/span><em><span style=\"font-weight: 400\">file executable<\/span><\/em><span style=\"font-weight: 400\">. Contoh bahasa yang menggunakan <\/span><em><span style=\"font-weight: 400\">interpreter<\/span><\/em><span style=\"font-weight: 400\"> adalah Javascript dan PHP.<\/span><\/p>\n<p style=\"text-align: justify\"><span style=\"font-weight: 400\">\u00a0<\/span><\/p>\n<p style=\"text-align: justify\"><span style=\"font-weight: 400\">Sedangkan cara kerja <\/span><em><span style=\"font-weight: 400\">compiler<\/span><\/em><span style=\"font-weight: 400\"> akan memproses semua <\/span><em><span style=\"font-weight: 400\">source code <\/span><\/em><span style=\"font-weight: 400\">lalu akan membentuk <\/span><em><span style=\"font-weight: 400\">file executable <\/span><\/em><span style=\"font-weight: 400\">terpisah, sehingga jika komputer target ingin menjalankan hasilnya bukan menjalankan <\/span><em><span style=\"font-weight: 400\">source cod<\/span><\/em><i><span style=\"font-weight: 400\">e-<\/span><\/i><span style=\"font-weight: 400\">nya tetapi menjalankan hasil <\/span><i><span style=\"font-weight: 400\">file <\/span><\/i><em><span style=\"font-weight: 400\">executable<\/span><\/em><span style=\"font-weight: 400\">-nya. Dengan begitu bisa dikatakan kalau hasil <\/span><em><span style=\"font-weight: 400\">compiler<\/span><\/em><span style=\"font-weight: 400\"> hanya bekerja pada <\/span><em><span style=\"font-weight: 400\">platform<\/span><\/em><span style=\"font-weight: 400\"> spesifik tidak bisa untuk <\/span><em><span style=\"font-weight: 400\">multiple platform<\/span><\/em><span style=\"font-weight: 400\">. Contoh bahasa pemrograman yang menggunakan <\/span><em><span style=\"font-weight: 400\">compiler<\/span><\/em><span style=\"font-weight: 400\"> adalah C, C++.<\/span><\/p>\n<p style=\"text-align: justify\"><span style=\"font-weight: 400\">\u00a0<\/span><\/p>\n<p style=\"text-align: justify\"><span style=\"font-weight: 400\">Lalu kenapa terdapat banyak sekali bahasa pemrograman di dunia ini? Jawabannya karena perkembangan teknologi yang bertumbuh pesat membutuhkan teknologi yang sesuai, bahasa pemrograman yang sudah ada dinilai tidak mampu untuk memenuhi kebutuhan perkembangan teknologi sebagai contoh pada tahun 1972 bahasa C menggantikan bahasa <\/span><em><span style=\"font-weight: 400\">assembly<\/span><\/em><span style=\"font-weight: 400\"> yang tidak mampu <\/span><em><span style=\"font-weight: 400\">running<\/span><\/em><span style=\"font-weight: 400\"> di <\/span><em><span style=\"font-weight: 400\">Unix Operating system<\/span><\/em><span style=\"font-weight: 400\">, bahasa C yang digantikan oleh bahasa C++ karena tidak terdapat fitur OOP, <\/span><em><span style=\"font-weight: 400\">inheritance<\/span><\/em><span style=\"font-weight: 400\">, <\/span><em><span style=\"font-weight: 400\">polymorphism<\/span><\/em><span style=\"font-weight: 400\">, <\/span><em><span style=\"font-weight: 400\">exception handling<\/span><\/em><span style=\"font-weight: 400\">, <\/span><em><span style=\"font-weight: 400\">namespace<\/span><\/em><span style=\"font-weight: 400\">, dll yang dibutuhkan pasar. Jika bahasa pemrograman dibuat menjadi satu bahasa saja, Bayangkan seberapa berat bahasa tersebut, jika orang yang memakai nya hanya untuk membuat <\/span><em><span style=\"font-weight: 400\">web application<\/span><\/em><span style=\"font-weight: 400\"> tetapi terdapat fitur-fitur yang <\/span><em><span style=\"font-weight: 400\">mobile development <\/span><\/em><span style=\"font-weight: 400\">seperti <\/span><em><span style=\"font-weight: 400\">integration with internal hardware<\/span><\/em><span style=\"font-weight: 400\">. Maka dari itu dibuatlah berbagai macam bahasa pemrograman dengan tujuan dan fungsi yang berbeda seperti <\/span><em><span style=\"font-weight: 400\">web developer<\/span><\/em><span style=\"font-weight: 400\"> yang memakai HTML, PHP, CSS, <em>javascript<\/em> untuk membuat web app. <\/span><i><span style=\"font-weight: 400\">Desktop developer<\/span><\/i><span style=\"font-weight: 400\"> memakai Java, C, C++, <\/span><em><span style=\"font-weight: 400\">Game developer<\/span><\/em><span style=\"font-weight: 400\"> memakai C, C++, <\/span><em><span style=\"font-weight: 400\">android developer <\/span><\/em><span style=\"font-weight: 400\">memakai kotlin, Java, <\/span><em><span style=\"font-weight: 400\">data scientist<\/span><\/em><span style=\"font-weight: 400\"> memakai matlab, Python dan R.<\/span><\/p>\n<p style=\"text-align: justify\"><span style=\"font-weight: 400\">\u00a0<\/span><\/p>\n<p style=\"text-align: justify\"><span style=\"font-weight: 400\">Lalu bagaimana memilih bahasa pemrograman yang harus dipelajari? Untuk ini tergantung dari tujuan kalian belajar bahasa pemrograman dengan begitu kalian bisa menyesuaikan dengan bahasa pemrograman yang tersedia, lihat juga dari komunitas nya apakah banyak atau tidak dengan begitu jika terdapat <\/span><em><span style=\"font-weight: 400\">problem<\/span><\/em><span style=\"font-weight: 400\"> bisa lebih mudah mencari solusi dibanding komunitas yang lebih sedikit. Intinya tidak ada bahasa pemrograman yang lebih baik atau buruk, karena setiap bahasa pemrograman memiliki kelebihan dan kekurangannya masing-masing, balik lagi ke perspektif preferensi pribadi masing-masing. Lagi pula jika kalian sudah memahami suatu bahasa pemograman, bahasa pemograman lainnya akan memiliki kemiripan satu sama lain.<\/span><\/p>\n<p style=\"text-align: justify\"><span style=\"font-weight: 400\">Referensi:<\/span><\/p>\n<ul>\n<li style=\"text-align: justify\"><a href=\"https:\/\/www.freecodecamp.org\/news\/what-is-the-c-programming-language-beginner-tutorial\/\"><span style=\"font-weight: 400\">https:\/\/www.freecodecamp.org\/news\/what-is-the-c-programming-language-beginner-tutorial\/<\/span><\/a><\/li>\n<li style=\"text-align: justify\"><a href=\"https:\/\/www.bestcolleges.com\/bootcamps\/guides\/how-many-coding-languages-are-there\/#:~:text=Today%2C%20various%20sources%20report%20anywhere,others%20are%20in%20high%20demand\"><span style=\"font-weight: 400\">https:\/\/www.bestcolleges.com\/bootcamps\/guides\/how-many-coding-languages-are-there\/#:~:text=Today%2C%20various%20sources%20report%20anywhere,others%20are%20in%20high%20demand<\/span><\/a><span style=\"font-weight: 400\">.<\/span><span style=\"font-weight: 400\">\u00a0<\/span><\/li>\n<li style=\"text-align: justify\"><a href=\"https:\/\/levelup.gitconnected.com\/why-are-there-so-many-programming-languages-653d4d02ab39\"><span style=\"font-weight: 400\">https:\/\/levelup.gitconnected.com\/why-are-there-so-many-programming-languages-653d4d02ab39<\/span><\/a><\/li>\n<li style=\"text-align: justify\"><a href=\"https:\/\/www.computerhope.com\/issues\/ch000569.htm\"><span style=\"font-weight: 400\">https:\/\/www.computerhope.com\/issues\/ch000569.htm<\/span><\/a><\/li>\n<li style=\"text-align: justify\"><a href=\"https:\/\/stackoverflow.blog\/2015\/07\/29\/why-are-there-so-many-programming-languages\/\"><span style=\"font-weight: 400\">https:\/\/stackoverflow.blog\/2015\/07\/29\/why-are-there-so-many-programming-languages\/<\/span><\/a><\/li>\n<li style=\"text-align: justify\"><a href=\"https:\/\/www.freecodecamp.org\/news\/why-are-there-so-many-programming-languages\/\"><span style=\"font-weight: 400\">https:\/\/www.freecodecamp.org\/news\/why-are-there-so-many-programming-languages\/<\/span><\/a><\/li>\n<\/ul>\n","protected":false},"excerpt":{"rendered":"<p>Programming language adalah suatu hal yang esensial untuk software development baik itu pada web, mobile, ataupun desktop application. Per tahun 2023 sekarang terdapat lebih dari 250 bahasa pemrograman, setiap bahasa pemrograman memiliki syntax dan fitur yang berbeda. Pernahkah kalian mendengar bahasa pemrograman C, C#, C++, python, java, javascript, php, flutter, Go, dll? Lalu pernahkah kalian [&hellip;]<\/p>\n","protected":false},"author":42,"featured_media":2557,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[6,4],"tags":[],"class_list":["post-2555","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-articles","category-featured"],"_links":{"self":[{"href":"https:\/\/student-activity.binus.ac.id\/csc\/wp-json\/wp\/v2\/posts\/2555","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/student-activity.binus.ac.id\/csc\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/student-activity.binus.ac.id\/csc\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/student-activity.binus.ac.id\/csc\/wp-json\/wp\/v2\/users\/42"}],"replies":[{"embeddable":true,"href":"https:\/\/student-activity.binus.ac.id\/csc\/wp-json\/wp\/v2\/comments?post=2555"}],"version-history":[{"count":2,"href":"https:\/\/student-activity.binus.ac.id\/csc\/wp-json\/wp\/v2\/posts\/2555\/revisions"}],"predecessor-version":[{"id":3037,"href":"https:\/\/student-activity.binus.ac.id\/csc\/wp-json\/wp\/v2\/posts\/2555\/revisions\/3037"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/student-activity.binus.ac.id\/csc\/wp-json\/wp\/v2\/media\/2557"}],"wp:attachment":[{"href":"https:\/\/student-activity.binus.ac.id\/csc\/wp-json\/wp\/v2\/media?parent=2555"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/student-activity.binus.ac.id\/csc\/wp-json\/wp\/v2\/categories?post=2555"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/student-activity.binus.ac.id\/csc\/wp-json\/wp\/v2\/tags?post=2555"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}