Senin, 27 Maret 2017

Perlunya Melestarikan dan Menyempurnakan Bahasa Bugis dan Aksara Lontara'

Buku yang menggunakan aksara Lontara

Adanya Akasara Lontara' yang diwariskan untuk kita oleh para pendahulu merupakan salah satu hal yang wajib disyukuri oleh Bangsa Indonesia pada umumnya dan suku Bugis pada khususnya. Dengan aksara inilah para leluhur menulis karya sastra terpanjang di dunia yaitu Lontara' I Lagaligo yang sekarang tersimpan dengan baik di negeri Belanda.

Tidak ada manusia yang hidup abadi. Salah satu cara untuk melestarikan pemikiran adalah dengan mewariskan pemikiran tersebut melalui tulisan agar para penerus dapat mengambil manfaat darinya. Tentu saja, para penerus haruslah terlebih dahulu menguasai bahasa dan aksara yang digunakan oleh para leluhurnya sebelum mempelajari manuskrip-manuskrip yang diwariskan untuknya. Oleh karena itu, sudah menjadi suatu kewajiban bagi kita semua untuk mempelajari bahasa Bugis dan aksara Lontara'nya.

Sekarang ini bahasa Bugis sudah banyak dipengaruhi oleh bahasa Indonesia yang menjadi bahasa persatuan di Negara Indonesia yang tercinta. Hal ini merupakan suatu hal yang alamiah dan telah terjadi pada banyak bahasa di dunia. Sekarang masyarakat Bugis di daerah Bone, ketika mengucapkan kata menonton dalam bahasa Bugis, mereka menggunakan kata manontong. Kata tersebut merupakan kata serapan dari bahasa Indonesia yaitu menonton. Sebenarnya hal ini dapat dimaafkan jika memang dalam bahasa Bugis tidak terdapat terjemahan dari kata menonton, tapi ternyata ada, hanya kita yang malas menggunakannya. Orang-orang dulu menggunakan kata makkîtaîta untuk kata menonton, tapi sekarang kata tersebut tidak pernah terdengar terucapkan oleh orang-orang yang sedang berkomunikasi dalam bahasa Bugis di daerah kelahiran saya, Kota Beradat Watampone.

Bahasa Bugis itu unik. Salah satu keunikannya adalah suatu kata dapat saja memiliki dua arti yang saling bertolak belakang, misalnya kata bâli. Bâli dalam bahasa Bugis memiliki banyak arti yang tergantung dari susunan kata dalam kalimat yang sedang diucapkan. Bali dapat berarti pasangan tapi dapat juga berarti lawan atau musuh. 

Jika ada orang berkata, "Îga muéra sibâli ri wettummu mabbulutangkisi'?" (Siapa yang kamu ajak untuk berpasangan sewaktu bermain bulu tangkis?). Maka arti dari kata bâli dalam kalimat ini adalah pasangan dalam permainan bulu tangkis ganda.

Tapi jika dikatakan, "Îga mancâji balimmu ri wettummu mabbulutangkisi'?" (Siapa yang menjadi lawanmu sewaktu bermain bulu tangkis?). Maka yang dimaksud bâli dalam kalimat tersebut adalah lawan dalam pertandingan bulu tangkis. 

Terdapat kerabat dari kata bâli yang dapat diterjemahkan menjadi bantu atau teman yaitu baling. Jika ada yang berkata, "Balingngi ambo’mu maddâre'!" (Bantulah/Temanilah ayahmu berkebun!). Maka arti dari kata baling dalam kalimat tadi adalah bantulah atau temanilah. Saat ini, penggunaan kata baling sudah sering digantikan oleh kata bantu yang diserap dari bahasa Indonesia.

Jika tidak ada daya upaya dalam melestarikan bahasa Bugis maka suatu saat semua kata dalam bahasa Bugis akan tergantikan oleh katakata serapan dari bahasa Indonesia. Salah satu cara untuk melestarikan bahasa Bugis adalah dengan membuat kamus bahasa Bugis sehingga kata yang sudah jarang digunakan dalam berkomunikasi dapat terselamatkan. Akan tetapi cara ini tidak sepenuhnya memberikan solusi terhadap semua masalah yang dihadapi.

Salah satu masalah yang dihadapi oleh bahasa Bugis sebagai bahasa daerah yang paling banyak penuturnya di Sulawesi Selatan adalah kurangnya minat generasi mudah untuk mempelajari dan mengkaji bahasa Bugis walaupun bahasa Bugis menjadi bahasa ibu mereka. Hal ini dikarenakan oleh adanya kesan bahwa bahasa Bugis hanya sekadar sebagai bahasa untuk berkomunikasi dengan orang-orang pedalaman Bugis yang belum terlalu memahami bahasa Indonesia sehingga bahasa ini tidak terlalu dibutuhkan. 

Mereka tidak melihat bahasa Bugis sebagai sebuah pusaka, kehormatan, identitas, filosofi, dan seni bagi masyarakat Bugis. Untuk mengatasi masalah ini maka banyak hal yang dapat dilakukan. Antara lain menulis buku-buku yang menjelaskan tentang arti sesungguhnya bahasa Bugis bagi masyarakat Bugis sejak zaman dahulu hingga sekarang, menerjemahkan kisah I Lagaligo dalam bentuk buku sehingga semua orang dapat mengetahui bahwa kisah I Lagaligo lebih baik dari kisah Mahabharata dari India yang sekarang ini selalu ditayangkan di televisi, menulis karya sastra yang berbahasa Bugis sehingga kesusastraan Bugis terus berlanjut, dan lain-lain.

Kita kembali dalam masalah aksara Lontara' yang telah menjadi kebanggaan masyarakat Sulawesi Selatan. Huruf Lontara' bersifat silabis, yaitu setiap huruf selalu diikuti oleh huruf vokal. Jadi jika kita akan menulis kata Bambang dalam huruf Lontara', maka hanya membutuhkan dua huruf yaitu huruf Ba dua kali karena huruf tersebut telah menyatu dengan huruf vokal. 

