Bahasa Pemrograman

Perl

Jalur pemrograman Perl 5 dengan disiplin modern: skalar, array, hash, ekspresi reguler, berkas, referensi, modul, OOP, hingga proyek nyata.

Perl adalah bahasa pemrograman serbaguna yang lahir pada 1987 sebagai alat ekstraksi dan pelaporan teks, lalu berkembang menjadi bahasa perekat pada administrasi server, bioinformatika, dan pipeline pemrosesan data. Jalur ini membahas Perl 5 dengan disiplin modern yang menggunakan strict dan warnings sejak skrip pertama, mulai dari skalar, array, hash, dan konteks, hingga ekspresi reguler, referensi, modul CPAN, pemrograman objek, dan pengerjaan proyek. Seluruh contoh dijalankan dengan Perl 5.40 pada terminal, sehingga cukup menyiapkan Perl 5.36 atau lebih baru untuk mengikuti jalurnya dari awal hingga akhir.

Mengenal Perl 3 pelajaran

Modul pembuka: asal-usul dan ranah penggunaan Perl, filosofi bahasanya, serta penyiapan lingkungan kerja dari perl hingga editor.

  1. Apa itu Perl ?Sejarah Perl sejak 1987, ranah penggunaannya pada bioinformatika, administrasi sistem, dan pipeline pemrosesan teks, serta posisinya kini.
  2. Filosofi PerlTMTOWTDI dan pragmatisme sebagai fondasi desain Perl, beserta perbedaan disiplin modern dengan gaya lama sebelum strict dan warnings.
  3. Penyiapan lingkunganMemeriksa versi perl, membaca dokumentasi dengan perldoc, menyiapkan cpanminus, dan memilih editor yang mendukung Perl.
Skalar dan Dasar 5 pelajaran

Modul dasar bahasa: skrip pertama, variabel skalar, konteks scalar dan list, operator, serta membaca masukan dari STDIN.

  1. Skrip pertamaMenulis dan menjalankan skrip Perl pertama dengan shebang, use strict, use warnings, dan print sebagai fondasi disiplin modern.
  2. SkalarVariabel skalar bertanda $ yang menyimpan angka dan string dalam satu tipe, beserta aturan penamaan dan konversinya.
  3. KonteksKonteks scalar dan list sebagai mental model utama yang menjelaskan mengapa ekspresi yang sama berperilaku berbeda.
  4. OperatorOperator aritmetika, repetisi string dengan x, serta perbedaan perbandingan angka (==) dan perbandingan string (eq).
  5. chomp dan STDINMembaca baris dari STDIN dengan <STDIN> dan disiplin chomp untuk memangkas baris baru pada akhir masukan.
Array dan Hash 5 pelajaran

Modul struktur data dasar: array beserta fungsinya, hash beserta keanggotaannya, serta interpolasi keduanya ke dalam string.

  1. ArrayArray bertanda @ beserta pengindeksan dengan $[], serta empat fungsi manipulasi ujungnya: push, pop, shift, dan unshift.
  2. Fungsi arrayFungsi scalar, sort, reverse, dan join untuk mengolah array, serta perkenalan grep dan map sebagai penyaring dan pengubah list.
  3. HashHash bertanda % dengan pasangan kunci dan nilai, penulisan fat comma =>, serta fungsi keys, values, dan each.
  4. exists dan deleteMenguji keanggotaan kunci hash dengan exists dan menghapus entri dengan delete tanpa memicu peringatan.
  5. InterpolasiMenginterpolasi variabel array dan hash ke dalam string bertanda kutip ganda beserta pemisah yang aman untuk @ dan $.
Alur Kendali 3 pelajaran

Modul alur kendali: percabangan if dan unless, perulangan while dan foreach, serta last, next, dan redo untuk mengendalikannya.

  1. Percabangan if, elsif, else, dan unlessPercabangan if, elsif, dan else beserta kebalikannya unless, termasuk modifier pernyataan berbentuk X if Y.
  2. PerulanganPerulangan while, for gaya C, dan foreach untuk menelusuri list, termasuk peran variabel default $_.
  3. last, next, dan redoMenghentikan perulangan dengan last, melompati iterasi dengan next, mengulang badan dengan redo, serta label pada perulangan bersarang.
Ekspresi Reguler 6 pelajaran

Modul kekuatan utama Perl: pencocokan pola m//, metakarakter, grup capture, kelas karakter, substitusi s///, serta split dan join.

  1. Dasar regexOperator pencocokan m// untuk pola literal dan pengenalan pola sebagai bahasa kecil di dalam bahasa Perl.
  2. MetakarakterMetakarakter ., *, +, dan ?, anchor ^ dan $, serta alternasi | untuk menggambarkan pola yang bervariasi.
  3. Grup dan captureGrup () untuk mengelompokkan pola, capture bernomor pada $1 dan seterusnya, serta capture bernama (?<name>).
  4. Kelas karakterKelas karakter \d, \w, dan \s beserta kebalikannya, negasi, dan kelas khusus untuk pola yang lebih ringkas.
  5. SubstitusiSubstitusi s/// untuk mengganti teks yang dicocokkan, flag /g untuk seluruh kemunculan, dan penyuntingan berkas di tempat.
  6. split dan joinMemecah string menjadi list dengan split berdasarkan pola dan menyusunnya kembali menjadi string dengan join.
