Kamis, 30 September 2021

Mobile programming

 Assalamualaikum wr.wb 

Baiklah pada blok kali ini saya akan menjelaskan tentang source code baris dan kolom mobile programming import 'package:flutter/material.dart'; // berguna meng import apa yang ada dalam class yang telah di buat. class LayoutRow extends StatelessWidget { //untuk membuat nama class, dalam pemberian nama class tersebut menggunakan huruf kapital. Widget build(BuildContext context) { //kelas yang memuat widget yang sifatnya statis. return MaterialApp( //untuk memuat fungsi dari widget seperti tittle, dan lainnya. home: Scaffold( //widget utama untuk membuat sebuah halaman pada flutter appBar: AppBar( //digunakan pada sebuah aplikasi sebagai menu petunjuk untuk memudahkan pengguna aplikasi flexibleSpace: SafeArea( //untuk memasang silver menghindari intrupsi sistem operasi. child: Container( //berguna untuk memuat baris judul yang akan di muat. child: Column( //membuat column children: [ //isi dari judul Row( // berguna untuk memasukkan suatu baris children: [ IconButton( //berguna untuk menampilkan menu icon: Icon(Icons.menu), //menu pilihan tooltip: 'Navigation menu', //tampilan dari menu yang akan ditampilkan onPressed: null, // null disables the button ), Spacer(), //memberikan spasi pada suatu penulisan Text( //berguna untuk menampung suatu penulisan 'Kantin Politeknik Kampar', //kalimat yang akan ditampilkan pada sebuah judul. textAlign: TextAlign.center, //peletakan posisi dari penulisan ), Spacer() //memberikan spasi pada suatu penulisan ], ) ], ))), ), body: Container( child: Column( children: [ Row( // berguna untuk memasukkan suatu baris. children: [ Text( //berguna untuk menampung suatu penulisan 'Kolom Pertama Baris Pertama', //kalimat yang akan ditampilkan nantinya. textAlign: TextAlign.left, //peletakan posisi dari penulisan ), Spacer(), //memberikan spasi pada suatu penulisan Text( //berguna untuk menampung suatu penulisan 'Kolom Kedua Baris Pertama', //kalimat yang akan ditampilkan nantinya. textAlign: TextAlign.center, //peletakan posisi dari penulisan ), Spacer(), //memberikan spasi pada suatu penulisan Text( //berguna untuk menampung suatu penulisan 'Kolom Ketiga Baris Pertama', //kalimat yang akan ditampilkan nantinya. textAlign: TextAlign.right, //peletakan posisi dari penulisan ), ], ), Row( // berguna untuk memasukkan suatu baris children: [ Text( //berguna untuk menampung suatu penulisan 'Kolom Pertama Baris Kedua', //kalimat yang akan ditampilkan nantinya. textAlign: TextAlign.left, //peletakan posisi dari penulisan ), Spacer(), //memberikan spasi pada suatu penulisan Text( //berguna untuk menampung suatu penulisan 'Kolom Kedua Baris Kedua', //kalimat yang akan ditampilkan nantinya. textAlign: TextAlign.center, //peletakan posisi dari penulisan ), Spacer(), //memberikan spasi pada suatu penulisan Text( //berguna untuk menampung suatu penulisan 'Kolom Ketiga Baris Kedua', //kalimat yang akan ditampilkan nantinya. textAlign: TextAlign.right, //peletakan posisi dari penulisan ), ], ) ], ), ), )); } } void main() { //program yang akan di jalankan. runApp(LayoutRow()); //menjalankan class yang diatas. } Baik lah itulah penjelasan source code yg bisa saya jelaskan lebih dan kurang saya mohon maaf Wassalamu'alaikum wr.wb

Senin, 20 September 2021

CHAT NETWORK PROGRAMMING MULTICLIENT DAN MULTISERVER

 Class ChatServerMulti.java


import java.io.*; //untuk menampilkan data kepada pengguna


import java.net.*; //digunakan dalam membuat suatu komunikasi jaringan dalam sebuah prgram yang dibuat dengan bahasa pemograman java.


public class ChatServerMulti{ //berguna untuk memberikan nama class dari suatu kodingan.


 private static ServerSocket servSock; // merupakan ciri khas bahwa class tersebut diperuntukkan untuk server.


 private static final int PORT = 1234 ; // merupakan ciri khas bahwa class tersebut diperuntukkan untuk server.


 public static void main(String args[]) throws IOException{ // Suatu Method yang Membaca Input Data String.


   System.out.println("Opening Port.....\n"}; //menampilkan hasil dari pesan client.


   try{ //blok yang digunakan untuk menempatkan kode-kode program Java yang memungkinkan terjadinya exception.


    servSock = new ServerSocket(PORT); //Panjang antrian maksimum untuk koneksi yang akan datang berdasarkan pada parameter backlog.


   }catch(IOException e){ //digunakan untuk menangkap kesalahan yang terjadi pada blok try.


    System.out.println("Unable to attach to port"); //akan menampilkan proses Unable to attach to port.


    System.exit(1); //sistem keluar program jika setelah selesai.


   }


   do{ digunakan untuk mengerjakan sebuah atau sekelompok pernyataan berulang-ulang.


    Socket client = servSock.accept(); //sebuah class yang digunakan baik oleh client/server, instance dari class ini adalah nilai balik dari methode accept() yang dimiliki oleh class ServerSocket. Ketika methode accept() sudah dipanggil berapa sudah melakukan binding ke port tertentu dan siap untuk menerima request dari client.


   ClientHandler handler = new ClientHandler(client); membuka koneksi dan menunggu permintaan koneksi dari client. 


    handler.start(); //memulai koneksi dari client


    }while(true);//untuk menampilkan suatu pemilihan yang menghasilkan kebenaran.


 }


}


