Belajar xBase di zaman modern

Legacy is not obsolete
Process di xBase, 27 days ago

Clipper + DBase ?

Itu adalah "pasangan" teknologi yang sangat legendaris dari era MS-DOS, terutama populer di akhir tahun 80-an dan sepanjang tahun 90-an untuk membangun aplikasi bisnis (terutama aplikasi database).


  Berikut rinciannya:

   1. dBase:

       * Ini adalah salah satu Database Management System (DBMS) pertama yang sukses besar di komputer mikro.

       * Format file utamanya adalah .dbf, yang menjadi standar de-facto untuk penyimpanan data terstruktur pada masa itu.

       * dBase sendiri menyediakan lingkungan interaktif untuk mengelola data dan bahasa pemrograman (xBase) untuk membuat aplikasi. Namun, aplikasi yang dibuat dengan dBase murni berjalan secara interpreted, sehingga lebih lambat.

   2. Clipper:

       * Ini adalah sebuah compiler. Tujuannya adalah mengambil kode program yang ditulis dalam dialek bahasa xBase (sangat mirip dengan bahasa dBase III+) dan mengkompilasinya menjadi sebuah file standalone executable (.exe).

       * Keuntungan utamanya adalah kecepatan dan distribusi. Aplikasi yang dicompile dengan Clipper berjalan jauh lebih cepat daripada jika dijalankan di dalam dBase. Selain itu, Anda bisa mendistribusikan file .exe tersebut kepada pengguna tanpa mereka perlu menginstal dBase.


Hubungan Keduanya:

Pengembang akan menulis kode program (.prg files) menggunakan sintaks xBase untuk mendefinisikan layar input, logika bisnis, dan laporan. Program ini kemudian akan di-compile menggunakan Clipper untuk menghasilkan sebuah file .exe. Ketika aplikasi .exe ini dijalankan oleh pengguna, ia akan membaca dan menulis data ke dalam file-file database dBase (.dbf).

Jadi, secara sederhana:

   * Clipper adalah "alat"-nya (compiler).

   * dBase (.dbf) adalah "penyimpanan data"-nya.


Meskipun sekarang teknologi ini sudah dianggap legacy, pengaruhnya sangat besar dalam sejarah pengembangan perangkat lunak bisnis. Masih ada proyek-proyek modern seperti Harbour dan xHarbour yang merupakan compiler open-source yang kompatibel dengan Clipper untuk memelihara atau memigrasikan sistem-sistem lama tersebut.


Mesin yang saya gunakan adalah Macbook M1 Pro 2020! Ini tantangan yang menarik karena Anda akan menjalankan teknologi dari era DOS di atas mesin yang sangat modern (Macbook M1/ARM). Ini sepenuhnya bisa dilakukan, tetapi melalui

lapisan emulasi. Anda tidak bisa menjalankan Clipper/dBase secara native. Kita akan menggunakan DOSBox-X, sebuah emulator DOS yang lebih canggih dari DOSBox standar dan sangat cocok untuk pengembangan.

Berikut adalah langkah-langkah teknis untuk memulai:


Langkah 1: Instalasi Emulator DOS (DOSBox-X)