Sifat silabis ini erat kaitannya dengan bahasa Bugis yang tidak memiliki huruf mati kecuali huruf /Ng/ misalnya ladang, sadang, bubung, madang dan lain-lain. Selain itu, dalam bahasa Bugis terdapat banyak sekali kata yang memiliki glottal stop, yaitu sebuah penekanan yang biasanya terdapat di akhir kata yang pengucapannya mirip dengan cara baca huruf Hamzah sukun (mati) dalam huruf Hijaiyyah. Misalnya labbu' (tepung), sâbu' (sabuk), lîpa' (sarung), pajjâguru' (tinju), dan lain-lain. 

Jika terdapat kata atau nama yang berasal dari bahasa asing maka kata tersebut akan dimodivikasi sedemikian rupa sehingga sesuai dengan sistem bunyi bahasa Bugis. Contoh Muhamma' (Muhammad), pistôlu (pistol), Akurang (Al-Qur’an), gése' (gas), Ingjili' (Injil), dan lain-lain.

Perubahan bunyi yang terjadi pada huruf-huruf ketika terjadi pengadopsian terhadap kata yang berasal dari bahasa asing merupakan hal yang sudah umum dalam bahasa-bahasa di dunia. Bahkan, Allah SWT melakukan hal yang sama dalam Al-Qur'an. Misalnya, nama Nabi Esau yang berasal dari bahasa Ibrani berubah menjadi Isa dalam Al-Qur'an. 

Sebagian besar nama-nama yang tercantum dalam Al-Qur'an merupakan nama-nama yang berasal dari orang-orang yang tidak berbahasa Arab. Dalam kitab suci Al-Qur'an, kita akan menemukan nama-nama yang berasal dari kaum Yahudi seperti Daud (David), Sulaiman (Salomo), Ilyas (Elia), Ilyasa' (Eliza), dan lain-lain. Sebagai seorang muslim, saya menganggap bahwa hal seperti ini tidak apa-apa karena Allah saja melakukannya di dalam Al-Qur'an.

Masalah akan muncul dalam tulisan Lontara' ketika kita mempertanyakan pelafalan asli dari sebuah kata yang berasal dari bahasa asing. Tentu saja hal ini tidak dapat dilakukan dengan menggunakan aksara Lontara' yang ada saat ini.

Mari kita sejenak berimajinasi, anggaplah kita hidup dalam sebuah negara yang menggunakan bahasa Bugis sebagai bahasa nasionalnya dan aksara Lontara' sebagai aksara resmi negara. 

Anggaplah anda adalah seorang mahasiswa jurusan Sejarah dalam sebuah Universitas ternama di negara tersebut. Bahasa Bugis dan aksara Lontara' digunakan dalam proses belajar mengajar di kampus. Kemudian, anda membaca sebuah buku di perpustakaan yang membahas tentang perjalanan bangsa Mongol yang dipimpin oleh Jenghiz Khan untuk menguasai dunia. 

Dalam buku tersebut nama dari Jenghiz Khan adalah Jenghise' Kang karena disesuaikan dengan tata bunyi dalam bahasa Bugis. Apakah anda tidak penasaran bagaimana orang Mongol menyebut nama pemimpin (Jenghiz Khan) mereka saat itu? 

Apakah mereka menyebut namanya dengan Jenghise' Kang? Tentu saja tidak. Terus, bagaimana cara menjelaskan penyebutan asli nama tersebut dalam masyarakat Mongol dalam sebuah buku yang berbahasa Bugis dan ditulis dengan menggunakan aksara Lontara'? 

Kita harus membuat huruf-huruf tambahan untuk mengatasi masalah ini tanpa menghilangkan satu huruf pun dari huruf-huruf yang telah ada. Kalau kita tidak melakukan hal ini maka kita akan kesulitan membuat kamus bahasa Inggris-Bugis yang disertai dengan cara melafalkan bahasa Inggris dalam buku yang menggunakan huruf Lontara'.

Saya pernah mengalami sebuah masalah saat memulai penulisan buku yang menceritakan silsilah dan sejarah masyarakat Mico. Awalnya, saya ingin menulis buku ini menggunakan bahasa Bugis dan aksara Lontara' supaya bisa juga dibaca oleh orang-orang tua yang hanya mahir membaca aksara Lontara'. Namun, niat baik saya dihalangi oleh kekurangan aksara Lontara'. 

Dalam aksara Lontara’, penulisan kata bôdé' (sebuah nama) sama dengan penulisan kata bondéng (juga sebuah nama). Hal ini akan mengganggu pembaca buku saya yang membahas tentang silsilah yang banyak memuat nama-nama yang tidak lagi digunakan saat ini. Mereka akan kesulitan membaca sebuah kata yang dapat dibaca dengan beberapa cara. Akhirnya, saya memutuskan menulis buku itu dengan menggunakan aksara Latin. Sejak saat itu, saya menyadari betapa pentingnya menyempurnakan aksara Lontara'.

Banyak orang menentang tindakan penyempurnaan aksara Lontara' karena menghawatirkan hilangnya kemurnian dari aksara Lontara' itu sendiri. Mereka juga khawatir generasi muda tidak akan dapat lagi membaca manuskrip-manuskrip dari para pendahulu karena huruf Lontara' yang mereka pelajari tidak sama dengan huruf Lontara' yang terdapat dalam manuskrip-manuskrip.

Hal ini hanya akan terjadi jika: 
  • Kita mengganti sebagian atau keseluruhan dari huruf-huruf Lontara' dengan huruf baru.
  • Kita mengubah secara keseluruhan aksara Lontara' yang bersifat silabis menjadi aksara Lontara’ yang bersifat fonetis.

Akan tetapi, kekhawatiran di atas tidak akan terjadi jika:
  • Tetap menggunakan kaidah pembacaan huruf-huruf Lontara' sebagaimana yang diwariskan, yaitu bersifat silabis.
  • Setiap bahasa asing yang diserap selalu dimodifikasi sedemikian rupa sehingga sesuai dengan tata bunyi dalam bahasa Bugis.
  • Huruf-huruf dan kaidah-kaidah tambahan hanya digunakan dalam situasi tertentu misalnya dalam menulis nama orang, kota, pengucapan suatu kata dalam kamus, dan lain-lain.
  • Menulis ulang semua manuskrip sejarah dengan penulisan yang disesuaikan dengan kaidah-kaidah baru dalam tulisan.