class ClientHandler extends Thread{ menampilkan koneksi dari client dan melakukan pengontrol aliran program.


 private Socket client ; // untuk pertukaran data antar aplikasi yang terdapat di dalam sebuah mesin maupun beda mesin dan pertukaran ini terjadi pada sebuah jaringan komputer.


 private BufferedReader in ; // Membaca Sebuah Bialangan atau Carakter sehingga bilanggan tersebut sanggup dimanfaat untuk Sebuah Program.


 private PrintWriter out ; //berguna untuk hasik penulisan akhir.


 public ClientHandler(Socket socket){ membuka koneksi dan menunggu permintaan koneksi dari client. 


   client = socket ; //berguna untuk melakukan pertukaran data antar aplkasi.


   try{ //blok yang digunakan untuk menempatkan kode-kode program Java yang memungkinkan terjadinya exception.


    in = new BufferedReader(new  


    InputStreamReader(client.getInputStream()));


    out = new PrintWriter(client.getOutputStream(),true); //keluaran dari penulisan akhir pesan.


   }catch(IOException e){ /digunakan untuk menangkap kesalahan yang terjadi pada blok try.


    e.printStackTrace(); digunakan untuk mentrace error yang didapat pada block catch.


   }


 }


public void run(){ //menjalankan kodingan yang akan di program.


 try{ //blok yang digunakan untuk menempatkan kode-kode program Java yang memungkinkan terjadinya exception.


   String received ;  


   do{ // digunakan untuk mengerjakan sebuah atau sekelompok pernyataan berulang-ulang.


    received = in.readLine(); //menerima pesan masuk.


    System.out.println(received); //mengeluarkan hasil dari balasan pesan.


    out.println("ECHO : " + received); //menampilkan pesan tersebut.


   }while(!received.equals("QUIT")); //pemilihan untuk keluar dari balasan pesan.


 }catch(IOException e){ //digunakan untuk menangkap kesalahan yang terjadi pada blok try.


   e.printStackTrace(); //digunakan untuk mentrace error yang didapat pada block catch.


 }


 finally{


   try{  


    if (client != null){ //jika client nilai client nya itu null.


    System.out.println("Closing down connection"); //menampilkan closing down connection.


    client.close(); //telah menutup client


    }


   }catch(IOException e){ //digunakan untuk menangkap kesalahan yang terjadi pada blok try.


    e.printStackTrace();


   }//digunakan untuk mentrace error yang didapat pada block catch.


 }


 }


}




ChatClientMulti.java


import java.io.*; //untuk menampilkan data kepada pengguna.


import java.net.*; //digunakan dalam membuat suatu komunikasi jaringan dalam sebuah prgram yang dibuat dengan bahasa pemograman java.


public class ChatClientMulti{ //berguna untuk memberikan nama class dari suatu kodingan.


 private static InetAddress host ; //host program yang digunakan.


 private static final int PORT = 1234; //port akhir yang digunakan


 private static Socket link ; //untuk pertukaran data antar aplikasi dengan menggunakan sebuah link.


 private static BufferedReader in ; // Membaca Sebuah Bilangan atau Carakter sehingga bilanggan tersebut sanggup dimanfaat untuk Sebuah Program.


 private static PrintWriter out ; /menampilkan hasil keluaran dari client.


 private static BufferedReader keyboard ; //pengetikan caracter dalam sebuah program.


 public static void main(String args[]){ // method utama untuk menjalankan program


   try{ //blok yang digunakan untuk menempatkan kode-kode program Java yang memungkinkan terjadinya exception.


    host = InetAddress.getLocalHost(); //host yang digunakan dalam program.


    link = new Socket(host,PORT); //berupa link dari host yang digunakan.


    in = new BufferedReader(  


InputStreamReader(link.getInputStream()));


    out = new PrintWriter(link.getOutputStream(),true); //mengeluarkan hasil penulisan berupa link.


    keyboard = new BufferedReader( InputStreamReader(System.in));


    String message, response; //merespon pesan yang masuk.


    do{ // digunakan untuk mengerjakan sebuah atau sekelompok pernyataan berulang-ulang.


     System.out.print("Enter message(QUIT to exit)"); //mengeluarkan kalimat enter message untuk keluar.


     message = keyboard.readLine(); //memasukkan pesan yang akan disampainkan.


     out.println(message); //menampilkan keluaran pesan yang telah di masukkan.


     response = in.readLine(); //reposn dari pesan yang masuk.


     System.out.println(response); //menampilna balasn dari pesan yang masuk.


     }while(!message.equals("QUIT")) ; //pemilihan ketikan pesan akan keluar.


   }catch(UnknownHostException e){  


    System.out.println("Host ID not found!"); //menampilkan habwasannya pesan yang disampaikan tidak ada.


   }


   catch(IOException e){ //digunakan untuk menangkap kesalahan yang terjadi pada blok try.


    e.printStackTrace(); //digunakan untuk mentrace error yang didapat pada block catch.


   }


   finally{  


    try{ //blok yang digunakan untuk menempatkan kode-kode program Java yang memungkinkan terjadinya exception.


     if (link != null){


      System.out.println("Closing down connection"); //sistem keluat atau menampilkan kalimat closing down connection.


      link.close(); //link telah tutup.


     }


   }


   catch(IOException e){ //digunakan untuk menangkap kesalahan yang terjadi pada blok try.


     e.printStackTrace(); //digunakan untuk mentrace error yang didapat pada block catch


  }


  }


 }


}




