Social Items

I changed my Instagram nickname because someone stole my photos, but I didn’t expect them to create a new account using my old nickname. I also forgot that my posts still have my old nickname as a watermark. If you check the account details, you can see that the impersonating account was created in 2025, while my original account was created in 2013.
Configure-IP-ACLs-to-Mitigate-Attacks-Packet-Tracer.JPG

Configure IP ACLs to Mitigate Attacks Packet Tracer - scodeid.
Addressing Table - Tabel Pengalamatan

Konfigurasi-IP-ACLs-Untuk-Mitigate-Attacks-Packet-Tracer

Objectives


  • Verify connectivity among devices before firewall configuration.
  • Use ACLs to ensure remote access to the routers is available only from management station PC-C.
  • Configure ACLs on R1 and R3 to mitigate attacks.
  • Verify ACL functionality.

Tujuan


  • Verifikasi konektivitas antar perangkat sebelum konfigurasi firewall.
  • Gunakan ACL untuk memastikan akses jarak jauh ke router hanya tersedia dari stasiun manajemen PC-C.
  • Konfigurasikan ACL pada R1 dan R3 untuk mengurangi serangan.
  • Verifikasi fungsionalitas ACL.

Background / Scenario

Access to routers R1, R2, and R3 should only be permitted from PC-C, the management station. PC-C is also used for connectivity testing to PC-A, a server providing DNS, SMTP, FTP, and HTTPS services.

Standard operating procedure is to apply ACLs on edge routers to mitigate common threats based on source and/or destination IP address. In this activity, you create ACLs on edge routers R1 and R3 to achieve this goal. You then verify ACL functionality from internal and external hosts.

The routers have been pre-configured with the following:

o    Enable password: ciscoenpa55
o    Password for console: ciscoconpa55
o    Username for VTY lines: SSHadmin
o    Password for VTY lines: ciscosshpa55
o    IP addressing
o    Static routing

Latar Belakang / Skenario

Akses ke router R1, R2, dan R3 hanya diizinkan dari PC-C, stasiun manajemen. PC-C juga digunakan untuk pengujian konektivitas ke PC-A, server yang menyediakan layanan DNS, SMTP, FTP, dan HTTPS.

Prosedur operasi standar adalah untuk menerapkan ACL pada router tepi untuk mengurangi ancaman umum berdasarkan pada sumber dan / atau alamat IP tujuan. Dalam aktivitas ini, Anda membuat ACL pada router tepi R1 dan R3 untuk mencapai tujuan ini. Anda kemudian memverifikasi fungsionalitas ACL dari host internal dan eksternal.

Router telah dipra-konfigurasi dengan yang berikut:

o Aktifkan kata sandi: ciscoenpa55
o Kata sandi untuk konsol: ciscoconpa55
o Nama pengguna untuk jalur VTY: SSHadmin
o Kata sandi untuk saluran VTY: ciscosshpa55
o Pengalamatan IP
o Routing statis


Part 1: Verify Basic Network Connectivity

Verify network connectivity prior to configuring the IP ACLs.

Step 1: From PC-A, verify connectivity to PC-C and R2.


a.From the command prompt, ping PC-C (192.168.3.3).

b.From the command prompt, establish a SSH session to R2 Lo0 interface (192.168.2.1) using username SSHadmin and password ciscosshpa55. When finished, exit the SSH session.

PC > ssh -l SSHadmin 192.168.2.1

Step 2:  From PC-C, verify connectivity to PC-A and R2.


a.From the command prompt, ping PC-A (192.168.1.3).

b.From the command prompt, establish a SSH session to R2 Lo0 interface (192.168.2.1) using username SSHadmin and password ciscosshpa55. Close the SSH session when finished.

c.Open a web browser to the PC-A server (192.168.1.3) to display the web page. Close the browser when done.

Bagian 1: Verifikasi Konektivitas Jaringan Dasar

Verifikasi konektivitas jaringan sebelum mengonfigurasi IP ACL.

Langkah 1: Dari PC-A, verifikasi konektivitas ke PC-C dan R2.


Sebuah. Dari command prompt, ping PC-C (192.168.3.3).

b. Dari prompt perintah, buat sesi SSH ke antarmuka R2 Lo0 (192.168.2.1) menggunakan nama pengguna SSHadmin dan kata sandi ciscosshpa55. Setelah selesai, keluar dari sesi SSH.

PC > ssh -l SSHadmin 192.168.2.1

Langkah 2: Dari PC-C, verifikasi konektivitas ke PC-A dan R2.


Sebuah. Dari command prompt, ping PC-A (192.168.1.3).

b. Dari prompt perintah, buat sesi SSH ke antarmuka R2 Lo0 (192.168.2.1) menggunakan nama pengguna SSHadmin dan kata sandi ciscosshpa55. Tutup sesi SSH saat selesai.

c. Buka browser web ke server PC-A (192.168.1.3) untuk menampilkan halaman web. Tutup browser setelah selesai.

Part 2: Secure Access to Routers


Step 1:Configure ACL 10 to block all remote access to the routers except from PC-C.


Use the access-list command to create a numbered IP ACL on R1, R2, and R3.

R1(config)#access-list 10 permit 192.168.3.3
R2(config)#access-list 10 permit 192.168.3.3
R3(config)#access-list 10 permit 192.168.3.3

Step 2: Apply ACL 10 to ingress traffic on the VTY lines.


Use the access-class command to apply the access list to incoming traffic on the VTY lines.


R1(config)#line vty 0 4
R1(config-line)#access-class 10 in
R1(config-line)#exit


R2(config)#line vty 0 4
R2(config-line)#access-class 10 in


R3(config)#line vty 0 4
R3(config-line)#access-class 10 in

Step 3: Verify exclusive access from management station PC-C.


a.     Establish a SSH session to 192.168.2.1 from PC-C (should be successful).

b.    Establish a SSH session to 192.168.2.1 from PC-A (should fail).


Bagian 2: Mengamankan Akses ke Router


Langkah 1: Konfigurasikan ACL 10 untuk memblokir semua akses jarak jauh ke router kecuali dari PC-C.


Gunakan perintah akses-daftar untuk membuat IP ACL bernomor pada R1, R2, dan R3.

R1(config)#access-list 10 permit 192.168.3.3
R2(config)#access-list 10 permit 192.168.3.3
R3(config)#access-list 10 permit 192.168.3.3

Langkah 2: Terapkan ACL 10 ke masuknya lalu lintas di jalur VTY.


Gunakan perintah kelas akses untuk menerapkan daftar akses ke lalu lintas masuk pada jalur VTY.


R1(config)#line vty 0 4
R1(config-line)#access-class 10 in
R1(config-line)#exit


R2(config)#line vty 0 4
R2(config-line)#access-class 10 in


R3(config)#line vty 0 4
R3(config-line)#access-class 10 in
69% Completed

Langkah 3: Verifikasi akses eksklusif dari stasiun manajemen PC-C.


Sebuah. Buat sesi SSH ke 192.168.2.1 dari PC-C (harus berhasil).

b. Buat sesi SSH ke 192.168.2.1 dari PC-A (harus gagal).

Part 3: Create a Numbered IP ACL 120 on R1

Permit any outside host to access DNS, SMTP, and FTP services on server PC-A, deny any outside host access to HTTPS services on PC-A, and permit PC-C to access R1 via SSH.

Step 1:Verify that PC-C can access the PC-A via HTTPS using the web browser.


Be sure to disable HTTP and enable HTTPS on server PC-A.

Step 2: Configure ACL 120 to specifically permit and deny the specified traffic.


Use the access-list command to create a numbered IP ACL.

R1(config)#access-list 120 permit udp any host 192.168.1.3 eq domain
R1(config)#access-list 120 permit tcp any host 192.168.1.3 eq smtp
R1(config)#access-list 120 permit tcp any host 192.168.1.3 eq ftp
R1(config)#access-list 120 deny tcp any host 192.168.1.3 eq 443
R1(config)#access-list 120 permit tcp host 192.168.3.3 host 10.1.1.1 eq 22

Step 3:Apply the ACL to interface S0/0/0.


Use the ip access-group command to apply the access list to incoming traffic on interface S0/0/0.