Saat ini terdapat usaha sebagian para ahli untuk menambahkan sistem penulisan angka dalam aksara Lontara'. Mereka beralasan bahwa aksara Lontara' belum memiliki angka sehingga hal ini perlu dilakukan. Angka Arab yang sering digunakan dalam teks-teks Lontara' sangat berbeda dengan huruf-huruf Lontara' secara geometris sehingga hal ini mengganggu pikiran dan perasaan mereka. 

Bukankah aksara-aksara di Cina, Korea, dan Jepang tetap menggunakan angka Arab? Penggunaaan angka baru bukan mempermudah generasi muda melainkan mempersulit mereka. Saya pikir masih banyak hal yang lebih penting untuk dilakukan daripada hal semacam ini.

Inilah yang menjadi alasan saya mengapa melestarikan dan menyempurnakan aksara Lontara' dan bahasa Bugis begitu penting. Sekian!

Versi PDF dapat diunduh di sini.

Jika anda berminat mempelajari bahasa Bugis dengan cara mendengarkan langsung pengucapannya dari penutur aslinya disertai artinya, silakan kunjungi channel Gantolle Cella di Youtube, atau anda bisa langsung menonton beberapa videonya berikut ini.

⇛ 40 Pertanyaan yang Umum Digunakan dalam Bahasa Bahasa Bugis:


⇛ 25 Nama Binatang dan Artinya:


Demikian, semoga bermanfaat!

Senin, 13 Maret 2017

Hal-Hal Mendasar yang Perlu Dilakukan Sebelum Menggunakan Bahasa Pemrograman C/C++ di Windows


Dalam artikel sebelumnya, saya telah membahas hal-hal mendasar yang perlu dilakukan sebelum menggunakan bahasa pemrograman C/C++ di Ubuntu dan Linux Mint. Rasanya tidak adil jika saya tidak menulis topik pembahasan yang sama untuk pengguna Windows. Dalam artikel ini, saya menggunakan Windows 10.

Saya tidak akan membahas lagi pengenalan singkat bahasa pemrograman C/C++. Bagi yang belum mengenal bahasa C/C++ dapat merujuk ke artikel sebelumnya. Kita langsung masuk ke pokok bahasan.

1. Menginstal Kompiler


Mesin komputer tidak mengerti bahasa pemrograman, mesin hanya mengerti bilangan biner 1 dan 0. Supaya mesin komputer dapat melakukan instruksi-instruksi programmer yang tertuang dalam kode sumber  (source code) program maka kode sumber tersebut harus diterjemahkan  ke dalam bahasa tingkat rendah (bahasa yang dipahami oleh mesin). Kode sumber adalah adalah suatu rangkaian pernyataan atau deklarasi yang ditulis dalam bahasa pemrograman komputer yang terbaca manusia.  

Perangkat lunak yang bertugas dalam proses penerjemahan ini dinamakan penerjemah (translator). Dalam dunia pemrograman, terdapat 2 jenis penerjemah, yaitu:
  1. Interpreter : perangkat lunak yang mampu mengeksekusi kode sumber program lalu menerjemahkannya ke dalam bahasa mesin baris demi baris sambil mengikuti logika yang ada dalam program tersebut.
  2. Kompiler (compiler) : perangkat lunak yang mampu menerjemahkan kode sumber program  ke dalam bahasa mesin secara keseluruhan dan menghasilkan keluaran (output) berupa file yang dapat dieksekusi (executable). File keluaran tersebut dapat dibagikan dan dijalankan oleh orang lain tanpa harus menyertakan kode-sumbernya.
Bahasa C/C++ merupakan bahasa pemrograman yang menggunakan kompiler dalam penerjemahan. Karena itu, hal pertama yang perlu dilakukan sebelum membuat program dalam bahasa C/C++ adalah menginstal kompiler.

Ada banyak jenis kompiler bahasa C/C++ dan yang selalu saya gunakan adalah GCC. Bagaimana cara menginstal GCC di Windows? Ikutilah langkah-langkah yang dipaparkan selanjutnya.

Kunjungilah http://sourceforge.net/projects/mingw-w64/ lalu unduh wingw-w64-install.exe. Jika sudah selesai, masuklah ke folder tempat wingw-w64-install.exe tersimpan lalu klik ganda untuk memulai proses instalasi sehingga tampil jendela berikut:


Tentu saja kita klik Next hingga muncul jendela di bawah ini:


Sesuaikan Achitecture dengan jenis sistem operasi yang anda gunakan (64 bit atau 32 bit). Setelah selesai, klik Next hingga muncul tampilan di bawah ini:


Tungulah (dengan penuh kesabaran) hingga proses instalasi selesai. Setelah selesai, klik Next hingga muncul tampilan di bawah ini:


Klik Finish. Sampai di sini, kompiler telah selesai terinstal di komputer anda. Langkah selanjutnya, kita lakukan pengeditan konfigurasi sistem.

Masuklah ke folder dimana MinGW-W64 terinstal lalu masuklah ke folder bin. Dalam komputer saya, lokasinya adalah Program Files/mingw-w64/x86_64-6.3.0-posix-sjlj-rt_v5-rev1/mingw64/bin. Perhatikan gambar di bawah ini:


Kopilah lokasi folder bin (lihat coretan merah dalam gambar di atas).

Selanjutnya, masuklah ke dalam Control Panel > System and Security > System. Di bagian kiri terdapat menu Advanced System Settings, klik menu tersebut hingga muncul jendela baru. Perhatikan gambar di bawah ini:


Setelah muncul jendela baru, klik Environment Variables hingga muncul tampilan di bawah ini:


Klik Path lalu klik Edit (perhatikan warna biru mudah dan lingkaran merah dalam gambar di atas). Selanjutnya akan ditampilkan jendela di bawah ini:


Pada bagian Variable Value, paste lokasi folder bin yang telah dikopi tadi (perhatikan gambar di atas).