Sekian penjelasan source code nya, semoga bermanfaat. 


Terimakasih telah mengunjungi laman blog ini

Jumat, 17 September 2021

SOURCE CODE APP BAR MOBILE PROGRAMMING

App Bar, digunakan untuk menampilkan sebuah menu pemilihan dalam sebuah aplikasi. Pada blog kali ini saya akan menampilkan codingan Penggunaan App Bar dengan menggunakan Aplikasi Flutter.

import 'package:flutter/material.dart';//untuk menginput program yang berada di dalam material dart.

class MyAppBar extends StatelessWidget {//merupakan kelas dengan nama MyAppBar

  Widget build(BuildContext context) {//memiliki tipe data widget

    return MaterialApp(//merupakan nilai balikan dari MaterialApp

    home: Scaffold(//dalam home terdapat scaffold

      appBar: AppBar(//di dalam appbar terdapat juga appbar

        title: Text('Sample Code'),//untuk memberikan judul dalam suatu program

        leading: const IconButton(

          icon: Icon(Icons.menu),

          tooltip: 'Navigation menu',

          onPressed: null,

        ),

          ),

Senin, 13 September 2021

MOBILE PROGRAMMING

 MOBILE PROGRAMMING "


     Mobile Programming adalah pemrograman yang ditujukan untuk pembuatan aplikasi diperangkat mobile yang dapat kita buat dengan menggunakan Java.


"SISTEM OPERASI PERANGKAT BERGERAK"


1. Android (Android merupakan OS yang dibuat oleh Andy Rubin pada tahun 2005 sebelum diakuisisi oleh Google, dirilis tahun 2007 bersamaan dibentuk Open Handset Alliance).


2. iOS (Sistem operasi ini pertama kali diluncurkan tahun 2007. 


3. Windows Phone (Windows Phone adalah keluarga sistem operasi perangkat yang dikembangkan oleh Microsoft dan merupakan pertama pengganti platform Windows Mobile. Sistem operasi ini diluncurkan bulan Oktober 2010 dan diluncurkan di Asia pada awal 2011).


4. BlackBerry (Blackberry adalah OS yang dikembangkan Research in Motion (RIM), perusahaan IT asal Kanada).


5. Meego (MeeGo adalah sebuah sistem operasi open source yang berbasis Linux dan ditargetkan untuk pasar genggam). Meego adalah hasil kerjasama Nokia dan Intel, pertama kali diperkenalkan pada Mobile World Congress tahun 2010).


6. Jolla OS (Jolla adalah perusahaan yang didirikan oleh mantan karyawan Nokia, yang juga terlibat dalam sistem operasi MeeGo – pengembangan platform yang dibuat Nokia namun tidak digunakan karena mereka akhirnya memilih OS Windows buatan Microsoft).


7. Symbian (Diperkenalkan tahun 1997).


8. Firefox OS (Diperkenalkan ke publik melalui CES 2013. Segenap dukungan telah didapatkan Mozilla untuk proyek Firefox OS seperti ZTE yang meluncurkan smartphone berOS Firefox, 2 Juli 2013).


9. Tizen (Tizen OS adalah sistem operasi open source berbasis Linux yang dikembangkan Samsung yang bertujuan untuk menyaingi Android. Tizen OS telah bekerja sejak awal 2012).


10. Palm OS (Palm OS diperkenalkan pada tahun 1996 yang awalnya dikembangkan untuk ponsel PDA (Personal Digital Assistant).


11. Maemo (Maemo adalah sebuah sistem operasi terbaru dari sebuah vendor besar Nokia yang digunakan oleh perangkat terbatas Internet Tablet yaitu seri N770, N800, N810 dan N900).

 


"LINGKUNGAN PENGEMBANG"


a) Gerhana


b) Eclipse merupakan salah satu alat pengembangan aplikasi yang populer di kalangan pengembang aplikasi Android dan Java. Eclipse ini telah mendukung Java, Java ME, Java EE, C/C++, dan PHP. Alat pengembangan aplikasi ini bisa dijalankan di sistem operasi Windows,

Mac OS, dan Linux.


c) Microsoft Visual Studio

Microsoft Visual Studio ini telah mendukung C#, C++, VB.NET, HTML5, JavaScript, dan Java.


d) Kode X

Bahasa pemrograman yang didukung oleh Xcode ini terdiri dari Objective-C dan Swift (bahasa pemrograman baru dari Apple). Alat pengembangan aplikasi ini bisa dijalankan di sistem operasi Mac OS.


e) NetBeans

