Tipe data char yang kita pelajari sebelumnya hanya mendukung 1 karakter saja. Untuk menyimpan 2 karakter atau lebih, kita bisa menggunakan tipe data string di dalam Pascal. Dalam tutorial kali ini akan dibahas tentang pengertian dan cara penggunaan tipe data string pascal.
Pengertian Tipe Data String di dalam Pascal
Tipe data String adalah tipe data yang bisa menampung banyak karakter sekaligus. Secara internal di dalam pascal, string merupakan array dari tipe data char.
Dalam compiler Turbo Pascal, maksimal jumlah karakter yang bisa ditampung di dalam string adalah sebanyak 255 karakter. Compiler FreePascal menambahkan beberapa jenis tipe data lain seperti AnsiString yang bisa menampung lebih banyak karakter (tidak dibatasi).
Cara Penggunaan Tipe Data String Pascal
Untuk mendeklarasikan sebuah variabel sebagai string, kita tinggal menambahkannya di bagian var. Berikut contoh penggunaannya:
program tipe_string; uses crt; var  a:string; begin  clrscr;  a:='Duniailkom';  writeln('a: ',a);   a:='Sedang belajar Pascal';  writeln('a: ',a);   a:='12345678';  writeln('a: ',a);  readln; end.
Pada kode program diatas, saya mendefinisikan variabel a sebagai string, kemudian mengubah nilainya sepanjang kode program dan menampilkan hasilnya menggunakan perintah writeln.
Secara default, tipe data string akan menyediakan tempat untuk 255 karakter. Kita bisa menetapkan seberapa besar 'ruang' yang disediakan. Caranya, dengan menambahkan angka di dalam kurung siku sebagai penanda jumlah karakter.
Sebagai contoh, perintah a: string[10] akan membuat variabel a hanya bisa diisi dengan 10 karakter saja. Jika karakter yang diinput lebih dari 10, sisanya akan dibuang. Berikut contohnya:
program tipe_string; uses crt; var  a:string[10]; begin  clrscr;  a:='Duniailkom - Learn Programming';  writeln('a: ',a);   a:='Sedang belajar Pascal';  writeln('a: ',a);   a:='1234567890123456789';  writeln('a: ',a);  readln; end.
Seperti yang terlihat, karakter yang bisa disimpan kedalam variabel a hanya 10 karakter saja.
Mengenal Tipe Data AnsiString FreePascal
Di dalam compiler Turbo Pascal, maksimal karakter yang bisa disimpan ke dalam string adalah 255. Jika lebih dari itu, sisa karakter akan dibuang. Berikut contohnya:
program tipe_string; uses crt; var  a:string; begin  clrscr;  a:='Pascal diambil dari nama ahli matematika prancis abad pertengahan, ' +    'Blaise Pascal. Bahasa Pascal di kembangkan oleh Niklaus Wirth pada ' +    'tahun 1970, dan populer digunakan pada era 1970 hingga awal 1990an. ' +    'Dari awal dikembangkan, Pascal dirancang untuk keperluan akademik. ' +    'Atas alasan itu pula Pascal masih digunakan di berbagai sekolah dan ' +    'universitas di seluruh dunia (termasuk Indonesia).';  writeln(a);  readln; end.
Variabel a saya isi dengan string yang cukup panjang, tanda ' + ' digunakan untuk menyambung sebuah string dengan string lain, sehingga saya bisa memecahnya menjadi beberapa baris. Ini adalah operator penyambungan string di dalam pascal.
Seperti yang terlihat, kalimat tersebut akan terpotong pada karakter ke 255.
Compiler FreePascal memperkenalkan tipe data AnsiString yang tidak membatasi jumlah string. Berikut contoh penggunaannya:
program tipe_string; uses crt; var  a:ansistring; begin  clrscr; a:='Pascal diambil dari nama ahli matematika prancis abad pertengahan, ' +    'Blaise Pascal. Bahasa Pascal di kembangkan oleh Niklaus Wirth pada ' +    'tahun 1970, dan populer digunakan pada era 1970 hingga awal 1990an. ' +    'Dari awal dikembangkan, Pascal dirancang untuk keperluan akademik. ' +    'Atas alasan itu pula Pascal masih digunakan di berbagai sekolah dan ' +    'universitas di seluruh dunia (termasuk Indonesia).';  writeln(a); readln; end.
Kali ini seluruh kalimat akan ditampilkan, walaupun telah melebihi 255 karakter (yang merupakan batasan tipe data string 'biasa'). Jika anda menjalankan kode di atas di dalam Turbo Pascal, hasilnya akan terdapat error, karena Turbo pascal tidak mengenal tipe data ansistring.
Dalam perancangan sebuah program, tipe data string hampir selalu digunakan, karena dengan menggunakan tipe data inilah kita bisa menginput banyak karakter ke dalam sebuah variabel. Berikutnya, kita akan membahas tipe data boolean dalam Pascal.
Buatlah Program dalam bahasa Turbo Pascal untuk Pembayaran Harga Jaket dengan menggunakan perintah Case of. Dengan ketentuan :
– Jika Ukuran Jaket "S" Harga Rp.25000
– Jika Ukuran Jaket "M" Harga Rp.35000
– Jika Ukuran Jaket "L" Harga Rp.50000
– Jika Ukuran Jaket "XL" Harga Rp.150000
– Jumlah Bayar = Harga jaket x Banyak jaket
minta solusinya gan .. harusnya pake tipe data apa ?
Itu tugas sekolah/kuliah y gan? hehe…
Tipe datanya bisa pakai string untuk inputan "Ukuran Jaket". Lalu bisa menggunakan struktur Case of untuk menentukan output yang diinginkan.
halo bang andre, kalau ansistring kan tanpa batas karakter ya, jika di
var
a;ansistring[50];
berarti walaupun kita suastu saat buat program dalam bentuk karakter atau angka berarti yang tak terbatas bisa kita batasi karakter atau angka nya ya,, misal nya yang 50 huruf cuma bisa di input.
btw kalo yang seperti struktur case ada ya untuk pembelajarannya ?
Yup ada, bisa kesini: https://www.duniailkom.com/tutorial-belajar-pascal-struktur-percabangan-case-dalam-pascal/
Tapi sebaiknya pelajari tutorial Pascal ini secara berurutan (tidak lompat2 materi).
Untuk Harga pake tipe data apa ya gan ?
Misalkan "25.550.000" -"951.500.000"
Bisa pakai tipe data integer tau real. Kalau untuk integer sebaiknya pakai Longint keatas. Lengkapnya lanjut kesini gan: https://www.duniailkom.com/tutorial-belajar-pascal-pengertian-dan-cara-penggunaan-tipe-data-integer-pascal/.
Untuk tipe data real, bisa kesini: https://www.duniailkom.com/tutorial-belajar-pascal-pengertian-dan-cara-penggunaan-tipe-data-real-pascal/
Mas, saya pake compiler lain ( bukan free pascal atau tp7). Fungsi qword dan int64 kok gak bisa ya. Maksudnya batas-batasnya gak berfungsi.
Harusnya kan
Qword: 0 sampai 18446744073709551615
Int64: -9223372036854775808 sampai 9223372036854775807
Tapi, hanya bisa masukin angka 10 digit aja.
12345678987 ===> error
1234567898 ====> bisa
Pakai compiler apa y? bisa jadi compiler tersebut memang tidak bisa menampung angka sampai batas tersebut. Salah satu perbedaan antara compiler yang satu dengan compiler lain memang dari batasan tipe data atau beberapa fitur tambahan.
Tuliskan 5 fungsi string dan kegunaannya
Hahaha, lagi ngerjain tugas gan? silahkan buka catatan sekolah / kuliahnya… Kalau soal teori seperti itu saya nyerah..
Om,,,, saya mau nanya nih. hehee
Misalkan saya mau buat sebuah program yang variabelnya pake STRING yang didalam variabel terrsebut pengen dimasukki beberapa baris string.
contoh
var
fasilitas : string;
begin
fasilitas := ' bla bla bla';
write(fasilitas);
end.
Nah di outputnya:
Bla bla bla itu diisi dengan beberapa string
"1. kamar"
"2. Kasur"
"3. Lemari"
"4. Parkiran"
Gimana tuh? Jadi stringnya beberrapa baris, tapi variabelnya pake satu variabel.
Nuhun Om…… Kalo bisa secepatnya minta solusinya. hehehe
Sepertinya harus pakai array gan…
Min bagaimana cara merubah tipe data string menjadi tipe data longinteger, dan hasilnya di kalikan 5.
Saya belum ketemu fungsi untuk mengubah tipe data di pascal nih…
Pake val(a,b,c);
a=string
b=variabelinteger
c=integeryangmenyimpanangka0
Malam gan ane pemula dan baru banget mau nanya gimana cara mengkonversi infix ke prefix.?
bingung ane memahami fungsi2 dari program pascal,mohon bantuannya gan.
terima kasih.
Min,mau tanya dong. Kan saya mau membuat program berbasis string yang panjang banget. Jadi saya memutuskan memakai "Ansistring". Itu kenapa ya kok Exitcode nya selalu keluar "201" (Range Error) ?
Solusi nya terus bagaimana ?
Terima kasih
Saya ragu apakah errornya di bagian string atau tipe data lain. Barusan saya coba dengan 1000 kata (sekitar 6000 karakter) di ansistring tidak ada masalah.
Kode programnya seperti ini:
program belajar_tipe_data;
var
a: ansistring;
begin
a:='Lorem ipsum dolor sit amet… ';
writeln('a: ',a);
end.
Silahkan ganti teks 'Lorem Ipsum' dengan ribuan karakter lain.
Juga bisa di periksa apakah di program tersebut terdapat tipe data lain seperti integer, bisa jadi itu yang buat error.
Min mau tanya,kalau ada pertanyaan
Diantara variable berikut yang memerlukan tipe data string kecuali
A.alamat
B.jenis kelamin
C.judulbuku
D.tahun lahir
Jawabannya sama sebab nya apa ya?
Kalau sudah baca tutorial di Duniailkom ini dari part 1 sudah bisa sendiri tuh. Jawabannya tahun lahir, karena tahun lahir tentu dalam bentuk angka, bukan string.
salam,
ijin copy materi untuk dijadikan video pembelajaran
Silahkan, tapi jika berkenan mohon di kasih link sumber ke sini ya mas…