R1(config)#interface s0/0/0
R1(config-if)#ip access-group 120 in
R1(config-if)#exit

Step 4:Verify that PC-C cannot access PC-A via HTTPS using the web browser.


Bagian 3: Buat IP ACL 120 Bernomor pada R1

Mengizinkan semua host luar untuk mengakses layanan DNS, SMTP, dan FTP pada server PC-A, menolak akses host luar apa pun ke layanan HTTPS pada PC-A, dan mengizinkan PC-C untuk mengakses R1 melalui SSH.

Langkah 1: Pastikan PC-C dapat mengakses PC-A melalui HTTPS menggunakan browser web.


Pastikan untuk menonaktifkan HTTP dan mengaktifkan HTTPS di server PC-A.

Langkah 2: Konfigurasikan ACL 120 untuk secara khusus mengizinkan dan menolak lalu lintas yang ditentukan.


Gunakan perintah daftar akses untuk membuat ACL IP bernomor.

R1(config)#access-list 120 permit udp any host 192.168.1.3 eq domain
R1(config)#access-list 120 permit tcp any host 192.168.1.3 eq smtp
R1(config)#access-list 120 permit tcp any host 192.168.1.3 eq ftp
R1(config)#access-list 120 deny tcp any host 192.168.1.3 eq 443
R1(config)#access-list 120 permit tcp host 192.168.3.3 host 10.1.1.1 eq 22

Langkah 3: Terapkan ACL ke antarmuka S0 / 0/0.


Gunakan perintah ip access-group untuk menerapkan daftar akses ke lalu lintas masuk pada antarmuka S0 / 0/0.

R1(config)#interface s0/0/0
R1(config-if)#ip access-group 120 in
R1(config-if)#exit

Langkah 4: Pastikan PC-C tidak dapat mengakses PC-A melalui HTTPS menggunakan browser web.

Part 4: Modify An Existing ACL on R1

Permit ICMP echo replies and destination unreachable messages from the outside network (relative to R1); deny all other incoming ICMP packets.

Step 1:Verify that PC-A cannot successfully ping the loopback interface on R2.


Step 2: Make any necessary changes to ACL 120 to permit and deny the specified traffic.


Use the access-list command to create a numbered IP ACL.

R1(config)#access-list 120 permit icmp any any echo-reply
R1(config)#access-list 120 permit icmp any any unreachable
R1(config)#access-list 120 deny icmp any any
R1(config)#access-list 120 permit ip any any

Step 3:Verify that PC-A can successfully ping the loopback interface on R2.


Bagian 4: Memodifikasi ACL yang Ada pada R1

Izinkan balasan gema ICMP dan pesan tujuan yang tak terjangkau dari jaringan luar (relatif terhadap R1); menolak semua paket ICMP masuk lainnya.

Langkah 1: Verifikasi bahwa PC-A tidak dapat berhasil melakukan ping antarmuka loopback pada R2.


Langkah 2: Buat perubahan yang diperlukan untuk ACL 120 untuk mengizinkan dan menolak lalu lintas yang ditentukan.


Gunakan perintah daftar akses untuk membuat ACL IP bernomor.

R1(config)#access-list 120 permit icmp any any echo-reply
R1(config)#access-list 120 permit icmp any any unreachable
R1(config)#access-list 120 deny icmp any any
R1(config)#access-list 120 permit ip any any

Langkah 3: Pastikan PC-A berhasil ping antarmuka loopback pada R2.

Part 5: Create a Numbered IP ACL 110 on R3

Deny all outbound packets with source address outside the range of internal IP addresses on R3.

Step 1:Configure ACL 110 to permit only traffic from the inside network.


Use the access-list command to create a numbered IP ACL.

R3(config)#access-list 110 permit ip 192.168.3.0 0.0.0.255 any

Step 2:Apply the ACL to interface F0/1.


Use the ip access-group command to apply the access list to incoming traffic on interface F0/1.

R3(config)#interface fa0/1
R3(config-if)#ip access-group 110 in
R3(config-if)#exit

Bagian 5: Buat IP bernomor ACL 110 pada R3

Tolak semua paket keluar dengan alamat sumber di luar kisaran alamat IP internal pada R3.

Langkah 1: Konfigurasikan ACL 110 untuk mengizinkan hanya lalu lintas dari jaringan di dalam.


Gunakan perintah daftar akses untuk membuat ACL IP bernomor.

R3(config)#access-list 110 permit ip 192.168.3.0 0.0.0.255 any

Langkah 2: Terapkan ACL ke antarmuka F0 / 1.


Gunakan perintah ip access-group untuk menerapkan daftar akses ke lalu lintas masuk pada antarmuka F0 / 1.

R3(config)#interface fa0/1
R3(config-if)#ip access-group 110 in
R3(config-if)#exit

Part 6: Create a Numbered IP ACL 100 on R3

On R3, block all packets containing the source IP address from the following pool of addresses: 127.0.0.0/8, any RFC 1918 private addresses, and any IP multicast address.

Step 1:Configure ACL 100 to block all specified traffic from the outside network.


You should also block traffic sourced from your own internal address space if it is not an RFC 1918 address (in this activity, your internal address space is part of the private address space specified in RFC 1918).

Use the access-list command to create a numbered IP ACL.

Step 2:Apply the ACL to interface Serial 0/0/1.


Use the ip access-group command to apply the access list to incoming traffic on interface Serial 0/0/1.

Step 3:Confirm that the specified traffic entering interface Serial 0/0/1 is dropped.


From the PC-C command prompt, ping the PC-A server. The ICMP echo replies are blocked by the ACL since they are sourced from the 192.168.0.0/16 address space.

Step 4:Check results.


Your completion percentage should be 100%. Click Check Results to see feedback and verification of which required components have been completed.

Bagian 6: Buat IP bernomor ACL 100 pada R3

Pada R3, blok semua paket yang berisi alamat IP sumber dari kumpulan alamat berikut: 127.0.0.0/8, alamat pribadi RFC 1918, dan alamat IP multicast.

Langkah 1: Konfigurasikan ACL 100 untuk memblokir semua lalu lintas yang ditentukan dari jaringan luar.


Anda juga harus memblokir lalu lintas yang bersumber dari ruang alamat internal Anda sendiri jika itu bukan alamat RFC 1918 (dalam aktivitas ini, ruang alamat internal Anda adalah bagian dari ruang alamat pribadi yang ditentukan dalam RFC 1918).

Gunakan perintah daftar akses untuk membuat ACL IP bernomor.

Langkah 2: Terapkan ACL ke antarmuka Serial 0/0/1.


Gunakan perintah ip access-group untuk menerapkan daftar akses ke lalu lintas masuk pada antarmuka Serial 0/0/1.

Langkah 3: Konfirmasikan bahwa lalu lintas yang masuk ke antarmuka Serial 0/0/1 dijatuhkan.


Dari prompt perintah PC-C, ping server PC-A. Balasan gema ICMP diblokir oleh ACL karena bersumber dari ruang alamat 192.168.0.0/16.

Langkah 4: Periksa hasil.


Persentase penyelesaian Anda harus 100%. Klik Periksa Hasil untuk melihat umpan balik dan verifikasi komponen mana yang diperlukan telah selesai.

Configure IP ACLs to Mitigate Attacks Packet Tracer

Complex Number C++ - Source Code - Implementasi Menggunakan Array, Pointer, Struct Data dan Function.
GITHUB


source code link : https://github.com/yogithesymbian/c-/blob/master/implementation%20struc%20data%20pointer%20array/function/complexNumberYogi.cpp




source code link : https://github.com/yogithesymbian/c-/blob/master/implementation%20struc%20data%20pointer%20array/function/complexNumberYogi.cpp




document study case / studi kasus : Document. html

 Kesimpulan 

 1. Struktur data adalah sebuah skema organisasi yang diterapkan pada data sehingga data dapat diinterprestasikan dan sehingga operasi-operasi spesifik dapat dilaksanakan pada data tersebut 

2. Apabila kita membuat program dengan data yang sudah kita ketahui batasnya, maka kita bisa menggunakan array (tipe data statis), namun apabila data kita belum kita ketahui batasnya, kita bisa menggunakan pointer (tipe data dinamis) 