NetBeans telah mendukung Java, Java ME, Java SE, Java EE, HTML5, PHP, Groovy, dan C/C++. Alat pengembangan aplikasi ini bisa dijalankan di sistem operasi Windows, Mac OS, dan Linux.


f) Tanda kurung

Brackets ini sendiri dibuat oleh Adobe Systems Incorporated sebagai salah satu produsen perangkat lunak multimedia yang terkenal di dunia. Alat pengembangan aplikasi website ini dapat dijalankan di sistem operasi Windows, Mac OS, dan Linux.


 "KELEBIHAN DAN KEKURANGAN SISTEM OPERASI MOBILE"


Kelebihan sistem operasi mobile (OS Android)


1. Merupakan sistem operasi open source, sehingga mudah dikembangkan oleh handset developer.


2. Mudah dikustomisasi dan diubah.


3. Dukungan aplikasi yang sangat banyak dan beragam.



Kekurangan sistem operasi mobile (OS Android)


1. Memiliki proses sistem kerja yang cukup berat, sehingga memakan RAM yang cukup banyak.


2. Kadang-kadang disandingkan dengan spesifikasi hardware yang buruk, menjadi kurang responsif.

 

Penjelasan Source code:


import 'package:flutter/material.dart';//menambahkan method main() disertai dengan memanggil fungsi runApp


void main(){//untuk mengeksekusi program yang akan dijalankan


  runApp(const Center(//pusat agar program yang kita jalankan itu dapat ditampilkan.


    child: Text("selamat datang di dunia", textDirection: TextDirection.ltr), //menambahkan Widget dibagain child untuk menambahkan text


  ));


} //penutup program nya 

Kamis, 09 September 2021

MOBILE PROGRAMMING


            " MOBILE PROGRAMMING "


   


"SISTEM OPERASI PERANGKAT BERGERAK"


1. Android (Android merupakan OS yang dibuat oleh Andy Rubin pada tahun 2005 sebelum diakuisisi oleh Google, dirilis tahun 2007 bersamaan dibentuk Open Handset Alliance).


2. iOS (Sistem operasi ini pertama kali diluncurkan tahun 2007. 


3. Windows Phone (Windows Phone adalah keluarga sistem operasi perangkat yang dikembangkan oleh Microsoft dan merupakan pertama pengganti platform Windows Mobile. Sistem operasi ini diluncurkan bulan Oktober 2010 dan diluncurkan di Asia pada awal 2011).


4. BlackBerry (Blackberry adalah OS yang dikembangkan Research in Motion (RIM), perusahaan IT asal Kanada).


5. Meego (MeeGo adalah sebuah sistem operasi open source yang berbasis Linux dan ditargetkan untuk pasar genggam). Meego adalah hasil kerjasama Nokia dan Intel, pertama kali diperkenalkan pada Mobile World Congress tahun 2010).


6. Jolla OS (Jolla adalah perusahaan yang didirikan oleh mantan karyawan Nokia, yang juga terlibat dalam sistem operasi MeeGo – pengembangan platform yang dibuat Nokia namun tidak digunakan karena mereka akhirnya memilih OS Windows buatan Microsoft).


7. Symbian (Diperkenalkan tahun 1997).


8. Firefox OS (Diperkenalkan ke publik melalui CES 2013. Segenap dukungan telah didapatkan Mozilla untuk proyek Firefox OS seperti ZTE yang meluncurkan smartphone berOS Firefox, 2 Juli 2013).


9. Tizen (Tizen OS adalah sistem operasi open source berbasis Linux yang dikembangkan Samsung yang bertujuan untuk menyaingi Android. Tizen OS telah bekerja sejak awal 2012).


10. Palm OS (Palm OS diperkenalkan pada tahun 1996 yang awalnya dikembangkan untuk ponsel PDA (Personal Digital Assistant).


11. Maemo (Maemo adalah sebuah sistem operasi terbaru dari sebuah vendor besar Nokia yang digunakan oleh perangkat terbatas Internet Tablet yaitu seri N770, N800, N810 dan N900).

 


"LINGKUNGAN PENGEMBANG"


a) Gerhana


b) Eclipse merupakan salah satu alat pengembangan aplikasi yang populer di kalangan pengembang aplikasi Android dan Java. Eclipse ini telah mendukung Java, Java ME, Java EE, C/C++, dan PHP. Alat pengembangan aplikasi ini bisa dijalankan di sistem operasi Windows,

Mac OS, dan Linux.


c) Microsoft Visual Studio

Microsoft Visual Studio ini telah mendukung C#, C++, VB.NET, HTML5, JavaScript, dan Java.


d) Kode X

Bahasa pemrograman yang didukung oleh Xcode ini terdiri dari Objective-C dan Swift (bahasa pemrograman baru dari Apple). Alat pengembangan aplikasi ini bisa dijalankan di sistem operasi Mac OS.


e) NetBeans

NetBeans telah mendukung Java, Java ME, Java SE, Java EE, HTML5, PHP, Groovy, dan C/C++. Alat pengembangan aplikasi ini bisa dijalankan di sistem operasi Windows, Mac OS, dan Linux.