Pengaturan konfigurasi ini bertujuan untuk memudahkan user mengompilasi kode sumber program. Kita tidak perlu lagi masuk ke folder bin setiap kali mengompilasi kode sumber program menggunakan Command Prompt.

2. Mengetes Kompiler


Untuk mengetes kompiler yang telah kita instal di atas kita membutuhkan dua kode sumber program yaitu kode sumber yang berbahasa C dan kode sumber yang berbahasa C++. Jika anda sudah memiliki kode sumber program berbahasa C dan C++ maka anda bisa menggunakan itu. Jika belum maka tulislah script di bawah ini dalam editor (misal: notepad).

Program sederhana menggunakan bahwa C:

1
2
3
4
5
#include <stdio.h>
int main(void) {
   printf("Hello, world!\n");
   return 0;
}

Setelah selesai, simpanlah dengan ekstensi .c misalnya bahasac.c.

Program sederhana menggunakan bahasa C++:

1
2
3
4
5
6
7
#include <iostream>
using namespace std;
int main()
{
   cout <<"Hello, world!"<< endl;
   return 0;
}

Simpanlah dengan ekstensi .cpp misalnya bahasacpp.cpp.

Setelah selesai, bukalah Command Prompt lalu masuklah ke folder tempat kedua file C dan C++ di atas tersimpan. Pada komputer saya, saya menyimpannya dalam folder Desktop di partisi C.

Saya menggunakan perintah di bawah ini dalam mengompilasi dan mengeksekusi program:

1
2
3
4
5
6
cd Desktop
dir
gcc -o bahasac bahasac.c
g++ -o bahasacpp bahasacpp.cpp
bahasac
bahasacpp

Perintah cd digunakan untuk berpindah folder (direktory). Perintah cd Desktop berarti berpindah ke folder Desktop. Perintah dir digunakan untuk melihat isi folder. Perintah dalam baris ke 3 dan 4 berfungsi untuk mengompilasi dua kode sumber program yang telah dibuat. bahasac dan bahasacpp merupakan nama file hasil kompilasi sedangkan bahasac.c dan bahasacpp.cpp merupakan nama file yang akan dikompilasi.

Hasilnya dapat dilihat dalam gambar di bawah  ini:


Kedua tanda panah berwarna merah dalam gambar di atas memperlihatkan keluaran dari program.

Demikian tutorial kali ini. Jika ada yang terluput, silakan bertanya dalam kolom komentar. Semoga bermanfaat!

Rabu, 08 Maret 2017

Hal-Hal Mendasar yang Perlu Dilakukan Sebelum Menggunakan Bahasa Pemrograman C/C++ di Ubuntu dan Linux Mint


Saya telah menulis beberapa artikel pemrograman menggunakan bahasa C++ dalam blog ini. Beberapa saat kemudian, seorang kenalan saya yang tertarik dengan bahasa pemrograman C/C++ sempat menanyakan cara menginstal kompiler C/C++ di komputer beserta cara mengompilasi source code. Nah, saya pikir, mungkin ada beberapa orang yang mengalami masalah yang sama jadi saya memutuskan untuk menulis artikel yang membahas hal ini.

Mohon maaf bagi anda yang pengguna Windows. Saya belum pernah menggunakan C/C++ di Windows. Saya selalu menggunakan Linux Mint (turunan Ubuntu) ketika membuat program, jadi saya hanya bisa memaparkan hal-hal dasar yang sebaiknya dilakukan sebelum menggunakan bahasa pemrograman C/C++ di Ubuntu dan Linux Mint.

1. Mengenal Bahasa Pemrograman C dan C++


Saya mengasumsikan bahwa sebagian dari pembaca artikel ini merupakan orang-orang yang masih dalam tahap penasaran dan belum mengenal bahasa C/C++. Maka dari itu, saya terlebih dahulu mengenalkan bahasa C/C++ dalam bahasan yang seringkas mungkin.

Bahasa C dikembangkan oleh Dennis Ritchie di Bong Labs pada tahun 1972. Bahasa pemrograman C awalnya dikembangkan untuk Sistem Operasi Unix (nenek moyang Sistem Operasi Linux) namun sekarang sering digunakan dalam komputasi sains dan pengembangan software aplikasi.

Bahasa C merupakan bahasa pemrograman level menengah (midle level programming). Istilah level di sini mengacu pada kemampuan manusia memahami suatu bahasa pemrograman. Semakin tinggi level suatu bahasa pemrograman maka semakin mudah dipahami oleh manusia.

Awalnya, bahasa C dikategorikan ke dalam bahasa pemrograman level tinggi (high level programming) namun levelnya diturunkan karena sekarang sudah banyak bahasa pemrograman yang lebih mudah dimengerti daripada bahas C. Bahasa Python dan Perl merupakan salah satu contoh bahasa pemrograman level tinggi.

Nama bahasa C terbilang cukup unik karena hanya terdiri dari satu huruf padahal bahasa pemrograman lain yang kita kenal saat ini memiliki nama yang lebih dari satu huruf misalnya Python, Fortran, Pearl, dan lain-lain. Kenapa  nama bahasa ini hanya terdiri dari satu huruf yaitu C?

Bahasa C merupakan pengembangan dari bahasa sebelumnya, yaitu bahasa B. Huruf C berada setelah huruf B sehingga bahasa ini dinamai dengan bahasa C.

Pada tahun 1983, Bjarne Stroustrup menciptakan bahasa pemrograman baru yang merupakan pengembangan dari bahasa C. Bjarne Stroustrup menamai bahasa pemrograman yang baru dibuatnya dengan nama C++. Hal mendasar yang membedakan bahasa C dengan bahasa C++ adalah adanya dukungan bahasa C++ terhadap konsep pemrograman berorientasi objek (Object Oriented Programming).

2. Hal-Hal Mendasar yang Perlu Dilakukan


Supaya kita dapat membuat program menggunakan bahasa C/C++ pada distro Ubuntu atau Linux Mint maka ada beberapa hal mendasar yang perlu dilakukan. Apakah itu?

