[{"data":1,"prerenderedAt":257},["ShallowReactive",2],{"site-header":3,"site-footer-license":37,"article-variable-konstanta-dan-tipe-data-pada-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},"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.","2020-10-11T11:25:24.000Z",{"id":49},"52b80649-eebb-4321-990e-c8f34b547c9b",[51,52,53,54],"pascal","variabel","tipe-data","dasar",7,null,"Pada tutorial kali ini kita akan belajar tentang **variable, konstanta, dan tipe data pada pascal.** Ketiga hal ini merupakan jantung dari pemrograman yang akan kita gunakan untuk melakukan **manipulasi data** pada memory.\n\n## Tipe Data pada Pascal\n\n### Pengertian Tipe Data\n\nPascal memiliki 2 jenis tipe data yaiu tipe data standar dan tipe data bentukan. Tetapi untuk tutorial kali ini kita hanya akan membahas tentang tipe data standar saja.\n\n**Tipe data** merupakan suatu himpunanan yang menyatakan operasi apa yang dapat dilakukan kepada data tersebut. Bingung? Sekarang coba ingat sedikit tentang wujud benda. Wujud benda itu ada 3 yaitu padat, cair, dan gas. Sip sampai sini pasti masih ingat hehe... Sekarang ibaratkan wujud benda itu sebagi tipe data. Kita bisa memberi perlakuan berbeda sesuai wujud benda yang berbeda juga. Begitu pula dengan tipe data.\n\nKita bisa menumpuk batu bata (padat), namun tidak bisa menumpuk air dan gas. Air bisa kita pakai untuk berenang namun batu bata tidak bisa. Kita bisa bernafas dengan oksigen (gas) tapi tidak dengan batu bata dan air. Siapa juga mau nafas pake batu bata sama air hehe.\n\nNah perlakuan perlakuan tersebut bisa kita ibaratkan sebagai operasi pada tipe data.\n\n### Macam Tipe Data pada Pascal\n\nTipe data standar pada Pascal terdiri dari 5 jenis yaitu **integer**, **real**, **boolean**, **char**, dan **string**. Kalian bisa lihat deskripsi tipe data pada pascal pada laman [Wikipedia Pascal](https://id.wikipedia.org/wiki/Pascal_(bahasa_pemrograman)) atau singkatnya ada dibawah ini.\n\n| **Tipe Data** | **Keterangan**                                           |\n| ------------- | -------------------------------------------------------- |\n| `integer`     | Bilangan bulat (bilangan positif, negatif, dan angka 0)  |\n| `real`        | Bilangan desimal atau pecahan (0.1, 4.1, 99.76, dll)     |\n| `boolean`     | Nilai logika true(1) dan false(0)                        |\n| `char`        | Karakter dalam tabel [ASCII](http://www.asciitable.com/) |\n| `string`      | Kata atau kalimat                                        |\n\nTipe data ini akan berguna dalam deklarasi variable. Karena setiap tipe data punya perlakuan yang berbeda beda, jadi kita juga harus menentukan tipe data variable secara tepat. Untuk perlakuan atau operasi data akan kita bahas pada tutorial selanjutnya.\n\n## Variable dan Konstanta pada Pascal\n\nSetelah tahu apa itu tipe data, sekarang saatnya menggunakan tipe data tersebut. **Jadi fungsi Tipe Data itu apa sih?** **Apa hubungannya dengan variable dan konstanta?**\n\nKalian pasti sudah pernah kenal dengan variable dan konstanta pada pelajaran matematika. Contohnya ada di persamaan garis lurus. Masih ingat kan?\n\n**ax + b = y**, dengan a dan b merupakan konstanta.\n\nNah dari persamaan tersebut kita bisa mendapat output sebuah garis lurus. Cukup dengan mengubah **x** kita bisa dapat nilai **y**. Jadi bisa kita simpulkan bahwa **x** dan **y** adalah variable karena nilainya bisa berubah sesuai kondisi. Sedangakan **a** dan **b** merupakan konstanta karena nilai tersebut tidak bisa berubah kecuali kita sendiri yang mengubahnya.\n\nKalau pada matematika baik nilai **a, b, x** dan **y** pasti berupa **angka**. Nah dalam pemrograman nilai **a, b,** **x** dan **y** bisa berupa apa saja. Bisa angka, huruf, kata, kalimat, gambar, dan banyak lagi.\n\nJadi disini tipe data berfungsi sebagai pengenal tipe variable dan konstanta agar komputer bisa melakukan operasi. Daripada bingung langsung aja kita lihat contoh kodingannya.\n\nOh iya kalau kalian ingin coba mengetikkan kode dibawah pada free pascal, kalian bisa mengabaikan [komentarnya](https://invasikode.com/komentar-pascal/) (tidak perlu ditulis)\n\n```pascal\nprogram Lingkaran;\nuses crt;\n\n// deklarasi konstanta\nconst\n  PI=3.14;\n\n// deklarasi variable\nvar\n  nama: string;   // variable nama bertipe string (kata atau kalimat)\n  r   : integer;  // variable r bertipe integer (bilangan bulat)\n  luas: real;     // variable luas bertipe real (bilangan desimal atau pecahan)\n\n// program utama\nbegin\n  clrscr;\n\n  // memberi nilai pada variable\n  nama := 'Budi'; // variable nama berisi 'budi'\n  r    := 7;      // variable r (jari-jari) bernilai 7\n  luas := PI*r*r; // variable luas berisi luas lingkaran sesuai rumus (PI*r*r)\n\n  // proses output\n  writeln(nama, ' punya lingkaran');\n  writeln('jari jari=', r);\n  writeln('luas lingkaran ', nama, ' adalah ', luas:2:2);\n  readln;\nend.\n```\n\nKalau sudah selesai mengetik coba kalian jalankan. Kira kira penampakan outputnya akan seperti ini\n\n```\nBudi punya lingkaran\njari jari=7\nluas lingkaran Budi adalah 153.86\n```\n\nHmm... Kira kira kenapa bisa jadi seperti itu? langsung aja kita bahas.\n\n### Deklarasi Variable dan Konstanta\n\nPertama tama kita bahas dari bagian awal dulu yaitu pada bagain deklarasi. Masih ingat kan bagian deklarasi itu yang mana kalau balum tau, kalian bisa baca baca dulu pada tutorial [bagian dan struktur bahasa Pascal](https://invasikode.com/struktur-pascal/).\n\nVariable dan konstanta disini bisa kita ibaratkan sebagai bahan yang akan kita gunakan pada program utama. Bagian deklarasi konstanta ditandai dengan keyword `const`, sedangkan deklarasi variable ditandai dengan keyword `var`.\n\n```pascal\n....\n// deklarasi konstanta\nconst\n  PI=3.14;\n\n// deklarasi variable\nvar\n  nama: string;   // variable nama bertipe string (kata atau kalimat)\n  r   : integer;  // variable r bertipe integer (bilangan bulat)\n  luas: real;     // variable luas bertipe real (bilangan desimal atau pecahan)\n....\n```\n\n### Deklarasi Konstanta (const)\n\nDeklarasi konstanta terdapat setelah keyword `const`. Pada contoh tersebut kita mempunyai satu konstanta yaitu PI yang bernilai 3,14. Untuk penulisan konstanta dapat dilakukan dengan menuliskan **nama konstanta** pada ruas kiri lalu tanda **sama dengan** lalu **nilai** yang diinginkan.\n\n```\n[nama konstanta] = [nilai]\n```\n\nPemberian tanda petik berfungsi ketika kita mendeklarasikan konstanta berupa huruf, kata, atau kalimat. Sedangkan konstanta berupa angka tidak perlu tanda petik. Contohnya sebagai berikut.\n\n```\nconst\n  PI = 3.14; // PI berisi angka\n  nama = 'budi'; // nama berisi kata-kata\n```\n\n> Perlu diingat bahwa konstanta memiliki nilai tetap yang tidak dapat berubah pada program utama (constant = konstan = tetap).\n\n### Deklarasi Variable (var)\n\nSelanjutnya adalah deklarasi variable. Deklarasi variable berada dibawah keyword `var`. Perbedaan antara deklarasi konstanta dan variable adalah pada pemberian nilainya.\n\nJika pada deklarasi konstanta kita langsung memberikan nilai pasti pada konstanta tersebut. Pada deklarasi variable kita hanya perlu memberikan **tipe data** dari variable tersebut karena kita bisa mengubah nilai variable pada program utama.\n\nPada contoh tersebut kita mendeklarasikan 3 variable yaitu **nama**, **r**, dan **luas**. Ketiga variable ini memiliki tipe data yang berbeda beda. Tipe data variable berada setelah tanda titik 2 (:). Format deklarasi variable adalah dengan menuliskan **nama variable** lalu **titik 2** lalu **tipe datanya**.\n\n```\n[nama variable] : [tipe data]\natau langsung beberapa variable\n[nama variable], [nama variable] : [tipe data]\n```\n\nUntuk tipe data bisa kalian isi sesuai yang ada pada awal post ini.\n\n### Memberi Nilai pada Variable\n\nKita sudah melakukan deklarasi variable nih, selanjutnya variable tersebut harus kita beri nilai. Pemberian nilai pada variable atau yang biasa disebut ***assigment*** pada Pascal dapat dilakukan dengan cara menggunakan tanda `:=`\n\nPada contoh tersebut kita mengisikan nilai pada 3 variable yang sudah ada pada deklarasi. Variable **r** bernilai 7, variable **nama** bernilai 'budi', dan variable **luas** bernilai hasil perhitungan luas sesuai rumus.\n\n```pascal\n....\n  // memberi nilai pada variable\n  nama := 'Budi'; // variable nama berisi 'budi'\n  r    := 7;      // variable r (jari-jari) bernilai 7\n  luas := PI*r*r; // variable luas berisi luas lingkaran sesuai rumus (PI*r*r)\n....\n```\n\nKalian bebas mau memberi nilai **r** dan **nama** dengan apa saja selama tetap sesuai dengan tipe data yang sudah ada pada deklarasi. Semisal kalian ingin mengubah nilai r menjadi 10 program akan tetap bisa berjalan karena angka 10 masih termasuk dalam tipe data **integer**, namun jika kalian isikan dengan angka 9.7 program akan error karena 9.7 merupakan bilangan desimal yang bertipe data **real**.\n\n> Perlu kalian ingat bahwa jika ingin menuliskan angka desimal kalian harus menggunakan tanda titik(.) bukan tanda koma(,). semisal 0.5 bukan 0,5\n\nUntuk pemberian nilai pada variable bertipe **string** dan **char** harus menggunakan tanda petik satu ('). contoh seperti diatas yaitu `'Budi'`.\n\nVariable bukan hanya bisa berisi bilangan tetap, tetapi juga bisa diisikan dengan operasi bilangan. Contohnya pengisian variable **luas** pada contoh tersebut. Untuk lebih jelasnya tentang operasi pada pascal akan kita bahas pada tutorial selanjutnya.\n\n### Melakukan Output Nilai Variable\n\nSipp sekarang bagian penentu keberhasilan program yaitu [sistem output](https://invasikode.com/write-writeln-pascal/). Melakukan output variable pada pascal sangat simpel. Output kali ini akan kita lakukan dengan menggunakan perintah `writeln`.\n\n```pascal\n....\n  // proses output\n  writeln(nama, ' punya lingkaran');\n  writeln('jari jari=', r);\n  writeln('luas lingkaran ', nama, ' adalah ', luas:2:2);\n....\n```\n\nPada contoh tersebut kita melakukan output variable dengan cara memanggilnya. Cara pemanggilan variable yaitu dengan menuliskan nama variablenya saja **tanpa tanda petik**. Jika kalian beri tanda petik, maka pascal akan membacanya sebagai **kata kata biasa**.\n\nUntuk memisahkan variable dengan kata kata cukup digunakan tanda koma (,). Pada perintah `writeln` yang pertama kita melakukan pemanggilan variable **nama** yang isinya 'Budi', lalu lanjut dengan kata kata ' punya lingkaran.' Jadi hasil outputnya adalah 'Budi punya lingkaran'. Begitu seterusnya sampai perintah `writeln` yang terakhir.\n\nSalah satu keuntungan penggunaan variable adalah efisiensi. Pada contoh diatas variable nama dipanggil 2 kali. Coba saja kalian ganti nilai variable nama menjadi nama kalian masing masing lalu coba jalankan program. Nantinya output yang dihasilkan tidak lagi berupa 'budi punya lingkaran', namun menjadi '\\[nama kalian] punya lingkaran'.\n\n```pascal\n....\n  nama := 'Adi'; // mengganti nama 'budi' menjadi 'adi'\n  r    := 10;    // mengganti r dari 7 menjadi 10\n  luas := PI*r*r;\n\n  writeln(nama, ' punya lingkaran');\n  writeln('jari jari=', r);\n  writeln('luas lingkaran ', nama, ' adalah ', luas:2:2);\n.... \n```\n\nJika program diatas dijalankan maka hasilnya akan seperti ini\n\n```\nAdi punya lingkaran\njari jari=10\nluas lingkaran Adi adalah 314.00\n```\n\n## Selanjutnya\n\nSekian sampai di sini, semoga bermanfaat 👋\n\nSelanjutnya kita akan membahas tentang [operasi aritmatika pada Bahasa Pascal](https://invasikode.com/operasi-aritmatika-pascal/).",[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,88,98,105,113,122,132,140,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,54],"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,87],"input-output","syntax",{"id":89,"title":90,"slug":91,"excerpt":92,"thumbnail_image":93,"tags":95},"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":94},"2c84752c-6726-4126-bfd7-ae7f311be684",[51,96,97],"instalasi","tooling",{"id":99,"title":100,"slug":101,"excerpt":92,"thumbnail_image":102,"tags":104},"61","Menginstall Free Pascal pada Linux","menginstall-free-pascal-pada-linux",{"id":103},"36758a2e-8f5d-4485-af44-ac5c17d6b438",[51,96,97],{"id":106,"title":107,"slug":108,"excerpt":109,"thumbnail_image":110,"tags":112},"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":111},"81fde45a-bbc8-4080-8167-4717eef59014",[51,23,54],{"id":114,"title":115,"slug":116,"excerpt":117,"thumbnail_image":118,"tags":120},"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.",{"id":119},"d003025e-345c-426d-b499-d76da7a8ee72",[51,87,54,121],"konsep",{"id":123,"title":124,"slug":125,"excerpt":126,"thumbnail_image":127,"tags":129},"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":128},"a1fb41b3-5d8d-4c47-b0d3-0f344ad33107",[51,130,87,131],"komentar","best-practice",{"id":133,"title":134,"slug":135,"excerpt":136,"thumbnail_image":137,"tags":139},"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":138},"234ec268-ef60-4f16-837f-b0cf86471406",[51,86,87],{"id":43,"title":44,"slug":45,"excerpt":46,"thumbnail_image":141,"tags":142},{"id":49},[51,52,53,54],{"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,54],"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>Pada tutorial kali ini kita akan belajar tentang \u003Cstrong>variable, konstanta, dan tipe data pada pascal.\u003C/strong> Ketiga hal ini merupakan jantung dari pemrograman yang akan kita gunakan untuk melakukan \u003Cstrong>manipulasi data\u003C/strong> pada memory.\u003C/p>\n\u003Ch2 id=\"tipe-data-pada-pascal\">Tipe Data pada Pascal\u003C/h2>\n\u003Ch3 id=\"pengertian-tipe-data\">Pengertian Tipe Data\u003C/h3>\n\u003Cp>Pascal memiliki 2 jenis tipe data yaiu tipe data standar dan tipe data bentukan. Tetapi untuk tutorial kali ini kita hanya akan membahas tentang tipe data standar saja.\u003C/p>\n\u003Cp>\u003Cstrong>Tipe data\u003C/strong> merupakan suatu himpunanan yang menyatakan operasi apa yang dapat dilakukan kepada data tersebut. Bingung? Sekarang coba ingat sedikit tentang wujud benda. Wujud benda itu ada 3 yaitu padat, cair, dan gas. Sip sampai sini pasti masih ingat hehe... Sekarang ibaratkan wujud benda itu sebagi tipe data. Kita bisa memberi perlakuan berbeda sesuai wujud benda yang berbeda juga. Begitu pula dengan tipe data.\u003C/p>\n\u003Cp>Kita bisa menumpuk batu bata (padat), namun tidak bisa menumpuk air dan gas. Air bisa kita pakai untuk berenang namun batu bata tidak bisa. Kita bisa bernafas dengan oksigen (gas) tapi tidak dengan batu bata dan air. Siapa juga mau nafas pake batu bata sama air hehe.\u003C/p>\n\u003Cp>Nah perlakuan perlakuan tersebut bisa kita ibaratkan sebagai operasi pada tipe data.\u003C/p>\n\u003Ch3 id=\"macam-tipe-data-pada-pascal\">Macam Tipe Data pada Pascal\u003C/h3>\n\u003Cp>Tipe data standar pada Pascal terdiri dari 5 jenis yaitu \u003Cstrong>integer\u003C/strong>, \u003Cstrong>real\u003C/strong>, \u003Cstrong>boolean\u003C/strong>, \u003Cstrong>char\u003C/strong>, dan \u003Cstrong>string\u003C/strong>. Kalian bisa lihat deskripsi tipe data pada pascal pada laman \u003Ca href=\"https://id.wikipedia.org/wiki/Pascal_(bahasa_pemrograman)\">Wikipedia Pascal\u003C/a> atau singkatnya ada dibawah ini.\u003C/p>\n\u003Ctable>\n\u003Cthead>\n\u003Ctr>\n\u003Cth>\u003Cstrong>Tipe Data\u003C/strong>\u003C/th>\n\u003Cth>\u003Cstrong>Keterangan\u003C/strong>\u003C/th>\n\u003C/tr>\n\u003C/thead>\n\u003Ctbody>\u003Ctr>\n\u003Ctd>\u003Ccode>integer\u003C/code>\u003C/td>\n\u003Ctd>Bilangan bulat (bilangan positif, negatif, dan angka 0)\u003C/td>\n\u003C/tr>\n\u003Ctr>\n\u003Ctd>\u003Ccode>real\u003C/code>\u003C/td>\n\u003Ctd>Bilangan desimal atau pecahan (0.1, 4.1, 99.76, dll)\u003C/td>\n\u003C/tr>\n\u003Ctr>\n\u003Ctd>\u003Ccode>boolean\u003C/code>\u003C/td>\n\u003Ctd>Nilai logika true(1) dan false(0)\u003C/td>\n\u003C/tr>\n\u003Ctr>\n\u003Ctd>\u003Ccode>char\u003C/code>\u003C/td>\n\u003Ctd>Karakter dalam tabel \u003Ca href=\"http://www.asciitable.com/\">ASCII\u003C/a>\u003C/td>\n\u003C/tr>\n\u003Ctr>\n\u003Ctd>\u003Ccode>string\u003C/code>\u003C/td>\n\u003Ctd>Kata atau kalimat\u003C/td>\n\u003C/tr>\n\u003C/tbody>\u003C/table>\n\u003Cp>Tipe data ini akan berguna dalam deklarasi variable. Karena setiap tipe data punya perlakuan yang berbeda beda, jadi kita juga harus menentukan tipe data variable secara tepat. Untuk perlakuan atau operasi data akan kita bahas pada tutorial selanjutnya.\u003C/p>\n\u003Ch2 id=\"variable-dan-konstanta-pada-pascal\">Variable dan Konstanta pada Pascal\u003C/h2>\n\u003Cp>Setelah tahu apa itu tipe data, sekarang saatnya menggunakan tipe data tersebut. \u003Cstrong>Jadi fungsi Tipe Data itu apa sih?\u003C/strong> \u003Cstrong>Apa hubungannya dengan variable dan konstanta?\u003C/strong>\u003C/p>\n\u003Cp>Kalian pasti sudah pernah kenal dengan variable dan konstanta pada pelajaran matematika. Contohnya ada di persamaan garis lurus. Masih ingat kan?\u003C/p>\n\u003Cp>\u003Cstrong>ax + b = y\u003C/strong>, dengan a dan b merupakan konstanta.\u003C/p>\n\u003Cp>Nah dari persamaan tersebut kita bisa mendapat output sebuah garis lurus. Cukup dengan mengubah \u003Cstrong>x\u003C/strong> kita bisa dapat nilai \u003Cstrong>y\u003C/strong>. Jadi bisa kita simpulkan bahwa \u003Cstrong>x\u003C/strong> dan \u003Cstrong>y\u003C/strong> adalah variable karena nilainya bisa berubah sesuai kondisi. Sedangakan \u003Cstrong>a\u003C/strong> dan \u003Cstrong>b\u003C/strong> merupakan konstanta karena nilai tersebut tidak bisa berubah kecuali kita sendiri yang mengubahnya.\u003C/p>\n\u003Cp>Kalau pada matematika baik nilai \u003Cstrong>a, b, x\u003C/strong> dan \u003Cstrong>y\u003C/strong> pasti berupa \u003Cstrong>angka\u003C/strong>. Nah dalam pemrograman nilai \u003Cstrong>a, b,\u003C/strong> \u003Cstrong>x\u003C/strong> dan \u003Cstrong>y\u003C/strong> bisa berupa apa saja. Bisa angka, huruf, kata, kalimat, gambar, dan banyak lagi.\u003C/p>\n\u003Cp>Jadi disini tipe data berfungsi sebagai pengenal tipe variable dan konstanta agar komputer bisa melakukan operasi. Daripada bingung langsung aja kita lihat contoh kodingannya.\u003C/p>\n\u003Cp>Oh iya kalau kalian ingin coba mengetikkan kode dibawah pada free pascal, kalian bisa mengabaikan \u003Ca href=\"https://invasikode.com/komentar-pascal/\">komentarnya\u003C/a> (tidak perlu ditulis)\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%20Lingkaran%3B%0Auses%20crt%3B%0A%0A%2F%2F%20deklarasi%20konstanta%0Aconst%0A%20%20PI%3D3.14%3B%0A%0A%2F%2F%20deklarasi%20variable%0Avar%0A%20%20nama%3A%20string%3B%20%20%20%2F%2F%20variable%20nama%20bertipe%20string%20(kata%20atau%20kalimat)%0A%20%20r%20%20%20%3A%20integer%3B%20%20%2F%2F%20variable%20r%20bertipe%20integer%20(bilangan%20bulat)%0A%20%20luas%3A%20real%3B%20%20%20%20%20%2F%2F%20variable%20luas%20bertipe%20real%20(bilangan%20desimal%20atau%20pecahan)%0A%0A%2F%2F%20program%20utama%0Abegin%0A%20%20clrscr%3B%0A%0A%20%20%2F%2F%20memberi%20nilai%20pada%20variable%0A%20%20nama%20%3A%3D%20'Budi'%3B%20%2F%2F%20variable%20nama%20berisi%20'budi'%0A%20%20r%20%20%20%20%3A%3D%207%3B%20%20%20%20%20%20%2F%2F%20variable%20r%20(jari-jari)%20bernilai%207%0A%20%20luas%20%3A%3D%20PI*r*r%3B%20%2F%2F%20variable%20luas%20berisi%20luas%20lingkaran%20sesuai%20rumus%20(PI*r*r)%0A%0A%20%20%2F%2F%20proses%20output%0A%20%20writeln(nama%2C%20'%20punya%20lingkaran')%3B%0A%20%20writeln('jari%20jari%3D'%2C%20r)%3B%0A%20%20writeln('luas%20lingkaran%20'%2C%20nama%2C%20'%20adalah%20'%2C%20luas%3A2%3A2)%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 Lingkaran;\nuses crt;\n\n// deklarasi konstanta\nconst\n  PI=3.14;\n\n// deklarasi variable\nvar\n  nama: string;   // variable nama bertipe string (kata atau kalimat)\n  r   : integer;  // variable r bertipe integer (bilangan bulat)\n  luas: real;     // variable luas bertipe real (bilangan desimal atau pecahan)\n\n// program utama\nbegin\n  clrscr;\n\n  // memberi nilai pada variable\n  nama := 'Budi'; // variable nama berisi 'budi'\n  r    := 7;      // variable r (jari-jari) bernilai 7\n  luas := PI*r*r; // variable luas berisi luas lingkaran sesuai rumus (PI*r*r)\n\n  // proses output\n  writeln(nama, ' punya lingkaran');\n  writeln('jari jari=', r);\n  writeln('luas lingkaran ', nama, ' adalah ', luas:2:2);\n  readln;\nend.\u003C/code>\u003C/pre>\n  \u003C/div>\n\u003C/div>\u003Cp>Kalau sudah selesai mengetik coba kalian jalankan. Kira kira penampakan outputnya akan 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\">TEXT\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=\"Budi%20punya%20lingkaran%0Ajari%20jari%3D7%0Aluas%20lingkaran%20Budi%20adalah%20153.86\" 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>Budi punya lingkaran\njari jari=7\nluas lingkaran Budi adalah 153.86\u003C/code>\u003C/pre>\n  \u003C/div>\n\u003C/div>\u003Cp>Hmm... Kira kira kenapa bisa jadi seperti itu? langsung aja kita bahas.\u003C/p>\n\u003Ch3 id=\"deklarasi-variable-dan-konstanta\">Deklarasi Variable dan Konstanta\u003C/h3>\n\u003Cp>Pertama tama kita bahas dari bagian awal dulu yaitu pada bagain deklarasi. Masih ingat kan bagian deklarasi itu yang mana kalau balum tau, kalian bisa baca baca dulu pada tutorial \u003Ca href=\"https://invasikode.com/struktur-pascal/\">bagian dan struktur bahasa Pascal\u003C/a>.\u003C/p>\n\u003Cp>Variable dan konstanta disini bisa kita ibaratkan sebagai bahan yang akan kita gunakan pada program utama. Bagian deklarasi konstanta ditandai dengan keyword \u003Ccode>const\u003C/code>, sedangkan deklarasi variable ditandai dengan keyword \u003Ccode>var\u003C/code>.\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=\"....%0A%2F%2F%20deklarasi%20konstanta%0Aconst%0A%20%20PI%3D3.14%3B%0A%0A%2F%2F%20deklarasi%20variable%0Avar%0A%20%20nama%3A%20string%3B%20%20%20%2F%2F%20variable%20nama%20bertipe%20string%20(kata%20atau%20kalimat)%0A%20%20r%20%20%20%3A%20integer%3B%20%20%2F%2F%20variable%20r%20bertipe%20integer%20(bilangan%20bulat)%0A%20%20luas%3A%20real%3B%20%20%20%20%20%2F%2F%20variable%20luas%20bertipe%20real%20(bilangan%20desimal%20atau%20pecahan)%0A....\" 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>....\n// deklarasi konstanta\nconst\n  PI=3.14;\n\n// deklarasi variable\nvar\n  nama: string;   // variable nama bertipe string (kata atau kalimat)\n  r   : integer;  // variable r bertipe integer (bilangan bulat)\n  luas: real;     // variable luas bertipe real (bilangan desimal atau pecahan)\n....\u003C/code>\u003C/pre>\n  \u003C/div>\n\u003C/div>\u003Ch3 id=\"deklarasi-konstanta-const\">Deklarasi Konstanta (const)\u003C/h3>\n\u003Cp>Deklarasi konstanta terdapat setelah keyword \u003Ccode>const\u003C/code>. Pada contoh tersebut kita mempunyai satu konstanta yaitu PI yang bernilai 3,14. Untuk penulisan konstanta dapat dilakukan dengan menuliskan \u003Cstrong>nama konstanta\u003C/strong> pada ruas kiri lalu tanda \u003Cstrong>sama dengan\u003C/strong> lalu \u003Cstrong>nilai\u003C/strong> yang diinginkan.\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\">TEXT\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=\"%5Bnama%20konstanta%5D%20%3D%20%5Bnilai%5D\" 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>[nama konstanta] = [nilai]\u003C/code>\u003C/pre>\n  \u003C/div>\n\u003C/div>\u003Cp>Pemberian tanda petik berfungsi ketika kita mendeklarasikan konstanta berupa huruf, kata, atau kalimat. Sedangkan konstanta berupa angka tidak perlu tanda petik. Contohnya sebagai 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\">TEXT\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=\"const%0A%20%20PI%20%3D%203.14%3B%20%2F%2F%20PI%20berisi%20angka%0A%20%20nama%20%3D%20'budi'%3B%20%2F%2F%20nama%20berisi%20kata-kata\" 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>const\n  PI = 3.14; // PI berisi angka\n  nama = 'budi'; // nama berisi kata-kata\u003C/code>\u003C/pre>\n  \u003C/div>\n\u003C/div>\u003Cblockquote>\n\u003Cp>Perlu diingat bahwa konstanta memiliki nilai tetap yang tidak dapat berubah pada program utama (constant = konstan = tetap).\u003C/p>\n\u003C/blockquote>\n\u003Ch3 id=\"deklarasi-variable-var\">Deklarasi Variable (var)\u003C/h3>\n\u003Cp>Selanjutnya adalah deklarasi variable. Deklarasi variable berada dibawah keyword \u003Ccode>var\u003C/code>. Perbedaan antara deklarasi konstanta dan variable adalah pada pemberian nilainya.\u003C/p>\n\u003Cp>Jika pada deklarasi konstanta kita langsung memberikan nilai pasti pada konstanta tersebut. Pada deklarasi variable kita hanya perlu memberikan \u003Cstrong>tipe data\u003C/strong> dari variable tersebut karena kita bisa mengubah nilai variable pada program utama.\u003C/p>\n\u003Cp>Pada contoh tersebut kita mendeklarasikan 3 variable yaitu \u003Cstrong>nama\u003C/strong>, \u003Cstrong>r\u003C/strong>, dan \u003Cstrong>luas\u003C/strong>. Ketiga variable ini memiliki tipe data yang berbeda beda. Tipe data variable berada setelah tanda titik 2 (:). Format deklarasi variable adalah dengan menuliskan \u003Cstrong>nama variable\u003C/strong> lalu \u003Cstrong>titik 2\u003C/strong> lalu \u003Cstrong>tipe datanya\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\">TEXT\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=\"%5Bnama%20variable%5D%20%3A%20%5Btipe%20data%5D%0Aatau%20langsung%20beberapa%20variable%0A%5Bnama%20variable%5D%2C%20%5Bnama%20variable%5D%20%3A%20%5Btipe%20data%5D\" 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>[nama variable] : [tipe data]\natau langsung beberapa variable\n[nama variable], [nama variable] : [tipe data]\u003C/code>\u003C/pre>\n  \u003C/div>\n\u003C/div>\u003Cp>Untuk tipe data bisa kalian isi sesuai yang ada pada awal post ini.\u003C/p>\n\u003Ch3 id=\"memberi-nilai-pada-variable\">Memberi Nilai pada Variable\u003C/h3>\n\u003Cp>Kita sudah melakukan deklarasi variable nih, selanjutnya variable tersebut harus kita beri nilai. Pemberian nilai pada variable atau yang biasa disebut \u003Cem>\u003Cstrong>assigment\u003C/strong>\u003C/em> pada Pascal dapat dilakukan dengan cara menggunakan tanda \u003Ccode>:=\u003C/code>\u003C/p>\n\u003Cp>Pada contoh tersebut kita mengisikan nilai pada 3 variable yang sudah ada pada deklarasi. Variable \u003Cstrong>r\u003C/strong> bernilai 7, variable \u003Cstrong>nama\u003C/strong> bernilai &#39;budi&#39;, dan variable \u003Cstrong>luas\u003C/strong> bernilai hasil perhitungan luas sesuai rumus.\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=\"....%0A%20%20%2F%2F%20memberi%20nilai%20pada%20variable%0A%20%20nama%20%3A%3D%20'Budi'%3B%20%2F%2F%20variable%20nama%20berisi%20'budi'%0A%20%20r%20%20%20%20%3A%3D%207%3B%20%20%20%20%20%20%2F%2F%20variable%20r%20(jari-jari)%20bernilai%207%0A%20%20luas%20%3A%3D%20PI*r*r%3B%20%2F%2F%20variable%20luas%20berisi%20luas%20lingkaran%20sesuai%20rumus%20(PI*r*r)%0A....\" 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>....\n  // memberi nilai pada variable\n  nama := 'Budi'; // variable nama berisi 'budi'\n  r    := 7;      // variable r (jari-jari) bernilai 7\n  luas := PI*r*r; // variable luas berisi luas lingkaran sesuai rumus (PI*r*r)\n....\u003C/code>\u003C/pre>\n  \u003C/div>\n\u003C/div>\u003Cp>Kalian bebas mau memberi nilai \u003Cstrong>r\u003C/strong> dan \u003Cstrong>nama\u003C/strong> dengan apa saja selama tetap sesuai dengan tipe data yang sudah ada pada deklarasi. Semisal kalian ingin mengubah nilai r menjadi 10 program akan tetap bisa berjalan karena angka 10 masih termasuk dalam tipe data \u003Cstrong>integer\u003C/strong>, namun jika kalian isikan dengan angka 9.7 program akan error karena 9.7 merupakan bilangan desimal yang bertipe data \u003Cstrong>real\u003C/strong>.\u003C/p>\n\u003Cblockquote>\n\u003Cp>Perlu kalian ingat bahwa jika ingin menuliskan angka desimal kalian harus menggunakan tanda titik(.) bukan tanda koma(,). semisal 0.5 bukan 0,5\u003C/p>\n\u003C/blockquote>\n\u003Cp>Untuk pemberian nilai pada variable bertipe \u003Cstrong>string\u003C/strong> dan \u003Cstrong>char\u003C/strong> harus menggunakan tanda petik satu (&#39;). contoh seperti diatas yaitu \u003Ccode>&#39;Budi&#39;\u003C/code>.\u003C/p>\n\u003Cp>Variable bukan hanya bisa berisi bilangan tetap, tetapi juga bisa diisikan dengan operasi bilangan. Contohnya pengisian variable \u003Cstrong>luas\u003C/strong> pada contoh tersebut. Untuk lebih jelasnya tentang operasi pada pascal akan kita bahas pada tutorial selanjutnya.\u003C/p>\n\u003Ch3 id=\"melakukan-output-nilai-variable\">Melakukan Output Nilai Variable\u003C/h3>\n\u003Cp>Sipp sekarang bagian penentu keberhasilan program yaitu \u003Ca href=\"https://invasikode.com/write-writeln-pascal/\">sistem output\u003C/a>. Melakukan output variable pada pascal sangat simpel. Output kali ini akan kita lakukan dengan menggunakan perintah \u003Ccode>writeln\u003C/code>.\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=\"....%0A%20%20%2F%2F%20proses%20output%0A%20%20writeln(nama%2C%20'%20punya%20lingkaran')%3B%0A%20%20writeln('jari%20jari%3D'%2C%20r)%3B%0A%20%20writeln('luas%20lingkaran%20'%2C%20nama%2C%20'%20adalah%20'%2C%20luas%3A2%3A2)%3B%0A....\" 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>....\n  // proses output\n  writeln(nama, ' punya lingkaran');\n  writeln('jari jari=', r);\n  writeln('luas lingkaran ', nama, ' adalah ', luas:2:2);\n....\u003C/code>\u003C/pre>\n  \u003C/div>\n\u003C/div>\u003Cp>Pada contoh tersebut kita melakukan output variable dengan cara memanggilnya. Cara pemanggilan variable yaitu dengan menuliskan nama variablenya saja \u003Cstrong>tanpa tanda petik\u003C/strong>. Jika kalian beri tanda petik, maka pascal akan membacanya sebagai \u003Cstrong>kata kata biasa\u003C/strong>.\u003C/p>\n\u003Cp>Untuk memisahkan variable dengan kata kata cukup digunakan tanda koma (,). Pada perintah \u003Ccode>writeln\u003C/code> yang pertama kita melakukan pemanggilan variable \u003Cstrong>nama\u003C/strong> yang isinya &#39;Budi&#39;, lalu lanjut dengan kata kata &#39; punya lingkaran.&#39; Jadi hasil outputnya adalah &#39;Budi punya lingkaran&#39;. Begitu seterusnya sampai perintah \u003Ccode>writeln\u003C/code> yang terakhir.\u003C/p>\n\u003Cp>Salah satu keuntungan penggunaan variable adalah efisiensi. Pada contoh diatas variable nama dipanggil 2 kali. Coba saja kalian ganti nilai variable nama menjadi nama kalian masing masing lalu coba jalankan program. Nantinya output yang dihasilkan tidak lagi berupa &#39;budi punya lingkaran&#39;, namun menjadi &#39;[nama kalian] punya lingkaran&#39;.\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=\"....%0A%20%20nama%20%3A%3D%20'Adi'%3B%20%2F%2F%20mengganti%20nama%20'budi'%20menjadi%20'adi'%0A%20%20r%20%20%20%20%3A%3D%2010%3B%20%20%20%20%2F%2F%20mengganti%20r%20dari%207%20menjadi%2010%0A%20%20luas%20%3A%3D%20PI*r*r%3B%0A%0A%20%20writeln(nama%2C%20'%20punya%20lingkaran')%3B%0A%20%20writeln('jari%20jari%3D'%2C%20r)%3B%0A%20%20writeln('luas%20lingkaran%20'%2C%20nama%2C%20'%20adalah%20'%2C%20luas%3A2%3A2)%3B%0A....%20\" 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>....\n  nama := 'Adi'; // mengganti nama 'budi' menjadi 'adi'\n  r    := 10;    // mengganti r dari 7 menjadi 10\n  luas := PI*r*r;\n\n  writeln(nama, ' punya lingkaran');\n  writeln('jari jari=', r);\n  writeln('luas lingkaran ', nama, ' adalah ', luas:2:2);\n.... \u003C/code>\u003C/pre>\n  \u003C/div>\n\u003C/div>\u003Cp>Jika program diatas dijalankan maka hasilnya akan 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\">TEXT\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=\"Adi%20punya%20lingkaran%0Ajari%20jari%3D10%0Aluas%20lingkaran%20Adi%20adalah%20314.00\" 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>Adi punya lingkaran\njari jari=10\nluas lingkaran Adi adalah 314.00\u003C/code>\u003C/pre>\n  \u003C/div>\n\u003C/div>\u003Ch2 id=\"selanjutnya\">Selanjutnya\u003C/h2>\n\u003Cp>Sekian sampai di sini, semoga bermanfaat 👋\u003C/p>\n\u003Cp>Selanjutnya kita akan membahas tentang \u003Ca href=\"https://invasikode.com/operasi-aritmatika-pascal/\">operasi aritmatika pada Bahasa Pascal\u003C/a>.\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,245,248,251,254],{"text":226,"depth":227,"id":228},"Tipe Data pada Pascal",2,"tipe-data-pada-pascal",{"text":230,"depth":231,"id":232},"Pengertian Tipe Data",3,"pengertian-tipe-data",{"text":234,"depth":231,"id":235},"Macam Tipe Data pada Pascal","macam-tipe-data-pada-pascal",{"text":237,"depth":227,"id":238},"Variable dan Konstanta pada Pascal","variable-dan-konstanta-pada-pascal",{"text":240,"depth":231,"id":241},"Deklarasi Variable dan Konstanta","deklarasi-variable-dan-konstanta",{"text":243,"depth":231,"id":244},"Deklarasi Konstanta (const)","deklarasi-konstanta-const",{"text":246,"depth":231,"id":247},"Deklarasi Variable (var)","deklarasi-variable-var",{"text":249,"depth":231,"id":250},"Memberi Nilai pada Variable","memberi-nilai-pada-variable",{"text":252,"depth":231,"id":253},"Melakukan Output Nilai Variable","melakukan-output-nilai-variable",{"text":255,"depth":227,"id":256},"Selanjutnya","selanjutnya",1791045070470]