f) Tanda kurung

Brackets ini sendiri dibuat oleh Adobe Systems Incorporated sebagai salah satu produsen perangkat lunak multimedia yang terkenal di dunia. Alat pengembangan aplikasi website ini dapat dijalankan di sistem operasi Windows, Mac OS, dan Linux.


 "KELEBIHAN DAN KEKURANGAN SISTEM OPERASI MOBILE"


Kelebihan sistem operasi mobile (OS Android)


1. Merupakan sistem operasi open source, sehingga mudah dikembangkan oleh handset developer.


2. Mudah dikustomisasi dan diubah.


3. Dukungan aplikasi yang sangat banyak dan beragam.



Kekurangan sistem operasi mobile (OS Android)


1. Memiliki proses sistem kerja yang cukup berat, sehingga memakan RAM yang cukup banyak.


2. Kadang-kadang disandingkan dengan spesifikasi hardware yang buruk, menjadi kurang responsif.

 

Penjelasan Source code:


import 'package:flutter/material.dart';//menambahkan method main() disertai dengan memanggil fungsi runApp


void main(){//untuk mengeksekusi program yang akan dijalankan


  runApp(const Center(//pusat agar program yang kita jalankan itu dapat ditampilkan.


    child: Text("selamat datang di dunia", textDirection: TextDirection.ltr), //menambahkan Widget dibagain child untuk menambahkan text


  ));


} //penutup program nya 

Senin, 06 September 2021

Network programming

Selasa 7 September 2021

Hairul Rambe


     Socket adalah sebuah Class yang disediakan oleh beberapa bahasa pemrograman. Dengan socket, sebuah aplikasi di suatu komputer dapat Tentu saja aplikasi di komputer yang dihubungi menerima koneksi juga menggunakan socket. Dengan kata lain socket adalah suatu Class yang digunakan oleh aplikasi untuk saling berhubungan.

     Hampir semua sistem operasi menyediakan application programming interface (API) yang memungkinkan sebuah aplikasi komputer mengkontrol dan menggunakan socket jaringan komputer. API socket internet biasanya berdasarkan pada standar berkeley sockets.

     Socket programming adalah pemrograman yang menggunakan socket. Socket ini semacam terowongan/tunnel yang bisa dipakai untuk komunikasi/pertukaran arah secara bolak-balik. Dengan socket programming, komunikasi dapat terjalin antara bahasa pemrograman yang berbeda, antara tingkatan user yang berbeda, bahkan antar komputer yang berbeda atau gabungan ketiganya.

     Berikut penjelasan dari tiap baris Source code :

1.  Source Code Class MyServer.java 

import java.io.*; //untuk menampilkan data kepada pengguna

import java.net.*; //digunakan dalam membuat suatu komunikasi jaringan dalam sebuah prgram yang dibuat dengan bahasa pemograman java

public class MyServer { //berguna untuk memberikan nama class dari suatu kodingan

public static void main(String[] args){ // method utama untuk menjalankan program

try{ //blok yang digunakan untuk menempatkan kode-kode program Java yang memungkinkan terjadinya exception

ServerSocket ss=new ServerSocket(6666); //Server menginstansiasi sebuah object ServerSocket, beserta port number yang digunakan untuk komunikasi.

Socket s=ss.accept();//Server memanggil method accept() dari ServerSocket class. Method ini menunggu hingga client terhubung dengan server pada port yang digunakan.

DataInputStream dis=new DataInputStream(s.getInputStream()); //merupakan class inputan di program java untuk menerima masukkan dari user yang kemudian diikuti oleh variabel penampung seluruh intput.

String str=(String)dis.readUTF(); //metode membaca dalam string yang telah dikodekan menggunakan for,at UTF-8 yang dimodifikasi. String karakter didekode dari UTF dan dikembalikan sebagai String.

System.out.println("message= "+str); //pada perintah ini untuk menampilkan pesan yang telah di buat sebelumnya.

ss.close(); ////Metode ini untuk menutup soket

}catch(Exception e){System.out.println(e);} //digunakan untuk menangkap kesalahan yang terjadi pada blok try

} // penutup dari seluruh program nya

}  // penutup dari seluruh program nya

2. Penjelasan source code MyClient.java

import java.io.*;  //untuk menampilkan data kepada pengguna

import java.net.*; //digunakan dalam membuat suatu komunikasi jaringan dalam sebuah prgram yang dibuat dengan bahasa pemograman java

public class MyClient {  //berguna untuk memberikan nama class dari suatu kodingan

public static void main(String[] args) { // method utama untuk menjalankan program

try{ //blok yang digunakan untuk menempatkan kode-kode program Java yang memungkinkan terjadinya exception

Socket s=new Socket("localhost",6666); //Server memanggil method accept() dari ServerSocket class. Method ini menunggu hingga client terhubung dengan server pada port yang digunakan.

DataOutputStream dout=new // digunakan untuk banyak hal yang anda baca

DataOutputStream(s.getOutputStream()); // digunakan untuk banyak hal yang anda baca

dout.writeUTF("Hello Server"); //untuk menampilkan tulisan dari Hello Sever

dout.flush(); //Mengosongkan aliran keluaran dan memaksa semua byte keluaran yang di-buffer untuk ditulis

dout.close(); //digunakan untuk keluar dari sistem client yang telah di jalankan sebelumnya.

s.close();  //Metode ini untuk menutup soket

}catch(Exception e){System.out.println(e);} //digunakan untuk menangkap kesalahan yang terjadi pada blok try

} // penutup dari seluruh program nya

} // penutup dari seluruh program nya 

