D untuk Pemula
From GameDevID
Contents |
Pengenalan Singkat D
D adalah bahasa setingkat JAVA dan C# yang juga memiliki kemampuan Garbage Collector. Yang membedakan JAVA, C# dan D adalah D tidak menggunakan VM(Virtual Machine) seperti pada JAVA dengan J2RE(Runtime) atau C# dengan Microsoft Framework .NET
Keterangan lebih lengkap: http://www.digitalmars.com/d
Library atau Pustaka yang tersedia untuk pemograman bahasa D
Pustaka dasar
Phobos
Phobos adalah pustaka standar yang disediakan dalam paket kompiler bahasa D.
Contoh kode dengan Phobos yaitu:
//Written in D Programming Language
import std.stdio; // untuk fungsi writef dan writefln
import std.c.stdio; //untuk memanggil fungsi standar stdio yg digunakan pada C
void main()
{
printf("Satu 1"); //cara penggunaan sama dengan yang ada pada bahasa C
writef("Dua 2"); //cara penggunaan mirip dengan stdio di bahasa C
writefln("Tiga 3"); //cara penggunaan mirip writef, bedanya ln dibelakang = line feed atau seperti '\n'.
}
Tango
Tango merupakan pustaka alternatif dan pengganti Phobos(pustaka standar bahasa D). Tango dikhususkan untuk pengembangan aplikasi server, tetapi juga dapat digunakan untuk pengembangan aplikasi desktop biasa.
Contoh kode dengan Tango yaitu:
//Written in D Programming Language
import tango.stdc.stdio; //printf
import tango.io.Console; //Cout
import tango.io.Stdout; //Stdout
void main()
{
printf("Satu\n");
Cout("Dua").newline; //for text output only
Stdout.formatln("Hello {0}", "World"); //Yg ini penggunaannya mirip dengan yg dibahasa C#
}
Pustaka Lainnya
Selain pustaka diatas juga terdapat beberapa pustaka lainnya, Beberapa diantaranya yg masih aktif dikembangkan antara lain:
- DFL (D Framework Library)
DFL merupakan pustaka khusus untuk antarmuka grafis jendela berbasis Windows. DFL merupakan pustaka terpopuler kedua setelah DWT.
- DWT
DWT merupakan pustaka antarmuka grafis jendela yang merupakan modifikasi dari SWT dari JAVA.
- Derelict
Derelict merupakan bundel atau kumpulan pustaka-pustaka yang umum dikenal orang dalam pengembangan aplikasi multimedia dan grafis. Saat ini Derelict mendukung SDL, OpenGL, OpenAL, FreeType, ODE, DevIL, Vorbis OGG.
- DDBI
DDBI merupakan pustaka khusus untuk pemograman database di bahasa D. Pustaka ini mendukung database mySQL, SQLite, MSSQL, ORACLE, ODBC, Interbase, MSQL, Postgree
IDE/Editor untuk bahasa D
Karena hingga kini bahasa D belum mempunyai IDE atau editor resmi, maka semua orang dapat menggunakan IDE atau editor apa saja untuk membuat programnya. Beberapa editor yg dapat digunakan antara lain:
- Poseidon (Windows)
- Dcode (Windows)
- Entice (Windows)
- Emacs (Multiplatform)
Compiler D
Kompiler yg saat ini tersedia untuk bahasa D
- DMD (DigitalMars D)
- OS : Windows, Linux
- membutuhkan: DMC (Digitalmars C/C++) untuk Windows atau GCC untuk Linux
- GDC (GNU D Compiler)
- OS : Linux
- Membutuhkan: GCC atau turunannya.
Tutorial D
Pada tutorial ini akan menggunakan:
- 'Tango' sebagai pustaka utama,
- 'rebuild' sebagai tool untuk mempermudah kompilasi. Penggunaan rebuild akan memudahkan kompilasi program yang menggunakan banyak pustaka.
Hello World
Pertama-tama buatlah file dengan nama 'hello.d' dengan kode:
1 import tango.io.Stdout;
2 int main()
3 {
4 Stdout.format("Teman saya bernama {0}. {0} kuliah di {1} pada jurusan {2}", "Herry", "universitas X", "Akuntansi");
5 return 0;
6 }
Penjelasan kode:
- Pada nomor 1, import tango.io.Stdout;
import adalah keyword yang digunakan untuk mengimpor file modul. Setiap perintah dalam D harus diakhiri dengan tanda titik koma.
- Pada nomor 2, int main()
main() merupakan fungsi utama yang dijalankan pada saat program di inisialisasi.
- Pada nomor 3 dan 6
{ dan } merupakan blok pembuka dan blok penutup yang berfungsi mengawali penulisan perintah-perintah dan mengakhiri penulisan perintah-perintah.
- Pada nomor 4 Stdout.format();
Stdout.format() ini berfungsi untuk menampilkan teks ke layar pada command prompt
- Pada nomor 5 return 0;
return berfungsi untuk mengembalikan nilai suatu fungsi.
Penggunaan Array
Contoh penggunaan array asosiasi bertipe string. string di sini sama dengan char[]
string[string] foo()
{
string isi[string] isi; //penggunaan array asosiasi bertipe string
isi["kaki_4"] = "kambing";
isi["kaki_2"] = "ayam";
isi["melata"] = "ular";
return isi;
}
Dan untuk memanggil fungsi ini:
foreach(string key, string value; foo)
{
Stdout.format("Isi[{}] = {}", key, value);
}
Maka hasil yang muncul di layar adalah:
Isi[kaki_4] = kambing isi[kaki_2] = ayam isi[melata] = ular
Operasi File
Operasi file untuk menyimpan nilai asosiatif array bertipe string ke dalam file
import tango.io.File;
import tango.text.Util;
...
File(path).write(array.keys.join("\n") ~ array.values.join("\n"));
...
Dengan kode di atas kita tidak memerlukan fungsi foreach.
