You are on page 1of 6

BAB 1 PENDAHULUAN

Pada bab ini akan dijelaskan mengenai beberapa hal dasar dalam tugas akhir ini yang meliputi latar belakang, perumusan masalah, tujuan dan manfaat pembuatan Tugas Akhir serta metodologi dan sistematika pembuatan buku Tugas Akhir ini. Dari uraian dibawah ini diharapkan gambaran Tugas Akhir secara umum dapat dipahami dengan baik..

1.1 Latar Belakang


DBaccesslayer atau DBSlayer adalah sebuah database abstraction layer ringan yang sesuai untuk kebutuhan high-load website yang membutuhkan connection pooling. Ditulis dengan menggunakan bahasa C untuk kecepatan, DBSlayer berkomunikasi dengan client dengan JSON melalui HTTP. Beberapa fitur yang dimiliki oleh DBSlayer antara lain, interface HTTP yang sederhana, menggunakan format pertukaran data JSON, MySQL adapter, connection pooling, round-robin distribution, automatic failover, dan multiple connection databases. Dengan berkomunikasi dengan client menggunakan HTTP sebagai protokol dan JSON sebagai sebuah encoding, menyebabkan DBSlayer mudah digunakan oleh berbagai bahasa pemrograman yang dapat berkomunikasi dengan HTTP dan JSON. Google Go adalah sebuah bahasa eksperimental yang dikeluarkan oleh Google inc. Google Go merupakan bahasa pemrograman yang mengkombinasikan antara performa dan keamanan yang merupakan keuntungan dalam penggunaan bahasa compiler seperti C++ dan kecepatan dari bahasa yang dinamis seperti python. Untuk saat ini bahasa Google Go hanya dapat berjalan di FreeBDS, Linux dan OS X. berikut ini adalah beberapa keistimewaan dari Google Go, yaitu fast, safe, concurrent, dan open source.

17

18

JSON singkatan dari JavaScript Object Notation adalah suatu format ringkas pertukaran data komputer. Formatnya berbasis teks dan terbaca manusia serta digunakan untuk merepresentasikan struktur data sederhana dan larik asosiatif (disebut objek). JSON dianggap sebagai format data yang tidak bergantung pada suatu bahasa dan kode pengolahan dan pembuatan JSON telah tersedia untuk banyak bahasa permrograman. Database abstraction layer atau lapisan abstraksi database adalah sebuah interface aplikasi pemrograman yang menyatukan komunikasi antara sebuah aplikasi komputer dengan database seperti MySQL, PostgreSQL, dan lain-lain. Database abstraction layer merupakan sebuah pendekatan penyederhanaan atau penyeragaman fungsi dari setiap database engine yang ada, jadi tidak perlu mengetahui fungsi API dari database spesifik yang digunakan, yang perlu diketahui hanya fungsi API dari database abstraction layer yang digunakan. Oleh karena itu, pada tugas akhir ini dilakukan implementasi API DBSlayer dan beberapa fitur yang dimiliki oleh DBSlayer ke dalam sebuah aplikasi database abstraction layer dengan menggunakan bahasa pemrograman Google Go. Implementasi fitur DBSlayer yang dilakukan adalah komunikasi dengan client dengan JSON melalui HTTP, MySQL adapter, round-robin distribution, automatic failover dan multiple connection database.

1.2 Tujuan dan Manfaat


Tujuan dari pembuatan tugas akhir ini adalah untuk mengimplementasikan API DBSlayer dan beberapa fitur dari DBSlayer, yaitu komunikasi dengan client dengan JSON melalui HTTP, MySQL adapter, round-robin distribution, automatic failover, dan multiple connection database dengan menggunakan bahasa pemrograman Google Go.

19

Manfaat utama dari aplikasi ini adalah menjadi aplikasi yang menyediakan lapisan abstraksi database yang berkomunikasi dengan client dengan JSON melalui HTTP yang memiliki fitur MySQL adapter, round-robin distribution, automatic failover dan multiple connection database.

