Input Output Pascal: Panduan Lengkap Read, Write & Readln

Setiap program yang hebat perlu berinteraksi dengan penggunanya. Interaksi ini terjadi melalui dua proses fundamental: menampilkan informasi (output) dan menerima masukan (input). Proses ini layaknya sebuah dialog antara program dan manusia.

Dalam bahasa Pascal, dialog ini dikendalikan oleh empat perintah inti yang wajib Anda kuasai: Write, Writeln, Read, dan Readln.

1. Menampilkan Output ke Layar (Write & Writeln)

Untuk "berbicara" kepada pengguna, Pascal menyediakan perintah Write dan Writeln. Keduanya berfungsi untuk menampilkan teks atau nilai variabel ke layar, namun dengan satu perbedaan kunci pada posisi kursor.

Perbedaan Kunci: Write vs Writeln

  • write: Menampilkan output, lalu kursor tetap berada di baris yang sama. Teks berikutnya akan menyambung persis di sebelahnya.
  • writeln: Singkatan dari "Write Line". Perintah ini menampilkan output, lalu memindahkan kursor ke baris baru.

Analogi sederhananya: write itu seperti berbicara tanpa jeda, sedangkan writeln seperti menyelesaikan satu kalimat lalu memulai kalimat baru di baris berikutnya.

Contoh Perbedaan:

program BelajarOutput;
begin
  write('Halo, ');         // Output "Halo, ", kursor tetap di samping.
  write('nama saya ');      // Output "nama saya ", kursor tetap di samping.
  writeln('Pascal.');     // Output "Pascal.", lalu kursor pindah ke bawah.

  writeln('Ini adalah baris baru.'); // Output di baris baru.
  readln;
end.

Hasil Output:

Halo, nama saya Pascal.
Ini adalah baris baru.

Aturan Penulisan dan Penggabungan Variabel

  • Data yang akan ditampilkan harus berada di dalam tanda kurung ().
  • Jika data berupa teks (String), wajib diapit tanda kutip tunggal ' '.
  • Untuk menggabungkan teks dengan nilai dari variabel, gunakan tanda koma , sebagai pemisah.

Contoh Penggabungan:

var
  jurusan: String;
  semester: integer;
begin
  jurusan := 'Teknik Informatika';
  semester := 3;

  // Menggabungkan teks statis dengan nilai variabel
  writeln('Saya kuliah di jurusan: ', jurusan);
  writeln('Saat ini semester: ', semester);
  readln;
end.

Formatting Tampilan Angka

Pascal memungkinkan Anda mengatur format spasi dan jumlah desimal untuk tipe data angka.

  • Integer: nama_variabel:jumlah_spasi
  • Real: nama_variabel:jumlah_spasi:jumlah_desimal
var
  angka_bulat: integer = 123;
  angka_pecahan: real = 987.6543;
begin
  writeln(angka_bulat:6);             // Output: '   123' (total 6 karakter)
  writeln(angka_pecahan:8:2);           // Output: '  987.65' (total 8 karakter, 2 desimal)
  writeln(angka_pecahan:0:2);           // Output: '987.65' (tanpa spasi di depan, 2 desimal)
  readln;
end.

2. Menerima Input dari Pengguna (Read & Readln)

Untuk "mendengarkan" masukan dari pengguna, Pascal menggunakan perintah Read dan Readln. Perintah ini akan menjeda program dan menunggu pengguna mengetikkan sesuatu lalu menekan Enter.

Cara Kerja dan Aturan Penggunaan

  • Siapkan Penampung: Sebelum meminta input, Anda wajib mendeklarasikan sebuah variabel yang akan menampung data dari pengguna.
  • Tipe Data Harus Sesuai: Tipe data variabel penampung harus cocok dengan jenis data yang Anda minta. Jika meminta nama, gunakan String. Jika meminta umur, gunakan Integer.

Info: Read dan Readln memiliki perbedaan teknis terkait cara mereka menangani buffer input, namun untuk pemula, menggunakan Readln hampir selalu menjadi pilihan terbaik karena lebih sederhana dan dapat diandalkan untuk membaca satu baris input.

3. Studi Kasus: Membuat Program Interaktif

Mari kita gabungkan semua konsep di atas untuk membuat program input data mahasiswa yang sederhana dan interaktif.

program InputDataMahasiswa;

uses crt; // Library untuk menggunakan clrscr

var
  nama, nim: String;
  umur: integer;
  ipk: real;

begin
  clrscr; // Membersihkan layar console
  writeln('================================');
  writeln('    PROGRAM INPUT DATA MAHASISWA   ');
  writeln('================================');
  writeln; // Memberi spasi satu baris

  write('Masukkan Nama Anda : ');
  readln(nama); // Membaca input String dan menyimpannya ke var 'nama'

  write('Masukkan NIM Anda  : ');
  readln(nim); // Membaca input String dan menyimpannya ke var 'nim'

  write('Masukkan Umur Anda : ');
  readln(umur); // Membaca input Integer dan menyimpannya ke var 'umur'

  write('Masukkan IPK Anda  : ');
  readln(ipk); // Membaca input Real dan menyimpannya ke var 'ipk'

  writeln;
  writeln('---------- DATA TERSIMPAN ----------');
  writeln('Nama Mahasiswa : ', nama);
  writeln('NIM            : ', nim);
  writeln('Umur           : ', umur, ' tahun');
  writeln('IPK            : ', ipk:0:2); // Menampilkan IPK dengan format 2 desimal
  writeln('------------------------------------');

  readln; // Menjeda program agar tidak langsung tertutup
end.

Sesi Interaksi Program:

================================
    PROGRAM INPUT DATA MAHASISWA
================================

Masukkan Nama Anda : Budi Santoso
Masukkan NIM Anda  : 12345678
Masukkan Umur Anda : 20
Masukkan IPK Anda  : 3.85

---------- DATA TERSIMPAN ----------
Nama Mahasiswa : Budi Santoso
NIM            : 12345678
Umur           : 20 tahun
IPK            : 3.85
------------------------------------

Kesimpulan

Perintah Write, Writeln, Read, dan Readln adalah jembatan komunikasi antara program Anda dan dunia luar. Writeln dan Write berfungsi sebagai "mulut" untuk menampilkan informasi, sementara Readln berfungsi sebagai "telinga" untuk menerima masukan. Dengan menguasai keempat perintah ini, Anda kini dapat membuat program yang jauh lebih dinamis dan interaktif.

Tantangan: Coba modifikasi program di atas. Tambahkan input untuk "Fakultas" dan tampilkan kembali hasilnya!