DOSBox-X akan menciptakan lingkungan PC x86 dengan MS-DOS di dalam Mac Anda. Cara termudah untuk menginstalnya adalah menggunakan Homebrew (https://brew.sh/).

Buka Terminal di Mac Anda dan jalankan perintah:

│ -  Shell brew install --cask dosbox-x


Langkah 2: Buat Direktori Kerja "DOS"

Ini akan menjadi folder di Mac Anda yang akan dilihat oleh DOSBox-X sebagai drive C:. Semua file compiler, kode program (.prg), dan database (.dbf) akan kita letakkan di sini.

1. Buka Terminal dan buat folder. Kita sebut saja dosdrive:


```

╭────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╮

│ ✓  Shell mkdir ~/dosdrive                                                                                                                                                                  │

│    mkdir ~/dosdrive/project (Creates a 'dosdrive' directory in the user's home folder and a 'project' subdirectory inside it. This will serve as the C: drive for the DOS emulator.)       │

╰────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯
```

~/dosdrive akan menjadi C:\

~/dosdrive/project akan menjadi C:\PROJECT


Langkah 3: Dapatkan Compiler (Gunakan Harbour)

Daripada mencari compiler Clipper asli dari tahun 90-an, saya sangat merekomendasikan Anda menggunakan Harbour. Ini adalah compiler modern, open-source, 100% kompatibel dengan Clipper, dan tersedia untuk berbagai sistem, termasuk DOS.


   1. Unduh Harbour untuk DOS:

       * Buka browser dan pergi ke halaman rilis Harbour: https://harbour.github.io/releases/ (https://harbour.github.io/releases/)

       * Cari versi "Binaries for MS-DOS". Biasanya dalam format .zip (misalnya harbour-3.2.0-dos.zip).

       * Unduh file zip tersebut ke folder Downloads Anda.


   2. Ekstrak Harbour ke `dosdrive`:

       * Di Finder, cari file zip yang baru diunduh.

       * Ekstrak isinya. Anda akan mendapatkan folder bernama harbour (atau sejenisnya).

       * Pindahkan folder `harbour` ini ke dalam `~/dosdrive` yang kita buat tadi.


  Struktur Anda sekarang seharusnya terlihat seperti ini di Finder:

  dosdrive

  └── harbour

      ├── bin

      ├── include

      ├── lib

      └── ... (file-file lainnya)


  Langkah 4: Konfigurasi DOSBox-X

  Kita perlu memberitahu DOSBox-X untuk secara otomatis me-mount folder dosdrive sebagai drive C: dan menambahkan compiler Harbour ke PATH.


   1. Jalankan DOSBox-X sekali dan langsung tutup. Ini untuk memastikan file konfigurasinya dibuat.

   2. Cari file konfigurasi. Di macOS, lokasinya ada di: ~/Library/Preferences/dosbox-x/dosbox-x.conf

   3. Buka file dosbox-x.conf dengan TextEdit atau editor teks lainnya.

   4. Scroll ke bagian paling bawah, cari section [autoexec].

   5. Tambahkan baris-baris berikut di bawah [autoexec]:


```

   1     @ECHO OFF

   2     MOUNT C ~/dosdrive

   3     PATH=C:\HARBOUR\BIN

   4     C:

   5     CD PROJECT

   6     ECHO Selamat datang di Lingkungan Clipper/Harbour!

```

Langkah 5: "Hello, World!"

Sekarang saatnya mencoba.


   1. Jalankan aplikasi DOSBox-X. Jika konfigurasi benar, Anda akan disambut dengan pesan dan berada di prompt C:\PROJECT>.

   2. Buat file program pertama Anda. DOS memiliki editor teks sederhana bernama edit. Ketik:

      edit HELLO.PRG

   3. Ini akan membuka editor teks layar biru. Ketik kode berikut:

   1     FUNCTION Main()

   2        ? "Hello, dari dunia Clipper/Harbour di M1 Mac!"

   3        RETURN NIL

   4. Simpan dan keluar dari editor (tekan Alt, pilih File, lalu Exit).

   5. Compile program Anda menggunakan Harbour:

      harbour HELLO.PRG -n -w

   6. Jika berhasil, Harbour akan membuat file HELLO.EXE.

   7. Jalankan program Anda:

      HELLO


 Anda akan melihat teks "Hello, dari dunia Clipper/Harbour di M1 Mac!" muncul di layar.

Langkah Selanjutnya: Bekerja dengan File .dbf


   1. Salin file .dbf, .dbt, .ntx, .prg dari sistem legacy Anda ke dalam folder ~/dosdrive/project.

   2. Dari dalam DOSBox-X, Anda bisa mulai bereksperimen. Buat file PRG baru, misalnya TESTDB.PRG.

   3. Gunakan sintaks xBase untuk mengakses data:


    1     // TESTDB.PRG

    2     FUNCTION Main()

    3         // Buka database (ganti mydata dengan nama file Anda)

    4         USE mydata

    5

    6         // Pergi ke record pertama

    7         GO TOP

    8

    9         // Loop sampai akhir file

   10         DO WHILE .NOT. Eof()

   11             // Tampilkan isi dari sebuah field (ganti NAMABARANG)

   12             ? FIELD->NAMABARANG

   13             // Lanjut ke record berikutnya

   14             SKIP

   15         ENDDO

   16

   17         // Tutup database

   18         CLOSE DATABASES

   19         RETURN NIL

   4. Compile dan jalankan: harbour TESTDB.PRG -n -w lalu TESTDB.


  Anda sekarang memiliki lingkungan kerja yang fungsional untuk memelihara dan bahkan mengembangkan aplikasi Clipper/dBase di Mac M1 Anda. Alur kerjanya adalah: edit file di macOS (menggunakan

   VS Code, dll) di folder ~/dosdrive/project, lalu compile dan jalankan di dalam jendela DOSBox-X.



Dukung Saya supaya tetap menulis artikel-artikel yang baik, membayar sewa domain, dan server untuk blog ini. Caranya dengan donasi cendol via Trakteer.id.


No image

Fadly Dzil Jalal

PHP, Yii2 Framework, Laravel, Java, Java Swing, Hibernate, Javascript, Angular, React, MySQL, MongoDB


Dapatkan USD 200 untuk develop aplikasimu di DigitalOcean DigitalOcean Referral Badge