Jawabannya adalah menginstal kompiler (compiler) dan hal-hal lain yang mendukung suksesnya proses kompilasi. Bagaimana pun canggihnya program yang anda tulis (kode sumber) dengan memanfaatkan bahasa C/C++, kode sumber (source code) tersebut tidak akan berguna sebelum dikompilasi lalu dijalankan. Kenapa hal ini bisa terjadi?

Mesin komputer tidak mengerti bahasa C/C++ maupun bahasa pemrograman yang lain. Mesin komputer hanya mengerti bahasa level rendah (low level language) yang berbentuk deretan bilangan biner 0 dan 1.

Supaya mesin komputer dapat memahami keinginan programmer yang tertuang dalam kode sumber program maka kode sumber program harus dikompilasi ke dalam bahasa level rendah (bahasa mesin). Software yang bertanggung-jawab dalam proses kompilasi bahasa pemrograman ke dalam bahasa mesin disebut dengan kompiler (compiler).

Ok, kita akan menginstal kompiler dan hal-hal lain yang turut mendukung suksesnya proses kompilasi. Bukalah terminal (CTRL + ALT + T) lalu jalankanlah perintah di bawah ini baris demi baris:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
sudo apt-get update
sudo apt-get install build-essential software-properties-common -y
sudo add-apt-repository ppa:ubuntu-toolchain-r/test -y
sudo apt-get update
sudo apt-get install gcc-snapshot -y
sudo apt-get update
sudo apt-get install gcc-6 g++-6 -y
sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-6 60 --slave /usr/bin/g++ g++ /usr/bin/g++-6
sudo apt-get install gcc-4.8 g++-4.8 -y
sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-4.8 60 --slave /usr/bin/g++ g++ /usr/bin/g++-4.8
sudo update-alternatives --config gcc

Setelah selesai, cobalah menjalankan perintah berikut di terminal:

1
2
gcc -v
g++ -v

Jika komputer menampilkan versi GCC dan G++, berarti kompiler anda berhasil terinstal dengan baik.

3. Membuat Program Sederhana dalam Bahasa C dan C++


Pembahasan dalam bagian ini telah melanggar judul artikel. Namun, bagian ini penting untuk memastikan bahwa software-software yang telah kita instal dalam bagian sebelumnya dapat bekerja sebagaimana mestinya.

Kita akan membuat program sederhana untuk menampilkan teks "Hello, world!" pada terminal. Bukalah editor favorit anda (contoh: xed, gedit) lalu tulislah script bahasa C di bawah ini:

1
2
3
4
5
#include <stdio.h>
int main(void) {
   printf("Hello, world!\n");
   return 0;
}

Setelah selesai, simpanlah dengan ekstensi .c misalnya bahasac.c.

Bukalah kembali editor lalu tulislah script bahasa C++ di bawah ini:

1
2
3
4
5
6
7
#include <iostream>
using namespace std;
int main()
{
   cout <<"Hello, world!"<< endl;
   return 0;
}

Simpanlah dengan ekstensi .cpp misalnya bahasacpp.cpp.

Bukalah terminal untuk mengompilasi kedua source code di atas lalu menjalankan program hasil kompilasi. Masuklah ke direktori tempat kedua source code di atas tersimpan lalu jalankanlah perintah di bawah ini:

1
2
3
4
gcc -o bahasac bahasac.c
g++ -o bahasacpp bahasacpp.cpp
./bahasac
./bahasacpp

Hasilnya diperlihatkan oleh gambar di bawah ini:


Semoga berhasil. Jika ada yang kurang jelas, silakan bertanya di kolom komentar!

Komputasi Jumlah dan Selisih Dua Buah Matriks Menggunakan Bahasa Pemrograman C++


Dua buah matriks yang akan dikenai operasi penjumlahan dan pengurangan haruslah berukuran sama. Dua buah matriks dikatakan memiliki ukuran yang sama jika dan hanya jika jumlah baris matriks pertama sama dengan jumlah baris matriks kedua dan jumlah kolom matriks pertama sama dengan jumlah kolom matriks kedua.

Matriks $\mathbf{A}$ berukuran $3 \times 3$:
\begin{align}
\mathbf{A} = \begin{bmatrix}
a_{11} & a_{12} & a_{13} \\
a_{21} & a_{22} & a_{23} \\
a_{31} & a_{32} & a_{33}
\end{bmatrix} \label{matriksA}
\end{align}
dan matriks $\mathbf{B}$ berukuran $3 \times 3$:
\begin{align}
\mathbf{B} = \begin{bmatrix}
b_{11} & b_{12} & b_{13} \\
b_{21} & b_{22} & b_{23} \\
b_{31} & b_{32} & b_{33}
\end{bmatrix} \label{matriksB}
\end{align}
Jika matriks $\mathbf{C}= \mathbf{A} + \mathbf{B}$ maka elemen-elemen matriks $\mathbf{C}$ dapat dicari dengan cara:
\begin{align}
c_{11} &= a_{11} + b_{11} \notag \\
c_{12} &= a_{12} + b_{12} \notag \\
c_{13} &= a_{13} + b_{13} \notag \\
c_{21} &= a_{21} + b_{21} \notag \\
c_{22} &= a_{22} + b_{22} \label{matriksC} \\
c_{23} &= a_{23} + b_{23} \notag \\
c_{31} &= a_{31} + b_{31} \notag \\
c_{32} &= a_{32} + b_{32} \notag \\
c_{33} &= a_{33} + b_{33} \notag
\end{align}
Jika matriks $\mathbf{D}= \mathbf{A} - \mathbf{B}$ maka elemen-elemen matriks $\mathbf{D}$ dapat dicari dengan cara:
\begin{align}
d_{11} &= a_{11} - b_{11} \notag \\
d_{12} &= a_{12} - b_{12} \notag \\
d_{13} &= a_{13} - b_{13} \notag \\
d_{21} &= a_{21} - b_{21} \notag \\
d_{22} &= a_{22} - b_{22} \label{matriksD} \\
d_{23} &= a_{23} - b_{23} \notag \\
d_{31} &= a_{31} - b_{31} \notag \\
d_{32} &= a_{32} - b_{32} \notag \\
d_{33} &= a_{33} - b_{33} \notag
\end{align}