Senin, 12 Juli 2021

Membuat menu login pada netbeans dengan mehubungkan Mysql

 langkah pertama yang harus dilakukan adalah Start XAMPP Control Panel 


kemudian setelah Xampp start, buka browser teman - teman, kemudian di browser ketik localhost/phpmyadmin 


Langkah selanjutnya adalah membuat database Mysql di phpmyadmin. klik New - > Buat Database -> Kirim ,


Setelah database dibuat kemudian buat tabelnya.


Kemudian buat kolom : username varchar(20),pass varchar (20).


Setelah tabel dan kolom dibuat, jadikan kolom username sebagai primary key dan isilah record tabel dengan cara klik Tambahkan / insert. Isilah dengan username : admin, dan pass : admin untuk memudahkan anda.


Setelah database selesai di buat,langkah selanjutnya adalah Coding Javanya. Disini saya menggunakan IDE Netbeans. Buatlah project baru di Netbeans dengan cara klik file -> New Project, kemudian pilih Java -> Java Aplication kemudian next.


Kemudian rubah nama project menjadi appLogin, kemudian klik browse apabila ingin menaruh project di folder berbeda, setelah itu hilangkan ceklis yang ada di create main class, kemudian finish.


Kemudian klik kanan pada Libraries -> add library ,pilih MySQL jdbc driver kemudian add library.


Setelah library MySQL ditambahkan buatlah class baru dengan cara klik kanan Source package -> New -> Java Class. Beri nama class tersebut, 


kemudian isikan coding KoneksiDatabase seperti ini :


import java.sql.*;


public class KoneksiDatabase {


 private static Connection koneksi;


 public static Connection getKoneksi(){


  if (koneksi == null){


   try {String url = "jdbc:mysql://localhost:3306/login"; // nama databasenya login


          String user="root"; // username mysql root


          String pass=""; //passwordnya kosong


 DriverManager.registerDriver(new com.mysql.jdbc.Driver());


koneksi = DriverManager.getConnection(url , user, pass);


 } 


   catch(SQLException t){


     System.out.print("Gagal melakukan koneksi ke database");


 }


}


return koneksi;


}


 } 


Setelah Coding koneksi selesai lanjutkan membuat Form Login . Klik default package -> New -> jFrame Form , beri nama formnya FormLogin.


Siapkan 2 buah label, 2 buah jtextField, 2 buah jButton sesuaikan.


Rubahlah nama variable jTextField1 menjadi txtUsername, passwordField menjadi txtPass, jButton1 menjadi btnSimpan, jButton2 menjadi btnCancel. Untuk merubah variable namenya klik kanan pada objek yang akan dirubah kemudian pilih change variable name. Setelah sudah dirubah semua klik kanan pada button login kemudian pilih Event -> Action ->actionPerformed , 


Sebelum coding btnLogin import dahulu package yang dibutuhkan, taruh pada baris paling atas di Form_Login.Berikut coding import packagenya :


import java.sql.Connection;


import java.sql.Statement;


import java.sql.*;


import javax.swing.JOptionPane;


coding button login seperti dibawah ini :


private void btnLoginActionPerformed(java.awt.event.ActionEvent evt) {                                         


        // TODO add your handling code here:


        try {


            Connection c = KoneksiDatabase.getKoneksi();


            Statement s = c.createStatement();


            String sql = "SELECT * FROM tlogin where username='"+txtUsername.getText() + "' and pass='"+ txtPass.getText() +"'";         


            ResultSet r = s.executeQuery(sql);          


            int baris = 0;


            while (r.next()) {


                baris = r.getRow();


            }       


            if (baris ==1) { JOptionPane.showMessageDialog(null,"Berhasil Login");


                dispose();


            }else {


                JOptionPane.showMessageDialog(null,"Gagal Login");


            }       


        } catch (SQLException e) {          


        }


    }  


Lakukan hal sama pada button cancel kemudian isi coding seperti dibawah ini :


private void btnCancelActionPerformed(java.awt.event.ActionEvent evt) {                                          


        // TODO add your handling code here:


        System.exit(0);


    }        


Sampai tahap ini proses coding sudah selesai, kemudian setting agar run pertama Form_Login dengan cara Klik kanan project -> Pilih properties -> klik Run -> cari Form_Login, 


Coba jalankan projectnya, untuk username dan passwordnya samakan seperti yang kamu buat di databasenya. Semoga artikel ini bermanfaat.

Senin, 14 Juni 2021

Source code aplikasi kalkulator

  *

 * To change this license header, choose License Headers in Project Properties.

 * To change this template file, choose Tools | Templates

 * and open the template in the editor.

 */

package latihan1;


/**

 *

 * @author oryza

 */

public class kalkulator extends javax.swing.JFrame {


    /**

     * Creates new form kalkulator

     */

