Sejak awal pembahasan mengenai kode pemrograman pascal, beberapa kali saya telah menggunakan perintah writeln. Dalam tutorial belajar pascal kali ini saya akan membahas lebih jauh tentang cara penggunaan perintah write dan writeln serta perbedaan keduanya. Perintah write dan writeln sangat sering digunakan di dalam kode program pascal.
Fungsi & Perbedaan write dan writeln
Write dan writeln sama-sama digunakan untuk menampilkan 'sesuatu' dari dalam kode pascal ke jendela tampilan, atau dalam istilah pemrograman digunakan sebagai perintah 'ouput'. Perbedaan antara write dan writeln terletak pada apakah 'output' selanjutnya ditampilkan pada baris yang sama, atau di baris baru.
Perintah write akan menampilkan 'output', kemudian menyambung tampilan berikutnya dibaris yang sama (cursor teks tetap berada di baris yang sama).
Sedangkan perintah writeln akan menampilkan 'output', kemudian menyambung tampilan berikutnya di baris baru (cursor teks akan pindah ke baris baru).
Data-ouput ini bisa berupa teks, variabel, konstanta, dll. Agar lebih mudah dipahami, berikut contoh kode program yang memperlihatkan perbedaan kedua perintah ini:
program tampil; uses crt; begin clrscr; write('Nama : '); writeln('Alex'); Â writeln('Nama: '); writeln('Anto'); Â write('D'); write('u'); write('n'); write('i'); write('a'); Â writeln('i'); writeln('l'); writeln('k'); writeln('o'); writeln('m'); Â readln; end.
Hasil kode program:
Nama : Alex Nama: Anto Duniai l k o m
Dapat dilihat hasil kode program pada baris 6 dan 7 ditampilkan dalam 1 baris. Ini karena perintah write akan membuat teks berikutnya tetap di baris yang sama.
Hasil tampilan juga memperlihatkan kata "duniai", bukan 'dunia' seperti yang diinginkan. Ini terjadi karena perintah writeln hanya akan memindahkan teks selanjutnya ke baris baru, bukan teks saat ini.
Oleh karena itu, perintah writeln juga digunakan untuk pindah baris, tanpa perlu menulis teks apapun, dan ditulis sebagai:
writeln;
Cara Penulisan write dan writeln
Data-output yang ingin ditampilkan dengan perintah write dan writeln, harus ditulis diantara tanda tanda kurung " ( " dan " ) ".
Jika data tersebut adalah 'teks' yang terdiri dari karakter (char) atau kumpulan karakter (string) kita perlu menambahkan tanda tanda kutip satu ( ' ) diantara teks tersebut. Apabila yang akan ditampilkan angka, variabel, atau konstanta, kita tidak perlu menggunakan tanda kutip. Berikut contoh kode programnya:
program tampil; uses crt; const kota='Ambon'; var nama:string='Joni'; umur:integer=17; begin clrscr; Â write('Nama : '); writeln(nama); Â write('Umur : '); writeln(umur); Â write('Kota : '); writeln(kota); Â write('IPK : '); writeln(3); Â readln; end.
Hasil kode program:
Nama : Joni Umur : 17 Kota : Ambon IPK : 3
Pada kode program diatas saya membuat 1 konstanta dan 2 variabel.
Perintah write('nama') dengan write(nama) adalah suatu yang berbeda. Penulisan pertama berarti kita ingin menampilkan teks 'nama', sedangkan penulisan yang kedua kita ingin menampilkan nilai dari variabel/konstanta 'nama'.
Menggabungkan Penulisan Teks dengan Variabel/Konstanta
Selain memisahkan penulisan teks dengan variabel, kita juga bisa menggabungkan penulisannya dalam 1 perintah write/writeln. Pascal menggunakan tanda koma untuk memisahkan keduanya.
Kode program sebelumnya bisa ditulis ulang menjadi berikut ini:
program tampil; uses crt; const kota='Ambon'; var nama:string='Joni'; umur:integer=17; begin clrscr; Â writeln('Nama : ',nama); writeln('Umur : ',umur); writeln('Kota : ',kota); writeln('IPK : ',3); Â readln; end.
Lebih jauh lagi, seluruh tampilan diatas bisa digabung kedalam 1 perintah writeln. Seperti berikut:
program tampil; uses crt; const kota='Ambon'; var nama:string='Joni'; umur:integer=17; begin clrscr; writeln('Nama : ',nama,'. Umur : ',umur,'. Kota : ',kota,'. IPK : ',3); readln; end.
Perhatikan bahwa kita perlu mengetahui kapan harus menggunakan tanda kutip, dan kapan menggunakan tanda koma.
Menformat Tampilan Output Integer/Real
Khusus untuk tipe data angka (integer/real) pascal menyediakan instruksi tambahan untuk mengatur bagaimana angka tersebut ditampilkan.
Jika berupa angka bulat (integer), kita bisa mengatur seberapa banyak 'tempat' untuk angka yang dipersiapkan. Apabila angka tersebut adalah angka pecahan (real), kita bisa mengatur berapa digit angka dibelakang koma.
Berikut format penulisannya:
- Angka bulat (integer) = angka:jumlah_digit.
- Angka desimal (real) = angka:jumlah_digit:jumlah_digit_dibelakang_koma.
Berikut contoh kode programnya:
program tampil; uses crt; var angka_int:integer=12345; angka_real:real=1234.123456; begin clrscr; Â writeln(angka_int); writeln(angka_int:4); writeln(angka_int:8); Â writeln(angka_real); writeln(angka_real:4:2); writeln(angka_real:2:4); readln; end.
Hasil kode program:
12345 12345 Â Â 12345 Â 1.23412345600000E+003 1234.12 1234.1235
Pada contoh diatas, saya membuat 2 variabel: angka_integer dan angka_real. Kedua variabel ini kemudian di beri nilai awal.
Dalam baris 11, perintah angka_int:8 akan membuat hasil tampilan sedikit 'menjorok' ke dalam, ini karena pascal menyediakan 8 digit tempat untuk angka_int. Tetapi karena variabel angka_int hanya terdiri dari 6 digit, maka pascal akan menambah 2 buah spasi didepan angka tersebut.
Pada baris 12 saya menulis angka_int:4, yang bermaksud agar angka_int ditampilkan dengan jumlah digit 4. Namun karena angka_int terdiri dari 6 digit, perintah ini akan diabaikan.
Variabel angka_real saya inisialisai dengan nilai 1234.123456 namun pada saat ditampilkan hasilnya menjadi 1.23412345600000E+003. Ini adalah tampilan 'normal' pascal untuk tipe data real. Dalam matematika, penulisan ini dinamakan dengan notasi ilmiah (scientific notation). Saya akan membahas tentang tipe data real dalam tutorial terpisah.
Untuk 'memperindah' tampilan notasi ilmiah ini, bisa menggunakan format perintah:
angka : jumlah_digit : jumlah_digit_dibelakang_koma
Sebagai contoh, untuk membuat tampilan dengan 4 digit bulat dan 2 digit dibelakang koma, saya menulis angka_real:4:2, seperti baris 15 pada contoh program diatas.
Dalam tutorial belajar pascal kali ini kita telah membahas tentang cara penggunakan perintah write dan writeln. Dalam tutorial berikutnya, akan dibahas tentang perintah read dan readln.
Mantap sangat bermanfaat bagi pemula seperti saya, maju terus
Siip gan… lanjuut :)
saya sudah membaca artikel di situs ini mulai dari belajar html dasar sampai pascal
tapi saya cuman hafal sebagian tag dan code dan tidak bisa membuat desain web
bisa minta tolong dikasih tips supaya bisa menerapkan setiap materi yang saya pelajari supaya saya bisa mempraktekanya langsung.
Walaupun tutorial di duniailkom ini sudah mencapai sekitar 400 artikel, tapi masih membahas dasar2nya gan.
Web programming sendiri sangat luas, dan masih banyak yang belum saya bahas terutama materi lanjutan. Agan bisa mencari tambahannya dari buku/situs2 lain, bisa juga dengan ikuti forum atau bahkan ikut kursus :)
saran https://www.w3schools.com/ bagus buat web programming :D
Emang ada Pascal ya?
Ketika ditulis kode: writeln(angka_real:2:4);
Kenapa munculnya 1234.1235 ya gan?
Padahal input variabelnya 1234.123456
#newbie
Angkanya otomatis dibulatkan sis. Bilangan 1234.123456 kalau diambil 4 tempat desimal, bisa jadi 1234.1234 atau 1234.1235. Karena digit ke-5 angkanya "5" maka akan dibulatkan ke atas. Di dalam matematika angka "5" sampai "9" memang dibulatkan ke atas.
Ohh oke makasih banyak pak Andre.. lanjut teruss pakk, tulisan2nya sangat membantu :)
kalo belajar dasar nya aja udah sampe ratusan artikel,mau jadi programmer kira2 berapa lama lagi ya haha
Hehe, dunia programming sangat luas dan berkembang terus. Programmer professional pun masih terus belajar.
Juga seperti yang saya tulis dalam pengantar tutorial Pascal di duniailkom ini, bahasa pemrograman pascal lebih ke "latihan" atau bahasa pemrograman pengantar. Untuk bisa membuat program modern, agan bisa lanjut ke bahasa pemrograman lain seperti C++, Java, atau PHP.
kayanya habisin semua pembahasan tentang pascal dulu deh supaya bener2 ngerti semua dasarnya
Mas andre sya mau tanya ni..bagaimna cara melatih algoritma dengan baik..
Mungkin bisa dengan sering latihan soal2. Bisa coba cari buku yang khusus membahas algortima, biasanya akan banyak contoh kasus seperti membuat segitiga bintang dengan berbagai variasi, membuat deret, atau pengurutan (sorting).
pak andre ada recomend untuk buku pembelajaran algoritma yang baik dan mudah dipahami ga khususnya untuk pemula seperti saya?? trimakasih terus berkarya pak andre.
Saya belum punya buku yang bisa direkomendasikan nih, soalnya udah lama g maen2 ke gramedia lagi, hehe…
Nice gan, bermanfaat infonya :D
Maaf om,
Mo nanya, ketika saya bikin variabel dengan nilai 1234567 outputnya kok -10617
Berikut kode yang saya buat
Program angka;
Uses crt;
Var
angka_int:integer=1234567;
Begin clrscr;
Writeln (angka_int);
Readln;
End.
Itu kenapa ya om? Mohon penjelasannya.
Itu karena tipe data integer pascal maksimal hanya bisa menampung sampai 32767. Jika lebih dari itu akan terjadi overflow dan angkanya jadi aneh…
Kalau mau menyimpan sampai 1234567, bisa pakai tipe data Longint atau diatasnya. Lebih lanjut bisa kesini: https://www.duniailkom.com/tutorial-belajar-pascal-pengertian-dan-cara-penggunaan-tipe-data-integer-pascal/
Seep om, makasi penjelasannya…
Lanjut belajar… Heh he
Terimakasih sangat bermanfaat Om Andre
Siip, silahkan lanjut belajarnya..
jujur saya bingung masih bang andre, terkait dengan bilangan "bulat" dan "desimal"
matematika saya tidak begitu bagus, boleh di perjelas dengan contohnya di komentar ini.
terkait dengan coding dengan penjelasan writeIn ( hasil nya )
kok kode nya ada yang kelebihan, ada yang spasi nya sampe 4,
nah bisa jg di jelaskan maksud dari writeln(angka_real:2:4);
2 itu apa
" : " itu apa yang maksudnya
4 itu apa
Desimal yang dimaksud adalah angka pecahan, misalnya 3.14, atau 0.00045.
Mengenai fungsi dari 2:4 itu rasanya sudah saya jelaskan dalam tutorial ini, malah sudah dengan contoh kode program. Yakni:
angka : jumlah_digit : jumlah_digit_dibelakang_koma
Bisa dibaca ulang secara perlahan.
Atau nanti juga akan dibahas lagi di https://www.duniailkom.com/tutorial-belajar-pascal-pengertian-dan-cara-penggunaan-tipe-data-real-pascal/
di aplikasi delphi saya tulisannya
"illegal type in Write/Writeln ststement"
itu gimana ya cara perbaikinya gimana?
sangat membantu mas..