3. Untuk sekumpulan data dengan tipe data yang berlainan, namun merupakan satu-kesatuan, kita dapat menggunakan struktur untuk merepresentasikannya  


Latihan  

1. Masalah aritmatika polinom adalah membuat sekumpulan subrutin manipulasi terhadap polinom simbolis (symbolic Polynomial).  Terdapat empat operasi aritmatika polinom dasar antara lain: a. Penambahan b. Pengurangan c. Perkalian d. Turunan Representasikan bilangan polinom dengan array dan buatlah prosedur-prosedur yang melakukan kelima operasi aritmatika di atas. 

2. Representasikan soal di atas dengan menggunakan pointer 

3. Bilangan kompleks berbentuk a + bi, dimana a dan b adalah bilangan nyata dan i2 = -1. Terdapat empat operasi aritmatika dasar untuk bilangan kompleks, yaitu: 

• Penambahan : (a+bi) + (c+di) = (a+c) + (b+d)i 
• Pengurangan : (a+bi) - (c+di) = (a-c) + (b-d)i 
• Perkalian : (a+bi) * (c+di) = (ac-bd) + (ad+bc)i 
• Pembagian : (a+bi) / (c+di) = [(ac+bd) / (a2+b2)] + [(bc-ad)/(c2+d2)]i 

Tulis program yang membaca dua bilangan kompleks dan simbol operasi yang perlu dilakukan, kemudian lakukan operasi yang diminta. Gunakan struktur untuk merepresentasikan bilangan kompleks dan gunakan prosedur untuk implementasi tiap operasi. 

Complex Number C++ - Source Code

Gaussian Elimination C++ Program

Gaussian Elimination C++ Program


berikut source code yang sudah saya jelaskan dalam listing code nya juga

Library yang di butuhkan C++



#include <iostream>
#include <math.h>
#include <cmath>

Source Code nya


/*
* Gauss Method
* NIM : 17615006
* Yogi Arif Widodo
*/

#define MAX 15

using namespace std;