    public kalkulator() {

        this.setUndecorated(true);

        this.setLocationRelativeTo(null);

        initComponents();

    }


    /**

     * This method is called from within the constructor to initialize the form.

     * WARNING: Do NOT modify this code. The content of this method is always

     * regenerated by the Form Editor.

     */

    @SuppressWarnings("unchecked")

    // <editor-fold defaultstate="collapsed" desc="Generated Code">//GEN-BEGIN:initComponents

    private void initComponents() {


        jLabel1 = new javax.swing.JLabel();

        jLabel2 = new javax.swing.JLabel();

        nilai1 = new javax.swing.JTextField();

        jLabel3 = new javax.swing.JLabel();

        nilai2 = new javax.swing.JTextField();

        jLabel4 = new javax.swing.JLabel();

        jumlah = new javax.swing.JLabel();

        operator = new javax.swing.JComboBox();

        hitung = new javax.swing.JButton();

        jButton2 = new javax.swing.JButton();

        jButton3 = new javax.swing.JButton();


        setDefaultCloseOperation(javax.swing.WindowConstants.EXIT_ON_CLOSE);


        jLabel1.setText("HITUNG SEDERHANA");

// nama judul di atas 


        jLabel2.setText("Nilai 1 : ");

//untk mencari nilai 1


        nilai1.setText("0");

// nilai 1 sama dengan 0


        jLabel3.setText("Nilai 1 : ");

//mencari nilai 2


        nilai2.setText("0");

// nilai 2 sama dengan 0


        jLabel4.setText("Jumlah");

// untuk mencari jumlah di dari nilai 1 dan nilai 2


        jumlah.setFont(new java.awt.Font("Dialog", 1, 14)); // NOI18N

        jumlah.setForeground(new java.awt.Color(255, 0, 0));

        jumlah.setText("0");


        operator.setFont(new java.awt.Font("Dialog", 1, 14)); // NOI18N

        operator.setModel(new javax.swing.DefaultComboBoxModel(new String[] { "+", "-", "*", "/" }));

//mencari untuk gabungan perkalian,pembagian,pengurangan,penjumlahan

        hitung.setText("Hitung");

//rumus untuk mencari hitung 

        hitung.addActionListener(new java.awt.event.ActionListener() {

            public void actionPerformed(java.awt.event.ActionEvent evt) {

                hitungActionPerformed(evt);

            }

        });

   jButton2.setText("Kosongkan");

//rumus mencari untuk di kosongkan atau untuk mereset

        jButton2.addActionListener(new java.awt.event.ActionListener() {

            public void actionPerformed(java.awt.event.ActionEvent evt) {

                jButton2ActionPerformed(evt);

            }

        });


        jButton3.setText("Keluar");

//rumus untuk keluar dari aplikasi tertentu

        jButton3.addActionListener(new java.awt.event.ActionListener() {

            public void actionPerformed(java.awt.event.ActionEvent evt) {

                jButton3ActionPerformed(evt);

            }

        });


        javax.swing.GroupLayout layout = new javax.swing.GroupLayout(getContentPane());

        getContentPane().setLayout(layout);

        layout.setHorizontalGroup(

            layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)

            .addGroup(layout.createSequentialGroup()

                .addContainerGap()

                .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)

                    .addComponent(operator, 0, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)

                    .addGroup(javax.swing.GroupLayout.Alignment.TRAILING, layout.createSequentialGroup()

                        .addGap(0, 68, Short.MAX_VALUE)

                        .addComponent(jLabel1)

                        .addGap(0, 68, Short.MAX_VALUE))

                    .addGroup(layout.createSequentialGroup()

                        .addComponent(jLabel2)

                        .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)

                        .addComponent(nilai1))

                    .addGroup(layout.createSequentialGroup()

                        .addComponent(jLabel3)

                        .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)

                        .addComponent(nilai2))

                    .addGroup(layout.createSequentialGroup()

                        .addComponent(jLabel4)

                        .addGap(18, 18, 18)

                        .addComponent(jumlah, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)))

                .addContainerGap())

            .addGroup(layout.createSequentialGroup()

                .addComponent(hitung)

                .addGap(18, 18, 18)

                .addComponent(jButton2)

                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)

                .addComponent(jButton3)

                .addGap(0, 0, Short.MAX_VALUE))

        );

        layout.setVerticalGroup(

            layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)

            .addGroup(layout.createSequentialGroup()

                .addGap(21, 21, 21)

                .addComponent(jLabel1)

                .addGap(18, 18, 18)

                .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)

                    .addComponent(jLabel2)

                    .addComponent(nilai1, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))

                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)

                .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)

                    .addComponent(jLabel3)

                    .addComponent(nilai2, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))

                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)

                .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)

                    .addComponent(jLabel4)

                    .addComponent(jumlah, javax.swing.GroupLayout.PREFERRED_SIZE, 24, javax.swing.GroupLayout.PREFERRED_SIZE))

                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)

                .addComponent(operator, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)

                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)

                .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)

                    .addComponent(hitung)

                    .addComponent(jButton2)

                    .addComponent(jButton3))

                .addContainerGap(64, Short.MAX_VALUE))

        );


        pack();

    }// </editor-fold>//GEN-END:initComponents


    private void hitungActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_hitungActionPerformed

        int n1=0,n2=0,j=0;