Dengan menggunakan ($\ref{matriksC}$) dan ($\ref{matriksD}$), kita akan membuat sebuah program untuk mencari jumlah dan selisih dua buah matriks. Karena dalam dunia komputasi, setiap elemen dua buah matriks yang akan dicari jumlah dan selisihnya harus diketahui nilainya maka kita terlebih dahulu beri nilai tiap elemen kedua matriks yang terdapat dalam ($\ref{matriksA}$) dan ($\ref{matriksB}$), yaitu:
\begin{align}
\mathbf{A} &= \begin{bmatrix}
3 & -1 & 4 \\
5 & 0 & 2 \\
8 & 9 & 4
\end{bmatrix} \label{nilaiA} \\
\mathbf{B} &= \begin{bmatrix}
3 & 8 & 1 \\
0 & 4 & -5 \\
-2 & 3 & 3
\end{bmatrix} \label{nilaiB}
\end{align}

Script Dasar


Pada bagian ini, kita akan langsung memasukkan rumus yang ada dalam ($\ref{matriksC}$) dan ($\ref{matriksD}$) ke dalam program dan tanpa menggunakan loop.

1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
#include<iostream>
#include<cmath>
using namespace std;

int main()
{
 int A[10][10], B[10][10], C[10][10], D[10][10];
    cout << "\n===============================================";
    cout << "\n             ASRI FISIKA 12 UNHAS              ";
    cout << "\n        JUMLAH DAN SELISIH 2 MATRIKS           ";
    cout << "\n         MAKASSAR, 15 DESEMBER 2016            ";
    cout << "\n===============================================";
    cout << endl;
    // Inisialisasi matriks A
    A[0][0] = 3;
    A[0][1] = -1;
    A[0][2] = 4;
    A[1][0] = 5;
    A[1][1] = 0;
    A[1][2] = 2;
    A[2][0] = 8;
    A[2][1] = 9;
    A[2][2] = 4;
    // Inisialisasi matriks B
    B[0][0] = 3;
    B[0][1] = 8;
    B[0][2] = 1;
    B[1][0] = 0;
    B[1][1] = 4;
    B[1][2] = -5;
    B[2][0] = -2;
    B[2][1] = 3;
    B[2][2] = 3;
    // Proses penjumlahan matriks A dan B
    C[0][0] = A[0][0] + B[0][0];
    C[0][1] = A[0][1] + B[0][1];
    C[0][2] = A[0][2] + B[0][2];
    C[1][0] = A[1][0] + B[1][0];
    C[1][1] = A[1][1] + B[1][1];
    C[1][2] = A[1][2] + B[1][2];
    C[2][0] = A[2][0] + B[2][0];
    C[2][1] = A[2][1] + B[2][1];
    C[2][2] = A[2][2] + B[2][2];
    // Proses pencarian selisih matriks A dan B
    D[0][0] = A[0][0] - B[0][0];
    D[0][1] = A[0][1] - B[0][1];
    D[0][2] = A[0][2] - B[0][2];
    D[1][0] = A[1][0] - B[1][0];
    D[1][1] = A[1][1] - B[1][1];
    D[1][2] = A[1][2] - B[1][2];
    D[2][0] = A[2][0] - B[2][0];
    D[2][1] = A[2][1] - B[2][1];
    D[2][2] = A[2][2] - B[2][2];
    // Menampilkan matriks A
    cout << "\nMatriks A :\n" << endl;
    cout << A[0][0] << "\t" << A[0][1] << "\t" << A[0][2] << endl;
    cout << A[1][0] << "\t" << A[1][1] << "\t" << A[1][2] << endl;
    cout << A[2][0] << "\t" << A[2][1] << "\t" << A[2][2] << endl;
    // Menampilkan matriks B
    cout << "\nMatriks B :\n" << endl;
    cout << B[0][0] << "\t" << B[0][1] << "\t" << B[0][2] << endl;
    cout << B[1][0] << "\t" << B[1][1] << "\t" << B[1][2] << endl;
    cout << B[2][0] << "\t" << B[2][1] << "\t" << B[2][2] << endl;
    // Menampilkan hasil penjumlahan
    cout << "\nJumlah matriks A dan B :\n" << endl;
    cout << C[0][0] << "\t" << C[0][1] << "\t" << C[0][2] << endl;
    cout << C[1][0] << "\t" << C[1][1] << "\t" << C[1][2] << endl;
    cout << C[2][0] << "\t" << C[2][1] << "\t" << C[2][2] << endl;
    // Menampilkan selisih
    cout << "\nSelisih matriks A dan B :\n" << endl;
    cout << D[0][0] << "\t" << D[0][1] << "\t" << D[0][2] << endl;
    cout << D[1][0] << "\t" << D[1][1] << "\t" << D[1][2] << endl;
    cout << D[2][0] << "\t" << D[2][1] << "\t" << D[2][2] << endl;
    cout << endl;
    return 0;
}

Penggunaan Loop dalam Script


Pada script di atas, perhatikanlah kelompok baris berikut:
  1. Baris ke-35 Sampai baris ke-43,
  2. Baris ke-45 sampai baris ke-53,
  3. Baris ke-56 sampai baris ke-58,
  4. Baris ke-61 sampai baris ke-63,
  5. Baris ke-66 sampai baris ke-68,
  6. Baris ke-71 sampai baris ke-73.
Kelompok-kelompok baris di atas memiliki pola sehingga dapat diubah ke dalam bentuk loop.