1.3 Permasalahan
Permasalahan yang diangkat dalam menyelesaikan tugas akhir ini adalah: Bagaimana membangun suatu aplikasi database abstraction layer menggunakan bahasa pemrograman Google Go. Bagaimana membangun suatu aplikasi database abstraction layer yang mengimplementasikan API aplikasi DBSlayer. Bagaimana membangun suatu aplikasi database abstraction layer yang berkomunikasi dengan client melalui HTTP dengan JSON. Bagaimana membangun suatu aplikasi database abstraction layer yang dapat menangani single database server atau multiple database server. Bagaimana membangun suatu aplikasi database abstraction layer yang dapat melakukan automatic failover. Bagaimana membangun suatu aplikasi database abstraction layer yang dapat melakukan round-robin distrbution.

1.4 Batasan Masalah


Asumsi dan ruang lingkup permasalahan yang dikerjakan dalam Tugas Akhir ini adalah: Bahasa pemrograman yang digunakan adalah Google Go.

20

Database yang digunakan adalah MySQL. Hanya dapat berjalan di komputer yang berbasis OS Linux. Aplikasi yang telah menggunakan DBSlayer sebagai aplikasi database abstraction layer, dapat menggunakan aplikasi database abstraction layer ini tanpa mengubah source code yang ada. Aplikasi database abstraction layer ini tidak perlu melakukan proses installasi. Aplikasi database abstraction layer ini nantinya memiliki fitur : - Komunikasi dengan client melalui HTTP dengan JSON. - menangani single database server atau multiple database server. - automatic failover. - round-robin distribution.

1.5 Metodologi Metodologi yang digunakan untuk menyelesaikan tugas akhir ini adalah sebagai berikut:
a. Studi Kepustakaan Pada tahap ini dilakukan pemahaman kepustakaan yang berhubungan dengan pembuatan perangkat secara umum, Kepustakaan yang berhubungan dengan DBSlayer, Google Go, database abstraction layer, JSON. b. Desain Sistem Tahap ini meliputi perancangan sistem dengan menggunakan studi literatur dan mempelajari konsep teknologi dari software yang ada. Tahap ini merupakan tahap yang paling penting dimana bentuk awal atau

21

prototype akan diimplementasikan. Pada tahapan ini dilakukan desain sistem, desain proses-proses yang ada. c. Implementasi Pada tahap ini dilakukan implementasi rancangan sistem yang telah dibuat. Tahapan ini merealisasikan apa yang terdapat pada tahapan sebelumnya menjadi sebuah aplikasi database abstraction layer yang sesuai dengan apa yang direncanakan. d. Uji coba dan Evaluasi Pada tahap ini, dilakukan uji coba terhadap fitur yang telah direncanakan sebelumnya dan pengukuran kinerja dengan beberapa skenario yang melibatkan beberapa pengguna untuk kemudian dilakukan perbaikan apabila terdapat kesalahan sehingga dapat dilakukan evaluasi terhadap hasil uji coba tersebut. e. Penyusunan laporan tugas akhir Tahap ini dilakukan untuk membuat laporan dari semua dasar teori dan metode yang digunakan serta hasil-hasil yang diperoleh selama pengerjaan tugas akhir.

1.6 Sistematika Laporan


BAB I. PENDAHULUAN Bab ini berisi latar belakang masalah, tujuan dan manfaat pembuatan Tugas Akhir, permasalahan, batasan masalah, metodologi yang digunakan, dan sistematika penyusunan tugas akhir. BAB II. TINJAUAN PUSTAKA

22

Bab ini membahas beberapa teori penunjang yang berhubungan dengan pokok pembahasan dan mendasari pembuatan Tugas Akhir ini. BAB III. PERANCANGAN PERANGKAT LUNAK Bab ini membahas rancangan desain dari sistem yang akan dibuat meliputi : desain arsitektur dan desain alur proses. BAB IV. IMPLEMENTASI PERANGKAT LUNAK Bab ini membahas implementasi dari desain sistem yang dilakukan pada tahap desain, disertai dengan potongan kode program yang penting dalam perangkat lunak. BAB V. UJI COBA DAN EVALUASI Bab ini membahas uji coba dari perangkat lunak yang dibuat dengan melihat keluaran yang dihasilkan oleh perangkat lunak dan evaluasi untuk mengetahui kemampuan perangkat lunak. BAB VI. PENUTUP Bab ini berisi kesimpulan dari hasil uji coba yang dilakukan serta saran untuk pengembangan perangkat lunak selanjutnya.

You might also like