//untuk mencari nilai dari n1, n2, dan j

        n1=Integer.valueOf(nilai1.getText());

        n2=Integer.valueOf(nilai2.getText());

        String op=operator.getSelectedItem().toString();

//        jumlah.setText(operator.getSelectedItem().toString());

        if(op=="+"){

// untuk mencari penjumlahan

            j=n1+n2;

        }else if(op=="-"){

// untuk mencari pengurangan

            j=n1-n2;

        }else if(op=="*") {

//untuk mencari perkalian

            j=n1*n2;

        }else{

            j=n1/n2;

// untuk mencari pembagian

        }

        jumlah.setText(String.valueOf(j));

        // TODO add your handling code here:

    }

//GEN-LAST:event_hitungActionPerformed


    private void jButton3ActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_jButton3ActionPerformed

        System.exit(WIDTH);

        // TODO add your handling code here:

    }//GEN-LAST:event_jButton3ActionPerformed


    private void jButton2ActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_jButton2ActionPerformed

        nilai1.setText("0");

        nilai2.setText("0");

        jumlah.setText("0");

        operator.setSelectedIndex(0);

        // TODO add your handling code here:

    }//GEN-LAST:event_jButton2ActionPerformed


    /**

     * @param args the command line arguments

     */

    public static void main(String args[]) {

        /* Set the Nimbus look and feel */

        //<editor-fold defaultstate="collapsed" desc=" Look and feel setting code (optional) ">

        /* If Nimbus (introduced in Java SE 6) is not available, stay with the default look and feel.

         * For details see http://download.oracle.com/javase/tutorial/uiswing/lookandfeel/plaf.html 

         */

        try {

            for (javax.swing.UIManager.LookAndFeelInfo info : javax.swing.UIManager.getInstalledLookAndFeels()) {

                if ("Nimbus".equals(info.getName())) {

                    javax.swing.UIManager.setLookAndFeel(info.getClassName());

                    break;

                }

            }

        } catch (ClassNotFoundException ex) {

            java.util.logging.Logger.getLogger(Game.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);

        } catch (InstantiationException ex) {

            java.util.logging.Logger.getLogger(Game.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);

        } catch (IllegalAccessException ex) {

            java.util.logging.Logger.getLogger(Game.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);

        } catch (javax.swing.UnsupportedLookAndFeelException ex) {

            java.util.logging.Logger.getLogger(Game.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);

        }

        //</editor-fold>


        /* Create and display the form */

        java.awt.EventQueue.invokeLater(new Runnable() {

            public void run() {

                new Game().setVisible(true);

            }

        });

    }


    // Variables declaration - do not modify//GEN-BEGIN:variables

    private javax.swing.JButton hitung;

    private javax.swing.JButton jButton2;

    private javax.swing.JButton jButton3;

    private javax.swing.JLabel jLabel1;

    private javax.swing.JLabel jLabel2;

    private javax.swing.JLabel jLabel3;

    private javax.swing.JLabel jLabel4;

    private javax.swing.JLabel jumlah;

    private javax.swing.JTextField nilai1;

    private javax.swing.JTextField nilai2;

    private javax.swing.JComboBox operator;

    // End of variables declaration//GEN-END:variables

}




penjelasan kalkulator,

jLabel1.setText("HITUNG SEDERHANA"); //ini sama dengan judul di atas dengan nama HITUNG SEDERHANA

jLabel2.setText("Nilai 1 : "); // rumus yang di gunakan untuk mencari nilai 1 

nilai1.setText("0"); // nilai 1 sama dengan 0

jLabel3.setText("Nilai 1 : "); // rumus yang di gunakan untuk mencari nilai 2

nilai2.setText("0"); // nilai 2 sama dengan 0

jLabel4.setText("Jumlah"); // mencari jumlah dari hasil nilai 1 dan nilai 2 atau hasil dari nilai 1 dan 2

operator.setModel(new javax.swing.DefaultComboBoxModel(new String[] { "+", "-", "*", "/" })); // mencari atau gabungan dari penjumlahan,pengurangan,perkalian, dan perkalian.

hitung.setText("Hitung"); // untuk mencari rumus hitung

jButton2.setText("Kosongkan"); //untuk mengkosongkan hasil atau meresetkan hasil.

jButton3.setText("Keluar"); // untuk keluar dari aplikasi 

n1=Integer.valueOf(nilai1.getText());

// nilai 1 dengan menggunakan tipe data integer

n2=Integer.valueOf(nilai2.getText());

// nilai 2 dengan menggunakan tipe data integer

 String op=operator.getSelectedItem().toString();

//jumlah.setText(operator.getSelectedItem().toString());

if(op=="+")

// untuk mencari penjumlahan

j=n1+n2;

}else if(op=="-"){

// untuk mencari pengurangan

j=n1-n2;

}else if(op=="*") {

//untuk mencari perkalian

j=n1*n2;

}else{

j=n1/n2;

// untuk mencari pembagian

jumlah.setText(String.valueOf(j))// untuk menghasilkan dari nilai nilai yang di atas seperti penjumlahan,pengurangan, pembagian, perkalian.