void lineYogi()
{
  cout <>n;
    system("cls");
    lineYogi();
    //==========================
    cin.ignore();  //for clear of line by cin
    ordoMatrik = atoi(n);  //because here line converting have linespace

    hrLine();
    cout <<"TIP :\tJika ordo matrix (n) = 2, maka masukan matrix 4x\n\tcontoh Input Untuk Matrik A = 1 2 3 4 (gunakan spasi)\n";
    cout <<"     \tLalu masukan Vektor 2x \n";
    cout <<"     \tContoh Input Untuk vector = 1 2 (gunakan spasi) ";

    hrLine();
    cout <<"ordo matrix yang digunakan : " <>elemen;
        cin.ignore();//for clear of line by cin
        A[i][j] = atof(elemen);//because here line converting have linespace
      }

    cout <<"\n\t\tInput untuk Vektor B = ";
    for(i = 0; i < ordoMatrik; i++)
    {
       // printf("\nElemen baris ke-%d ", i+1);
       // cout <<"\nElemen baris ke-" <>elemen;
       cin.ignore();//for clear of line by cin
       B[i] = atof(elemen);//because here line converting have linespace
    }
    //
    // getch();
    hrLine();

    cout<<"\tAugmenting matrik A dan B: ";
    hrLine();
    for(s = 0; s < ordoMatrik; s++)
    {
        for(t=0; t <= ordoMatrik; t++)
        {
           if(t != ordoMatrik)
             AugA[s][t] = A[s][t];
           else
             AugA[s][t] = B[s];
        }
    }

    cout<<"\n\tMatrik Augmented A\n";
    designFormView(); //designYogi
    for(i = 0; i < ordoMatrik; i++)
    {
      for (j = 0; j < ordoMatrik+1; j++)
      {
        // printf("%f ",AugA[i][j]);
        cout <<"\t"<>backOrExit;
    if (backOrExit == 'y' || backOrExit =='Y')
    {
        system("cls");
        goto HOMEYOGI;
    }
    else
    {
      system("EXIT");
    }
}



Jika code di atas ada yang error karena block code bertabrakan dengan format posting blogger , silahkan lihat versi github di bawah ini :

Github Code Version

https://github.com/yogithesymbian/c-/blob/master/linearSimultan/gaussYogiMethod.cpp



Berikut Penjelasan format c language yang jika di c++ tinggal panggil saja dengan library iostream.

example :

di C language

printf("X%d: %.2f\n", i+1, X[i]);
di C++ language

  cout <<"\tX" <<i+1 <<":" <<X[i] <<endl;



Kode Format Kegunaan
%c Membaca sebuah karakter
%d Membaca sebuah nilai integer decimal

Untuk Code Format Scanf Selengkpanya ada di : SCANF FORMAT WIKIPEDIA


C Language Code Version

Library yang di butuhkan C Lanugage



#include <stdio.h>
#include <conio.h>
#include <stdlib.h>


C Language Code




int main(void)
{
    int ordoMatrik, i, j, s, t, nx, k;
    float A[MAX][MAX], B[MAX], AugA[MAX][MAX], X[MAX], C, sum, 
                       temp;
    char n[MAX], elemen[MAX];
    
    printf("Masukkan ordo matrik (n): ");
    gets(n);
    ordoMatrik = atoi(n);
    
    printf("\nInput untuk Matrik A\n");
    for(i = 0; i < ordoMatrik; i++)
      for (j = 0; j < ordoMatrik; j++)      
      {
        printf("Elemen %d%d: ", i+1, j+1);
        gets(elemen);
        A[i][j] = atof(elemen);
      }
      
    printf("\nInput untuk Vektor B");
    for(i = 0; i < ordoMatrik; i++)
    {
       printf("\nElemen baris ke-%d ", i+1);
       gets(elemen);
       B[i] = atof(elemen);
    }
    
    getch();
    printf("Augmenting matrik A dan B: ");
    for(s = 0; s < ordoMatrik; s++)
    {
        for(t=0; t <= ordoMatrik; t++)
        {
           if(t != ordoMatrik)
             AugA[s][t] = A[s][t];
           else
             AugA[s][t] = B[s];
        }      
    }
      
    printf("\nMatrik Augmented A\n");
    for(i = 0; i < ordoMatrik; i++)
    {
      for (j = 0; j < ordoMatrik+1; j++)      
        printf("%f ",AugA[i][j]);  
      printf("\n");
    }
   
    //Proses pertukaran baris, Jika nilai aii bernilai nol
    for(i = 0;i < ordoMatrik; i++){
          if (AugA[i][i] == 0)
          {
             for(j = 0; j < ordoMatrik; ++j){
                 if(j == i) continue;             
                 if(AugA[j][i] != 0) {
                   //tukar baris matrik            
                   for(s = 0; s <= ordoMatrik; s++){
                      temp = AugA[i][s]; 
                      AugA[i][s] = AugA[j][s]; 
                      AugA[j][s] = temp;
                   }break;
                 }
                 else
                     continue;                
             }break;
          }
          else
             continue;
      }
     
    printf("\nMatrik A (Setelah Pertukaran) \n");
    for(i = 0; i < ordoMatrik; i++)
    {
      for (j = 0; j < ordoMatrik+1; j++)      
        printf("%f ",AugA[i][j]);  
      printf("\n");
    } 
      
    //Proses Operasi Baris Elementer  
    for(i=0; i < ordoMatrik; i++)
      for(j = i+1; j < ordoMatrik; j++)
      {
            C = AugA[j][i] / AugA[i][i];
            for(k = 0; k <= ordoMatrik; k++)
               AugA[j][k] = AugA[j][k] - C*AugA[i][k];
            //AugA[j][k]=0;
      }
      
    printf("\nMatrik A (Setelah OBE) \n");
    for(i = 0; i < ordoMatrik; i++)
    {
      for (j = 0; j < ordoMatrik+1; j++)      
        printf("%f ",AugA[i][j]);  
      printf("\n");
    }

    //Mencari nilai variabel Xi
    X[ordoMatrik-1]=AugA[ordoMatrik-1][ordoMatrik]/AugA[ordoMatrik-1][ordoMatrik-1];
    for(nx=0; nx < ordoMatrik;nx++)
    {
        sum = 0;
        i = ordoMatrik-1-nx;
        for(j = i+1; j < ordoMatrik; j++)
           sum = sum + AugA[i][j] * X[j];
        X[i] = (AugA[i][ordoMatrik]-sum)/AugA[i][i];
        
    }
    
    //Menampilkan nilai variabel xi
    printf("\n");
    for(i = 0; i < ordoMatrik; i++)
          printf("X%d: %.2f\n", i+1, X[i]);
          
    getch();
}




Gaussian Elimination C++ Program

penjelasan-keyword-dalam-java-identifiers-akses-kontrol
Penjelasan Keyword dalam Java Identifiers Akses Kontrol - Aplikasi java adalah sekumpulan class-class yang saling berbicara satu dengan yang lain dengan cara mengeksekusi method class lain dan mengirimkan pesan dengan memasukkan parameter ke dalam method. Dalam bagian ini saya akan menjelaskan mengenai anatomi class dalam java, keyword, kemudian identifers dalam java dan konsep akses kontrol.





Keyword Bahasa Pemrograman Java

Dasar-dasar bahasa java, Kalau kita belajar bahasa Indonesia pasti yang pertama kita bahas adalah kosa-kata dan pembentukan kalimat seperti SPOK. Bahasa pemrograman Java tidak serumit bahasa indonesia yang mempunyai jutaan kosa kata, Java hanya mempunyai 44 buah kosa kata (Keyword). Semua Keywords ini adalah kepunyaanya bahasa Java, kita harus menggunakanya dengan benar dan tidak boleh digunakan untuk tujuan lain, misalnya sebagai nama variabel atau nama class.

Berikut ini adalah daftar 44 Keyword java :  

Baca Juga Program Kalkulator Java Arithmatic Java
abstract Boolean break
byte case catch
char class const
continue default do
double else extends
fnal finally float
for goto If
implements import instanceof
int interface long
native new package
private protected Public
return short static
strictfp super switch
synchronized this throw
throws transient try
void volatile while
assert enum @aw.yogi

Beberapa Keyword sudah cukup familiar di semua bahasa pemrograman, sehingga tidak perlu lagi diterangkan secara mendetail.

Identifiers Java

Identifers adalah nama-nama yang bisa dideklarasikan dalam java tetapi bukan bagian keyword java, yang termasuk dalam identifers antara lain: class, interface, variabel/property dan method. Tata cara penamaan identifers di java diatur oleh beberapa aturan:


  •  Aturan dari compiler untuk menentukan apakah nama identifers diperbolehkan atau tidak.
  •  Konvensi penamaan identifers daru Sun yang biasa disebut sebacai "Java Code Convention".
  •  Standard penamaan JavaBean. Kita akan bahas satu per satu aturan di atas. Aturan dari compiler tentang penamaan identifers sangat jelas, karena akan ada error pada waktu kompilasi kalau aturan ini dilanggar.


Berikut ini aturan penamaan identifers yang digunakan oleh compiler



  1. Aturan pertama sudah kita bahas sebelumnya adalah semua keyword java tidak boleh digunakan sebagai identifers.
  2. Identifers harus diawali oleh huruf, simbol mata uang dolar($) atau karakter penghubung underscore (_). Angka tidak boleh digunakan sebagai karakter pertama identifers.
  3. Setelah karakter pertama, berikutnya boleh diikuti oleh huruf, simbol mata uang dolar, karakter penghubung, dan angka.
  4. Tidak ada pembatasan panjang identifers
  5. Identifers di java bersifat case-sensitif, foo dengan Foo adalah dua buah identifers berbeda.
  6. Nama public class harus sama persis dengan nama fle .java


Berikut ini adalah contoh identifiers yang diijinkan


int _x;
int $y;
int ______17_r;
int _$; 
int yaelah_bikin_nama_panjangbener_asdklajksldalsk_jangan_ditiru_tapi_ini_boleh

Berikut ini adalah contoh identifiers yang tidak diijinkan oleh compiler java


int 123test_test;
int x#;
int x:;
int x:;
int .titik;

Java Code Convention adalah sekumpulan aturan "tidak resmi" yang dibuat oleh Sun. Salah satu bagian dari Code Convention itu membahas bagaimana menamakan identifers yang seragam. Latar belakang dibuatnya Java Code Convention ini berasal dari penelitian yang menyebutkan bahwa usaha untuk menulis kode (development) hanya berkisar 20% saja, sedangkan 80% usaha dikerahkan untuk memelihara kode dan menambahkan feature baru ke dalam aplikasi. Hal ini mendorong Sun untuk menyusun Java Code Convention agar usaha untuk membaca kode lebih mudah dan pada akhirnya kode menjadi lebih mudah untuk dipelihara dan dipahami.

Berikut ini beberapa konvensi yang digunakan dalam Java Code Convention


  • Class dan Interface selalu diawali dengan huruf besar. Setiap kata selalu diawali dengan huruf besar untuk memudahkan pembacaan. Gaya ini biasa disebut dengan "Camel Case". Contohnya: Runnable, HashMap, ArrayList dan seterusnya. Selain itu, class haruslah merupakan kata benda, bukan kata sifat atau kata kerja.

  • Method selalu diawali dengan huruf kecil. Setiap kata setelah huruf pertama diawali dengan huruf besar. Method haruslah kata kerja untuk menandakan bahwa method ini melakukan suatu kegiatan / aksi. Contohnya : getIndex, setIndex, println, paint, dan seterusnya. • Variabel menggunakan camel case yang diawali dengan huruf kecil, seperti method. Variabel
  • sebaiknya pendek, jelas, terdengar enak dan kata benda. Contohnya : index, panjang, lebar, indexPertama dan seterusnya.

  • Konstanta di java dibuat dengan mendeklarasikan sebuah variabel sebagai statif dan fnal, semua hurufnya adalah huruf besar yang antar kata dipisahkan oleh simbol underscore (_). Contohnya : FRAME_WIDTH, ERROR_MESSAGE dan seterusnya. Konsep JavaBean dibuat oleh Sun sebagai dasar dari komponen dalam aplikasi java, salah satu kegunaan praktisnya adalah penggunaan JavaBean oleh IDE seperti NetBeans agar komponenkomponen Swing bisa dimanipulasi secara visual. Framework modern seperti Spring dan EJB juga sudah mengadopsi konsep JavaBean, sehingga istilah JavaBean sangat sering muncul di dokumentasi framework ini, Spring menggunakan istilah bean saja bukan JavaBean, tapi secara teknis keduanya sama persis. Untuk memahami konsep JavaBean, ada satu istilah yang disebut dengan Properties. Pada dasarnya properties adalah sebuah instance variabel, yaitu variabel yang berada tepat di bawah class, yang access modifer-nya private. Karena bersifat private maka harus dibuat method untuk mengakses properties dari luar class tersebut. Method untuk mengakses properties biasa disebut sebagai getter dan method untuk mengubah nilai properties disebut sebagaui setter.



Berikut ini aturan penamaan method yang digunakan untuk mengakses properties (getter setter) dari JavaBean:



  • Kalau tipe data properties bukan boolean maka method untuk mengakses properties diawali dengan get. misalnya getWidth, getSize, getIndex dan seterusnya.
  • Kalau tipe data properties adalah boolean maka method untuk mengakses properties diawali dengan is. Misalnya isEmpty, isRunning dan seterusnya.
  • Semua method setter harus diawali dengan set. Misalnya setSize, setIndex, setWidth dan seterusnya
  • Nama method diturunkan dari nama variabel yang diberi awalan get, set atau is. Aturan penulisan camel case berlaku untuk method getter dan setter.
  • Method setter harus public, return void dengan satu parameter yang tipe datanya sama persis dengan tipe data variabel.
  • Method setter harus public, return tipe data yang sama dengan tipe data variabel, dan tanpa parameter.
  • JavaBean harus mempunyai default constructor, yaitu constructor yang tidak mempunyai parameter sama sekali.

Access Modifier

Public, protected, default dan private adalah empat buah level access modifer, fungsi dari access modifer adalah mengatur bagaimana bagian-bagian kode java diakses dari bagian yang lain. Ada bagian yang boleh diakses oleh siapapun karena kode di dalamnya sudah dirancang untuk itu, ada juga bagian yang hanya boleh diakses oleh class yang sama karena memang kodenya tergantung dengan bagian lain dari class tersebut dan tidak bisa digunakan oleh bagian lain. Access modifer public menandakan bisa diakses oleh siapapun tanpa batasan. Access modifer protected bisa diakses oleh class turunanya dan class-class lain yang berada dalam package yang sama. Access modifer default tidak memerlukan keyword, kalau tidak ada salah satu dari tiga access modifer lain maka yang digunakan adalah access modifer default. Kalau access modifer default digunakan, maka hanya class dari package yang sama saja yang bisa mengakses, termasuk class itu sendiri. Yang terakhir adalah access modifer private yang hanya mengijinkan diakses oleh class yang sama.

==========================
Thanks for
==========================
Java
Netbeans
==========================

Thanks for read | Terima Kasih Sudah Membaca
Semoga Bermanfaat dan Code nya bisa running , dan yang error bisa komen pada kolom komentar di bawah. . .

Penjelasan Keyword dalam Java Identifiers Akses Kontrol

kalkulator-java-netbeans-sederhana-kuliah-teknik-informatika

Kalkulator Java Netbeans Sederhana Kuliah Teknik Informatikakalkulator adalah alat untuk menghitung dari perhitungan sederhana seperti penjumlahan, pengurangan, perkalian dan pembagian sampai kepada kalkulator sains yang dapat menghitung rumus matematika tertentu.
Pada perkembangannya sekarang ini, kalkulator sering dimasukkan sebagai fungsi tambahan daripada komputer, handphone, bahkan sampai jam tangan.





Langkah Pertama

  • Open Netbeanse and Click File
  • Lalu create new project
  • Categories Java | Project  Java Application
  • Click next
  • Isikan Project Name "KalkulatorSederhana"
  • Centang pada create main class ( opsional )
  • Finish

Langkah Kedua

  • Click kanan Java Project KalkulatorSederhana
  • New
  • Pilih jFrom Interface...
  • Isikan Class name "Kalkulator" dan Pakckage "Kalkulators"

Langkah Ketiga

kalkulator-java-netbeans-sederhana-kuliah-teknik-informatika
Gambar Design Kalkulator Java 1.1


Kalkulator.java



/*
 * 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 Calculation;

/**
 *
 * @author Dani
 */
public class CalculatorYogi extends javax.swing.JFrame {

    /**
     * Creates new form CalculatorYogi
     */
    double firstnum;
    double secondnum;
    double result;
    String operations;
    String Enternumber;
    
    public CalculatorYogi() {
        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")
    //                           
    private void initComponents() {

        jDisplay = new javax.swing.JTextField();
        jBtn1 = new javax.swing.JButton();
        jBtn2 = new javax.swing.JButton();
        jBtn3 = new javax.swing.JButton();
        jBtn4 = new javax.swing.JButton();
        jBtn5 = new javax.swing.JButton();
        jBtn6 = new javax.swing.JButton();
        jBtn7 = new javax.swing.JButton();
        jBtn8 = new javax.swing.JButton();
        jBtn9 = new javax.swing.JButton();
        jBtn10 = new javax.swing.JButton();
        jBtn11 = new javax.swing.JButton();
        jBtn12 = new javax.swing.JButton();
        jBtn13 = new javax.swing.JButton();
        jBtn14 = new javax.swing.JButton();
        jBtn15 = new javax.swing.JButton();
        jBtn16 = new javax.swing.JButton();
        jBtn17 = new javax.swing.JButton();
        jBtn18 = new javax.swing.JButton();

        setDefaultCloseOperation(javax.swing.WindowConstants.EXIT_ON_CLOSE);

        jDisplay.setFont(new java.awt.Font("Tahoma", 1, 18)); // NOI18N
        jDisplay.setHorizontalAlignment(javax.swing.JTextField.RIGHT);
        jDisplay.setToolTipText("");
        jDisplay.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                jDisplayActionPerformed(evt);
            }
        });

        jBtn1.setFont(new java.awt.Font("Tahoma", 1, 18)); // NOI18N
        jBtn1.setText("1");
        jBtn1.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                jBtn1ActionPerformed(evt);
            }
        });

        jBtn2.setFont(new java.awt.Font("Tahoma", 1, 18)); // NOI18N
        jBtn2.setText("2");
        jBtn2.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                jBtn2ActionPerformed(evt);
            }
        });

        jBtn3.setFont(new java.awt.Font("Tahoma", 1, 18)); // NOI18N
        jBtn3.setText("3");
        jBtn3.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                jBtn3ActionPerformed(evt);
            }
        });

        jBtn4.setFont(new java.awt.Font("Tahoma", 1, 18)); // NOI18N
        jBtn4.setText("4");
        jBtn4.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                jBtn4ActionPerformed(evt);
            }
        });

        jBtn5.setFont(new java.awt.Font("Tahoma", 1, 18)); // NOI18N
        jBtn5.setText("5");
        jBtn5.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                jBtn5ActionPerformed(evt);
            }
        });

        jBtn6.setFont(new java.awt.Font("Tahoma", 1, 18)); // NOI18N
        jBtn6.setText("6");
        jBtn6.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                jBtn6ActionPerformed(evt);
            }
        });

        jBtn7.setFont(new java.awt.Font("Tahoma", 1, 18)); // NOI18N
        jBtn7.setText("7");
        jBtn7.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                jBtn7ActionPerformed(evt);
            }
        });

        jBtn8.setFont(new java.awt.Font("Tahoma", 1, 18)); // NOI18N
        jBtn8.setText("8");
        jBtn8.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                jBtn8ActionPerformed(evt);
            }
        });

        jBtn9.setFont(new java.awt.Font("Tahoma", 1, 18)); // NOI18N
        jBtn9.setText("9");
        jBtn9.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                jBtn9ActionPerformed(evt);
            }
        });

        jBtn10.setFont(new java.awt.Font("Tahoma", 1, 18)); // NOI18N
        jBtn10.setText("0");
        jBtn10.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                jBtn10ActionPerformed(evt);
            }
        });

        jBtn11.setFont(new java.awt.Font("Tahoma", 1, 18)); // NOI18N
        jBtn11.setText("+");
        jBtn11.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                jBtn11ActionPerformed(evt);
            }
        });

        jBtn12.setFont(new java.awt.Font("Tahoma", 1, 18)); // NOI18N
        jBtn12.setText("-");

        jBtn13.setFont(new java.awt.Font("Tahoma", 1, 18)); // NOI18N
        jBtn13.setText("/");

        jBtn14.setFont(new java.awt.Font("Tahoma", 1, 18)); // NOI18N
        jBtn14.setText("*");

        jBtn15.setFont(new java.awt.Font("Tahoma", 1, 18)); // NOI18N
        jBtn15.setText("+/-");

        jBtn16.setFont(new java.awt.Font("Tahoma", 1, 18)); // NOI18N
        jBtn16.setText(".");

        jBtn17.setFont(new java.awt.Font("Tahoma", 1, 18)); // NOI18N
        jBtn17.setText("C");
        jBtn17.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                jBtn17ActionPerformed(evt);
            }
        });

        jBtn18.setFont(new java.awt.Font("Tahoma", 1, 18)); // NOI18N
        jBtn18.setText("=");
        jBtn18.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                jBtn18ActionPerformed(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(jDisplay)
                    .addGroup(layout.createSequentialGroup()
                        .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                            .addGroup(layout.createSequentialGroup()
                                .addComponent(jBtn1, javax.swing.GroupLayout.PREFERRED_SIZE, 76, javax.swing.GroupLayout.PREFERRED_SIZE)
                                .addGap(18, 18, 18)
                                .addComponent(jBtn2, javax.swing.GroupLayout.PREFERRED_SIZE, 76, javax.swing.GroupLayout.PREFERRED_SIZE)
                                .addGap(18, 18, 18)
                                .addComponent(jBtn3, javax.swing.GroupLayout.PREFERRED_SIZE, 76, javax.swing.GroupLayout.PREFERRED_SIZE)
                                .addGap(18, 18, 18)
                                .addComponent(jBtn4, javax.swing.GroupLayout.PREFERRED_SIZE, 76, javax.swing.GroupLayout.PREFERRED_SIZE))
                            .addGroup(layout.createSequentialGroup()
                                .addComponent(jBtn5, javax.swing.GroupLayout.PREFERRED_SIZE, 76, javax.swing.GroupLayout.PREFERRED_SIZE)
                                .addGap(18, 18, 18)
                                .addComponent(jBtn6, javax.swing.GroupLayout.PREFERRED_SIZE, 76, javax.swing.GroupLayout.PREFERRED_SIZE)
                                .addGap(18, 18, 18)
                                .addComponent(jBtn7, javax.swing.GroupLayout.PREFERRED_SIZE, 76, javax.swing.GroupLayout.PREFERRED_SIZE)
                                .addGap(18, 18, 18)
                                .addComponent(jBtn8, javax.swing.GroupLayout.PREFERRED_SIZE, 76, javax.swing.GroupLayout.PREFERRED_SIZE))
                            .addGroup(layout.createSequentialGroup()
                                .addComponent(jBtn9, javax.swing.GroupLayout.PREFERRED_SIZE, 76, javax.swing.GroupLayout.PREFERRED_SIZE)
                                .addGap(18, 18, 18)
                                .addComponent(jBtn10, javax.swing.GroupLayout.PREFERRED_SIZE, 76, javax.swing.GroupLayout.PREFERRED_SIZE)
                                .addGap(18, 18, 18)
                                .addComponent(jBtn11, javax.swing.GroupLayout.PREFERRED_SIZE, 76, javax.swing.GroupLayout.PREFERRED_SIZE)
                                .addGap(18, 18, 18)
                                .addComponent(jBtn12, javax.swing.GroupLayout.PREFERRED_SIZE, 76, javax.swing.GroupLayout.PREFERRED_SIZE))
                            .addGroup(layout.createSequentialGroup()
                                .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING, false)
                                    .addComponent(jBtn17, javax.swing.GroupLayout.Alignment.LEADING, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
                                    .addGroup(layout.createSequentialGroup()
                                        .addComponent(jBtn13, javax.swing.GroupLayout.PREFERRED_SIZE, 76, javax.swing.GroupLayout.PREFERRED_SIZE)
                                        .addGap(18, 18, 18)
                                        .addComponent(jBtn14, javax.swing.GroupLayout.PREFERRED_SIZE, 76, javax.swing.GroupLayout.PREFERRED_SIZE)))
                                .addGap(18, 18, 18)
                                .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                                    .addGroup(layout.createSequentialGroup()
                                        .addComponent(jBtn15, javax.swing.GroupLayout.PREFERRED_SIZE, 76, javax.swing.GroupLayout.PREFERRED_SIZE)
                                        .addGap(18, 18, 18)
                                        .addComponent(jBtn16, javax.swing.GroupLayout.PREFERRED_SIZE, 76, javax.swing.GroupLayout.PREFERRED_SIZE))
                                    .addComponent(jBtn18, javax.swing.GroupLayout.PREFERRED_SIZE, 170, javax.swing.GroupLayout.PREFERRED_SIZE))))
                        .addGap(0, 9, Short.MAX_VALUE)))
                .addContainerGap())
        );
        layout.setVerticalGroup(
            layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(layout.createSequentialGroup()
                .addContainerGap()
                .addComponent(jDisplay, javax.swing.GroupLayout.PREFERRED_SIZE, 59, javax.swing.GroupLayout.PREFERRED_SIZE)
                .addGap(18, 18, 18)
                .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                    .addComponent(jBtn1, javax.swing.GroupLayout.PREFERRED_SIZE, 67, javax.swing.GroupLayout.PREFERRED_SIZE)
                    .addComponent(jBtn2, javax.swing.GroupLayout.PREFERRED_SIZE, 67, javax.swing.GroupLayout.PREFERRED_SIZE)
                    .addComponent(jBtn3, javax.swing.GroupLayout.PREFERRED_SIZE, 67, javax.swing.GroupLayout.PREFERRED_SIZE)
                    .addComponent(jBtn4, javax.swing.GroupLayout.PREFERRED_SIZE, 67, javax.swing.GroupLayout.PREFERRED_SIZE))
                .addGap(18, 18, 18)
                .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                    .addComponent(jBtn5, javax.swing.GroupLayout.PREFERRED_SIZE, 67, javax.swing.GroupLayout.PREFERRED_SIZE)
                    .addComponent(jBtn6, javax.swing.GroupLayout.PREFERRED_SIZE, 67, javax.swing.GroupLayout.PREFERRED_SIZE)
                    .addComponent(jBtn7, javax.swing.GroupLayout.PREFERRED_SIZE, 67, javax.swing.GroupLayout.PREFERRED_SIZE)
                    .addComponent(jBtn8, javax.swing.GroupLayout.PREFERRED_SIZE, 67, javax.swing.GroupLayout.PREFERRED_SIZE))
                .addGap(18, 18, 18)
                .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                    .addComponent(jBtn9, javax.swing.GroupLayout.PREFERRED_SIZE, 67, javax.swing.GroupLayout.PREFERRED_SIZE)
                    .addComponent(jBtn10, javax.swing.GroupLayout.PREFERRED_SIZE, 67, javax.swing.GroupLayout.PREFERRED_SIZE)
                    .addComponent(jBtn11, javax.swing.GroupLayout.PREFERRED_SIZE, 67, javax.swing.GroupLayout.PREFERRED_SIZE)
                    .addComponent(jBtn12, javax.swing.GroupLayout.PREFERRED_SIZE, 67, javax.swing.GroupLayout.PREFERRED_SIZE))
                .addGap(18, 18, 18)
                .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                    .addComponent(jBtn13, javax.swing.GroupLayout.PREFERRED_SIZE, 67, javax.swing.GroupLayout.PREFERRED_SIZE)
                    .addComponent(jBtn14, javax.swing.GroupLayout.PREFERRED_SIZE, 67, javax.swing.GroupLayout.PREFERRED_SIZE)
                    .addComponent(jBtn15, javax.swing.GroupLayout.PREFERRED_SIZE, 67, javax.swing.GroupLayout.PREFERRED_SIZE)
                    .addComponent(jBtn16, javax.swing.GroupLayout.PREFERRED_SIZE, 67, javax.swing.GroupLayout.PREFERRED_SIZE))
                .addGap(18, 18, 18)
                .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                    .addComponent(jBtn17, javax.swing.GroupLayout.PREFERRED_SIZE, 67, javax.swing.GroupLayout.PREFERRED_SIZE)
                    .addComponent(jBtn18, javax.swing.GroupLayout.PREFERRED_SIZE, 67, javax.swing.GroupLayout.PREFERRED_SIZE))
                .addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
        );

        pack();
    }//                         

    
    private void jDisplayActionPerformed(java.awt.event.ActionEvent evt) {                                         
        
    }                                        

    private void jBtn1ActionPerformed(java.awt.event.ActionEvent evt) {                                      
        Enternumber = jDisplay.getText() + jBtn1.getText();
        jDisplay.setText(Enternumber);
    }                                     

    private void jBtn2ActionPerformed(java.awt.event.ActionEvent evt) {                                      
        Enternumber = jDisplay.getText() + jBtn2.getText();
        jDisplay.setText(Enternumber);
    }                                     

    private void jBtn3ActionPerformed(java.awt.event.ActionEvent evt) {                                      
        Enternumber = jDisplay.getText() + jBtn3.getText();
        jDisplay.setText(Enternumber);
    }                                     

    private void jBtn4ActionPerformed(java.awt.event.ActionEvent evt) {                                      
        Enternumber = jDisplay.getText() + jBtn4.getText();
        jDisplay.setText(Enternumber);
    }                                     

    private void jBtn5ActionPerformed(java.awt.event.ActionEvent evt) {                                      
        Enternumber = jDisplay.getText() + jBtn5.getText();
        jDisplay.setText(Enternumber);
    }                                     

    private void jBtn6ActionPerformed(java.awt.event.ActionEvent evt) {                                      
        Enternumber = jDisplay.getText() + jBtn6.getText();
        jDisplay.setText(Enternumber);
    }                                     

    private void jBtn7ActionPerformed(java.awt.event.ActionEvent evt) {                                      
        Enternumber = jDisplay.getText() + jBtn7.getText();
        jDisplay.setText(Enternumber);
    }                                     

    private void jBtn8ActionPerformed(java.awt.event.ActionEvent evt) {                                      
        Enternumber = jDisplay.getText() + jBtn8.getText();
        jDisplay.setText(Enternumber);
    }                                     

    private void jBtn9ActionPerformed(java.awt.event.ActionEvent evt) {                                      
        Enternumber = jDisplay.getText() + jBtn9.getText();
        jDisplay.setText(Enternumber);
    }                                     

    private void jBtn10ActionPerformed(java.awt.event.ActionEvent evt) {                                       
        Enternumber = jDisplay.getText() + jBtn10.getText();
        jDisplay.setText(Enternumber);
        
    }                                      

    private void jBtn11ActionPerformed(java.awt.event.ActionEvent evt) {                                       
       
        firstnum = Double.parseDouble(jDisplay.getText());
        jDisplay.setText("+");
        operations="+"; 
        
    }                                      

    private void jBtn18ActionPerformed(java.awt.event.ActionEvent evt) {                                       
         String answer;
         
         secondnum = Double.parseDouble(jDisplay.getText());
         if(operations == "+")
         {
             result = firstnum + secondnum;
             answer = String.format("%.0f",result);
             
             jDisplay.setText(answer);
         }
    }                                      

    private void jBtn17ActionPerformed(java.awt.event.ActionEvent evt) {                                       
        jDisplay.setText("");
    }                                      

    /**
     * @param args the command line arguments
     */
    public static void main(String args[]) {
        /* Set the Nimbus look and feel */
        //
        /* 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(CalculatorYogi.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);
        } catch (InstantiationException ex) {
            java.util.logging.Logger.getLogger(CalculatorYogi.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);
        } catch (IllegalAccessException ex) {
            java.util.logging.Logger.getLogger(CalculatorYogi.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);
        } catch (javax.swing.UnsupportedLookAndFeelException ex) {
            java.util.logging.Logger.getLogger(CalculatorYogi.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);
        }
        //

        /* Create and display the form */
        java.awt.EventQueue.invokeLater(new Runnable() {
            public void run() {
                new CalculatorYogi().setVisible(true);
            }
        });
    }

    // Variables declaration - do not modify                     
    private javax.swing.JButton jBtn1;
    private javax.swing.JButton jBtn10;
    private javax.swing.JButton jBtn11;
    private javax.swing.JButton jBtn12;
    private javax.swing.JButton jBtn13;
    private javax.swing.JButton jBtn14;
    private javax.swing.JButton jBtn15;
    private javax.swing.JButton jBtn16;
    private javax.swing.JButton jBtn17;
    private javax.swing.JButton jBtn18;
    private javax.swing.JButton jBtn2;
    private javax.swing.JButton jBtn3;
    private javax.swing.JButton jBtn4;
    private javax.swing.JButton jBtn5;
    private javax.swing.JButton jBtn6;
    private javax.swing.JButton jBtn7;
    private javax.swing.JButton jBtn8;
    private javax.swing.JButton jBtn9;
    private javax.swing.JTextField jDisplay;
    // End of variables declaration                   
}


  • TIPS
  • ketikan "psvm" pada java netbeans IDE, lalu pencet tombol tab dan lihat apa yang terjadi
