Membuat Aplikasi Desktop Client Server Sederhana dengan Java RMI
|
|
|
- Susanto Hardja
- 8 tahun lalu
- Tontonan:
Transkripsi
1 Membuat Aplikasi Desktop Client Server Sederhana dengan Java RMI Achmad Maulana Lisensi Dokumen: Seluruh dokumen di IlmuKomputer.Com dapat digunakan, dimodifikasi dan disebarkan secara bebas untuk tujuan bukan komersial (nonprofit), dengan syarat tidak menghapus atau merubah atribut penulis dan pernyataan copyright yang disertakan dalam setiap dokumen. Tidak diperbolehkan melakukan penulisan ulang, kecuali mendapatkan ijin terlebih dahulu dari IlmuKomputer.Com. Istilah client/server pertama kali digunakan pada tahun tahun 1980-an dalam mereferensikan suatu Personal Computer pada suatu jaringan. Model client/server yang sebenarnya mulai diterima pada akhir tahun 1980-an. Arsitektur perangkat lunak client/server adalah infrastruktur modular dan message-based yang sangat berguna, dimaksudkan untuk meningkatkan usability, flexibility, interoperability, dan scalability.[1] RMI (Remote Method Invocation) menyediakan sarana dimana client dan server dapat berkomunikasi dan saling bertukar infomasi. RMI memungkinkan pengembang perangkat lunak untuk merancang aplikasi terdistribusi dimana methods dari remote object dapat dipanggil dari JVM (Java Virtual Mechine) lain, yang mungkin berjalan pada host yang berbeda. Remote object adalah obyek dalam Java yang dapat direferensikan secara remote. Pemrogram seakan- akan memanggil methods lokal dari file kelas lokal, sedang dalam kenyataannya semua argumen dikirimkan ke remote target dan diinter-pretasikan, kemudian hasilnya dikirimkan kembali ke pemanggil. Dalam RMI, server akan membuat remote objects, membuat referensi, dan menunggu client untuk memanggil methods dari remote object ini. Sedangkan client akan mendapatkan remote reference dari satu atau lebih remote object dan memanggil methods untuk remote object tersebut. [2]
2 PENDAHULUAN Pada Tulisan kali ini, kita akan mengulas bagaimana membuat sebuah aplikasi desktop sederhana berbasis client server dengan Bahasa Program Java dan menggunakan teknologi RMI (Remote Method Invocation). Sebagai contoh sederhana kita akan membuat sebuah aplikasi yang dapat melakukan proses CRUD (Create, Read, Update, Delete) ke database MySQL. PERSIAPAN Sebelum memulai perancangan sistem kita harus siapkan dulu alat-alat perangnya: 1. Install Java+Netbeans, jika belum tersintall silahkan download: html 2. Install xampp, jika belum tersintall silahkan download : Pada tulisan kali ini saya mengasumsikan pembaca sudah mengerti dan memahami bagaimana cara mengintall java Netbeans dan xampp serta bagaimana cara menggunakannya. PERANG DIMULAI A. MEMBUAT DATABASE DAN TABLE Pertama kita buat database dengan nama client_server_db dan table nya terlebih dahulu:
3 Jalankan query untuk buat table user : CREATE TABLE IF NOT EXISTS `tbl_user` ( `id` int(4) NOT NULL AUTO_INCREMENT, `username` varchar(100) NOT NULL, ` ` varchar(50) NOT NULL, `password` varchar(200) NOT NULL, PRIMARY KEY (`id`) ) ENGINE=InnoDB DEFAULT CHARSET=latin1 AUTO_INCREMENT=1 ; B. MEMBUAT PROJECT JAVA Jalankan Netbeans yang sudah terinstall sehingga akan muncul tampilan seperti ini: Selanjutnya kita akan membuat 3 project baru yaitu ApplicationAPI., ApplicationServer dan ApplicationClient. YANG PERTAMA kita buat project dengan nama ApplicationAPI dengan cara klik File > New Project akan muncul window seperti ini:
4 Selanjutnya pilih Java Class Library lalu klik Next. Setelah itu akan muncul window seperti dibawah, dan kita isikan nama project nya: Selanjutnya buat 2 (dua) package seperti digambar dibawah ini: Setelah itu kita buat Java Class dengan nama User pada package entity dengan cara klik kanan pada package > Java Class lalu beri nama kelas.
5 Selanjutnya buatlah entitas-entitas sesuai dengan field-field yang ada pada table tbl_user yang sebelumnya kita telah buat, untuk lebih jelasnya lihat pada gambar dibawah: Jangan lupa buat setter dan getter dengan cara menekan tombol Alt+Insert lalu pilih Getter and Setter Lalu checklist pada semua entitasnya dan hasilnya seperti dibawah:
6 import java.io.serializable; /** * Achmad Maulana */ public class User implements Serializable { private Long id; private String username; private String ; private String password; public Long getid() { return id; public void setid(long id) { this.id = id; public String getusername() { return username; public void setusername(string username) { this.username = username; public String get () { return ; public void set (string ) { this. = ; public String getpassword() { return password; public void setpassword(string password) { this.password = password; Selanjutnya buat kelas interface dengan nama UserService pada Package service: import java.rmi.remote; import java.rmi.remoteexception;
7 import java.util.list; import org.jakartait.maul.code.api.entity.user; /** * Achmad Maulana */ public interface UserService extends Remote { User insert(user user) throws RemoteException; void update(user user) throws RemoteException; void delete(long id) throws RemoteException; User getuser(long id) throws RemoteException; List<User> getalluser() throws RemoteException; YANG KEDUA kita buat project ApplicationServer dengan cara klik File > New Project akan muncul window seperti ini: Setelah klik Next selanjutnya beli nama project ApplicationServer lalu klik tombol Finish.
8 Selanjutnya pembuatan 3 (dua) package seperti dibawah ini: Jangan lupa import project ApplicationAPI pada project ApplicationServer terlebih dahulu: Tekan tombol Add Project, lalu arahkan pada project ApplicationAPI
9 Selanjutnya import MySQL Drivernya. Buat main kelas dengan nama MainClass package paling atas: import java.rmi.alreadyboundexception; import java.rmi.remoteexception; import java.rmi.registry.locateregistry; import java.rmi.registry.registry; import org.jakartait.maul.code.server.service.userserviceserver; import org.jakartait.maul.code.server.utils.databaseutilities; /** * Achmad Maulana */ public class MainClass { /** args the command line arguments */ public static void main(string[] args) throws RemoteException { // TODO code application logic here Registry server = LocateRegistry.createRegistry(6789); UserServiceServer userservice = new UserServiceServer(); server.rebind("service", userservice); System.out.println("Server berjalan");
10 Lalu buat kelas DatabaseUtilities pada package utils. import java.sql.connection; import java.sql.drivermanager; import java.sql.preparedstatement; /** * Achmad Maulana */ public class DatabaseUtilities{ private static Connection connection; public static Connection getconnection() { if (connection == null) { DriverManager.registerDriver(new com.mysql.jdbc.driver()); connection = DriverManager.getConnection("jdbc:mysql://localhost:3306/client_server_db", "root", ""); catch (SQLException ex) { Logger.getLogger(DatabaseUtilities.class.getName()).log(Level.SEVERE, null, ex); return connection; Selanjutnya buat kelas UserServiceServer pada package service import java.rmi.remoteexception; import java.rmi.server.unicastremoteobject; import java.sql.preparedstatement; import java.sql.resultset; import java.sql.sqlexception; import java.sql.statement; import java.util.arraylist; import java.util.list; import java.util.logging.logger; import org.jakartait.maul.code.api.entity.user;
11 import org.jakartait.maul.code.server.utils.databaseutilities; import org.jakartait.maul.code.service.userservice; /** * Achmad Maulana */ public class UserServiceServer extends UnicastRemoteObject implements UserService { public UserServiceServer() throws RemoteException { public User insert(user user) throws RemoteException { System.out.println("Client calling insert process"); PreparedStatement statement = null; statement = DatabaseUtilities.getConnection().prepareStatement( "INSERT INTO tbl_user (user_idx, username, , password)" + " VALUES (null,'" + user.getusername() + "', '" + user.get () + "', MD5('" + user.getpassword() + "'))", Statement.RETURN_GENERATED_KEYS); Logger log = Logger.getLogger("Insert User Logger"); DatabaseUtilities handler = new DatabaseUtilities(); log.addhandler(handler); log.info("client calling insert process"); statement.executeupdate(); ResultSet resultset = statement.getgeneratedkeys(); if (resultset.next()) { user.setid(resultset.getlong(1)); resultset.close(); return user; catch (SQLException e) { return null; finally { if (statement!= null) { statement.close(); catch (Exception e) {
12 public void update(user user) throws RemoteException { System.out.println("Client calling update process"); PreparedStatement statement = null; statement = DatabaseUtilities.getConnection().prepareStatement( " UPDATE tbl_user SET username=?" + ", =?" + ",password=md5(?)" + "WHERE user_idx=?" ); statement.setstring(1, user.getusername()); statement.setstring(2, user.get ()); statement.setstring(3, user.getpassword()); statement.setlong(4, user.getid()); statement.executeupdate(); catch (SQLException e) { finally { if (statement!= null) { statement.close(); catch (SQLException e) { public void delete(long id) throws RemoteException { System.out.println("Client calling delete process"); PreparedStatement statement = null; statement = DatabaseUtilities.getConnection().prepareStatement( "DELETE FROM tbl_user WHERE user_idx=?"); statement.setlong(1, id); statement.executeupdate(); catch (SQLException e) { finally { if (statement!= null) { statement.close(); catch (SQLException e) {
13 public User getuser(long id) throws RemoteException { System.out.println("Client calling getuser process"); PreparedStatement statement = null; statement = DatabaseUtilities.getConnection().prepareStatement( "SELECT * FROM tbl_user WHERE user_idx=? " ); ResultSet resultset = statement.executequery(); User user = null; if (resultset.next()) { user = new User(); user.setid(id); user.setusername(resultset.getstring("username")); user.set (resultset.getstring(" ")); user.setpassword(resultset.getstring("password")); return user; catch (SQLException e) { return null; finally { if (statement!= null) { statement.close(); catch (SQLException e) { public List<User> getalluser() throws RemoteException { System.out.println("Client calling getalluser process"); Statement statement = null; statement = DatabaseUtilities.getConnection().createStatement(); ResultSet resultset = statement.executequery("select * FROM tbl_user "); List<User> list = new ArrayList<>(); while (resultset.next()) { User user = new User();
14 user.setid(resultset.getlong("user_idx")); user.setusername(resultset.getstring("username")); user.set (resultset.getstring(" ")); user.setpassword(resultset.getstring("password")); list.add(user); return list; catch (SQLException e) { return null; finally { if (statement!= null) { statement.close(); catch (SQLException e) { YANG KETIGA kita buat project ApplicationClient dengan cara seperti sebelumnya. Seperti biasa kita buat dulu package nya seperti dibawah ini: Jangan lupa Add Project -> ApplicationAPI terlebih dahulu seperti cara sebelumnya. Selanjutnya buat Kelas model TableModelUser : import java.util.arraylist; import java.util.list; import javax.swing.table.abstracttablemodel; import org.jakartait.maul.code.api.entity.user; /** * Achmad Maulana */
15 public class TableModelUser extends AbstractTableModel { private List<User> list = new ArrayList<User>(); public TableModelUser() { public User get(int row) { return list.get(row); public void insert(user user) { list.add(user); firetabledatachanged(); public void update(int row, User user) { list.set(row, user); firetabledatachanged(); public void delete(int row) { list.remove(row); firetabledatachanged(); public void setdata(list<user> list) { this.list = list; firetabledatachanged(); public int getrowcount() { return list.size(); public int getcolumncount() { return 4; public String getcolumnname(int column) { switch (column) { case 0: return "Id"; case 1: return "Username"; case 2:
16 return " "; case 3: return "Password"; default: return null; public Object getvalueat(int rowindex, int columnindex) { switch (columnindex) { case 0: return list.get(rowindex).getid(); case 1: return list.get(rowindex).getusername(); case 2: return list.get(rowindex).get (); case 3: return list.get(rowindex).getpassword(); default: return null; Selanjutnya buat JFrame dengan nama FrameUser pada packge view.
17 Penamaan variable button-buttonnya seperti ini: Penamaan variable input text seperti ini: Penamaan jtable seperti ini: Setelah itu edit code pada FrameUser : Buat object TableModelUser dan buat variable UserService; Selanjutnya edit konstuktor FormUser menjadi seperti dibawah /** * Creates new form FormUser */ public FormUser(UserService service) { this.service = service; tablemodeluser.setdata(service.getalluser()); catch (RemoteException e) { initcomponents();
18 { tableuser.setmodel(tablemodeluser); tableuser.getselectionmodel().addlistselectionlistener(new ListSelectionListener() public void valuechanged(listselectionevent e) { int row = tableuser.getselectedrow(); if (row!= -1) { User user = tablemodeluser.get(row); txtid.setvalue(user.getid()); txtusername.settext(user.getusername()); txt .settext(user.get ()); txtpassword.settext(user.getpassword()); ); TableRowSorter rowsorter = new TableRowSorter(tableModelUser); txtsearch.getdocument().adddocumentlistener(new DocumentListener() { public void insertupdate(documentevent e) { tableuser.setrowsorter(rowsorter); rowsorter.setrowfilter(rowfilter.regexfilter(txtsearch.gettext())); public void removeupdate(documentevent e) { tableuser.setrowsorter(rowsorter); rowsorter.setrowfilter(rowfilter.regexfilter(txtsearch.gettext())); public void changedupdate(documentevent e) { tableuser.setrowsorter(rowsorter); rowsorter.setrowfilter(rowfilter.regexfilter(txtsearch.gettext())); ); Selanjutnya beri event pada tombol Refresh dengan cara klik kanan Events > Action >actionperformed
19 Berikut kode pada action buttonrefresh : private void buttonrefreshactionperformed(java.awt.event.actionevent evt) { // TODO add your handling code here: txtid.setvalue(0); txtusername.settext(""); txt .settext(""); txtpassword.settext(""); List<User> list = service.getalluser(); tablemodeluser.setdata(list); catch (RemoteException e) { Selanjutnya beri event pada tombol buttoninsert, berikut kodenya: private void buttoninsertactionperformed(java.awt.event.actionevent evt) { // TODO add your handling code here: User user = new User(); user.setusername(txtusername.gettext()); user.set (txt .gettext()); user.setpassword(txtpassword.gettext()); User user1 = service.insert(user); tablemodeluser.insert(user1); buttonrefreshactionperformed(evt);
20 catch (RemoteException e) { Event buttonupdate : private void buttonupdateactionperformed(java.awt.event.actionevent evt) { // TODO add your handling code here: int row = tableuser.getselectedrow(); if (row == -1) { return; User user = tablemodeluser.get(row); user.setusername(txtusername.gettext()); user.set (txt .gettext()); user.setpassword(txtpassword.gettext()); service.update(user); tablemodeluser.update(row, user); buttonrefreshactionperformed(evt); catch (RemoteException e) { Event buttondelete : private void buttondeleteactionperformed(java.awt.event.actionevent evt) { // TODO add your handling code here: int row = tableuser.getselectedrow(); if (row == -1) { return; Long id = tablemodeluser.get(row).getid(); service.delete(id); tablemodeluser.delete(row); buttonrefreshactionperformed(evt); catch (RemoteException e) { Yang terakhir kita buat kelas main dengan nama MainClass import java.rmi.notboundexception;
21 import java.rmi.remoteexception; import java.rmi.registry.locateregistry; import java.rmi.registry.registry; import javax.swing.swingutilities; import org.jakartait.maul.code.api.hellointerface; import org.jakartait.maul.code.client.view.formuser; import org.jakartait.maul.code.service.userservice; /** * Achmad Maulana */ public class MainClass { /** args the command line arguments */ public static void main(string[] args) throws RemoteException, NotBoundException { Registry client = LocateRegistry.getRegistry("localhost", 6789); UserService service = (UserService) client.lookup("service"); SwingUtilities.invokeLater(new Runnable() { public void run() { FormUser formuser= new FormUser(service); formuser.setvisible(true); );
22 TEST APLIKASI 1. Jalankan ApplicationServer Terlebih dahulu 2. Selanjutnya Jalankan ApplicationClient
23 Test inpu user baru: Hasilnya Jika ingin sourcecode aplikasi bisa dengan cara meng saya. Skian smoga bermanfaat.
24 REFERENSI [1] Pl, Remote Method Invocation (RMI), pp , [2] Ratnasari Nur Rohmah, Client/Server dengan Java Remote Method Invocation (Java RMI), J. Tek. Elektro Dan Komput. Emit., vol. 3, p. 5, BIOGRAFI PENULIS Achmad Maulana, Lahir pada Agustus Penulis Menyelesaikan Pendidikan Sarjana Teknik Informatika (S1) di Universitas Indraprasta PGRI, Jakarta tahun 2011 dan Menyelesaikan pendirikan Magister Ilmu Komputer di Universitas Budi Luhur, Jakarta tahun Kompentensi inti pada bidang software engineering. Penulisa juga aktif dalam menulis blog pada website
1. Buat tampilan menggunakan seperti ini dan simpan dalam class MainFrame.java
Menampilkan data dari database MySQL ke dalam JTabel. 1. Buat tampilan menggunakan seperti ini dan simpan dalam class MainFrame.java 2. Ubah nama pada jtextfield1 menjadi txtsearch dan jtable1 menjadi
- Menuliskan business logic dari aplikasi untuk mengakses data source
MODUL 4 IMPLEMENTASI DAO Teori Singkat DAO merupakan design pattern berkaitan dengan database access. DAO memisahkan persistence logic dari business atau presentation logic. DAO merupakan representasi
Belajar Java 2 Tambah, Simpan & Cari Data di Netbeans dengan Database MySQL
Belajar Java 2 Tambah, Simpan & Cari Data di Netbeans dengan Database MySQL Assalamualaikum Wr. Wb Salam NewGen, pada kesempatan kali ini saya akan share tentang Java 2 dimana kita akan belajar tambah,
Pengenalan APLIKASI DATABASE
Page 1 of 23 APLIKASI DATABASE Pengenalan Aplikasi database merupakan aplikasi yang menggunakan database berbasis komputerisasi dan tampilan form sebagai media penghubung antara user dan database, dimana
Firma Firmansyah Adi B. Resume Web Service
Resume Web Service Web service adalah sebuah sofware aplikasi yang tidak terpengaruh oleh platform, ia akan menyediakan method-method yang dapat diakses oleh network. Ia juga akan menggunakan XML untuk
Menghubungkan Database Access Menggunakan Netbeans Oleh : Yuliana Setiowati
Menghubungkan Database Access Menggunakan Netbeans Oleh : Yuliana Setiowati ([email protected]) Membuat Projek Baru di Netbeans 1. Buatlah projek baru dinetbeans pilih File New Project. Pilih Categories
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
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
Mudafiq R. Pratama
Implementasi MVC (Model-View-Controller) Dengan DAO (Data Access Object) Pada Java Desktop Application Mudafiq R. Pratama [email protected] http://www.mudafiqriyan.net Lisensi Dokumen: Seluruh dokumen
Praktikum JTable. Gambar 1
Praktikum JTable Praktikum 1 : Buatlah aplikasi seperti gambar 1. Pada aplikasi tersebut user dapat menambahkan, mengedit dan menghapus data. Data yang dimasukkan berupa nama, alamat, no telp dan email.
Mudafiq R. Pratama
Implementasi MVC (Model-View-Controller) Dengan DAO (Data Access Object) Pada Java Desktop Application Mudafiq R. Pratama [email protected] http://mudafiqriyan.com Lisensi Dokumen: Copyright 2012
visit : www.marisharingilmu.wordpress.com
Lisensi Pocket Book Pocket Book ini dapat anda copy dan distribusikan dengan gratis untuk kegiatan pembelajaran. Selamat datang di Pocket Book edisi selanjutnya yaitu Pocket Book : Membuat Aplikasi Java
- Setiap pola yang menggambarkan permasalahan yang terjadi secara berulang, serta
MODUL 1 IMPLEMENTASI MODEL VIEW CONTROLLER (MVC) DESIGN PATTERN Design Pattern dapat didefinisikan : - Setiap pola yang menggambarkan permasalahan yang terjadi secara berulang, serta menjelaskan cara utama
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
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
- Menuliskan business logic dari aplikasi untuk mengakses data source
MODUL 3 IMPLEMENTASI DAO Teori Singkat DAO merupakan design pattern berkaitan dengan database access. DAO memisahkan persistence logic dari business atau presentation logic. DAO merupakan representasi
Praktikum 6a Melakukan koneksi dengan basis data
Praktikum 6a Melakukan koneksi dengan basis data Tujuan : Memperkenalkan cara berhubungan dan melakukan transaksi dengan basis data. Lakukan langkah-langkah berikut ini: 1. Lakukan langkah-langkah seperti
Membangun Aplikasi Client-Server Menggunakan Java
2010 Membangun Aplikasi Client-Server Menggunakan Java Eko Kurnaiwan Khannedy eecchhoo.wordpress.com 3/17/2010 Peringatan Buku ini bukan untuk orang yang baru belajar Java, apa yang cuma tau kalo Java
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
Mengkoneksikan Java Netbeans dengan Database di MySQL via XAMPP
Mengkoneksikan Java Netbeans dengan Database di MySQL via XAMPP Sri Wahyuni [email protected] Abstrak Artikel ini mempelajari cara mengkoneksikan java netbeans dengan database di MySQL dengan XAMPP,
Tutorial Web Service JAX-WS Konverter Suhu dengan NetBeans
Tutorial Web Service JAX-WS Konverter Suhu dengan NetBeans Nama Penulis [email protected] Lisensi Dokumen: Copyright 2003-2006 IlmuKomputer.Com Seluruh dokumen di IlmuKomputer.Com dapat digunakan, dimodifikasi
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
Tutorial Aplikasi Database Matakuliah Berbasis Java Swing Menggunakan Java Database Connectivity (JDBC)
Tutorial Aplikasi Database Matakuliah Berbasis Java Swing Menggunakan Java Database Connectivity (JDBC) (Ramos Somya, S.Kom., M.Cs.) Buat teman-teman yang sedang mengambil matakuliah Pemrograman Berorientasi
Koneksi Java GUI-Database
Koneksi Java GUI-Database Untuk memberikan data pada GUI yang diambil dari database Oracle, ada beberapa langkah yang harus dilakukan: 1. Membuat class koneksi 2. Membuat GUI 3. Menambahkan kode pengaksesan
JAVA non OOP/IMW/PAGI. 1. Buat Database dengan Ms.Access dengan nama database perpustakaan.mdb 2. Buat tabel barang dengan struktur sbb:
1 1. Buat Database dengan Ms.Access dengan nama database perpustakaan.mdb 2. Buat tabel barang dengan struktur sbb: Field Type Size Keterangan Kdbarang Text 4 Primary Key Nmbarang Text 30 Satuan Text 6
Stored Procedure (create, calling SP dari Oracle dan dari JAVA)
Stored Procedure (create, calling SP dari Oracle dan dari JAVA) Oleh : Tikaa (http://black9innocent.wordpress.com/) Mari mengingat stored procedure lagi #Demi belajar :D Disini saya akan mencoba menjelaskan
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.
Tutorial Jasper Report with JDBC Prerequisites: Jasper Report, ireport installed, MySQL installed, and NetBeans IDE
Tutorial Jasper Report with JDBC Prerequisites: Jasper Report, ireport installed, MySQL installed, and NetBeans IDE 1. Buka XAMPP control panel, start MySQL dan Apache server. 2. Import file electicalgoods.sql
Berikut merupakan salah satu contoh dari pesan SOAP (SOAP Message):
Aplikasi Zodiak Menggunakan PHP Web Service Robertus Lilik Haryanto [email protected] Lisensi Dokumen: Seluruh dokumen di IlmuKomputer.Com dapat digunakan, dimodifikasi dan disebarkan secara bebas
Stored Procedure (create, calling SP dari Oracle dan dari JAVA)
Stored Procedure (create, calling SP dari Oracle dan dari JAVA) Mari mengingat stored procedure lagi #Demi belajar :D Disini saya akan mencoba menjelaskan sedikit tentang stored procedure dan cara pemanggilannya
INSTRUKSI PENCABANGAN
INSTRUKSI PENCABANGAN Sebagai pengembang (programmer) sudah pasti mengetahui jenis operasi instruksi. Salah satu yang perlu dipelajari atau dimengerti adalah operasi instruksi pencabangan. 3.1 Pencabangan
Aplikasi CRUD dengan Visual Basic 2012 [APLIKASI CRUD DENGAN VISUAL BASIC 2012 & MYSQL] September 18, & MySQL. Bahtiar Imran
Aplikasi CRUD dengan Visual Basic 2012 [APLIKASI CRUD DENGAN VISUAL BASIC 2012 & MYSQL] September 18, 2013 & MySQL Bahtiar Imran Assalamualaikum.. Pada kesempatan kali ini kita akan membahas mengenai bagaimana
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.
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
Tutorial Java Desktop 2 Melakukan Koneksi ke Database JavaDB
Tutorial Java Desktop 2 Melakukan Koneksi ke Database JavaDB Oleh: Ardie Jocong Tutorial ini adalah tutorial lanjutan dari tutorial sebelumnya yaitu bagaimana membuat sebuah database dengan fasilitas database
uri="http://jakarta.apache.org/struts/tags-logic" prefix="logic"%>
Menambah menu Dosen dengan struts Pada artikel ini saya coba memanfaatkan skill exam jeni 3 yang sudah ada strutsnya, saya akan mencoba menambahkan menu Dosen, artikel ini juga kelanjutan dan artikel saya
DAO design pattern diimplementasi dengan beberapa langkah, yaitu :
MODUL 3 IMPLEMENTASI DAO Teori Singkat DAO merupakan design pattern berkaitan dengan database access. DAO memisahkan persistence logic dari business atau presentation logic. DAO merupakan representasi
BAB I PROJECT NETBEANS DAN GUI SEDERHANA
BAB I PROJECT NETBEANS DAN GUI SEDERHANA 1.1 Tujuan Instruksional Bab ini akan membahas pengenalan struktur project NetBeans, cara membuat Form, memberi Title, memasang komponen GUI Label, Button dan TextField
Tugas IV Kelas Virtual Pemr. Visual
Tugas IV Kelas Virtual Pemr. Visual Nomor 1: Buatlah sebuah GUI sebagai berikut menggunakan Netbeans: Gunakan Free Design/Absolute Layout untuk mengatur peletakan komponen. Gunakan JFormattedTextField
Akses Database Menggunakan JDBC
Akses Database Menggunakan JDBC Dalam bab ini kita akan membicarakan tentang akses database menggunakan JDBC, cara penggunannya mulai dari membuka koneksi sampai melakukan operasi baca, tulis, dan hapus
pilih New-Java Class Pada window New Class, ketik Person pada Class Name dan db.app pada Package
pilih New-Java Class Pada window New Class, ketik Person pada Class Name dan db.app pada Package kemudian Finish. Ubahlah source Person.java menjadi sbb: package db.app; public class Person { private int
M.Octaviano Pratama
Pemrograman Mobile Android dan MySQL M.Octaviano Pratama [email protected] http://tavgreen.com Lisensi Dokumen: Seluruh dokumen di IlmuKomputer.Com dapat digunakan, dimodifikasi dan disebarkan secara
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
Tutorial Java Desktop 3 Melakukan Pengambilan data pada JavaDB
Tutorial Java Desktop 3 Melakukan Pengambilan data pada JavaDB Oleh: Ardie Jocong Alhamdulillah,, hari ini saya bisa melanjutkan tutorial ketiga Mengenai Java yang akan membahas bagaimana melakukan pengambilan
KONEKSI KE DATABASE DENGAN JDBC
KONEKSI KE DATABASE DENGAN JDBC Perangkat Lunak Pendukung MySQL Driver JDBC mysql-connector-java-51.12-bin.jar Membuat user baru Sebelum membuat aplikasi jalankan dulu database MySQL server. Buatlah menggunakan
1. Silahkan anda buka project dari modul 4 anda yang sudah anda selesaikan 2. Tambahkan 1 buah view dengan nama FormMain
Modul 5 Reporting Di java, untuk membuat report menggunakan sebuah library yang tidak berbayar bernama jasper report. Disini jasper report akan menjadi plugin dari netbeans. 1. Silahkan anda buka project
Persiapan Table Untuk Latihan Sebelum kita berkenalan lebih jauh dengan Trigger, mari kita buat terlebih dahulu, struktur table yang dibutuhkan.
Mengenal Trigger di MySQL Pernahkan menemukan kasus saat men-develop aplikasi, dimana perlu melakukan update terhadap suatu field, berdasarkan isi dari field lain? Contoh: men-update field status menjadi
M.Octaviano Pratama
Membuat Laporan Berbentuk Excel dan PDF di Java SE M.Octaviano Pratama [email protected] http://tavgreen.com Lisensi Dokumen: Seluruh dokumen di IlmuKomputer.Com dapat digunakan, dimodifikasi dan disebarkan
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
Program Java Sesi 1. Arief Susanto
Program Java Sesi 1 Arief Susanto [email protected] http://www.ariefsusanto.at.ua Lisensi Dokumen: Seluruh dokumen di IlmuKomputer.Com dapat digunakan, dimodifikasi dan disebarkan secara bebas untuk
Aplikasi CRUD Sederhana Dengan PHP dan MySql
Aplikasi CRUD Sederhana Dengan PHP dan MySql Budi Permana, S.Kom [email protected] http://budinobipermana.wordpress.com Lisensi Dokumen: Seluruh dokumen di IlmuKomputer.Com dapat digunakan, dimodifikasi
Tahap Instalasi PostgreSQL di Windows
Tahap Instalasi PostgreSQL di Windows 1. Unduh file installer PostgreSQL terbaru dari alamat http://www.enterprisedb.com/productsservices-training/pgdownload#windows 2. Setelah file installer berhasil
Pengenalan JavaScript
Pengenalan JavaScript Tujuan - Mahasiswa memahami konsep dasar Javascript - Mahasiswa mampu memahami cara menggunakan Javascript - Mahasiswa mampu memahami dasar variabel di Javascript - Mahasiswa mampu
KONEKSI NETBEANS DENGAN DATABASE SQLITE
KONEKSI NETBEANS DENGAN DATABASE SQLITE Open SQLite Manager yang ada pada add on Firefox. Create new database baru dengan cara Database, lalu pilih New Database. 1 Ganti nama dengan Database1. Pilih direktori
KEAHLIAN PEMROGAMAN JAVA
SILABUS KURIKULUM KEAHLIAN KOMPUTER KEAHLIAN PEMROGAMAN JAVA Bulan 1 : Dasar Pemrogaman Java Bulan 2 : Dasar Pemrogaman Java Bulan 3 : Java Swing J-Frame (GUI) Netbeans Bulan 4 : Java Swing J-Frame (GUI)
Kamus Perintah Hibernate Criteria Query MySQL
Kamus Perintah Hibernate Criteria Query MySQL Untuk rekan rekan yang sudah terbiasa dengan Java Platform mungkin sudah tidak aneh dengan Hibernate, begitu pula untuk rekan rekan yang sudah terbiasa dengan
MySQL Full-Text Searching
MySQL Full-Text Searching Didik Setiawan [email protected] Lisensi Dokumen: Seluruh dokumen di IlmuKomputer.Com dapat digunakan, dimodifikasi dan disebarkan secara bebas untuk tujuan bukan komersial
BAB IV IMPLEMENTASI DAN PENGUJIAN
BAB IV IMPLEMENTASI DAN PENGUJIAN 4.1 Implementasi Setelah tahap analisa dan tahap perancangan sistem aplikasi, maka tahap selanjutnya merupakan tahap implementasi. Akan dibahas mengenai tahap implementasi
Isi Data Source Name seperti gambar diatas: Kemudian pilih database dengan meng klik tombol select, tampil seperti gambar diatas:
1 1. Buat Database Akademik.mdb menggunakan MS.Access 2. Buat tabel mahasiswa dengan struktur sbb: Field Type Size Keterangan Nim Text 8 Primary key Nama Text 50 Alamat Text 100 3. Buat Data source Name
BAB IV HASIL DAN PEMBAHASAN
37 BAB IV HASIL DAN PEMBAHASAN 4.1 Sistem Admisi Non Pemamik di UKSW Sistem Admisi Non Pemamik di Universitas Kristen Satya Wacana saat ini akan dijelaskan melalui Gambar 4.1. Gambar 4.1 Sistem Admisi
Pada Java, sebuah objek remote adalah instans dari suatu kelas yang mengimplementasikan antarmuka remote.
Rosa Ariani Sukamto Email: [email protected] Website: http://www.gangsir.com A. REMOTE METHOD INVOCATION (RMI) (Minggu 1 Praktikum II) 1. Sekilas RMI RMI (Remote Method Application) pada Java adalah
Manipulasi Database Dengan Netbeans
Manipulasi Database Dengan Netbeans Oleh : Eko Zulkaryanto http://zulkaryanto.wordpress.com Sumber : http://hendrosteven.wordpress.com/2007/10/16/manipulasi-mysql-dengan-netbeans/ dan http://hendrosteven.wordpress.com/2007/10/18/membuat-aplikasi-database-sederhana
BAHASA PEMROGRAMAN JAVA
MI1274 Algoritma & Pemrograman Lanjut Genap 2015-2016 BAHASA PEMROGRAMAN JAVA Disusun Oleh: Reza Budiawan Untuk: Tim Dosen Algoritma & Pemrograman Lanjut Hanya dipergunakan untuk kepentingan pengajaran
LAB02 : KODING PROGRAM
LAB02 : KODING PROGRAM MATERI Tahapan PENGKODEAN APLIKASI PRAKTIKUM : I Penjelasan : 1. File New Project Java Java Aplication Next Isikan Project Name (Praktikum01) Project Location (Pilih Folder) - Biarkan
Mudafiq Riyan Pratama
Database Link Pada Oracle 10g Mudafiq Riyan Pratama [email protected] http://dhafiq-san.blogspot.com/ Lisensi Dokumen: Seluruh dokumen di IlmuKomputer.Com dapat digunakan, dimodifikasi dan disebarkan
STEP BY STEP IN JAVA NETBEANS PROGRAMMING BY SUYANTO
STEP BY STEP IN JAVA NETBEANS PROGRAMMING BY SUYANTO Langkah-Langkah Membuat Aplikasi Database Menggunakan Java NetBean dan MySQL 1. Buat Project 2. Buat Form Menu Utama (Jframe Form) Suyanto Page 1 3.
Masukkan connector tersebut ke dalam direktori pada tempat jdk di-instal dengan path
Modul : IK-481 Pemrograman Berorientasi Objek Topik : Contoh Implementasi MVC (Model View Controller) pada Java Dosen : Rosa Ariani Sukamto Website : http://www.gangsir.com Blog : http://udinrosa.wordpress.com
Menampilkan Data/Tabel MySQL di Ms.Access
Menampilkan Data/Tabel MySQL di Ms.Access Setiaji [email protected] http://www.kodokijo.net Lisensi Dokumen: Seluruh dokumen di IlmuKomputer.Com dapat digunakan, dimodifikasi dan disebarkan secara bebas
MySQL Databases. Dasar-dasar MySQL dan Implementasi MySQL kedalam pemrograman PHP. Jakarta, 16 April 2011 Oleh: M. Awaludin, S.Kom
MySQL Databases Dasar-dasar MySQL dan Implementasi MySQL kedalam pemrograman PHP Jakarta, 16 April 2011 Oleh: M. Awaludin, S.Kom DDL (Data Definition Language) Definisi DDL Adalah merupakan sub bahasa
SmallSQL. (DBMS 100% Murni Java) SmallSQL. Basis Data II. Dosen Pengampu : Noor Ifada. Kelompok BD2-B5
SmallSQL (DBMS 100% Murni Java) SmallSQL Basis Data II Dosen Pengampu : Noor Ifada Kelompok BD2-B5 Shohib 100411100101 Bisma Alfian Imanata 100411100014 Fitriyah Dwindah mukhtalifah 100411100081 JURUSAN
PERINTAH DASAR MySQL
PERINTAH DASAR MySQL Menjalankan MySQL Untuk menjalankan MySQL cukup dengan mengetikan mysql pada system prompt Bentuk umum perintah mysql database h host u user p password Dengan windows Menu Start All
Java Database Connectivity (JDBC) (Minggu 5 Praktikum II)
Rosa Ariani Sukamto Email: [email protected] Website: http://www.gangsir.com Java Database Connectivity (JDBC) (Minggu 5 Praktikum II) 1. Sekilas JDBC JDBC API adalah API java untuk mengakses basis
Membuat Program Aplikasi Akademik dengan Menggunakan NetBeans 6.9
Membuat Program Aplikasi Akademik dengan Menggunakan NetBeans 6.9 1. Membuat Database dengan MySQL mysql> create table operator (userid varchar(10), passid varchar(10)); 2. Membuat Menu Utama : Langkah-langkahnya
MODUL PRAKTIKUM KE 9
MODUL PRAKTIKUM KE 9 A. Target Praktikum - Mahasiswa mengetahui struktur dasar pemrograman database. - Mahasiswa mengetahui cara pengoperasian simpan, edit, cari dan hapus suatu data dalam database. -
Database. Danu Wira Pangestu 1. Mengenal Database. Lisensi Dokumen:
Pemrograman Database Visual Basic MySQL (bagian 3) Danu Wira Pangestu [email protected] www.bangdanu.wordpress.com Lisensi Dokumen: Seluruh dokumen di IlmuKomputer.Com dapat digunakan, dimodifikasi dan
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
BAB III PEMBAHASAN 3.1 Analisa Sistem
BAB III PEMBAHASAN 3.1 Analisa Sistem Sistem Nursing Diagnostic Test Online adalah aplikasi berbasis web yang menyediakan test secara online yang bersifat try out yang dapat diakses oleh pengguna yang
4. BAB IV ANALISIS DAN PERANCANGAN SISTEM. diusulkan perancangan sistem baru, dimana kinerja dari suatu sistem yang baru
4. BAB IV ANALISIS DAN PERANCANGAN SISTEM 4.1 Perancangan Sistem Perancangan sistem dilakukan apabila tahap dari analisis sistem telah selesai dilakukan. Berdasarkan pada hasil analisis sistem yang sedang
Budi Permana, S.Kom [email protected]. Pendahuluan. Lisensi Dokumen:
Aplikasi Simpan, Edit, Cari, Hapus Menggunakan Visual Basic 2010 Budi Permana, S.Kom [email protected] Lisensi Dokumen: Seluruh dokumen di IlmuKomputer.Com dapat digunakan, dimodifikasi dan disebarkan
STUPID LOGIC PROGRAMMING II
MOH. NAZAR AGLIYONO STUPID LOGIC PROGRAMMING II Memahami konsep : SQL Stupid Logic Programming II SQL Oleh : Moh. Nazar Agliyono Editor : Azaret Alfonso KATA PENGANTAR Puji dan syukur selalu terlimpahkan
Riyanto
Membuat Form dan Report dengan Microsoft Access Riyanto [email protected] http://www.masto.co.cc Lisensi Dokumen: Seluruh dokumen di IlmuKomputer.Com dapat digunakan, dimodifikasi dan disebarkan secara
Didalam menampilkan peta yang sudah kita buat, kita akan menggunakan Slick2D sebagai sebuah frameworknya.
1 Teknologi Game Materi 2 Menampilkan peta di Game Tools yang dibutuhkan 1. JDK 6ux 2. Notepad++/Netbeans 6.x/JDeveloper/Eclipse Didalam menampilkan peta yang sudah kita buat, kita akan menggunakan Slick2D
BAB IV IMPLEMENTASI DAN PENGUJIAN
BAB IV IMPLEMENTASI DAN PENGUJIAN 4.1 Proses Aplikasi Pada bab ini akan dibahas implementasi sistem rancang bangun Aplikasi pencarian pasal-pasal undang-undang hukum dengan metode String Matching hingga
BAB II MICROSOFT VISUAL STUDIO
BAB II MICROSOFT VISUAL STUDIO 2.1 Pembuatan Database Pada Microsoft SQL Server Langkah-langkah pembuatan database pada Sql Server dapat dilakukan seperti berikut ini: 1. Langkah pertama yang dilakukan
Program Kalkulator Sederhana Menggunakan Java Netbeans
Program Kalkulator Sederhana Menggunakan Java Netbeans Membuat kalkulator sederhana menggunakan Java Netbeans cukup mudah. Karena program yang di tulis tidak terlalu rumit, tapi memang perlu sedikit kesabaran
2.1. Sistem Komunikasi
2. KOMUNIKASI 2.1. Sistem Komunikasi Pembahasan : bagaimana komunikasi antar object dalam sistem terdistribusi, khususnya dengan menggunakan RMI (Remote Method Invocation) dan RPC (Remote Procedure Call).
IF PEMROGRAMAN LANJUT MENGAKSES DATABASE. Oleh : Andri Heryandi, M.T.
IF34348 - PEMROGRAMAN LANJUT MENGAKSES DATABASE 12 Oleh : Andri Heryandi, M.T. MATERI HARI INI 1. Instalasi Database Server MySQL (XAMPP) 2. Mengaktifkan Database Server 3. Membuka Aplikasi Client MySQL
Membuat Kalkulator dengan Java
Membuat Kalkulator dengan Java Oleh: Eko Wicaksono Ini merupakan program kalkulator sederhana Kali ini saya ingin membuat tutor dari bahasa java, belajar membuat kalkulator namanya. Ini program masih sangat
Tutorial Java Desktop 4 Menampilkan Data dengan Form TextField
Tutorial Java Desktop 4 Menampilkan Data dengan Form TextField Oleh: Ardie Jocong Pada Episode ke 4 Ini saya akan memaparkan Bagaimana Menampilkan Data pada Form TextField di Netbeans... Sebelumnya dapat
BAB IV IMPLEMENTASI DAN PENGUJIAN
BAB IV IMPLEMENTASI DAN PENGUJIAN 4.1 Implementasi Sistem Dalam implementasi aplikasi system informasi monitoring proyek konstruksi berbasis web, program akan di-install pada server yang disediakan oleh
PEMROGRAMAN LANJUTAN JAVA. Dasar-Dasar Netbeans
PEMROGRAMAN LANJUTAN JAVA Dasar-Dasar Netbeans OLEH ONDRA EKA PUTRA, S.KOM FAKULTAS ILMU KOMPUTER UNIVERSITAS PUTRA INDONESI YPTK PADANG DASAR-DASAR NETBEANS Dalam pembahasan ini akan belajar dasar-dasar
TUTORIAL CODEIGNITER Langkah Tepat menjadi Web Developer Handal, menguasai CodeIgniter, jalan membuat aplikasi berbasis website lebih mudah
TUTORIAL CODEIGNITER Langkah Tepat menjadi Web Developer Handal, menguasai CodeIgniter, jalan membuat aplikasi berbasis website lebih mudah www.ilmuwebsite.com Bagian 4. CRUD (Create, Read, Update, Delete)
Membuat Aplikasi Tampil, Entri, Edit, Delete Mahasiswa
Tutorial Macromedia Dreamweaver PHP MySQL Membuat Aplikasi Tampil, Entri, Edit, Delete Mahasiswa Oleh Achmad Solichin, http://achmatim.net, [email protected] Dalam Tutorial Ini Diasumsikan Bahwa: 1. Di
BAB IV IMPLEMENTASI DAN PENGUJIAN
BAB IV IMPLEMENTASI DAN PENGUJIAN Setelah melakukan analisis dan perancangan terhadap aplikasi check point dan penghitung jumlah pada bus AKAP berbasis Android. Pada bab ini akan dibahas mengenai implementasi
Mudafiq Riyan Pratama Pendahuluan. Lisensi Dokumen:
Database Link Pada PostgreSQL Mudafiq Riyan Pratama [email protected] http://dhafiq-san.blogspot.com/ Lisensi Dokumen: Seluruh dokumen di IlmuKomputer.Com dapat digunakan, dimodifikasi dan disebarkan
Membuat Database mysql dengan PhpMyAdmin
Materi artikel : Membuat database mysql dengan PhpMyadmin View Insert Edit Delete Searching Membuat Hitcounter dengan file teks Syarat : Mengerti penggunaan tag HTML Browser dapat mengenali sintak Php
Membuat Program Perhitungan Sederhana dengan Java NetBeans 8.1
Membuat Program Perhitungan Sederhana dengan Java NetBeans 8.1 Deyidi Mokoginta [email protected] www.mokoginta.web.id Lisensi Dokumen: Seluruh dokumen di IlmuKomputer.Com dapat digunakan, dimodifikasi
Membuat CRUD Sederhana Menggunakan PHP Dengan Mysqli Extension
Membuat CRUD Sederhana Menggunakan PHP Dengan Mysqli Extension Mengapa menggunakan Mysqli Extension?? Pada PHP versi 5.5, extension mysql tidak direkomndasikan lagi karena berstatus deprecated, yang kemungkinan
Tutorial Singkat MySQL
Tutorial Singkat MySQL Mahmud Subaena [email protected] Lisensi Dokumen: Copyright 2009 IlmuKomputer.Com Seluruh dokumen di IlmuKomputer.Com dapat digunakan, dimodifikasi dan disebarkan
Pemrograman Web 1. Akademi Manajemen Informatika dan Komputer AMIK Royal Kisaran. Modul 2 Revisi 2. Tahun Akademik 2012/2013
Modul 2 Revisi 2. Tahun Akademik 2012/2013 Pemrograman Web 1 Akademi Manajemen Informatika dan Komputer AMIK Royal Kisaran Untuk kalangan Akademi Manajemen Informatika dan Komputer (AMIK) Royal Kisaran,