Berkas dan I/O 4 pelajaran

Modul I/O berkas: filehandle dengan open tiga argumen, membaca dan menulis baris, operator uji berkas, serta penelusuran direktori.

  1. FilehandleMembuka filehandle dengan open bentuk tiga argumen, mode baca dan tulis, serta disiplin or die untuk kegagalan.
  2. Membaca dan menulisMembaca berkas baris demi baris dengan while, menulis ke berkas melalui filehandle, dan menutupnya dengan close.
  3. Uji berkasOperator uji berkas -e, -f, dan -d untuk memeriksa keberadaan, jenis, dan izin berkas sebelum diakses.
  4. DirektoriMenelusuri isi direktori dengan opendir dan readdir, menyaring entri, serta menggunakan glob untuk pola nama berkas.
Subrutin dan Referensi 5 pelajaran

Modul struktur program: subrutin beserta nilai baliknya, lalu referensi sebagai fondasi struktur data kompleks yang bersarang.

  1. SubrutinMendefinisikan subrutin dengan sub, menerima argumen lewat @_, dan memanggilnya dengan atau tanpa tanda kurung.
  2. Nilai balikNilai balik berbentuk daftar nilai beserta pengenalan wantarray untuk menyesuaikan hasil dengan konteks pemanggil.
  3. ReferensiMembuat referensi dengan operator dan mengaksesnya melalui sintaks panah -> sebagai alamat menuju data.
  4. Data kompleksMembangun hash dari hash, array dari hash, dan struktur bersarang lainnya dengan referensi anonim.
  5. DereferensiMenelusuri struktur data bersarang, membentuk pohon data, dan mencetaknya dengan Data::Dumper.
Modul dan CPAN 4 pelajaran

Modul ekosistem: memuat modul dengan use dan require, modul inti Perl, menginstal paket dari CPAN dengan cpanm, serta modul modern.

  1. use dan requireMembuat modul berupa package, memuatnya dengan use dan require, serta mekanisme export melalui @EXPORT dan @EXPORT_OK.
  2. Modul intiModul bawaan Perl yang sering digunakan: File::Basename, Data::Dumper, dan Getopt::Long untuk argumen command line.
  3. CPANMenginstal modul dari CPAN dengan cpanm, mencari modul di metacpan.org, dan menilai kualitasnya sebelum digunakan.
  4. Perangkat modernModul modern untuk pekerjaan sehari-hari: Path::Tiny untuk berkas, Try::Tiny untuk error, dan JSON::PP untuk data JSON.

Modul pemrograman objek: model klasik berbasis bless, metode dan pewarisan, serta posisi Moo, Moose, dan Object::Pad.

  1. OOP berbasis blessModel OOP klasik Perl: package sebagai kelas, konstruktor berbasis bless, dan data objek berupa hash.
  2. Metode dan pewarisanPemanggilan metode melalui panah, pewarisan dengan use parent, dan urutan resolusi metode.
  3. Pengenalan OOP modernPosisi Moo dan Moose di ekosistem modern serta pengenalan Object::Pad dengan sintaks class dan field.
Perl di Dunia Nyata 4 pelajaran

Modul praktik profesional: one-liner di command line, interaksi dengan sistem operasi, pola penanganan error, dan pengujian Test::More.

  1. One-linerOpsi -e, -n, -p, dan -i untuk menjalankan Perl dari command line serta penyuntingan berkas di tempat.
  2. Interaksi sistemMenjalankan perintah sistem dengan system dan backtick, menangkap status keluar, dan dasar IPC melalui open.
  3. Pola penanganan errorMelaporkan kegagalan dengan die dan warn, menangkapnya dengan eval, serta Try::Tiny untuk blok try yang bersih.
  4. Pengujian dengan Test::MoreMenulis pengujian dengan Test::More, memahami format TAP, plan, serta fungsi ok dan is, dan menjalankannya dengan prove.
Pengerjaan Proyek 3 pelajaran

Modul penutup: memilih proyek yang padat teks dan data, merancang arsitekturnya, lalu mengimplementasikannya disertai pengujian.

  1. Pemilihan proyekMemilih masalah yang padat teks dan data serta cocok untuk Perl, mendefinisikan lingkup, dan menetapkan kriteria selesai.
  2. ArsitekturMerancang struktur modul, struktur data utama, dan antarmuka program sebelum kode proyek ditulis.
  3. Implementasi dan pengujianMengimplementasikan proyek dengan disiplin Perl modern: modul, data kompleks, penanganan error, serta pengujian Test::More.