Click Tombol FULLCODE Untuk Melihat Source Code Full nya.

  • Masukan full code Kalkulator Java di atas atau Rewrite source code nya dan shift + f6 untuk run program atau click kanan pada file KalkulatorSederhana.java, lalu pilih run file.
  • ATAU
  • Ikut Manual tutorial Berikut , tetapi kalian harus mendesign tampilanya , sebetulnya code nya singkat saja , namun di atas ( full source code ) itu adalah fold code dari componen design nya dan tidak perlu mengkoding seluruh code , simak langkah mudah nya.

Langkah - Langkah Mudah Kalkulator Java

  • Buat design seperti Gambar Design Kalkulator Java 1.1
  • Ket Componen Design Pallete : JSWING = textfield (1) , Button (buat 1 saja , lalu click kanan pada button nya dan pilih duplikat )

  • NB : Click source ( disamping design ) atau double click ke salah satu componen atau bukan componen ( bagian design ) maka langsung terpindah ke source program

Langkah Selanjutnya

  • Click TextField , muncul [jTextField] Properti yang ada di pojok kanan 
  • Pilih Tab Code
  • Berikan Variable names jDisplay (opsional terserah anda)
  • Pilih Propertis
  • Kosongkan saja text pada jTextField
  • Buat ( drag ) Button yang ada di Pallete window ( Swing Controls )
  • Berikan variable names dan isi properties text menjadi angka "1"
  • Duplicate tombol button tersebut , pindahkan ke samping tombol 1.
  • Drag select kedua tombol , dan duplicate lagi , hingga seperti gambar design kalkulator 1.1.