1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
#include<iostream>
#include<cmath>
using namespace std;
int main()
{
    int A[10][10], B[10][10], C[10][10], D[10][10];
    int i,j,m,n;
    m = 3;
    n = 3;
    cout << "\n===============================================";
    cout << "\n             ASRI FISIKA 12 UNHAS              ";
    cout << "\n        JUMLAH DAN SELISIH 2 MATRIKS           ";
    cout << "\n      PONDOK NURLINA, 18 DESEMBER 2016         ";
    cout << "\n===============================================";
    cout << endl;
    // Inisialisasi matriks A
    A[0][0] = 3;
    A[0][1] = -1;
    A[0][2] = 4;
    A[1][0] = 5;
    A[1][1] = 0;
    A[1][2] = 2;
    A[2][0] = 8;
    A[2][1] = 9;
    A[2][2] = 4;
    // Inisialisasi matriks B
    B[0][0] = 3;
    B[0][1] = 8;
    B[0][2] = 1;
    B[1][0] = 0;
    B[1][1] = 4;
    B[1][2] = -5;
    B[2][0] = -2;
    B[2][1] = 3;
    B[2][2] = 3;
    // Proses penjumlahan matriks A dan B
    for(i=0; i<m; i++)
    {
        for(j=0; j<n; j++)
        C[i][j] = A[i][j] + B[i][j];
    }
    // Proses pencarian selisih matriks A dan B
    for(i=0; i<m; i++)
    {
        for(j=0; j<n; j++)
        D[i][j] = A[i][j] - B[i][j];
    }
    // Menampilkan matriks A
    cout << "\nMatriks A :\n" << endl;
    for(i=0;i<m;i++)
    {
        for(j=0; j<n; j++)
        cout << A[i][j] << "\t";
        cout << endl;
    }
    // Menampilkan matriks B
    cout << "\n\nMatriks B :\n" << endl;
    for(i=0; i<m; i++)
    {
        for(j=0; j<n; j++)
        cout << B[i][j] << "\t";
        cout << endl;
    }
    // Menampilkan hasil penjumlahan
    cout << "\nJumlah matriks A dan B :\n" << endl;
    for(i=0; i<m; i++)
    {
        for(j=0; j<n; j++)
        cout << C[i][j] << "\t";
        cout << endl;
    }
    // Menampilkan selisih
    cout << "\nSelisih matriks A dan B :\n" << endl;
    for(i=0; i<m; i++)
    {
        for(j=0; j<n; j++)
        cout << D[i][j] << "\t";
        cout << endl;
    }
    cout << endl;
    return 0;
}

Gambar di bagian atas artikel ini memperlihatkan hasil dari program.

Sekian postingan kali ini. Jika ada yang kurang jelas, silakan bertanya di kolom komentar. Semoga bermanfaat!

Senin, 06 Maret 2017

Belajar Membaca Aksara Lontara


Sudah pernah dengar tentang aksara Lontara?

Aksara Lontara merupakan aksara tradisional masyarakat Sulawesi Selatan dan Sulawesi Barat khususnya masyarakat Bugis, Luwu, Mandar, dan Makassar. Saat ini sering terjadi perdebatan mengenai siapa suku pertama yang menggunakan aksara ini. Apakah suku Bugis atau Makassar? Kita tidak akan membahas perdebatan tersebut dalam artikel ini. Fokus kita dalam artikel ini adalah bagaimana cara membaca aksara Lontara.

Aksara Lontara sangat terkenal di Eropa semenjak Sure' I La Galigo dibawa oleh B.F. Matthes dari Sulawesi Selatan ke Belanda. Apa itu Sure' I La Galigo?

Sure' I La Galigo merupakan sebuah epik yang berisi kepercayaan dan kebudayaan Bugis kuno, diperkirakan ditulis pada abad ke-13 sampai abad ke-15 Masehi. Tahukah anda bahwa Sure' I La Galigo merupakan epik terpanjang di dunia? Tahun 2011, UNESCO mengakui Sure' I La Galigo sebagai Memory of the World dan membuat Indonesia bangga. Informasi lebih lanjut mengenai Sure' I La Galigo dapat dilihat di sini.   

Aksara Lontara sangat berbeda dengan aksara Latin yang digunakan secara resmi di negara Indonesia yang tercinta ini. Perbedaannya bukan hanya dalam segi bentuk huruf melainkan juga dalam segi cara membacanya.

Aksara Lontara bersifat silabis, berbeda dengan aksara Latin yang bersifat fonetik. Apa yang dimaksud dengan silabis?

Sebuah aksara dikatakan bersifat silabis jika setiap huruf dalam aksara itu mengandung vokal inheren. Maksudnya, setiap huruf dalam aksara yang bersifat silabis mewakili satu suku kata. Contoh aksara di dunia yang bersifat silabis antara lain aksara Katakana dan Hiragana dari Jepang dan aksara Hangeul dari Korea.

1. Huruf-Huruf Dalam Aksara Lontara


Terdapat perbedaan jumlah huruf antara aksara Lontara versi Makassar dan aksara Lontara versi Bugis. Dalam aksara Lontara versi Makassar terdapat 19 huruf sedangkan dalam aksara Lontara versi Bugis terdapat 23 huruf. Gambar di bawah ini memperlihatkan huruf-huruf aksara Lontara versi Bugis.


Huruf-huruf aksara Lontara di atas dinamakan Îna' Sûre' atau biasa juga disebut dengan Indo' Sûre'. Huruf Ngka, Mpa, Nra dan Nca tidak didapati dalam aksara Lontara versi Makassar. Keempat huruf ini sepertinya diciptakan belakangan karena dalam Sure' I La Lagaligo tidak didapati keempat huruf ini termasuk huruf Ha.

Huruf Ha dalam aksara Lontara tercipta setelah masuknya agama Islam ke Sulawesi Selatan. Tidak ada kosakata asli bahasa Bugis dan Makassar kuno yang mengandung huruf Ha. Sebenarnya huruf Nca dalam gambar di atas dibaca /Ngca/ namun dalam proses transliterasi tertulis /Nca/.

2. Diakritik Dalam Aksara Lontara


Sebagaimana yang dapat dilihat dalam gambar di atas, setiap huruf dalam aksara Lontara sudah mengandung vokal /a/. Terus bagaimana cara menambahkan vokal /i/, /u/, /e/, dan /o/ pada huruf?

Untuk mengganti vokal /a/ yang sudah terkandung dalam setiap huruf maka digunakan tanda diakritik. Diakritik adalah tanda baca tambahan pada huruf yang akan mengubah cara pengucapan huruf tersebut.

