BAB II KAJIAN PUSTAKA
|
|
|
- Deddy Wibowo
- 9 tahun lalu
- Tontonan:
Transkripsi
1 BAB II KAJIAN PUSTAKA Pada bab dua ini akan dibahas mengenai definisi dan konsep dari fault tolerance, RDBMS, MySQL, database transaction, JDBC, database connection, dan database session, serta hasil eksplorasi terhadap MySQL Connector/J dan MySQL. Landasan teori ini akan memberikan pemahaman yang lebih mendalam mengenai topik-topik yang disebutkan sehingga akan mempermudah proses analisis penyelesaian masalah pada bab selanjutnya. 2.1 Fault Tolerance Fault tolerance merupakan properti yang memungkinkan suatu sistem dapat terus beroperasi ketika terjadi kegagalan pada salah satu atau lebih komponennya. Properti fault tolerance sangat diperlukan terutama pada highly available atau life critical system. Implementasi fault tolerance pada suatu sistem dapat dilakukan dengan beberapa strategi berikut [SHO87]: 1. Menyediakan beberapa instan identik dari sistem atau subsistem, mengarahkan task atau request ke seluruh instan secara paralel, lalu memilih hasil terbaik berdasarkan quorum. 2. Menyediakan beberapa instan identik dari sistem atau subsistem dan beralih ke instan lainnya ketika terjadi kegagalan pada instan utama (failover). 3. Menyediakan beberapa implementasi yang berbeda untuk suatu spesifikasi dan menggunakannya seperti sistem tereplikasi untuk mengatasi error pada implementasi tertentu. Pada MySQL Cluster, fault tolerance pada DBMS MySQL diimplementasikan dengan replikasi synchronous dengan mekanisme two-phase commit untuk menjamin penulisan data pada seluruh node ketika commit. Ketika terjadi kegagalan pada salah satu replika, sistem masih dapat menggunakan replika lainnya. II-1
2 II RDBMS (Relational Database Management System) RDBMS merupakan sebuah sistem kompleks yang mendukung penyimpanan dan retrieval data berdasarkan model relasional. Model relasional merepresentasikan data sebagai komponen informasi yang saling terkait (atribut) dari suatu entitas. Set nilai dari atribut-atribut sebuah entitas disimpan sebagai tuple yang akan dikumpulkan dalam sebuah tabel. Sebuah tabel dapat memiliki relasi dengan tabel lainnya dengan batasan (constraint) domain, key, atribut, atau tuple. Karakteristik utama database relasional adalah pemisahan mutlak antara data fisik dan data lojik. Akses terhadap data dilakukan melalui suatu model lojik seperti SQL (Structured Query Language) tanpa perlu menspesifikasikan lokasi fisik penyimpanan data. Salah satu faktor pendukung kemudahan akses data secara lojik tersebut adalah arsitektur RDBMS yang rumit. Umumnya RDBMS dikembangkan dengan arsitektur client/server, di mana aplikasi client dikembangkan sebagai program terpisah yang terhubung ke database melalui jalur komunikasi seperti socket atau pipe, misalnya MySQL. MySQL berjalan sebagai server yang menyediakan akses ke database bagi sejumlah client sekaligus secara konkuren. Aplikasi client MySQL dapat terhubung ke database melalui berbagai metode komunikasi yang ditangani secara identik, antara lain Unix domain socket (umumnya /tmp/mysql.sock atau /var/run/mysqld/mysql.sock), Windows named pipe (umumnya \\hostname\pipe\mysql), shared memory, atau port TCP (umumnya port 3306). Selain itu terdapat embedded database system yang memungkinkan client terhubung langsung ke database, karena database system merupakan bagian dari aplikasi client. Operasi terhadap database dilakukan oleh aplikasi dengan mengeksekusi prosedur tertentu. Embedded database system banyak digunakan untuk pengembangan sistem yang membutuhkan respon dan informasi dari database segera tanpa delay. RDBMS yang dikembangkan sebagai client/server umumnya memiliki protokol tertentu yang mendefinisikan metode komunikasi client dan dan database server. Protokol komunikasi tersebut menentukan data dan format yang harus dikirimkan
3 II-3 client untuk melakukan request koneksi ke suatu database, mengirimkan command ke database, dan melakukan pemutusan koneksi. Protokol komunikasi biasanya spesifik untuk setiap database. Pada protokol MySQL versi 10, setiap client message dikirim sebagai sebuah paket MySQL, sedangkan respon server bisa terdiri dari beberapa paket. Paket MySQL ini tidak berhubungan dengan paket network layer yang digunakan, bahkan banyak paket respon dari server yang hanya berupa sebuah IP datagram. Setiap paket memiliki header sepanjang empat byte. Tiga byte pertama header menunjukkan ukuran paket. Byte terakhir header menunjukkan nomor urut paket, diawali dengan 0. Secara garis besar terdapat dua jenis interaksi antara client dan server, yaitu interaksi handshake yang dilakukan pada saat client membentuk koneksi ke server dan interaksi perintah setelah terbentuk koneksi. Interaksi selengkapnya diilustrasikan pada Gambar II-4. Berikut langkah-langkah handshake setelah terbentuk koneksi di level transport: 1. Server mengirimkan Handshake Initialization Packet ke client yang berisi informasi mengenai versi protokol, versi server, dan thread id. 2. Client mengirimkan Client Authentication Packet ke server yang berisi informasi mengenai username, password, dan nama database yang akan digunakan. 3. Server mengirimkan OK packet atau Error packet kepada client. Setelah menerima OK packet, client dapat mulai mengirimkan Command Packet. Sebaliknya, jika client menerima Error packet, client akan menutup koneksi. Ketika memberikan perintah ke server, client akan mengirimkan Command Packet yang berisi satu byte perintah dan n byte argumen. Server akan mengirimkan simple response berupa OK Packet jika perintah berhasil dilakukan, tabular response berupa Result Set Packet jika perintah mengembalikan data, atau Error Packet jika ditemukan kesalahan. Untuk mempermudah client mengakses database tanpa perlu mengetahui detil protokol komunikasinya, biasanya vendor database menyediakan modul yang
4 II-4 berfungsi sebagai interpreter antara aplikasi client dan database server. Modul yang disebut database connector tersebut terdiri dari API, library pendukung API tersebut, dan database driver yang spesifik untuk setiap DBMS. Aplikasi client dapat mengirim perintah SQL ke database server melalui database connector, kemudian database connector akan mengirimkan perintah tersebut ke database server sesuai protokol network yang dispesifikasikan oleh driver dan mengembalikan hasil eksekusi perintah ke client. Gambar II-1 Komunikasi aplikasi client dan database server [BEL07] MySQL menyediakan konektivitas untuk aplikasi client yang dikembangkan dengan bahasa Java melalui JDBC driver, yang dikenal dengan nama MySQL Connector/J. MySQL Connector/J merupakan JDBC driver tipe 4, yaitu driver yang merupakan implementasi murni dari protokol MySQL dan tidak bergantung pada library client MySQL yang digunakan. Suatu RDBMS dapat menangani operasi atomik maupun transaksi. Transaksi memungkinkan eksekusi sekumpulan operasi seakan-akan sebagai sebuah operasi atomik. Suatu transaksi biasanya diawali dengan statement begin transaction dan diakhiri dengan statement end transaction. Operasi-operasi terkait transaksi berada di antara kedua statement tersebut. Transaksi merupakan salah satu cara untuk menjamin fault tolerance pada data management tier karena memiliki properti ACID (Atomicity, Consistency, Isolation, dan Durability) yang menjamin integritas dari data.
5 II-5 Database system harus mampu menjaga properti dari transaksi sebagai berikut: 1. Atomicity: Semua operasi dalam transaksi harus tereksekusi atau tidak sama sekali. 2. Consistency: Data yang akan disimpan di database hanyalah data yang valid. 3. Isolation: Jika terdapat beberapa transaksi yang berjalan secara konkuren, transaksi tersebut tidak boleh saling menginterferensi. 4. Durability: Setelah transaksi selesai dieksekusi, perubahan yang dilakukan oleh transaksi tersebut terhadap database permanen walaupun terjadi kegagalan sistem. Gambar II-2 State diagram transaksi [SIL02] Pada state diagram di atas (Gambar II-2), setiap transaksi akan berada di salah satu state berikut: 1. Active: Keadaan awal, setiap transaksi berada pada state ini ketika eksekusi. 2. Partially Commited: State di mana operasi terakhir dari sebuah transaksi telah dieksekusi. 3. Failed: State setelah ditemukan kegagalan pada transaksi. 4. Aborted: Transaksi telah di-roll-back dan database kembali ke kondisi sebelum transaksi dieksekusi. 5. Commited: Transaksi berhasil dan semua perubahan menjadi permanen.
6 II-6 MySQL mengelola dua jenis transaksi, yaitu transaksi statement yang memperlakukan setiap statement sebagai sebuah transaksi dan transaksi normal. Transaksi statement dimulai setiap kali sebuah statement diterima oleh database, akan commit jika statement tersebut berhasil dieksekusi atau roll-back jika statement gagal dieksekusi. Transaksi normal diawali dan diakhiri secara eksplisit oleh user, terdiri dari sejumlah statement di antara statement begin dan end transaksi. Penentuan commit atau rollback suatu transaksi normal ditentukan oleh user atau storage engine terkait. Pada mode autocommit, transaksi normal akan diperlakukan sebagai sejumlah transaksi statement. Untuk setiap koneksi client, MySQL menyimpan state transaksi statement dan transaksi normal di thd->transaction. Struktur thd->transaction memiliki dua atribut bertipe THD_TRANS, yaitu thd->transaction.stmt yang memuat list of engines yang terlibat pada suatu statement dan thd->transaction.all yang memuat list of engines yang terlibat pada seluruh statement pada transaksi normal. Setiap elemen list merupakan pointer ke storage engine, data transaksional, dan flag transaksi. Pada transaksi yang autocommit, data pada thd->transaction.all akan kosong. Sebaliknya, data pada thd->transaction.stmt diperlukan untuk menentukan commit/roll-back pada transaksi normal, sehingga transaksi nomal tidak akan pernah commit jika belum semua transaksi statement di dalamnya commit. Setiap kali suatu statement commit atau roll-back, list pada thd->transaction.stmt akan dikosongkan, siap untuk digunakan oleh statement berikutnya. List pada thd- >transaction.all akan dikosongkan setelah transaksi normal commit. Jika koneksi terputus saat transaksi normal sedang berjalan, maka transaksi tersebut akan di-rollback. 2.3 JDBC (Java Database Connectivity) JDBC merupakan teknologi yang memungkinkan program Java melakukan manipulasi data pada database. Terdapat empat komponen utama pada JDBC, yaitu:
7 II-7 1. JDBC API (Application Programming Interface) JDBC API merupakan API Java yang terdiri dari beberapa kelas dan interface untuk mengakses database relasional. JDBC API memudahkan suatu aplikasi Java untuk membentuk koneksi ke data source, mengirim statement query dan update ke data source, dan memproses hasil eksekusi statement tersebut dari data source. Dengan menggunakan JDBC API, aplikasi menjadi independen terhadap database yang digunakan, sebuah program dapat digunakan untuk mengakses berbagai jenis data source berbeda. Pada JDBC 4.0, terdapat dua jenis API, yaitu JDBC 4.0 Core API, dan JDBC 4.0 Standard Extension. JDBC 4.0 Core API wajib digunakan dalam pembentukan koneksi dan terdapat dalam package java.sql. Sedangkan JDBC 4.0 Standard Extension API terdapat dalam package javax.sql, merupakan alternatif lain dari JDBC 4.0 Core API karena memiliki fungsi tambahan yang bersifat opsional. 2. JDBC Driver Manager JDBC Driver Manager yang merupakan backbone dari arsitektur JDBC adalah sebuah kelas yang bekerja di antara user dan driver JDBC. Driver Manager berfungsi menghubungkan aplikasi Java dengan driver JDBC yang tepat saat pembentukan koneksi ke database. 3. JBDC Test Suite JDBC Test Suite bertugas menguji kemampuan suatu JDBC driver untuk menjalankan program user dengan mengeksekusi berbagai fitur esensial pada JDBC API. 4. JDBC-ODBC Bridge JDBC-ODBC Bridge memungkinkan penggunaan driver ODBC sebagai driver JDBC. JDBC-ODBC Bridge akan menerjemahkan method call JDBC menjadi function call ODBC, sehingga dapat digunakan untuk berkomunikasi dengan database apapun yang memiliki driver ODBC. Implementasi JDBC- ODBC Bridge terdapat dalam package sun.jdbc.odbc yang berisi native library untuk mengakses ODBC.
8 II-8 Gambar II-3 Arsitektur JDBC [HAE02] JDBC API JDBC API memungkinkan independensi pengembangan aplikasi terhadap database yang digunakan, karena implementasi dari interface yang didefinisikan di API tersebut disediakan oleh vendor database. Terdapat beberapa kelas dan interface utama pada JDBC API, antara lain: 1. java.sql.drivermanager Kelas yang mengelola JDBC driver pada list jdbc.drivers, digunakan untuk membentuk koneksi ke data source. Pembentukan koneksi dilakukan dengan menggunakan method getconnection. 2. javax.sql.datasource Interface yang merupakan alternatif dari java.sql.drivermanager, implementasinya disediakan oleh vendor JDBC driver. Terdapat beberapa tipe implementasi yang memungkinkan pembentukan objek Connection standar, objek Connection yang secara otomatis berpartisipasi dalam connection pooling, atau objek Connection yang dapat digunakan pada distributed transaction. Serupa dengan DriverManager, pembentukan koneksi ke data source dilakukan dengan menggunakan method getconnection.
9 II-9 3. java.sql.driver Interface yang merepresentasikan JDBC driver, implementasinya bergantung pada database. Sebelum pembentukan koneksi ke database, Driver harus diload dan di-register ke DriverManager terlebih dahulu dengan menggunakan method Class.forName. Untuk membentuk koneksi database ke suatu URL, digunakan method connect yang akan mengembalikan objek Connection atau null jika driver tersebut tidak sesuai. 4. java.sql.connection Interface yang merepresentasikan suatu koneksi (session) ke database. Eksekusi dan pengembalian hasil eksekusi statement SQL hanya dapat dilakukan dalam konteks ini dengan menggunakan method createstatement. 5. java.sql.statement Interface yang mendukung eksekusi statement SQL ke database. Untuk mengeksekusi statement SELECT, dapat digunakan method executequery yang menerima parameter statement SQL dan mengembalikan objek ResultSet. Method executeupdate yang menerima parameter statement DML (Data Manipulation Language) SQL atau statement DDL (Data Definition Language) SQL dapat digunakan untuk mengeksekusi statement INSERT, UPDATE, atau DELETE. 6. java.sql.resultset Interface yang merepresentasikan sebuah tabel data hasil eksekusi sebuah statement SQL. ResultSet memiliki sejumlah method getter yang dapat digunakan untuk me-retrieve data dari setiap baris tabel JDBC Driver Agar suatu program Java yang menggunakan JDBC dapat berkomunikasi dengan database diperlukan suatu driver yang berfungsi mengubah request dari program menjadi format yang sesuai dengan protokol yang dimengerti oleh database. Translation layer inilah yang mendukung dependensi suatu aplikasi terhadap database. Jika database di back-end berubah, hanya diperlukan penggantian driver JDBC dengan driver yang sesuai dan sedikit perubahan pada kode aplikasi. Terdapat empat tipe implementasi driver JDBC, yaitu:
10 II JDBC-ODBC Bridge plus ODBC Driver Driver tipe 1 ini menyediakan akses JDBC melalui driver ODBC (Open Database Connectivity). Pada driver tipe ini, method call JDBC akan dikonversi menjadi function call ODBC. JDBC-ODBC Bridge plus ODBC Driver bersifat platform-independent, namun sangat bergantung pada native library dari sistem operasi. 2. Native-API Partly-Java Driver Driver tipe 2 ini mengubah JDBC call menjadi database specific call dengan memanfaatkan client-side library dari database. Driver tipe ini bersifat platform-dependent. 3. JDBC-Net Pure Java Driver Driver tipe 3 ini mengubah JDBC call menjadi format yang sesuai dengan suatu protokol network yang independen terhadap DBMS untuk selanjutnya diubah menjadi format yang sesuai protokol DBMS oleh middleware server. JDBC-Net Pure Java Driver merupakan tipe driver yang paling fleksibel karena dapat menghubungkan client ke berbagai database berbeda. 4. Native-Protocol Pure Java Driver Driver tipe 4 ini mengubah JDBC call menjadi format yang sesuai protokol network yang digunakan oleh DBMS. Implementasi seperti ini memungkinkan client berhubungan langsung dengan database server, sehingga lebih cepat dibandingkan driver tipe lainnya. Kekurangannya, Native-Protocol Pure Java Driver merupakan tipe driver yang sangat bergantung kepada database Connection Connection merupakan sebuah objek pada JDBC yang merepresentasikan koneksi ke sebuah database, yaitu metode yang memungkinkan client software berkomunikasi dengan database server pada mesin yang sama atau berbeda. Koneksi fisik ke database umumnya menggunakan socket atau pipe. Suatu aplikasi dapat memiliki beberapa koneksi sekaligus ke sebuah database atau ke sejumlah database berbeda. Untuk menghidupkan objek Connection, biasanya digunakan method com.mysql.jdbc.drivermanager.getconnection. Sebelumnya, driver JDBC yang
11 II-11 sesuai harus di-load dan di-register terlebih dahulu dengan mengeksekusi method Class.forName. Method tersebut menerima parameter sebuah nama driver dan mengembalikan objek com.mysql.jdbc.driver. // load MySQL Connector/J Driver Class.forName( com.mysql.jdbc.driver ).newinstance(); Kode II-1 Proses load dan register MySQL Connector/J driver Terdapat tiga overload method getconnection yang dapat digunakan, yaitu: 1. getconnection(string url) yang menerima parameter JDBC URL (Uniform Resource Locator). 2. getconnection(string url, Properties info) yang menerima parameter JDBC URL dan properti. 3. getconnection(string url, String user, String password) yang menerima parameter JDBC URL, username, dan password. // connection to MySQL using DriverManager Connection conn = DriverManager.getConnection( jdbc:mysql://hostname/databasename, username, password ); Kode II-2 Pembentukan koneksi ke MySQL dengan DriverManager JDBC URL merupakan metode pengalamatan data source yang memiliki sintaks standar sebagai berikut. jdbc:[subprotocol]://[host][,failoverhost ][:port]/[database][?proper tyname1=propertyvalue1][&propertyname2=propertyvalue2] subprotocol host Komponen Tabel II-1 Komponen JDBC URL Fungsi menspesifikasikan nama driver atau nama mekanisme konektivitas database menspesifikasikan nama host (localhost jika server berada pada komputer lokal)
12 II-12 Komponen failoverhost :port /database?propertyname1=propertyvalue1 &propertiname2=propertyvalue2 Fungsi menspesifikasikan nama host opsional yang akan digunakan jika koneksi ke host sebelumnya tidak berhasil menspesifikasikan nomor port (port default adalah 3306) menspesifikasikan nama database default menspesifikasikan parameter opsional terkait koneksi dan otentikasi seperti user, password, usecompression; terkait jaringan seperti tcprcvbuf, tcpsndbuf; terkait availabilitas dan clustering seperti autoreconnect, roundrobinloadbalance; terkait keamanan seperti allowmultiqueries, usessl; terkait performansi seperti metadatacachesize, usefastintparsing; terkait debugging dan profiling seperti logger, maxquerysizetolog; atau lainnya seperti useunicode, maxrows. Seluruh parameter opsional beserta nilai default-nya dilampirkan di lampiran A. menspesifikasikan parameter opsional tambahan Selanjutnya, kelas DriverManager yang merupakan management layer pada JDBC akan memeriksa setiap driver pada list jdbc.drivers yang dikelolanya sampai menemukan driver yang mampu membentuk koneksi ke database yang direpresentasikan oleh JDBC URL tersebut. Pembentukan koneksi dilakukan dengan memanggil method connect dari setiap objek Driver pada list tersebut. Selain menggunakan kelas DriverManager, objek Connection dapat diperoleh dengan menggunakan interface javax.sql.datasource. DataSource merupakan
13 II-13 metode pembentukan koneksi untuk mendukung fungsi yang lebih rumit seperti connection pooling 1 dan transaksi terdistribusi. Berbeda dengan DriverManager, DataSource memiliki properti yang mengidentifikasikan dan mendeskripsikan data source yang direpresentasikannya, sehingga meningkatkan portabilitas data source tanpa perlu melakukan perubahan pada kode yang mengakses data source tersebut. Dari properti yang telah di-set, DataSource akan membentuk JDBC URL yang terdiri dari servername, portnumber, dan databasename. JDBC URL tersebut, bersama dengan user dan password, akan digunakan sebagai parameter method connect dari JDBC driver. Penggunaan DataSource pada MySQL dilakukan pertama kali dengan menginstansiasi kelas com.mysql.jdbc.jdbc2.optional.mysqldatasource, lalu memanggil method untuk menspesifikasikan properti data source seperti setservername dan setdatabasename. Koneksi akan dibentuk setelah pemanggilan method getconnection yang menerima parameter username dan password dan mengembalikan objek Connection. // connection to MySQL using DataSource com.mysql.jdbc.jdbc2.optional.mysqldatasource ds; Connection conn; ds = new com.mysql.jdbc.jdbc2.optional.mysqldatasource(); ds.setservername( hostname ); ds.setdatabasename( databasename ); conn = ds.getconnection( username, password ); Kode II-3 Pembentukan koneksi ke MySQL dengan DataSource Tabel II-2 Properti standar data source Nama properti Tipe Deskripsi databasename String nama database datasourcename String nama lojik yang digunakan pada implementasi connection pooling atau transaksi terdistribusi 1 Connection pooling merupakan mekanis me manajemen sejumlah koneksi yang memungkinkan suatu koneksi yang sedang idle dimanfaatkan oleh thread yang memerlukan.
14 II-14 Nama properti Tipe Deskripsi description String deskripsi data source networkprotocol String password String password user portnumber int protokol network yang digunakan untuk berkomunikasi dengan server nomor port yang digunakan server untuk menangani request koneksi rolename String nama role servername String nama database server user String nama user Konfigurasi objek Connection dapat dilakukan melalui method yang tersedia, seperti setautocommit atau settransactionisolation. Aktifnya mode autocommit dari objek Connection akan mengakibatkan setiap statement SQL dieksekusi dan dicommit seakan-akan sebuah transaksi individual. Sebaliknya, pada objek Connection yang tidak autocommit, seluruh statement SQL pada konteks tersebut dianggap sebagai sebuah transaksi yang hanya akan berakhir setelah pemanggilan method commit atau method rollback. Method commit akan menjadikan seluruh perubahan pada konteks tersebut menjadi permanen, sedangkan method rollback akan membatalkan seluruh perubahan. Kedua method tersebut akan melepaskan lock terhadap database yang digunakan oleh objek Connection terkait Session Eksekusi statement SQL terhadap database hanya bisa dilakukan dalam suatu session. Oleh karena itu, user perlu membuka session dari suatu koneksi yang telah terbentuk dengan cara melakukan login ke database. JDBC merepresentasikan koneksi dan session sebagai objek Connection, yang didapat dengan memanggil method getconnection. Setelah user memperoleh objek Connection, maka secara otomatis session untuk user tersebut telah terbentuk. Session dapat diakhiri secara manual oleh user dengan melakukan logout atau oleh DBMS ketika telah melampaui timeout.
15 II-15 Setelah terbentuk session atas nama suatu user, user tersebut dapat mengirimkan statement SQL ke database dengan menggunakan salah satu dari tiga interface berikut: 1. Statement, dihidupkan dengan method Connection.createStatement. Objek Statement digunakan untuk mengirim statement SQL tanpa parameter. 2. PreparedStatement, dihidupkan dengan method Connection.prepareStatement. Objek PreparedStatement digunakan untuk statement SQL yang precompiled. 3. CallableStatement, dihidupkan dengan method Connection.prepareCall. Objek CallableStatement digunakan untuk mengeksekusi stored procedures. Untuk setiap session umumnya DBMS akan menyimpan data terkait transaksi, database yang digunakan, koneksi, lock terhadap data, dan query. MySQL menyimpan data tersebut pada objek THD. 2.4 Interaksi MySQL Connector/J dan MySQL pada Pembentukan Koneksi JDBC4C onnection My sqlio my sqld sql_parse 2 : createnewio () 1 : handle_connections_sockets() <<create>> 3 : My sqlio () 7 : dohandshake Hands hake Initialization Packet Client Authentication 4 : create_new _thread 5 : handle_one_connection() 6 : check_connection Packet 8 : check_user Gambar II-4 Interaksi MySQL Connector/J dan MySQL pada pembentukan koneksi
16 II-16 Pembentukan koneksi ke database MySQL melalui MySQL Connector/J dilakukan melalui mekanisme berikut. 1. Program utama MySQL server yaitu mysqld mengeksekusi fungsi handle_connections_socket untuk menangani pembentukan koneksi dari client. 2. Objek Connection dari MySQL Connector/J membentuk channel Input/Output ke MySQL server melalui pemanggilan method createnewio. 3. Method createnewio menghidupkan objek MysqlIO yang bertanggung jawab terhadap pembentukan koneksi TCP melalui java.net.socket. 4. Setelah mendeteksi adanya koneksi dari client, MySQL server akan menyediakan sebuah thread untuk menangani koneksi tersebut dengan memanggil fungsi create_new_thread. Setiap koneksi yang telah terbentuk selanjutnya akan ditangani oleh fungsi handle_one_connection. 5. Fungsi handle_one_connection akan mengeksekusi fungsi check_connection yang bertugas melakukan handshaking dan otentikasi koneksi dari client. 6. Pada fungsi check_connection, MySQL server akan mengirimkan Handshake Initialization Packet ke client sebagai identifikasi server. 7. Objek Connection akan memanggil method dohandshake untuk menerima Handshake Initialization Packet dari server dan mengirimkan Client Authentication Packet ke server. 8. Setelah MySQL server menerima Client Authentication Packet, akan dilakukan parsing terhadap paket tersebut dan otentikasi client dengan mengeksekusi fungsi check_user. 9. Koneksi yang berhasil diotentikasi selanjutnya siap digunakan untuk mengirimkan perintah ke database. Tabel II-3 Body dari Handshake Initialization Packet Bytes Nama Deskripsi Versi protokol, diambil dari 1 protocol_version PROTOCOL_VERSION pada /include/mysql_version.h.
17 II-17 Bytes Nama Deskripsi n (null terminated) server_version 4 thread_number 8 scramble_buff 1 (filler) always 0x00 - Versi MySQL server, diambil dari MYSQL_SERVER_VERSION pada /include/mysql_version.h, diakhiri dengan byte 0x00. Id dari thread server yang menangani koneksi ini. Bagian pertama dari salt yang digunakan pada mekanisme enkripsi password. 2 server_capabilities Kapabilitas server, diambil dari /include/mysql_com.h, meliputi CLIENT_LONG_PASSWORD, CLIENT_FOUND_ROWS, CLIENT_LONG_FLAG, CLIENT_CONNECT_WITH_DB, CLIENT_NO_SCHEMA, CLIENT_COMPRESS, CLIENT_ODBC, CLIENT_LOCAL_FILES, CLIENT_IGNORE_SPACE, CLIENT_PROTOCOL_41, CLIENT_INTERACTIVE, CLIENT_SSL, CLIENT_IGNORE_SIGPIPE, CLIENT_TRANSACTIONS, CLIENT_RESERVED, CLIENT_SECURE_CONNECTION, CLIENT_MULTI_STATEMENTS, dan CLIENT_MULTI_RESULTS. 1 server_language Character set yang digunakan. 2 server_status 13 (filler) always 0x00 - Status autocommit server, meliputi SERVER_STATUS_IN_TRANS dan SERVER_STATUS_AUTOCOMMIT. 13 rest of scramble_buff Bagian terakhir dari salt. Tabel II-4 Body dari Client Authentication Packet Bytes Nama Deskripsi Kapabilitas server yang ingin digunakan 4 client_flags oleh client, meliputi server_capabilities pada Handshake Initialization Packet.
18 II-18 Bytes Nama Deskripsi 4 max_packet_size Jumlah byte maksimum dalam setiap paket untuk client. 1 charset_number Character set yang digunakan. 23 (filler) always 0x00 - n (null terminated) user (1 + x) scramble_buff 1 (filler) always 0x00 - y (null terminated) databasename Identifikasi, maksimal 16 byte, diakhiri dengan byte 0x00. Password yang telah dienkripsi dengan salt dari server (opsional). Nama database yang akan digunakan (opsional), maksimal 64 byte, diakhiri dengan byte 0x Implementasi Pembentukan Koneksi pada MySQL Connector/J Pada MySQL Connector/J yang merupakan connector untuk program Java ke database MySQL, mekanisme pembentukan koneksi secara garis besar adalah sebagai berikut. 1. Kelas com.mysql.jdbc.driver akan memanggil method connect untuk menginstansiasi kelas com.mysql.jdbc.connectionimpl yang merepresentasikan koneksi ke MySQL server. 2. Pada instansiasi tersebut, dilakukan pula instansiasi kelas turunannya, yaitu com.mysql.jdbc.jdbc4connection. Kelas ini mencakup fitur tambahan yang disediakan oleh JDBC Selanjutnya dilakukan pembentukan koneksi TCP ke MySQL server oleh kelas com.mysql.jdbc.mysqlio. Kelas ini juga menangani handshaking antara client dan MySQL server, dengan menerima Handshake Initialization Packet dari MySQL server dan merespon dengan Client Authentication Packet.
19 II-19 Penjelasan mekanisme pembentukan koneksi pada MySQL Connector/J secara detil terdapat pada lampiran B Penanganan Koneksi pada MySQL Penanganan koneksi dari client pada MySQL dilakukan oleh program utama yang bernama mysqld. Mekanisme penanganan koneksi tersebut secara garis besar adalah sebagai berikut. 1. Program utama melakukan initial check, menginisialisasi komponen, melakukan listen di port yang ditentukan, serta menunggu koneksi dari client. 2. Setiap mendeteksi koneksi dari client, akan dibuat thread baru dan objek THD yang akan mengelola informasi mengenai thread tersebut. 3. Selanjutnya dilakukan handshaking dengan mengirimkan Handshake Initialization Packet dan otorisasi client dengan membaca respon dari client berupa Client Authentication Packet. 4. Setelah handshaking berhasil, akan dilakukan pemeriksaan user dan password yang diberikan oleh client. Penjelasan mekanisme penanganan koneksi oleh MySQL secara detil terdapat pada lampiran C.
BAB III ANALISIS DAN PERANCANGAN
BAB III ANALISIS DAN PERANCANGAN Fault tolerance merupakan properti sistem yang memungkinkan sistem tersebut tetap beroperasi walaupun terjadi kegagalan pada satu atau beberapa komponennya. Properti fault
BAB IV ANALISIS DAN PERANCANGAN
BAB IV ANALISIS DAN PERANCANGAN Bab ini akan membahas mengenai permasalahan yang terjadi pada aplikasi yang menggunakan arsitektur 3 tier dan strategi penanganan masalahnya. 4.1 Identifikasi Masalah Arsitektur
BAB II KAJIAN PUSTAKA
BAB II KAJIAN PUSTAKA Pada bab dua ini akan dibahas mengenai definisi dan konsep dari three tier architecture, replikasi, transaksi pada database, TCP, dan JDBC. Landasan teori ini akan memberikan pemahaman
Langkah-Langkah Pemrograman JDBC MENGIMPOR PACKAGE JAVA.SQL MEMANGGIL DRIVER JDBC
Langkah-Langkah Pemrograman JDBC Pada pemrograman Java dengan menggunakan JDBC, ada beberapa langkah yang secara umum harus dilakukan sehingga aplikasi tersebut dapat berinteraksi dengan database server.
MODUL 6 JDBC (JAVA DATABASE CONNECTIVITY)
MODUL 6 JDBC (JAVA DATABASE CONNECTIVITY) TUJUAN PRAKTIKUM 1. Praktikan mengetahui definisi JDBC dan langkah-langkah standar koneksi database dengan JDBC 2. Praktikan mampu menganalisis suatu kasus dan
BAB IX KONEKSI POSTGRESQL PADA JAVA (Netbeans)
BAB IX KONEKSI POSTGRESQL PADA JAVA (Netbeans) 9.1 Bahasan dan Sasaran 9.1.1 Bahasan - Pada bab kali ini akan membahas tentang koneksi PostgreSQL dengan bahasa pemrograman java. - Selain hal itu akan dibahas
BAB IV IMPLEMENTASI DAN PENGUJIAN
BAB IV IMPLEMENTASI DAN PENGUJIAN Bab ini membahas tentang implementasi dan pengujian perangkat lunak yang dibangun pada tugas akhir ini. Implementasi akan dibahas pada Subbab 4.1, sedangkan pengujian
Arsitektur Aplikasi Perangkat Enterprise JDBC. Antonius Rachmat C, S.Kom, M.Cs
Arsitektur Aplikasi Perangkat Enterprise JDBC Antonius Rachmat C, S.Kom, M.Cs JDBC Java Database Connectivity? Java menyediakan JDBC yang berfungsi untuk berhubungan dengan database. Database yang didukung
BAB I PENDAHULUAN. 1.1 Latar Belakang
BAB I PENDAHULUAN 1.1 Latar Belakang Arsitektur software three tier berkembang pada tahun 1990an untuk mengatasi keterbatasan arsitektur two-tier(client-server). Pada gambar I-1 dapat dilihat bahwa arsitektur
BAB V IMPLEMENTASI DAN PENGUJIAN
BAB V IMPLEMENTASI DAN PENGUJIAN Bab ini membahas mengenai implementasi dan pengujian perangkat lunak yang dibangun pada Tugas Akhir ini. Pembahasan mengenai implementasi dipaparkan pada subbab 5.1 sedangkan
Pemrograman Berorientasi Obyek Lanjut (IT251) Ramos Somya, S.Kom., M.Cs.
Pemrograman Berorientasi Obyek Lanjut (IT251) Ramos Somya, S.Kom., M.Cs. Komunikasi aplikasi dengan database Aplikasi dan sistem database tidak menggunakan bahasa dan mekanisme yang sama. Sehingga program
TUGAS FRAMEWORK 2 FAKULTAS TEKNIK JURUSAN TEKNIK INFORMATIKA UNIVERSITAS DR. SOETOMO SURABAYA MOCHAMMAD ANNAS FAHRUDIN
TUGAS FRAMEWORK 2 NAMA NIM MOCHAMMAD ANNAS FAHRUDIN 2013425004 FAKULTAS TEKNIK JURUSAN TEKNIK INFORMATIKA UNIVERSITAS DR. SOETOMO SURABAYA Tugas FRAMEWORK buatlah resume yang berisi pembahasan berikut:
BAB III PEMBANGUNAN API MYSQL
BAB III PEMBANGUNAN API MYSQL Setelah dilakukan studi mendalam tentang hal-hal teknis yang berhubungan dengan pengerjaan Tugas Akhir ini maka langkah selanjutnya adalah membangun API MySQL dengan menggunakan
MINGGU XI : SQL SERVER
MINGGU XI : SQL SERVER Kompetensi Khusus - Setelah mengikuti perkuliahan ini mampu mengelola data dalam SQL Server melalui C# Persyaratan Khusus - Telah mengambil mata kuliah Sistem Basis Data atau Perancangan
Pemrograman Database Java
Pemrograman Database Java Java Database Connectivity ODBC Native Driver Endy Muhardin Materi Koneksi dengan ODBC Koneksi dengan Native Driver Koneksi dengan Hibernate Koneksi Database
Pemrograman Jaringan 8.
Pemrograman Jaringan 8 [email protected] Outline HTTP Client Socket Oriented Multithreading Sisipan: Manipulasi JAR file JDBC HTTP Socket Client HTTP Client yang akan menggunakan perintah HTTP untuk mengambil
J2ME GUI dan Interkoneksi Client Server
J2ME GUI dan Interkoneksi Client Server Muhammad Zen S. Hadi, ST. MSc. Arsitektur Jaringan dgn J2ME 2 Introduction J2ME menyediakan fitur jaringan ke perangkat mobile Sehingga memungkinkan untuk selalu
MODUL 10 TRANSACTION
MODUL 10 TRANSACTION A. TUJUAN Memahami konsep dan urgensi transaksi dalam kehidupan sehari-hari Mampu mengimplementasikan transaksi basis data Mampu menyelesaikan operasi-operasi sensitif dengan memanfaatkan
JDBC. Imam Fahrur Rozi
JDBC Imam Fahrur Rozi Pokok Bahasan Pengantar JDBC Langkah Penggunaan JDBC Pengantar JDBC JDBC Java Data Base Conec;vity JDBC menyediakan library yang digunakan untuk mengakses RDBMS Class- class dari
TUJUAN. Memahami Koneksi dan Pemrosesan Basis Data di Java Memahami JDBC Menggunakan MySQL pada program Java
TUJUAN Memahami Koneksi dan Pemrosesan Basis Data di Java Memahami JDBC Menggunakan MySQL pada program Java 2 TODAY S MENU Pengenalan library JDBC Diagram pengaksesan database melalui JDBC Step-by-step
KA2173 Pemrograman Berorientasi Objek. 10 BAB X PENGAKSESAN DATABASE. H a l 64
10 BAB X PENGAKSESAN DATABASE 101 IDENTITAS Kajian Relasi Antar Kelas 2, Exception Handling, Akses Database Topik Pengaksesan Basis Data MySQL Kompetensi Utama 1 Mahasiswa memahami konsep pengaksesan basis
BAB III LANDASAN TEORI
BAB III LANDASAN TEORI III.1. Sistem Informasi Sistem informasi adalah suatu sistem yang dibuat oleh manusia yang terdiri dari komponen komponen dalam organisasi untuk mencapai suatu tujuan yaitu menyajikan
BAB 5 Koneksi Database : SQL dan JDBC
BAB 5 Koneksi Database : SQL dan JDBC 5.1 Pengenalan Perintah perintah dalam lingkungan databases adalah : 5.1.1 SELECT Pernyataan SELECT digunakan untuk query database tentang informasi database yang
LINGKUNGAN BASIS DATA
LINGKUNGAN BASIS DATA Tujuan utama dari sistem basis data adalah menyediakan pemakai melalui suatu pandangan abstrak mengenai data, dengan menyembunyikan detail dari bagaimana data disimpan dan dimanipulasikan.
BAB 1 PENDAHULUAN. satu hal yang sangat dominan dan terjadi dengan sangat pesat. Informasi
BAB 1 PENDAHULUAN 1.1 Latar Belakang Di era globalisasi ini, perkembangan teknologi informasi sudah merupakan satu hal yang sangat dominan dan terjadi dengan sangat pesat. Informasi merupakan suatu kebutuhan
Pemrograman Web. Koneksi dan Manipulasi Basis Data. 7 Adam Hendra Brata
Pemrograman Web Koneksi dan Manipulasi Basis Data 7 Adam Hendra Brata Pokok Bahasan MySQL Pengenalan MySQL Dasar SQL pada MySQL Koneksi dan Manipulasi MySQL dengan PHP Koneksi dan Eksekusi Query MySQL
Administrasi Basis Data. Transaksi dan Lock. Yoannita
Administrasi Basis Data Transaksi dan Lock Yoannita Mengenal Transaksi dan Lock Transaksi dan lock dipakai untuk menjamin konsistensi dan integritas data. Transaksi adalah sebuah unit kerja logis yang
BAB 4 IMPLEMENTASI DAN EVALUASI. maka diperlukan suatu jaringan LAN yang terhubung antara komputer yang satu
179 BAB 4 IMPLEMENTASI DAN EVALUASI 4.1 Arsitektur Database Agar komputer client dapat mengakses database pada komputer server, maka diperlukan suatu jaringan LAN yang terhubung antara komputer yang satu
Bab 6. Basis Data Client / Server POKOK BAHASAN: TUJUAN BELAJAR: 6.1 PENDAHULUAN
Bab 6 Basis Data Client / Server POKOK BAHASAN: Pendahuluan Arsitektur Client-Server Pengaksesan Query pada Basis Data Client-Server TUJUAN BELAJAR: Setelah mempelajari materi dalam bab ini, mahasiswa
BAB III LANDASAN TEORI
BAB III LANDASAN TEORI III.1. Sistem Informasi Sistem presensi menggunakan QRCode dan ijin berbasis web dan mobile merupakan sistem informasi yang digunakan untuk menyelesaika masalah presensi dan ijin
JDBC. Oleh: Kholid Fathoni
JDBC Oleh: Kholid Fathoni Pembahasan Sistem Database Pengantar teknologi JDBC Sejarah JDBC Desain JDBC JDBC Driver Arsitektur aplikasi JDBC Petunjuk langkah penggunaan JDBC Retrieve data dari ResultSet
KA2173 Pemrograman Berorientasi Objek. 9 BAB IX PEMROGRAMAN GUI: SWING. H a l 56
9 BAB IX PEMROGRAMAN GUI: SWING 91 IDENTITAS Kajian Relasi Antar Kelas 2, Exception Handling, Akses Database Topik Pemrograman GUI (IDE tools) Kompetensi Utama 1 Menggunakan GUI pada bahasa pemrograman
Praktikum Sistem Basis Data. MySQL. Gentisya Tri Mardiani, M.Kom
Praktikum Sistem Basis Data MySQL Gentisya Tri Mardiani, M.Kom Pengenalan RDBMS MySQL Kebanyakan dari database tergantung pada Database Management System (DBMS) untuk mengelola data yang tersimpan dalam
Praktikum Basis Data 2. BAB 1 : Pendahuluan
BAB 1 : Pendahuluan 1.1. Sasaran Memahami fitur-fitur Oracle9i Dapat menjelaskan aspek teori maupun fisik dari database relasional Menggambarkan Implementasi Oracle pada RDBMS dan ORDBMS 1.2. Oracle9i
Basis Data 2. Database Client / Server. Arif Basofi, S.Kom. MT. Teknik Informatika, PENS
Basis Data 2 Database Client / Server Arif Basofi, S.Kom. MT. Teknik Informatika, PENS Tujuan Memahami bentuk-bentuk arsitektur aplikasi dalam database. Memahami konsep arsitektur: Single-Tier Two-Tier:
APPLICATION LAYER. Oleh : Reza Chandra
APPLICATION LAYER Oleh : Reza Chandra Sebagian besar dari kita berpengalaman menggunakan Internet melalui World Wide Web, layanan e-mail, dan file-sharing. Aplikasi ini, dan banyak lainnya, menyediakan
MERANCANG WEB DATA BASE UNTUK CONTENT SERVER
MODUL XIX DEPAN MERANCANG WEB DATA BASE UNTUK CONTENT SERVER DEPAN MERANCANG WEB DATA BASE UNTUK CONTENT SERVER MENENTUKAN KEBUTUHAN SISTEM PETA KEDUDUKAN KOMPETENSI Dasar Kejuruan Level I ( Kelas X )
MENGAKSES DATABASE DENGAN JDBC
MENGAKSES DATABASE DENGAN JDBC November 2009 Tingkat: Oleh : Feri Djuandi Pemula Menengah Mahir Pendahuluan Agar sebuah program Java dapat mengakses database, dibutuhkan sebuah antar muka aplikasi yang
BAB III ANALISIS MASALAH
BAB III ANALISIS MASALAH Bab ketiga ini berisi penjelasan analisis permasalahan serta solusi dalam penanganan masalah dalam tugas akhir ini. Solusi penanganan masalah tersebut berupa langkah-langkah lojik
Eksekusi file setup.exe yang ada dalam CD atau folder instalasi oracle.
1 2 3 Eksekusi file setup.exe yang ada dalam CD atau folder instalasi oracle. 4 Isilah konfigurasi instalasi yang akan dibuat. Oracle Home Location : biasanya terisi otomatis dgn drive yang paling banyak
Pemrograman Web. Koneksi dan Manipulasi Basis Data. 7 Adam Hendra Brata
Pemrograman Web Koneksi dan Manipulasi Basis Data 7 Adam Hendra Brata Pokok Bahasan MySQL Pengenalan MySQL Dasar SQL pada MySQL Koneksi dan Manipulasi MySQL dengan PHP Koneksi dan Eksekusi Query MySQL
BAB 3 PERANCANGAN SISTEM
29 BAB 3 PERANCANGAN SISTEM 3.1 Blok Diagram Sistem Blok diagram sistem absensi ini dapat dilihat pada gambar 3.1 di bawah ini. Gambar 3.1. Diagram Blok Sistem Fungsi fungsi dari blok diatas adalah sebagai
DATABASE SQL SERVER. Database SQL Server Halaman 1
1 DATABASE SQL SERVER Objektif: Mengetahui sejarah SQL Server 7.0 Mengengetahui perbedaan SQL Server dengan Microsoft Access Mengenal program bantu yang ada di SQL Server 7.0 Mengetahui cara membuat database
Pemrograman Web. Koneksi dan Manipulasi Basis Data. Adam Hendra Brata
Pemrograman Web Koneksi dan Manipulasi Basis Data Adam Hendra Brata Pokok Bahasan Koneksi Database pada Aplikasi Berbasis Web MySQLi Pengenalan MySQL dan MySQLi Dasar SQL pada MySQLi Koneksi dan Manipulasi
Basis Data Relational
Basis Data Relational Kebanyakan model yang digunakan adalah Model basis data relasional dengan menggunakan Relational Database Management System (RDBMS). RDBMS menyediakan layanan pengorganisasian data
PRAKTIKUM BASIS DATA TERDISTRIBUSI MODUL 3 DATABASE LINK DENGAN HETEROENOUS SERVICE
PRAKTIKUM BASIS DATA TERDISTRIBUSI MODUL 3 DATABASE LINK DENGAN HETEROENOUS SERVICE LABORATORIUM REKAYASA PERANGKAT LUNAK TEKNIK INFORMATIKA FAKULTAS TEKNIK UNIVERSITAS MUHAMMADIYAH MALANG 2011-2012 I.
Database Terdistribusi. by: Ahmad Syauqi Ahsan
14 Database Terdistribusi by: Ahmad Syauqi Ahsan Konsep Basis Data Terdistribusi (1) 2 Sistem Komputasi Terdistribusi adalah sejumlah elemen proses yang terkoneksi melalui jaringan komputer dan saling
BAB 4 IMPLEMENTASI DAN EVALUASI. yang sulit untuk diimplementasikan dalam RDBMS (Relational Data Base Management
BAB 4 IMPLEMENTASI DAN EVALUASI 4.1 Implementasi Penelitian melakukan pengembangan terhadap opsi-opsi pemecahan masalah yang sulit untuk diimplementasikan dalam RDBMS (Relational Data Base Management System)
Koneksi Java ke MySQL Database. Edi Sugiarto, S.Kom, M.Kom
Koneksi Java ke MySQL Database Edi Sugiarto, S.Kom, M.Kom Pendahuluan Mysql adalah RDBMS yang didistribusikan secara gratis dibawah lisensi GPL (General Public License). Mysql dimiliki dan disponsori perusahaan
Microsoft Data Access Components (MDAC) Oleh : Edi Sugiarto, S.Kom, M.Kom
Microsoft Data Access Components (MDAC) Oleh : Edi Sugiarto, S.Kom, M.Kom Apa Itu MDAC? Microsoft Data Access Component merupakan framework dari Microsoft Teknologi yang saling terkait yang memungkinkan
SISTEM BASIS DATA By Novareza Klifartha
SISTEM BASIS DATA By Novareza Klifartha Konsep Sistem Basis Data SISTEM sebuah keterpaduan yang terdiri atas sejumlah komponen fungsional dengan satuan fungsi / tugas tertentu, yang saling berhubungan
BAB II. KAJIAN PUSTAKA
BAB II. KAJIAN PUSTAKA A. MYSQL MySQL merupakan sistem basis dataopen source paling populer. MySQL adalah sebuah implementasi dari sistem manajemen basis data relasional (Relational Database Management
Pemrograman Basis Data dan SQL
Pemrograman Basis Data dan SQL Genap 2015-2016 Alen Boby Hartanto, S alen.boby@mercubua INTRO omata Kuliah : Pemrograman Sistem Basis Data dan SQL osks : 3 ojenis : Mata Kuliah Wajib opertemuan : 14 Pertemuan
Pertemuan XI Database Connectivity Fak. Teknik Jurusan Teknik Informatika. Caca E. Supriana, S.Si.,MT.
Pertemuan XI Database Connectivity Fak. Teknik Jurusan Teknik Informatika Universitas Pasundan Caca E. Supriana, S.Si.,MT. [email protected] id 2014 Database Connectivity Database Connectivity
BAB III LANDASAN TEORI
BAB III LANDASAN TEORI 3.1 Sistem Informasi Sistem informasi adalah suatu sistem yang dibuat oleh manusia yang terdiri dari komponen - komponen dalam organisasi untuk mencapai suatu tujuan yaitu menyajikan
Sistem Basis Data Terdistribusi Arif Basofi
Sistem Basis Data Terdistribusi Arif Basofi Sumber: Fundamentals of Database Systems, Third Edition ch.24, Elmasri Sumber Material: tanzir.staff.gunadarma.ac.id, T. Darmanto & Y. H. Chrisnanto, AmikBandung
MODUL VIII BASIS DATA TRANSACTION
MODUL VIII BASIS DATA TRANSACTION A B C TUJUAN Memahami konsep dan urgensi transaksi dalam kehidupan sehari-hari, Mampu mengimplementasikan transaksi basis data, Mampu menyelesaikan operasi-perasi sensitif
Generated by Foxit PDF Creator Foxit Software For evaluation only. 17/09/ :46
Waktu Sisa : 0:53:10 1. Kegunaan JavaBean dalam aplikasi web Java adalah (pilih 2)... Sebagai data transfer object Sebagai object helper dalam mengakses data Sebagai penyedia akses ke database Sebagai
DASAR-DASAR SQL SERVER 2005
DASAR-DASAR SQL SERVER 2005 SQL SQL (Structured Query Language) adalah salah satu bahasa generasi level ke-4 yang awalnya dikembangkan oleh IBM di San Jose Research Laboratory. Berbeda dengan bahasa pemrograman
MODUL PRAKTIKUM PEMROGRAMAN BASIS DATA
MODUL PRAKTIKUM PEMROGRAMAN BASIS DATA MYSQL Disusun Oleh : Adri Priadana, S.Kom Fakultas Bisnis Dan Teknologi Informasi Universitas Teknologi Yogyakarta 2014 DAFTAR ISI DAFTAR ISI... 2 BAB I MENGENAL
BAB I PENDAHULUAN. I.1 Latar Belakang
BAB I PENDAHULUAN I.1 Latar Belakang Basisdata telah banyak digunakan untuk menghimpun data. Sistem manajemen basisdata / Database Management System (DBMS) adalah perangkat lunak untuk mengelola dan memanipulasi
BAB II LANDASAN TEORI. dihubungkan untuk berbagi sumber daya (Andi Micro, 2011:6). Jaringan Komputer
BAB II LANDASAN TEORI 2.1 Jaringan Komputer Jaringan komputer adalah sekumpulan peralatan atau komputer yang saling dihubungkan untuk berbagi sumber daya (Andi Micro, 2011:6). Jaringan Komputer terbagi
Koneksi PHP -ODBC Persiapan
Koneksi PHP -ODBC Beberapa waktu yang lalu ada salah seorang pembaca Sony AK Knowledge Center yang bertanya mengenai cara koneksi dari PHP ke database SQL Server. Kedengarannya mungkin aneh karena biasanya
INTEGRITAS BASIS DATA. OLEH : Slamet Sn Wibowo Wicaksono
INTEGRITAS BASIS DATA OLEH : Slamet Sn Wibowo Wicaksono Integrity Constraint (Batasan Integritas) Constraint (batasan) merupakan aturan yang diberikan pada suatu tabel agar data yang dimasukkan terjamin
Modul Praktikum Sistem Basis Data S1-TI
1 MODUL 1 PENGENALAN SQL Tujuan Mengetahui konsep Bahasa SQL Mampu mengoperasikan dasar-dasar perintah SQL Server Mampu mendefinsikan obyek-obyek basis data dalam SQL Server Teori singkat SQL (Structured
KEKURANGAN KELEBIHAN APLIKASI DATA BASE
KEKURANGAN KELEBIHAN APLIKASI DATA BASE No Nama aplikasi data base Kekurangan kelebihan 1 ORACLE Merupakan software DMBS yang paling mahal, paling rumit, dan paling sulit untuk dipelajari. Membutuhkan
Analisis Perbandingan Performansi Server VoIP. berbasis Parallel Processing
Analisis Perbandingan Performansi Server VoIP antara Asterisk dan FreePBX berbasis Parallel Processing JOANA SIBORO 2206100080 Dosen Pembimbing: Dr.Ir. Achmad Affandi, DEA NIP: 196510141990021001 PERANCANGAN
BAB 1 PENDAHULUAN. 1.1 Latar Belakang
BAB 1 PENDAHULUAN 1.1 Latar Belakang Dalam perkembangan Teknologi Informasi yang semakin meluas ini sistem informasi berperan penting untuk menunjang kredibilitas perusahaan dan pengguna jaringan lainnya.
Bab II Landasan Teori
Bab II Landasan Teori Pada bab landasan teori, akan dijelaskan mengenai teori yang menunjang didalam penulisan skripsi ini antara lain mengenai basis data, teknologi basis data, definisi clustering (distribusi
TUTORIAL SEDERHANA, JAVA (Swing) dan MYSQL (SELECT dan INSERT)
TUTORIAL SEDERHANA, JAVA (Swing) dan MYSQL (SELECT dan INSERT) 1. Installah terlebih dahulu Database MYSQL. Untuk latihan, dapat menginstal aplikasi XAMPP yang didalamnya tersedia banyak modul, salah satunya
Minggu 6 Transport Layer
Minggu 6 Transport Layer 1 Overview Layer Transport bertugas melakukan sesi komunikasi antara komputer dalam jaringan. Menenirukan bagaimana data ditransmisikan. Dua Protocol Transport Layer yang dipakai
BAB V IMPLEMENTASI DAN PENGUJIAN
BAB V IMPLEMENTASI DAN PENGUJIAN Pada bab ini akan dilakukan implementasi dan pengujian terhadap Aplikasi Power Control. Tahapan ini dilakukan setelah analisa dan perancangan selesai dilakukan dan akan
BAB II LANDASAN TEORI. Data adalah deskripsi tentang benda, kejadian, aktifitas, dan transaksi, yang
9 BAB II LANDASAN TEORI 2.1.1 Pengertian Data Pengertian data adalah : Data adalah deskripsi tentang benda, kejadian, aktifitas, dan transaksi, yang tidak mempunyai makna atau tidak berpengaruh langsung
HTTP Protocol Ketika sebuah alamat web (atau URL) yang diketik ke dalam web browser, web browser melakukan koneksi ke web service yang berjalan pada
Application Layer Application layer adalah lapisan yang menyediakan interface antara aplikasi yang digunakan untuk berkomunikasi dan jaringan yang mendasarinya di mana pesan akan dikirim. Layer ini berhubungan
BAB II TINJAUAN PUSTAKA
BAB II TINJAUAN PUSTAKA 2.1 Tinjauan Pustaka Berdasarkan dengan judul penelitian oleh penulis mengenai Pengembangan Web api Pada Sistem Assesmen Dan Berbasis Tag Sebagai Pembantu Penyusunan Strategi Pembelajaran
Bab 2 Tinjauan Pustaka
Bab 2 Tinjauan Pustaka 2.1 Penelitian Terdahulu Pembahasan mengenai clustering dengan skema load balancing pada web server sudah banyak ditemukan. Salah satu pembahasan yang pernah dilakukan adalah Perancangan
ARSITEKTUR SISTEM. Alif Finandhita, S.Kom, M.T. Alif Finandhita, S.Kom, M.T 1
ARSITEKTUR SISTEM Alif Finandhita, S.Kom, M.T Alif Finandhita, S.Kom, M.T 1 Sistem Terpusat (Centralized Systems) Sistem Client Server (Client-Server Systems) Sistem Server (Server Systems) Sistem Paralel
SISTEM BASIS DATA 2. WAHYU PRATAMA, S.Kom., MMSI.
SISTEM BASIS DATA 2 WAHYU PRATAMA, S.Kom., MMSI. PERTEMUAN 7 SBD 2 Database Control Transaksi. Security Database. Transaksi Transaksi adalah sebuah aksi /serangkaian aksi, yang dilakukan oleh pengguna
PRAKTIKUM SISTEM INFORMASI MANAJEMEN
MODUL 2 DATABASE Tujuan Praktikum Adapun tujuan dari praktikum modul 2 ini adalah sebagai berikut: a. Mahasiswa diharapkan memahami tentang MySQL b. Mahasiswa dapat membuat database menggunakan MySQL c.
JURUSAN SISTEM KOMPUTER FAKULTAS ILMU KOMPUTER UNIVERSITAS SRIWIJAYA
TUGAS JARINGAN KOMPUTER Nama : Yonatan Riyadhi NIM : 09011181419009 Kelas : SK 5A Nama Dosen : Dr. Deris Stiawan M.T JURUSAN SISTEM KOMPUTER FAKULTAS ILMU KOMPUTER UNIVERSITAS SRIWIJAYA 2016 CAPTURE DAN
www.tokohpku.info www.klikmyshop.com www.it-webstore.web.id www.it-blog.web.id www.tokohpku.web.id MANUAL VRE GATEWAY
MANUAL VRE GATEWAY 1. Buat data kartu misal dengan nama MENTARI GATEWAY 2. Input data produk misal NAMA KARTU MENTARI GATEWAY 3. Kemudian klik simpan II. Setting Data Supplier Vre gateway NAMA= Disesuaikan
BAB II LANDASAN TEORI. konsep dasar dan definisi-definisi yang berkaitan dengan perangkat lunak yang
BAB II LANDASAN TEORI Pada landasan teori ini diuraikan sejumlah teori untuk membantu dan memecahkan permasalahan yang ada. Beberapa landasan teori tersebut meliputi konsep dasar dan definisi-definisi
SISTEM BASIS DATA 1. WAHYU PRATAMA, S.Kom., MMSI.
SISTEM BASIS DATA 1 WAHYU PRATAMA, S.Kom., MMSI. PERTEMUAN 6 SBD 1 Structure Query Language (Bagian 1) Pengenalan SQL. Pengelompokkan Perintah SQL. Pengenalan SQL Structure Query Language (SQL) merupakan
BAB IV ANALISIS DAN PERANCANGAN PERANGKAT LUNAK
BAB IV ANALISIS DAN PERANCANGAN PERANGKAT LUNAK Bab keempat ini berisi penjelasan analisis dan perancangan perangkat lunak yang dibangun dalam tugas akhir ini. Analisis perangkat lunak meliputi deskripsi
BAB III ANALISIS PERMASALAHAN
BAB III ANALISIS PERMASALAHAN Hal-hal yang dianalisis pada bab ini meliputi: 1. Aspek waktu yang akan digunakan. 2. Fungsi agregasi pada relasi bitemporal. 3. Jenis query retrieval yang mengandung fungsi
BAB 2 LANDASAN TEORI. disebut HTML (HyperText Markup Langauge). Pada perkembangan berikutnya,
BAB 2 LANDASAN TEORI 2.1 Aplikasi Web Pada awalnya aplikasi web dibangun dengan hanya menggunakan bahasa yang disebut HTML (HyperText Markup Langauge). Pada perkembangan berikutnya, sejumlah skrip dan
MySQL J A M K E T I G A
J A M K E T I G A MySQL l Apa itu MySQL? l Membuat User Baru l Membuat Database l Tipe Data MySQL l Membuat Tabel l Structured Query Language l Latihan Jam Ketiga l Soal Jam Ketiga Jam Ketiga Apa itu MySQL?
MANAJEMEN TRANSAKSI. Alif Finandhita, S.Kom
MANAJEMEN TRANSAKSI Alif Finandhita, S.Kom Konsep Transaksi State Transaksi Implementasi Atomik dan Durabilitas Eksekusi Konkuren Serializability Recoverability Implementasi Isolasi Definisi Transaksi
MODUL I PENGENALAN MYSQL
MODUL I PENGENALAN MYSQL A. TUJUAN Mengenal DBMS MySQL dan penggunaannya untuk pengelolaan basis data. Mampu memanfaatkan command-line (client) MySQL. Memahami operasi-operasi DDL dan DML di MySQL B. PETUNJUK
Tujuan Instruksional Khusus :
Tujuan Instruksional Khusus : Mahasiswa dapat menjelaskan tingkatan arsitektur basis data Mahasiswa dapat menjelaskan konsep data independence, komponen DBMS, fungsi DBMS serta bahasa yang digunakan didalam
BAB 2 LANDASAN TEORI. fakta mentah mengenai orang, tempat, kejadian, dan hal-hal yang penting dalam
BAB 2 LANDASAN TEORI 2.1 Teori Umum 2.1.1 Database 2.1.1.1 Pengertian Data Menurut Whitten, Bentley, dan Dittman (2004, p23), pengertian dari data adalah fakta mentah mengenai orang, tempat, kejadian,
WEB DINAMIS 1 MANAJEMEN DATABASE MYSQL. Agustina Purwatiningsih., S.Kom
WEB DINAMIS 1 MANAJEMEN DATABASE MYSQL Agustina Purwatiningsih., S.Kom 1 Pendahuluan Seperti yang dijelaskan pada pertemuan pertama, web dinamis merupakan web yang di desain agar konten yang terdapat dalam
Manajemen Transaksi A. Konsep Transaksi 1. Membuat Tabel account dengan type Innodb
Manajemen Transaksi A. Konsep Transaksi Transaksi adalah sebuah unit dari eksekusi program yang mampu mengakses dan mengupdate berbagai data yang memiliki kaitan logika transaksi itu sendiri dimana dalam
Java Database Connectivity (JDBC)
Java Database Connectivity (JDBC) Java Database Connectivity (JDBC) merupakan API yang digunakan untuk mengkoneksikan aplikasi Java dengan DBMS, baik itu MySQL, Oracle, Microsoft ODBC dan DBMS lainnya.
BAB III METODE PENELITIAN. ini, diantaranya adalah dengan langkah-langkah sebagai berikut :
BAB III METODE PENELITIAN 3.1 Metode Penelitian Beberapa metode penelitian dilakukan dalam penyelesaian Tugas Akhir ini, diantaranya adalah dengan langkah-langkah sebagai berikut : 3.1.1 Model Model diperlukan
TCP dan Pengalamatan IP
TCP dan Pengalamatan IP Pengantar 1. Dasar TCP/IP TCP/IP (Transmision Control Protocol/Internet Protocol) adalah sekumpulan protokol komunikasi (protocol suite) yang sekarang ini secara luas digunakan
BAB 3 ANALISIS DAN PERANCANGAN SISTEM
62 BAB 3 ANALISIS DAN PERANCANGAN SISTEM 3.1 Analisis Kebutuhan Sistem Hal pertama yang perlu dilakukan dalam analisis kebutuhan sistem adalah menentukan dan mengungkapkan kebutuhan sistem. Kebutuhan sistem
