[{"data":1,"prerenderedAt":245},["ShallowReactive",2],{"site-header":3,"site-footer-license":37,"article-mengenal-bagian-dan-struktur-bahasa-pascal-with-latest":41},{"navigations":4},[5,20],{"collection":6,"item":7},"series",{"__typename":6,"title":8,"slug":9,"children_series":10},"Artikel","all",[11,14,17],{"title":12,"slug":13},"Algoritma dan Struktur Data","algoritma-struktur-data",{"title":15,"slug":16},"Konsep Dasar Pemrograman","konsep-dasar-pemrograman",{"title":18,"slug":19},"Kecerdasan Artifisial","kecerdasan-artifisial",{"collection":6,"item":21},{"__typename":6,"title":22,"slug":23,"children_series":24},"Tutorial","tutorial",[25,28,31,34],{"title":26,"slug":27},"Belajar Java","belajar-java",{"title":29,"slug":30},"Belajar Pascal","belajar-pascal",{"title":32,"slug":33},"Belajar Python","belajar-python",{"title":35,"slug":36},"Belajar Golang","belajar-golang",{"name":38,"url":39,"show":40},"CC BY-SA","https://creativecommons.org/licenses/by-sa/4.0/",false,{"article":42,"renderedBody":170,"renderedTakeaway":171,"latestArticles":172,"toc":224},{"id":43,"title":44,"slug":45,"excerpt":46,"published_at":47,"thumbnail_image":48,"tags":50,"reading_time":55,"takeway":56,"body":57,"authors":58,"series":64},"62","Mengenal Bagian dan Struktur Bahasa Pascal","mengenal-bagian-dan-struktur-bahasa-pascal","Ibarat menulis surat mulai dari kepala surat sampai tanda tangan, kode Pascal juga memiliki aturan penulisan dan struktur yang harus dipenuhi. Mari kita bahas lebih lanjut.","2020-10-04T13:29:37.000Z",{"id":49},"d003025e-345c-426d-b499-d76da7a8ee72",[51,52,53,54],"pascal","syntax","dasar","konsep",4,null,"Setelah memahami cara [membuat dan menjalankan kode Pascal](/p/membuat-program-hello-world-pada-pascal), kali ini kita akan belajar tentang struktur dasar bahasa Pascal.\n\nIbarat menulis surat mulai dari kepala surat sampai tanda tangan, kode Pascal juga memiliki aturan penulisan dan struktur yang harus dipenuhi. Mari kita bahas lebih lanjut.\n\n## Struktur Bahasa Pascal\n\nPenulisan terstruktur merupakan keunggulan dari bahasa Pascal. Dengan adanya struktur, para programmer bisa dengan mudah membaca kode programnya.\n\nKita akan coba identifikasi struktur kode program [Hello World](/p/membuat-program-hello-world-pada-pascal) sebelumnya. Kodenya kurang lebih seperti ini.\n\n```pascal\nprogram HelloWorld;\nuses crt;\nbegin\n  clrscr;\n  writeln('Hello World');\n  readln;\nend.\n```\n\n### 1. Bagian Judul Program\n\nBagian pertama adalah judul program. Yang namanya judul pasti tempatya dibagian atas sendiri. Baik itu cerpen, berita, bahkan tutorial ini juga punya judul dibagian atas sendiri.\n\nSudah tahu bagian mana judul program? Sepertinya sudah jelas ya.\n\nBagian judul program Pascal juga ada di **paling awal program** yaitu kode berikut:\n\n```pascal\nprogram HelloWorld;\n```\n\nJudul program pada Pascal selalu diawali dengan kata `program`. setelah kata program dilanjutkan dengan **judul program** yang diinginkan, dan diakhiri dengan **titik koma (;)**.\n\n```pascal\nprogram \u003CJudul_Program>;\n```\n\nDalam penulisan judul program ada beberapa aturan yang harus dipenuhi. Kalau tidak sesuai aturan maka program akan error. Aturan penulisan judul program adalah sebagai berikut.\n\n1. Judul program **harus** diawali dengan huruf (a-z / A-Z)\n2. **Tidak boleh** ada spasi pada judul program\n3. Karakter **underscore** dapat digunakan untuk menggantikan spasi\n4. Angka hanya bisa digunakan pada bagian **tengah atau akhir** judul\n\nJudul program ini sebenarnya bersifat **opsional**. Tetapi akan lebih baik jika disertakan.\n\n### 2. Bagian Deklarasi\n\nSelanjutnya adalah deklarasi program. Bagian ini bisa diibaratkan sebagai **Alat dan Bahan** pada buku resep makanan.\n\nIsi dari bagian deklarasi adalah memberi tahu komputer apa apa saja yang kita butuhkan dalam menjalankan program.\n\nLetak bagian deklarasi ini ada tepat di bawah judul program dan di atas keyword **begin**.\n\nPada contoh program **Hello World** di atas, bagian deklarasinya adalah kode berikut.\n\n```pascal\nuses crt;\n```\n\nKode tersebut memerintahkan komputer untuk menggunakan \"library\" yang bernama **crt.** Ibaratkan saja **library** itu sebagai sebuah \"alat\" untuk melakukan sesuatu. \"Sesuatu\" ini akan kita lakukan di bagian selanjutnya.\n\nPada bagian deklarasi ini kita juga dapat mengetikkan beberapa \"bahan\" yang dibutuhkan seperti **constant, variable, type,** **procedure** dan **function.**\n\n> Kita akan mempelajari **constant** dan **variable** pada tutorial selanjutnya. sedangkan **type**, **procedure** dan **function** akan kita pelajari di bagian lanjutan.\n\n### 3. Bagian Program Utama\n\nBagian terakhir dan bagian paling penting. Ini adalah tempat untuk menuliskan logika program kita. Pada bagian ini, program akan menggunajan semua \"alat\" dan \"bahan\" pada bagian deklarasi.\n\nSeluruh bagian di antara **begin** dan **end** merupakan bagian program utama.\n\n```pascal\nbegin\n  clrscr;\n  writeln('Hello World');\n  readln;\nend.\n```\n\nMari kita bahas kode ini dari atas sampai bawah.\n\n1. `begin` **:** Memerintahkan komputer untuk memulai logika program.\n2. `clrscr` **:** Merupakan kependekan dari ***Clear Screen***. Perintah ini digunakan untuk membersihkan layar. `clrscr` merupakan salah satu kegunaan dari \"alat\" `crt` yang ada pada bagian deklarasi.\n3. `writeln('Hello World')` **:** Sudah jelas ya kan.. **write** = menulis, **ln** = singkatan dari **line**. Memerintahkan komputer untuk menulis sesuatu yang berada dalam tanda kurung. dalam hal ini adalah **Hello World**.\n4. `readln` : Seperti sebelumnya, **read** = baca, **ln** = **line**. Memerintahkan komputer untuk membaca baris. Jadi sebelum kita menekan **enter**, komputer akan tetap berhenti pada bagian ini untuk membaca sesuatu — tanpa ini output akan keluar dalam sekejap saja.\n5. `end` : Bagian akhir program yang menyatakan bahwa program sudah selesai dieksekusi. Selanjutnya program akan keluar. Perhatikan tanda titik (.), tanda ini eksklusif hanya digunakan untuk bagian paling akhir program saja.\n\n> `**writeln**` dan `**readln**` merupakan perintah yang digunakan untuk sistem **input** **output**. Selain itu ada juga perintah `**write**` dan `**read**`. Untuk sistem output akan kita pelajari di tutorial selanjutnya.\n\n## Penggunaan Tanda Titik Koma\n\nMulai dari judul program sampai bagian utama program, pasti ada tanda titik koma. Sebenarnya apa fungsi tanda ini?.\n\nPada bahasa Pascal tanda titik koma digunakan untuk menunjukkan akhir dari suatu **statement**. Statement adalah kode program yang digunakan untuk melakukan suatu hal spesifik. seperti menulis (`writeln`), membaca (`readln`), dan deklarasi.\n\n\"**Apa yang terjadi jika kita menghapus tanda titik koma?**\"\n\nJawabannya adalah program akan error seketika. Ini karena komputer hanya bisa membaca satu blok pertintah dalam satu waktu.\n\nJika kita menghilangkan tanda titik koma, maka komputer akan membaca perintah pertama dan perintah kedua sebagai satu perintah.\n\nDengan titik koma ini kita bisa menulis kode yang panjang dalam satu baris. Seperti ini adalah kode yang valid:\n\n```pascal\nprogram HelloWorld; uses crt;\nbegin\n  clrscr; writeln('Hello World'); readln;\nend.\n```\n\nPada program tersebut `clrscr`, `writeln`, dan `readln` akan dibaca sebagai 3 statement yang berbeda sehingga tidak akan terjadi error. Berlaku pula kepada **bagian judul** dan **deklarasi**.\n\n> Penulisan kode dalam satu baris sangat tidak disarankan karena dapat menyebabkan kebingungan dalam membaca kode program.\n\n## Selanjutnya\n\nCukup sekian untuk kesempatan kali ini, semoga bermanfaat.\n\nJika ingin mengetahui lebih lanjut tentang struktur Pascal, bisa pergi ke [laman wiki free pascal](https://wiki.freepascal.org/Program_Structure) atau cari cari di internet yang luas ini.\n\nSelanjutnya kita akan membahas tentang [Penulisan Komentar pada Bahasa Pascal](/p/penulisan-komentar-pada-bahasa-pascal).\n\nSee ya 👋",[59],{"authors_id":60},{"name":61,"slug":62,"role":63,"profile_picture":56},"Daffa Izzuddin","izzudd","Writer",{"id":65,"title":66,"slug":67,"articles":68,"parent_series":152},"23","Berkenalan dengan Bahasa Pascal","pascal-intro",[69,78,87,97,104,112,115,125,133,143],{"id":70,"title":66,"slug":71,"excerpt":72,"thumbnail_image":73,"tags":75},"59","berkenalan-dengan-bahasa-pascal","Pascal merupakan bahasa pemrograman dengan sintaks sederhana, ekspresif, dan mudah dibaca. Ini membuatnya menjadi bahasa pemrograman yang baik untuk pemula.",{"id":74},"ed6e86a1-9928-4571-b812-1228b8742067",[51,76,77,53],"intro","pemrograman",{"id":79,"title":80,"slug":81,"excerpt":82,"thumbnail_image":83,"tags":85},"60","Sistem Input dengan Read dan Readln pada Bahasa Pascal","sistem-input-dengan-read-dan-readln-pada-bahasa-pascal","Pada kesempatan kali ini kita akan belajar tentang proses masukan dari keyboard dengan menggunakan perintah read dan readln pada Bahasa Pascal.",{"id":84},"cd7ff963-992f-49cc-8520-a7a6685d7546",[51,86,52],"input-output",{"id":88,"title":89,"slug":90,"excerpt":91,"thumbnail_image":92,"tags":94},"102","Menginstal Free Pascal pada Windows","menginstal-free-pascal-pada-windows","Untuk menjalankan kode Pascal pada sistem operasi Windows kita perlu compiler. Kali ini kita akan mengunakan Free Pascal sebagai compiler sekaligus code editor kita.",{"id":93},"2c84752c-6726-4126-bfd7-ae7f311be684",[51,95,96],"instalasi","tooling",{"id":98,"title":99,"slug":100,"excerpt":91,"thumbnail_image":101,"tags":103},"61","Menginstall Free Pascal pada Linux","menginstall-free-pascal-pada-linux",{"id":102},"36758a2e-8f5d-4485-af44-ac5c17d6b438",[51,95,96],{"id":105,"title":106,"slug":107,"excerpt":108,"thumbnail_image":109,"tags":111},"103","Membuat Program Hello World pada Pascal","membuat-program-hello-world-pada-pascal","Setelah melakukan instalasi Free Pascal baik pada windows atau linux, kali ini kita akan belajar untuk membuat program pertama kita. Sekaligus kenalan sedikit dengan Program Free Pascal.",{"id":110},"81fde45a-bbc8-4080-8167-4717eef59014",[51,23,53],{"id":43,"title":44,"slug":45,"excerpt":46,"thumbnail_image":113,"tags":114},{"id":49},[51,52,53,54],{"id":116,"title":117,"slug":118,"excerpt":119,"thumbnail_image":120,"tags":122},"63","Penulisan Komentar pada Bahasa Pascal","penulisan-komentar-pada-bahasa-pascal","Kali ini kita akan membahas tentang penulisan komentar pada bahasa Pascal. Komentar adalah bagian dar kode yang tidak akan dibaca oleh komputer.",{"id":121},"a1fb41b3-5d8d-4c47-b0d3-0f344ad33107",[51,123,52,124],"komentar","best-practice",{"id":126,"title":127,"slug":128,"excerpt":129,"thumbnail_image":130,"tags":132},"64","Output dengan Write dan Writeln pada Bahasa Pascal","output-dengan-write-dan-writeln-pada-bahasa-pascal","Sistem output merupakan suatu yang sangat penting dalam pemrograman. Bukan cuma pemrograman, bahkan semua hal pasti berorientasi pada output.",{"id":131},"234ec268-ef60-4f16-837f-b0cf86471406",[51,86,52],{"id":134,"title":135,"slug":136,"excerpt":137,"thumbnail_image":138,"tags":140},"65","Variable, Konstanta, dan Tipe Data pada Pascal","variable-konstanta-dan-tipe-data-pada-pascal","Variable, konstanta, dan tipe data merupakan jantung dari pemrograman yang akan kita gunakan untuk melakukan manipulasi data.",{"id":139},"52b80649-eebb-4321-990e-c8f34b547c9b",[51,141,142,53],"variabel","tipe-data",{"id":144,"title":145,"slug":146,"excerpt":147,"thumbnail_image":148,"tags":150},"66","Operasi Aritmatika pada Bahasa Pascal","operasi-aritmatika-pada-bahasa-pascal","Setelah tahu tentang apa itu tipe data, sekarang kita akan coba belajar tentang operasi apa saja yang dapat dilakukan pada setiap tipe data dalam bahasa Pascal.",{"id":149},"20365e59-b759-4ac3-9e1d-6f9c1ddc6ac7",[51,151,53],"operator",{"id":153,"title":29,"slug":30,"parent_series":154,"children_series":156},"14",{"id":155,"title":22,"slug":23,"parent_series":56},"1",[157,158,162,166],{"id":65,"title":66,"slug":67,"cover_image":56},{"id":159,"title":160,"slug":161,"cover_image":56},"24","Struktur Kontrol","pascal-struktur-kontrol",{"id":163,"title":164,"slug":165,"cover_image":56},"25","Tipe Data Bentukan","pascal-tipe-data-bentukan",{"id":167,"title":168,"slug":169,"cover_image":56},"26","Pemrograman Prosedural","pascal-pemrograman-prosedural","\u003Cp>Setelah memahami cara \u003Ca href=\"/p/membuat-program-hello-world-pada-pascal\">membuat dan menjalankan kode Pascal\u003C/a>, kali ini kita akan belajar tentang struktur dasar bahasa Pascal.\u003C/p>\n\u003Cp>Ibarat menulis surat mulai dari kepala surat sampai tanda tangan, kode Pascal juga memiliki aturan penulisan dan struktur yang harus dipenuhi. Mari kita bahas lebih lanjut.\u003C/p>\n\u003Ch2 id=\"struktur-bahasa-pascal\">Struktur Bahasa Pascal\u003C/h2>\n\u003Cp>Penulisan terstruktur merupakan keunggulan dari bahasa Pascal. Dengan adanya struktur, para programmer bisa dengan mudah membaca kode programnya.\u003C/p>\n\u003Cp>Kita akan coba identifikasi struktur kode program \u003Ca href=\"/p/membuat-program-hello-world-pada-pascal\">Hello World\u003C/a> sebelumnya. Kodenya kurang lebih seperti ini.\u003C/p>\n\n\u003Cdiv class=\"code-block-wrapper my-6 not-prose rounded-xl border-2 border-black dark:border-gray-600 shadow-neo overflow-hidden bg-[#24292e] text-[#e1e4e8] transition-all\">\n  \u003Cdiv class=\"code-block-header flex items-center justify-between px-4 py-2.5 bg-[#1f2428] border-b-2 border-black dark:border-gray-600 font-mono text-xs font-bold text-gray-300 select-none\">\n    \u003Cdiv class=\"flex items-center gap-2\">\n      \u003Cspan class=\"w-3 h-3 rounded-full bg-[#ff5f56] border border-black/40 inline-block\">\u003C/span>\n      \u003Cspan class=\"w-3 h-3 rounded-full bg-[#ffbd2e] border border-black/40 inline-block\">\u003C/span>\n      \u003Cspan class=\"w-3 h-3 rounded-full bg-[#27c93f] border border-black/40 inline-block\">\u003C/span>\n      \u003Cspan class=\"ml-2 font-mono font-bold text-xs uppercase tracking-wider text-gray-300\">PASCAL\u003C/span>\n    \u003C/div>\n    \u003Cbutton type=\"button\" class=\"copy-code-btn flex items-center gap-1.5 px-3 py-1 text-xs font-bold bg-[#2f363d] text-gray-200 border-2 border-black dark:border-gray-500 rounded-lg shadow-neo-sm hover:translate-x-0.5 hover:translate-y-0.5 hover:shadow-none hover:bg-gray-700 transition-all cursor-pointer\" data-code=\"program%20HelloWorld%3B%0Auses%20crt%3B%0Abegin%0A%20%20clrscr%3B%0A%20%20writeln('Hello%20World')%3B%0A%20%20readln%3B%0Aend.\" title=\"Salin kode\">\n      \u003Csvg class=\"w-3.5 h-3.5 copy-icon-svg\" fill=\"none\" stroke=\"currentColor\" viewBox=\"0 0 24 24\">\n        \u003Cpath stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"2\" d=\"M8 16H6a2 2 0 01-2-2V6a2 2 0 012-2h8a2 2 0 012 2v2m-6 12h8a2 2 0 002-2v-8a2 2 0 00-2-2h-8a2 2 0 00-2 2v8a2 2 0 002 2z\">\u003C/path>\n      \u003C/svg>\n      \u003Cspan class=\"copy-text\">Copy\u003C/span>\n    \u003C/button>\n  \u003C/div>\n  \u003Cdiv class=\"code-block-content p-4 overflow-x-auto text-sm font-mono leading-relaxed bg-[#24292e]\">\n    \u003Cpre class=\"shiki github-dark\" style=\"background-color:#24292e;color:#e1e4e8\">\u003Ccode>program HelloWorld;\nuses crt;\nbegin\n  clrscr;\n  writeln('Hello World');\n  readln;\nend.\u003C/code>\u003C/pre>\n  \u003C/div>\n\u003C/div>\u003Ch3 id=\"1-bagian-judul-program\">1. Bagian Judul Program\u003C/h3>\n\u003Cp>Bagian pertama adalah judul program. Yang namanya judul pasti tempatya dibagian atas sendiri. Baik itu cerpen, berita, bahkan tutorial ini juga punya judul dibagian atas sendiri.\u003C/p>\n\u003Cp>Sudah tahu bagian mana judul program? Sepertinya sudah jelas ya.\u003C/p>\n\u003Cp>Bagian judul program Pascal juga ada di \u003Cstrong>paling awal program\u003C/strong> yaitu kode berikut:\u003C/p>\n\n\u003Cdiv class=\"code-block-wrapper my-6 not-prose rounded-xl border-2 border-black dark:border-gray-600 shadow-neo overflow-hidden bg-[#24292e] text-[#e1e4e8] transition-all\">\n  \u003Cdiv class=\"code-block-header flex items-center justify-between px-4 py-2.5 bg-[#1f2428] border-b-2 border-black dark:border-gray-600 font-mono text-xs font-bold text-gray-300 select-none\">\n    \u003Cdiv class=\"flex items-center gap-2\">\n      \u003Cspan class=\"w-3 h-3 rounded-full bg-[#ff5f56] border border-black/40 inline-block\">\u003C/span>\n      \u003Cspan class=\"w-3 h-3 rounded-full bg-[#ffbd2e] border border-black/40 inline-block\">\u003C/span>\n      \u003Cspan class=\"w-3 h-3 rounded-full bg-[#27c93f] border border-black/40 inline-block\">\u003C/span>\n      \u003Cspan class=\"ml-2 font-mono font-bold text-xs uppercase tracking-wider text-gray-300\">PASCAL\u003C/span>\n    \u003C/div>\n    \u003Cbutton type=\"button\" class=\"copy-code-btn flex items-center gap-1.5 px-3 py-1 text-xs font-bold bg-[#2f363d] text-gray-200 border-2 border-black dark:border-gray-500 rounded-lg shadow-neo-sm hover:translate-x-0.5 hover:translate-y-0.5 hover:shadow-none hover:bg-gray-700 transition-all cursor-pointer\" data-code=\"program%20HelloWorld%3B\" title=\"Salin kode\">\n      \u003Csvg class=\"w-3.5 h-3.5 copy-icon-svg\" fill=\"none\" stroke=\"currentColor\" viewBox=\"0 0 24 24\">\n        \u003Cpath stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"2\" d=\"M8 16H6a2 2 0 01-2-2V6a2 2 0 012-2h8a2 2 0 012 2v2m-6 12h8a2 2 0 002-2v-8a2 2 0 00-2-2h-8a2 2 0 00-2 2v8a2 2 0 002 2z\">\u003C/path>\n      \u003C/svg>\n      \u003Cspan class=\"copy-text\">Copy\u003C/span>\n    \u003C/button>\n  \u003C/div>\n  \u003Cdiv class=\"code-block-content p-4 overflow-x-auto text-sm font-mono leading-relaxed bg-[#24292e]\">\n    \u003Cpre class=\"shiki github-dark\" style=\"background-color:#24292e;color:#e1e4e8\">\u003Ccode>program HelloWorld;\u003C/code>\u003C/pre>\n  \u003C/div>\n\u003C/div>\u003Cp>Judul program pada Pascal selalu diawali dengan kata \u003Ccode>program\u003C/code>. setelah kata program dilanjutkan dengan \u003Cstrong>judul program\u003C/strong> yang diinginkan, dan diakhiri dengan \u003Cstrong>titik koma (;)\u003C/strong>.\u003C/p>\n\n\u003Cdiv class=\"code-block-wrapper my-6 not-prose rounded-xl border-2 border-black dark:border-gray-600 shadow-neo overflow-hidden bg-[#24292e] text-[#e1e4e8] transition-all\">\n  \u003Cdiv class=\"code-block-header flex items-center justify-between px-4 py-2.5 bg-[#1f2428] border-b-2 border-black dark:border-gray-600 font-mono text-xs font-bold text-gray-300 select-none\">\n    \u003Cdiv class=\"flex items-center gap-2\">\n      \u003Cspan class=\"w-3 h-3 rounded-full bg-[#ff5f56] border border-black/40 inline-block\">\u003C/span>\n      \u003Cspan class=\"w-3 h-3 rounded-full bg-[#ffbd2e] border border-black/40 inline-block\">\u003C/span>\n      \u003Cspan class=\"w-3 h-3 rounded-full bg-[#27c93f] border border-black/40 inline-block\">\u003C/span>\n      \u003Cspan class=\"ml-2 font-mono font-bold text-xs uppercase tracking-wider text-gray-300\">PASCAL\u003C/span>\n    \u003C/div>\n    \u003Cbutton type=\"button\" class=\"copy-code-btn flex items-center gap-1.5 px-3 py-1 text-xs font-bold bg-[#2f363d] text-gray-200 border-2 border-black dark:border-gray-500 rounded-lg shadow-neo-sm hover:translate-x-0.5 hover:translate-y-0.5 hover:shadow-none hover:bg-gray-700 transition-all cursor-pointer\" data-code=\"program%20%3CJudul_Program%3E%3B\" title=\"Salin kode\">\n      \u003Csvg class=\"w-3.5 h-3.5 copy-icon-svg\" fill=\"none\" stroke=\"currentColor\" viewBox=\"0 0 24 24\">\n        \u003Cpath stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"2\" d=\"M8 16H6a2 2 0 01-2-2V6a2 2 0 012-2h8a2 2 0 012 2v2m-6 12h8a2 2 0 002-2v-8a2 2 0 00-2-2h-8a2 2 0 00-2 2v8a2 2 0 002 2z\">\u003C/path>\n      \u003C/svg>\n      \u003Cspan class=\"copy-text\">Copy\u003C/span>\n    \u003C/button>\n  \u003C/div>\n  \u003Cdiv class=\"code-block-content p-4 overflow-x-auto text-sm font-mono leading-relaxed bg-[#24292e]\">\n    \u003Cpre class=\"shiki github-dark\" style=\"background-color:#24292e;color:#e1e4e8\">\u003Ccode>program &lt;Judul_Program&gt;;\u003C/code>\u003C/pre>\n  \u003C/div>\n\u003C/div>\u003Cp>Dalam penulisan judul program ada beberapa aturan yang harus dipenuhi. Kalau tidak sesuai aturan maka program akan error. Aturan penulisan judul program adalah sebagai berikut.\u003C/p>\n\u003Col>\n\u003Cli>Judul program \u003Cstrong>harus\u003C/strong> diawali dengan huruf (a-z / A-Z)\u003C/li>\n\u003Cli>\u003Cstrong>Tidak boleh\u003C/strong> ada spasi pada judul program\u003C/li>\n\u003Cli>Karakter \u003Cstrong>underscore\u003C/strong> dapat digunakan untuk menggantikan spasi\u003C/li>\n\u003Cli>Angka hanya bisa digunakan pada bagian \u003Cstrong>tengah atau akhir\u003C/strong> judul\u003C/li>\n\u003C/ol>\n\u003Cp>Judul program ini sebenarnya bersifat \u003Cstrong>opsional\u003C/strong>. Tetapi akan lebih baik jika disertakan.\u003C/p>\n\u003Ch3 id=\"2-bagian-deklarasi\">2. Bagian Deklarasi\u003C/h3>\n\u003Cp>Selanjutnya adalah deklarasi program. Bagian ini bisa diibaratkan sebagai \u003Cstrong>Alat dan Bahan\u003C/strong> pada buku resep makanan.\u003C/p>\n\u003Cp>Isi dari bagian deklarasi adalah memberi tahu komputer apa apa saja yang kita butuhkan dalam menjalankan program.\u003C/p>\n\u003Cp>Letak bagian deklarasi ini ada tepat di bawah judul program dan di atas keyword \u003Cstrong>begin\u003C/strong>.\u003C/p>\n\u003Cp>Pada contoh program \u003Cstrong>Hello World\u003C/strong> di atas, bagian deklarasinya adalah kode berikut.\u003C/p>\n\n\u003Cdiv class=\"code-block-wrapper my-6 not-prose rounded-xl border-2 border-black dark:border-gray-600 shadow-neo overflow-hidden bg-[#24292e] text-[#e1e4e8] transition-all\">\n  \u003Cdiv class=\"code-block-header flex items-center justify-between px-4 py-2.5 bg-[#1f2428] border-b-2 border-black dark:border-gray-600 font-mono text-xs font-bold text-gray-300 select-none\">\n    \u003Cdiv class=\"flex items-center gap-2\">\n      \u003Cspan class=\"w-3 h-3 rounded-full bg-[#ff5f56] border border-black/40 inline-block\">\u003C/span>\n      \u003Cspan class=\"w-3 h-3 rounded-full bg-[#ffbd2e] border border-black/40 inline-block\">\u003C/span>\n      \u003Cspan class=\"w-3 h-3 rounded-full bg-[#27c93f] border border-black/40 inline-block\">\u003C/span>\n      \u003Cspan class=\"ml-2 font-mono font-bold text-xs uppercase tracking-wider text-gray-300\">PASCAL\u003C/span>\n    \u003C/div>\n    \u003Cbutton type=\"button\" class=\"copy-code-btn flex items-center gap-1.5 px-3 py-1 text-xs font-bold bg-[#2f363d] text-gray-200 border-2 border-black dark:border-gray-500 rounded-lg shadow-neo-sm hover:translate-x-0.5 hover:translate-y-0.5 hover:shadow-none hover:bg-gray-700 transition-all cursor-pointer\" data-code=\"uses%20crt%3B\" title=\"Salin kode\">\n      \u003Csvg class=\"w-3.5 h-3.5 copy-icon-svg\" fill=\"none\" stroke=\"currentColor\" viewBox=\"0 0 24 24\">\n        \u003Cpath stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"2\" d=\"M8 16H6a2 2 0 01-2-2V6a2 2 0 012-2h8a2 2 0 012 2v2m-6 12h8a2 2 0 002-2v-8a2 2 0 00-2-2h-8a2 2 0 00-2 2v8a2 2 0 002 2z\">\u003C/path>\n      \u003C/svg>\n      \u003Cspan class=\"copy-text\">Copy\u003C/span>\n    \u003C/button>\n  \u003C/div>\n  \u003Cdiv class=\"code-block-content p-4 overflow-x-auto text-sm font-mono leading-relaxed bg-[#24292e]\">\n    \u003Cpre class=\"shiki github-dark\" style=\"background-color:#24292e;color:#e1e4e8\">\u003Ccode>uses crt;\u003C/code>\u003C/pre>\n  \u003C/div>\n\u003C/div>\u003Cp>Kode tersebut memerintahkan komputer untuk menggunakan &quot;library&quot; yang bernama \u003Cstrong>crt.\u003C/strong> Ibaratkan saja \u003Cstrong>library\u003C/strong> itu sebagai sebuah &quot;alat&quot; untuk melakukan sesuatu. &quot;Sesuatu&quot; ini akan kita lakukan di bagian selanjutnya.\u003C/p>\n\u003Cp>Pada bagian deklarasi ini kita juga dapat mengetikkan beberapa &quot;bahan&quot; yang dibutuhkan seperti \u003Cstrong>constant, variable, type,\u003C/strong> \u003Cstrong>procedure\u003C/strong> dan \u003Cstrong>function.\u003C/strong>\u003C/p>\n\u003Cblockquote>\n\u003Cp>Kita akan mempelajari \u003Cstrong>constant\u003C/strong> dan \u003Cstrong>variable\u003C/strong> pada tutorial selanjutnya. sedangkan \u003Cstrong>type\u003C/strong>, \u003Cstrong>procedure\u003C/strong> dan \u003Cstrong>function\u003C/strong> akan kita pelajari di bagian lanjutan.\u003C/p>\n\u003C/blockquote>\n\u003Ch3 id=\"3-bagian-program-utama\">3. Bagian Program Utama\u003C/h3>\n\u003Cp>Bagian terakhir dan bagian paling penting. Ini adalah tempat untuk menuliskan logika program kita. Pada bagian ini, program akan menggunajan semua &quot;alat&quot; dan &quot;bahan&quot; pada bagian deklarasi.\u003C/p>\n\u003Cp>Seluruh bagian di antara \u003Cstrong>begin\u003C/strong> dan \u003Cstrong>end\u003C/strong> merupakan bagian program utama.\u003C/p>\n\n\u003Cdiv class=\"code-block-wrapper my-6 not-prose rounded-xl border-2 border-black dark:border-gray-600 shadow-neo overflow-hidden bg-[#24292e] text-[#e1e4e8] transition-all\">\n  \u003Cdiv class=\"code-block-header flex items-center justify-between px-4 py-2.5 bg-[#1f2428] border-b-2 border-black dark:border-gray-600 font-mono text-xs font-bold text-gray-300 select-none\">\n    \u003Cdiv class=\"flex items-center gap-2\">\n      \u003Cspan class=\"w-3 h-3 rounded-full bg-[#ff5f56] border border-black/40 inline-block\">\u003C/span>\n      \u003Cspan class=\"w-3 h-3 rounded-full bg-[#ffbd2e] border border-black/40 inline-block\">\u003C/span>\n      \u003Cspan class=\"w-3 h-3 rounded-full bg-[#27c93f] border border-black/40 inline-block\">\u003C/span>\n      \u003Cspan class=\"ml-2 font-mono font-bold text-xs uppercase tracking-wider text-gray-300\">PASCAL\u003C/span>\n    \u003C/div>\n    \u003Cbutton type=\"button\" class=\"copy-code-btn flex items-center gap-1.5 px-3 py-1 text-xs font-bold bg-[#2f363d] text-gray-200 border-2 border-black dark:border-gray-500 rounded-lg shadow-neo-sm hover:translate-x-0.5 hover:translate-y-0.5 hover:shadow-none hover:bg-gray-700 transition-all cursor-pointer\" data-code=\"begin%0A%20%20clrscr%3B%0A%20%20writeln('Hello%20World')%3B%0A%20%20readln%3B%0Aend.\" title=\"Salin kode\">\n      \u003Csvg class=\"w-3.5 h-3.5 copy-icon-svg\" fill=\"none\" stroke=\"currentColor\" viewBox=\"0 0 24 24\">\n        \u003Cpath stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"2\" d=\"M8 16H6a2 2 0 01-2-2V6a2 2 0 012-2h8a2 2 0 012 2v2m-6 12h8a2 2 0 002-2v-8a2 2 0 00-2-2h-8a2 2 0 00-2 2v8a2 2 0 002 2z\">\u003C/path>\n      \u003C/svg>\n      \u003Cspan class=\"copy-text\">Copy\u003C/span>\n    \u003C/button>\n  \u003C/div>\n  \u003Cdiv class=\"code-block-content p-4 overflow-x-auto text-sm font-mono leading-relaxed bg-[#24292e]\">\n    \u003Cpre class=\"shiki github-dark\" style=\"background-color:#24292e;color:#e1e4e8\">\u003Ccode>begin\n  clrscr;\n  writeln('Hello World');\n  readln;\nend.\u003C/code>\u003C/pre>\n  \u003C/div>\n\u003C/div>\u003Cp>Mari kita bahas kode ini dari atas sampai bawah.\u003C/p>\n\u003Col>\n\u003Cli>\u003Ccode>begin\u003C/code> \u003Cstrong>:\u003C/strong> Memerintahkan komputer untuk memulai logika program.\u003C/li>\n\u003Cli>\u003Ccode>clrscr\u003C/code> \u003Cstrong>:\u003C/strong> Merupakan kependekan dari \u003Cem>\u003Cstrong>Clear Screen\u003C/strong>\u003C/em>. Perintah ini digunakan untuk membersihkan layar. \u003Ccode>clrscr\u003C/code> merupakan salah satu kegunaan dari &quot;alat&quot; \u003Ccode>crt\u003C/code> yang ada pada bagian deklarasi.\u003C/li>\n\u003Cli>\u003Ccode>writeln(&#39;Hello World&#39;)\u003C/code> \u003Cstrong>:\u003C/strong> Sudah jelas ya kan.. \u003Cstrong>write\u003C/strong> = menulis, \u003Cstrong>ln\u003C/strong> = singkatan dari \u003Cstrong>line\u003C/strong>. Memerintahkan komputer untuk menulis sesuatu yang berada dalam tanda kurung. dalam hal ini adalah \u003Cstrong>Hello World\u003C/strong>.\u003C/li>\n\u003Cli>\u003Ccode>readln\u003C/code> : Seperti sebelumnya, \u003Cstrong>read\u003C/strong> = baca, \u003Cstrong>ln\u003C/strong> = \u003Cstrong>line\u003C/strong>. Memerintahkan komputer untuk membaca baris. Jadi sebelum kita menekan \u003Cstrong>enter\u003C/strong>, komputer akan tetap berhenti pada bagian ini untuk membaca sesuatu — tanpa ini output akan keluar dalam sekejap saja.\u003C/li>\n\u003Cli>\u003Ccode>end\u003C/code> : Bagian akhir program yang menyatakan bahwa program sudah selesai dieksekusi. Selanjutnya program akan keluar. Perhatikan tanda titik (.), tanda ini eksklusif hanya digunakan untuk bagian paling akhir program saja.\u003C/li>\n\u003C/ol>\n\u003Cblockquote>\n\u003Cp>\u003Ccode>**writeln**\u003C/code> dan \u003Ccode>**readln**\u003C/code> merupakan perintah yang digunakan untuk sistem \u003Cstrong>input\u003C/strong> \u003Cstrong>output\u003C/strong>. Selain itu ada juga perintah \u003Ccode>**write**\u003C/code> dan \u003Ccode>**read**\u003C/code>. Untuk sistem output akan kita pelajari di tutorial selanjutnya.\u003C/p>\n\u003C/blockquote>\n\u003Ch2 id=\"penggunaan-tanda-titik-koma\">Penggunaan Tanda Titik Koma\u003C/h2>\n\u003Cp>Mulai dari judul program sampai bagian utama program, pasti ada tanda titik koma. Sebenarnya apa fungsi tanda ini?.\u003C/p>\n\u003Cp>Pada bahasa Pascal tanda titik koma digunakan untuk menunjukkan akhir dari suatu \u003Cstrong>statement\u003C/strong>. Statement adalah kode program yang digunakan untuk melakukan suatu hal spesifik. seperti menulis (\u003Ccode>writeln\u003C/code>), membaca (\u003Ccode>readln\u003C/code>), dan deklarasi.\u003C/p>\n\u003Cp>&quot;\u003Cstrong>Apa yang terjadi jika kita menghapus tanda titik koma?\u003C/strong>&quot;\u003C/p>\n\u003Cp>Jawabannya adalah program akan error seketika. Ini karena komputer hanya bisa membaca satu blok pertintah dalam satu waktu.\u003C/p>\n\u003Cp>Jika kita menghilangkan tanda titik koma, maka komputer akan membaca perintah pertama dan perintah kedua sebagai satu perintah.\u003C/p>\n\u003Cp>Dengan titik koma ini kita bisa menulis kode yang panjang dalam satu baris. Seperti ini adalah kode yang valid:\u003C/p>\n\n\u003Cdiv class=\"code-block-wrapper my-6 not-prose rounded-xl border-2 border-black dark:border-gray-600 shadow-neo overflow-hidden bg-[#24292e] text-[#e1e4e8] transition-all\">\n  \u003Cdiv class=\"code-block-header flex items-center justify-between px-4 py-2.5 bg-[#1f2428] border-b-2 border-black dark:border-gray-600 font-mono text-xs font-bold text-gray-300 select-none\">\n    \u003Cdiv class=\"flex items-center gap-2\">\n      \u003Cspan class=\"w-3 h-3 rounded-full bg-[#ff5f56] border border-black/40 inline-block\">\u003C/span>\n      \u003Cspan class=\"w-3 h-3 rounded-full bg-[#ffbd2e] border border-black/40 inline-block\">\u003C/span>\n      \u003Cspan class=\"w-3 h-3 rounded-full bg-[#27c93f] border border-black/40 inline-block\">\u003C/span>\n      \u003Cspan class=\"ml-2 font-mono font-bold text-xs uppercase tracking-wider text-gray-300\">PASCAL\u003C/span>\n    \u003C/div>\n    \u003Cbutton type=\"button\" class=\"copy-code-btn flex items-center gap-1.5 px-3 py-1 text-xs font-bold bg-[#2f363d] text-gray-200 border-2 border-black dark:border-gray-500 rounded-lg shadow-neo-sm hover:translate-x-0.5 hover:translate-y-0.5 hover:shadow-none hover:bg-gray-700 transition-all cursor-pointer\" data-code=\"program%20HelloWorld%3B%20uses%20crt%3B%0Abegin%0A%20%20clrscr%3B%20writeln('Hello%20World')%3B%20readln%3B%0Aend.\" title=\"Salin kode\">\n      \u003Csvg class=\"w-3.5 h-3.5 copy-icon-svg\" fill=\"none\" stroke=\"currentColor\" viewBox=\"0 0 24 24\">\n        \u003Cpath stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"2\" d=\"M8 16H6a2 2 0 01-2-2V6a2 2 0 012-2h8a2 2 0 012 2v2m-6 12h8a2 2 0 002-2v-8a2 2 0 00-2-2h-8a2 2 0 00-2 2v8a2 2 0 002 2z\">\u003C/path>\n      \u003C/svg>\n      \u003Cspan class=\"copy-text\">Copy\u003C/span>\n    \u003C/button>\n  \u003C/div>\n  \u003Cdiv class=\"code-block-content p-4 overflow-x-auto text-sm font-mono leading-relaxed bg-[#24292e]\">\n    \u003Cpre class=\"shiki github-dark\" style=\"background-color:#24292e;color:#e1e4e8\">\u003Ccode>program HelloWorld; uses crt;\nbegin\n  clrscr; writeln('Hello World'); readln;\nend.\u003C/code>\u003C/pre>\n  \u003C/div>\n\u003C/div>\u003Cp>Pada program tersebut \u003Ccode>clrscr\u003C/code>, \u003Ccode>writeln\u003C/code>, dan \u003Ccode>readln\u003C/code> akan dibaca sebagai 3 statement yang berbeda sehingga tidak akan terjadi error. Berlaku pula kepada \u003Cstrong>bagian judul\u003C/strong> dan \u003Cstrong>deklarasi\u003C/strong>.\u003C/p>\n\u003Cblockquote>\n\u003Cp>Penulisan kode dalam satu baris sangat tidak disarankan karena dapat menyebabkan kebingungan dalam membaca kode program.\u003C/p>\n\u003C/blockquote>\n\u003Ch2 id=\"selanjutnya\">Selanjutnya\u003C/h2>\n\u003Cp>Cukup sekian untuk kesempatan kali ini, semoga bermanfaat.\u003C/p>\n\u003Cp>Jika ingin mengetahui lebih lanjut tentang struktur Pascal, bisa pergi ke \u003Ca href=\"https://wiki.freepascal.org/Program_Structure\">laman wiki free pascal\u003C/a> atau cari cari di internet yang luas ini.\u003C/p>\n\u003Cp>Selanjutnya kita akan membahas tentang \u003Ca href=\"/p/penulisan-komentar-pada-bahasa-pascal\">Penulisan Komentar pada Bahasa Pascal\u003C/a>.\u003C/p>\n\u003Cp>See ya 👋\u003C/p>\n","",[173,186,201,213],{"id":174,"title":175,"slug":176,"excerpt":177,"thumbnail_image":178,"tags":180},"46","Mengapa C Mulai Ditinggalkan: Duel Filosofi Keamanan Rust vs Kesederhanaan Zig","mengapa-c-mulai-ditinggalkan-duel-filosofi-rust-vs-zig","Pernah denger kalau sekitar 70% celah keamanan kritis software modern itu asalnya dari bahasa C? Iya, bahasa yang udah jadi fondasi internet ini 😅. Yuk, kita bedah duel filosofi Rust vs Zig dan cari tahu mana yang pas buat proyek kalian!",{"id":179},"1942a5c9-c1f6-476d-9913-768f78d9d8eb",[181,182,183,184,185],"system-programming","rust","zig","c","memory-safety",{"id":187,"title":188,"slug":189,"excerpt":190,"thumbnail_image":191,"tags":193},"45","Rate Limiting Algorithms: Token Bucket vs Leaky Bucket vs Sliding Window","rate-limiting-algorithms-token-bucket-leaky-bucket-sliding-window","Udah tahu kenapa *rate limiting* itu wajib, tapi masih bingung beda Token Bucket, Leaky Bucket, Fixed Window, dan Sliding Window? Yuk, kita adu empat algoritma ini bareng-bareng dan cari tahu mana yang paling pas buat API kalian!",{"id":192},"0e0ed26d-20c6-443c-bde1-4a6200f6f801",[194,195,196,197,198,199,200],"backend","system-design","rate-limiting","redis","api-gateway","architecture","traffict-management",{"id":202,"title":203,"slug":204,"excerpt":205,"thumbnail_image":206,"tags":208},"44","Transactional Outbox Pattern: Solusi Konsistensi Database dan Message Broker Tanpa 2PC","transactional-outbox-pattern-konsistensi-database-message-broker","Pernah nggak kalian lihat pesanan udah masuk database, tapi email konfirmasinya nggak pernah kekirim? Itu gejala *dual-write problem*. Yuk, kita bedah Transactional Outbox Pattern biar data dan *event* kalian nggak lagi berselisih paham!",{"id":207},"e3c617fd-1486-4b82-b937-94fbec846c77",[194,209,199,210,211,195,212],"microservices","database","message-broker","postgresql",{"id":214,"title":215,"slug":216,"excerpt":217,"thumbnail_image":218,"tags":220},"43","Dead Letter Queue (DLQ) & Retry Policy: Menyelamatkan Pesan Nyasar di RabbitMQ Tanpa Bikin Worker Macet","dead-letter-queue-retry-policy-rabbitmq-resilient-messaging","Pernah nggak sih, *worker* kalian nolak satu pesan terus-terusan sampai CPU melonjak 100%? Itu namanya *poison message loop*, jebakan klasik di RabbitMQ. Yuk, kita bahas cara pasang *retry policy* dan *dead letter queue* yang bener!",{"id":219},"6c0a7ead-4841-4073-b29e-df7ae0f2aa3c",[221,211,194,199,209,222,223],"rabbitmq","async","python",[225,229,233,236,239,242],{"text":226,"depth":227,"id":228},"Struktur Bahasa Pascal",2,"struktur-bahasa-pascal",{"text":230,"depth":231,"id":232},"1. Bagian Judul Program",3,"1-bagian-judul-program",{"text":234,"depth":231,"id":235},"2. Bagian Deklarasi","2-bagian-deklarasi",{"text":237,"depth":231,"id":238},"3. Bagian Program Utama","3-bagian-program-utama",{"text":240,"depth":227,"id":241},"Penggunaan Tanda Titik Koma","penggunaan-tanda-titik-koma",{"text":243,"depth":227,"id":244},"Selanjutnya","selanjutnya",1791045069955]