Sekali lagi, terdapat perbedaan jumlah tanda diakritik antara aksara Lontara versi Makassar dan Lontara versi Bugis. Dalam aksara Lontara versi makassar terdapat 4 tanda diakritik sedangkan dalam aksara Lontara versi Bugis terdapat 5 tanda diakritik. Dalam tradisi Bugis, tanda diakritik dinamakan Ana' Sûre'. Gambar di bawah ini memperlihatkan tanda-tanda diakritik dalam aksara Lontara versi Bugis.


Tanda É pada gambar di atas dibaca seperti huruf E dalam kata ember, enak, merah, dan setan sedangkan tanda E dibaca seperti huruf E yang terdapat dalam kata telah, sepatu, terang, dan kerucut. Huruf É (terdapat tanda diakritik di bagian atas huruf) disebut dengan E taling sedangkan huruf E (tanpa tanda diakritik) disebut dengan E pepet.

Dahulu, tanda E pepet dan E taling pernah digunakan dalam kesusasteraan Indonesia. Namun, tanda diakritik dihilangkan sejak tahun 60-an karena ada anggapan bahwa orang Indonesia sudah tahu kapan huruf E dibaca seperti E taling dan kapan dibaca seperti E pepet.

Dalam bahasa Makassar tidak dikenal kata yang mengandung E pepet sehingga dalam aksara Lontara versi Makassar tidak terdapat tanda diakritik untuk bunyi vokal E pepet. Ya, seperti itulah penyebabnya.

Gambar di bawah ini memperlihatkan contoh penerapan tanda diakritik pada huruf-huruf Lontara.


3. Menulis Menggunakan Aksara Lontara


Aksara Lontara yang diwariskan oleh leluhur Bugis dan Makassar tidak mengenal tanda pemati huruf, glottal stop (penekanan di akhir suku kata), dan geminasi (penggandaan konsonan dalam penyebutan satu huruf).

Yang dimaksud dengan glottal stop adalah penghentian bunyi secara mendadak di akhir pengucapan suku kata seperti penyebutan Hamzah sukun dalam huruf Hijaiyyah. Yang dimaksud dengan geminasi adalah adanya dua konsonan sejenis yang berdekatan sehingga dalam membacanya seakan-akan hanya terdapat satu konsonan yang diucapkan dengan terlebih dahulu menekan tempat keluarnya huruf.

Dalam menulis teks menggunakan aksara Lontara, kita harus membedakan antara tanda titik yang merupakan bagian dari huruf dan  tanda titik yang merupakan tanda diakritik. Jika terdapat huruf Lontara yang memiliki titik di bagian atasnya dan penulis ingin menambahkan tanda diakritik untuk vokal /i/ maka hasilnya adalah huruf yang memiliki dua tanda titik di bagian atasnya. Perlu diperhatikan bahwa tanda titik yang merupakan bagian dari huruf terletak di tengah-tengah atas huruf sedangkan tanda titik diakritik terletak di bagian atas sebelah kiri (tidak persis di tengah). Contoh:


Kata di atas dibaca dâdi'.

Jika sebuah huruf Lontara memiliki tanda titik di bagian bawah dan penulis ingin menambahkan tanda diakritik untuk vokal /u/ maka hasilnya adalah huruf yang memiliki dua tanda titik di bagian bawah. Harap diperhatikan bahwa tanda titik di bawah huruf yang tepat di tengah merupakan bagian dari huruf sedangkan tanda titik di bawah huruf yang di bagian bawah sebelah kanan merupakan tanda diakritik. Contoh:


Kata di atas dibaca mânu'.

Lebih mudah menulis teks yang menggunakan aksara Lontara daripada membaca teks yang menggunakan aksara Lontara. Kenapa bisa? Karena dalam membaca teks yang menggunakan aksara Lontara, seorang pembaca harus memahami bahasa yang digunakan oleh teks tersebut (bahasa Makassar, Bugis, Taé, Mandar, Dûri, Torâja, atau bahasa-bahasa lain yang ada di Sulawesi Selatan dan Sulawesi Barat) karena kalau tidak tidak maka kemungkinan besar ia akan salah dalam menyebut sebuah kata. Perhatikan teks Lontara di bawah ini:


Jika pembaca tidak memahami bahasa Bugis maka kemungkinan besar akan salah dalam membaca teks di atas, misalnya ia membacanya dengan:
  1. Bola lopo;
  2. Bola loppo;
  3. Bola lopong;
  4. Bola lopo';
  5. Bolang lopo;
  6. Bola' lopo;
Pembaca yang memahami bahasa Bugis akan tahu bawah teks di atas dibaca seperti pada nomor 2 yang artinya adalah rumah yang besar. Kenapa demikian? karena kata bolang, bola', lopo, dan lopong tidak dikenal dalam bahasa Bugis.

Berarti susah dong membaca teks yang menggunakan aksara Lontara? Ya, memang susah kalau kita tidak memahami bahasanya. Kalau kita paham bahasanya dan sering membaca teks yang menggunakan aksara Lontara maka yakin dan percaya, kita akan bisa membacanya selancar saat kita membaca teks yang menggunakan aksara Latin. Buktinya, para khatib di pedalaman Bone menggunakan buku kumpulan khutbah jumat yang menggunakan aksara Lontara dan mereka sangat lancar membacanya walaupun buku itu baru pertama kali dibacanya.

Dalam aksara Lontara terdapat tanda yang disebut pallâwa yaitu:


Secara umum, tanda pallâwa digunakan untuk menandakan adanya jeda dalam membaca sebuah teks. Tanda pallâwa memiliki fungsi yang sama dengan koma dan titik dalam aksara Latin. Contoh penggunaan tanda pallâwa:


Jika ada yang kurang jelas, silakan bertanya di kolom komentar.

Jika anda berminat mempelajari bahasa Bugis dengan cara mendengarkan langsung pengucapannya dari penutur aslinya disertai artinya, silakan kunjungi channel Gantolle Cella di Youtube, atau anda bisa langsung menonton beberapa videonya berikut ini.

⇛ 40 Pertanyaan yang Umum Digunakan dalam Bahasa Bahasa Bugis:


⇛ 25 Nama Binatang dan Artinya:


Demikian, semoga bermanfaat!