Langkah Coding nya

  • Buat Deklrasai code nya di dalam public class KalkulatorSederhana extends javax.swing.JFrame {
  • Seperti berikut

public class CalculatorYogi extends javax.swing.JFrame {

    /**
     * Creates new form CalculatorYogi
     */
    double firstnum;
    double secondnum;
    double result;
    String operations;
    String Enternumber;
    
    public CalculatorYogi() {
        initComponents();
    }
  • Pilih tab design dan Double Click pada Button 1
  • Maka kalian akan masuk ke bagian code ini

 private void jBtn1ActionPerformed(java.awt.event.ActionEvent evt) {                                      
        //code here @aw.yogi
    }  
  • Ketik listing code berikut

Enternumber = jDisplay.getText() + jBtn1.getText();
jDisplay.setText(Enternumber);
  • Maka akan terlihat seperti ini

 private void jBtn1ActionPerformed(java.awt.event.ActionEvent evt) {                                      
        Enternumber = jDisplay.getText() + jBtn1.getText();
        jDisplay.setText(Enternumber);
    }
  • Lakukan Langkah yang sama tersebut terhadap tombol button 2. tetapi ubah sytn jBtn1.getText(); menjadi jBtn2.getText(); sesuai variable names yang kalian kasih pada tombol tersebut.

Option Tambah Kalkulator  Java

  • Double Click pada tombol tambah (+)
  • Masukan code ini

 firstnum = Double.parseDouble(jDisplay.getText());
        jDisplay.setText("+"); //opsional like you "" only or etc
        operations="+"; 
  • jDisplay adalah variable names textfield.
  • Silahkan Lakukan hal yang sama pada tombol pengurangan , bagi, kali, dan sisa bagi ( tetapi mengubah operations menjadi - atau / atau * untuk kali.

Option Sama Dengan atau Hasil

  • Lakukan hal yang sama , double click tombol sama dengan =
  • Write code ini

String answer;
         
         secondnum = Double.parseDouble(jDisplay.getText());
         if(operations == "+")
         {
             result = firstnum + secondnum;
             answer = String.format("%.0f",result);
             
             jDisplay.setText(answer);
         } //silahkan tambahkan list code if lagi , untuk pengurangan, tetapi jangan lupa untuk mengubah operation nya

Tombol Delete atau Hapus TextField Java


 jDisplay.setText("");

  • untuk tombol titik alias koma , sama seperti code di atas tinggal masukan titik pada "."
  • jalankan program ( shit + f6 ) atau click kanan pada main class name KalkulatorSederhana dan pilih run file
kalkulator-java-netbeans-sederhana-kuliah-teknik-informatika
Output Kalkulator Sederhana Java Netbeans

Video Tutorial Kalkulator Java Netbeans Sederhana Kuliah Teknik Informatika

[tomorrow] [besok] update
==========================
Thanks for
==========================
Java
Netbeans
==========================

Thanks for read | Terima Kasih Sudah Membaca
Semoga Bermanfaat dan Code nya bisa running , dan yang error bisa komen pada kolom komentar di bawah. . .

Kalkulator Java Netbeans Sederhana Kuliah Teknik Informatika

program-arithmatic-java-netbeans-kuliah-teknik-informatika

Program Arithmatic Java Netbeans Kuliah Teknik Informatika - Bahasa pemrograman Java terlahir dari The Green Project, yang berjalan selama 18 bulan, dari awal tahun 1991 hingga musim panas 1992. Proyek tersebut belum menggunakan versi yang dinamakan Oak. Proyek ini dimotori oleh Patrick Naughton, Mike Sheridan, dan James Gosling, beserta sembilan pemrogram lainnya dari Sun Microsystems. Salah satu hasil proyek ini adalah maskot Duke yang dibuat oleh Joe Palrang.

Pertemuan proyek berlangsung di sebuah gedung perkantoran Sand Hill Road di Menlo Park. Sekitar musim panas 1992 proyek ini ditutup dengan menghasilkan sebuah program Java Oak pertama, yang ditujukan sebagai pengendali sebuah peralatan dengan teknologi layar sentuh (touch screen), seperti pada PDA sekarang ini. Teknologi baru ini dinamai "*7" (Star Seven).

Setelah era Star Seven selesai, sebuah anak perusahaan Tv kabel tertarik ditambah beberapa orang dari proyek The Green Project. Mereka memusatkan kegiatannya pada sebuah ruangan kantor di 100 Hamilton Avenue, Palo Alto.





Arithmatic.java

/*
 * 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 Pertemuan1;

/**
 *
 * @author www.scodeid.blogspot.com
 */
public class ArithmeticDemo {
    public static void main(String[] args) { //psvm
        
        //deklarasi and deskripsi
        //declare and assign
        int i = 5;
        int j = 2;
       

        double xyogi = 27.123;
        double yogi = 7.22;
        
        System.out.println("Variable values...");
        System.out.println("i = " + i); //concatenation character + 
        System.out.println("j = " +j);
        System.out.println("x = " +xyogi);
        System.out.println("yogi = " +yogi);
        System.out.println("");
        System.out.println("Adding . . .");
        //proses and output
        System.out.println("i + j = " +(i+j));
        System.out.println("x + y = " +(xyogi+yogi));
        
        //======================================================
        
        //substracting numbers
        System.out.println("Sustracting . . .");
        System.out.println("i - j" + (i - j));
        System.out.println("xyogi - yogi " + (xyogi - yogi));
        System.out.println("");
        
        //multiplaying numbers
        System.out.println("Multiplaying . . .");
        System.out.println("i * j = " + (i*j));
        System.out.println("xyogi * yogi = " +(xyogi * yogi));
        System.out.println("");
        
        //dividing numbers
        System.out.println("Dividing . . .");
        System.out.println("i / j = " + (i/j));
        System.out.println("xyogi / yogi = " +(xyogi / yogi));
        System.out.println("");
        
        //computingg the remainder resulting from dividing
        //numbers
        System.out.println("Computing Numbers . . .");
        System.out.println("i % j = " +(i%j));
        System.out.println("xyogi % yogi = " +(xyogi % yogi));
        System.out.println("");
        
        //mixing types
        System.out.println("Mixing . . .");
        System.out.println("i + j = " +(i+j));
        System.out.println("xyogi * yogi = " +(xyogi * yogi));
        System.out.println("");
    }
}


</code></pre><div style=" k="" less="" or="" system.out.println="" text-align:="" than="" to="">
  • TIPS
  • ketikan "psvm" pada java netbeans IDE, lalu pencet tombol tab dan lihat apa yang terjadi

Langkah Pertama

  • Open Netbeanse and Click File
  • Lalu create new project
  • Categories Java | Project  Java Application
  • Click next
  • Isikan Project Name " MyFirstJavaApplications "
  • Centang pada create main class ( opsional )
  • Finish

Langkah Kedua

  • Click kanan pada Source Packages
  • New
  • Pilih Java Package...
  • Isikan Package name " BeginerJava "

Langkah Ketiga

  • Click kanan pada Java Source Package BeginerJava
  • New
  • Pilih Java Class...
  • Isikan class name "Arithmatic.java"
  • Masukan Source Code Java atau Rewrite Source Code Java di atas
  • jalankan program ( shit + f6 ) atau click kanan pada class name Arithmatic dan pilih run file
==========================
Thanks for
==========================
Java
Netbeans
==========================

Thanks for read | Terima Kasih Sudah Membaca
Semoga Bermanfaat dan Code nya bisa running , dan yang error bisa komen pada kolom komentar di bawah. . .

Program Arithmatic Java Netbeans Kuliah Teknik Informatika

relational-java-menggunakan-netbeans-kuliah-ti.html

Relational Java dengan Netbeans Kuliah Teknik Informatika - Java adalah bahasa pemrograman yang dapat dijalankan di berbagai komputer termasuk telepon genggam. Bahasa ini awalnya dibuat oleh James Gosling saat masih bergabung di Sun Microsystems saat ini merupakan bagian dari Oracle dan dirilis tahun 1995. Bahasa ini banyak mengadopsi sintaksis yang terdapat pada C dan C++ namun dengan sintaksis model objek yang lebih sederhana serta dukungan rutin-rutin aras bawah yang minimal. Aplikasi-aplikasi berbasis java umumnya dikompilasi ke dalam p-code (bytecode) dan dapat dijalankan pada berbagai Mesin Virtual Java (JVM). Java merupakan bahasa pemrograman yang bersifat umum/non-spesifik (general purpose), dan secara khusus didisain untuk memanfaatkan dependensi implementasi seminimal mungkin. Karena fungsionalitasnya yang memungkinkan aplikasi java mampu berjalan di beberapa platform sistem operasi yang berbeda, java dikenal pula dengan slogannya, "Tulis sekali, jalankan di mana pun". Saat ini java merupakan bahasa pemrograman yang paling populer digunakan, dan secara luas dimanfaatkan dalam pengembangan berbagai jenis perangkat lunak aplikasi ataupun aplikasi





RelationalScode.java

/*
 * 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 Pertemuan1;

/**
 *
 * @author www.scodeid.blogspot.com
 */
public class RelationalDemo {
    public static void main(String[] args) {
        int i = 37;
        int j = 42;
        int k = 43;
        System.out.println("Variable Vales . . .");
        System.out.println("i = " +i);
        System.out.println("j = "+j);
        System.out.println("K = " +k);
        
        //greater than
        System.out.println("Greater than . . .");
        // i > j , j > i , k > j
        System.out.println("i > j = " +(i>j)); //false
        System.out.println("j > i = " +(j>i)); //true
        System.out.println("k > j = " +(k>j)); //false  
        //======================================================
        
        System.out.println("Greater than or equal to . . .");
        System.out.println("i >= j" +(i>=j)); //false
        System.out.println("j >= i" +(j>=i)); //true
        System.out.println("k >= j" +(k>=j)); //true  
        
        System.out.println("Less than . . .");
        System.out.println("i < j = " +(i
  • TIPS
  • ketikan "psvm" pada java netbeans IDE, lalu pencet tombol tab dan lihat apa yang terjadi

Langkah Pertama

  • Open Netbeanse and Click File
  • Lalu create new project
  • Categories Java | Project  Java Application
  • Click next
  • Isikan Project Name " MyFirstJavaApplications "
  • Centang pada create main class ( opsional )
  • Finish

Langkah Kedua

  • Click kanan pada Source Packages
  • New
  • Pilih Java Package...
  • Isikan Package name " BeginerJava "

Langkah Ketiga

  • Click kanan pada Java Source Package BeginerJava
  • New
  • Pilih Java Class...
  • Isikan class name "RelationalScode.java"
  • Masukan Source Code Java atau Rewrite Source Code Java di atas
  • jalankan program ( shit + f6 ) atau click kanan pada class name RelationalScode dan pilih run file
==========================
Thanks for
==========================
Java
Netbeans
==========================

Thanks for read | Terima Kasih Sudah Membaca
Semoga Bermanfaat dan Code nya bisa running , dan yang error bisa komen pada kolom komentar di bawah. . .

Relational Java Menggunakan Netbeans Kuliah TI

Subscribe Our Newsletter