0

Client Server menggunakan JAVA

1.1. Source code ChatServer.java
import java.net.*;
import java.io.*;
import javax.swing.*;
import java.awt.*;
import java.awt.event.*;

class ChatServer extends JFrame{

JLabel lblPesan =  new JLabel  ("Kirim Pesan :");
TextArea taPesan=new TextArea(4,50);
JLabel lblBalasan = new JLabel ("Dari Teman  :");
TextArea taTeman=new TextArea(4,50);
JButton btnSend=new JButton("Send");
JButton btnClose=new JButton("Close Connection");
ServerSocket sktServer;
Socket conClient;

ObjectInputStream fromClient;
ObjectOutputStream toClient;
String s=null;
Container c;
   

public void sendData(){
           try{
                       toClient=new ObjectOutputStream(conClient.getOutputStream());
                       toClient.writeObject(taPesan.getText());
                       System.out.println(taPesan.getText());
                       taPesan.setText("");
               taPesan.requestFocus();
              
           }
           catch (EOFException ex){
                       ;
           }
           catch(NullPointerException npe){
                     JOptionPane.showMessageDialog(null, "Koneksi Belum Tersambung ! ",
                                 "Pesan", JOptionPane.ERROR_MESSAGE);
           }
           catch(SocketException se){
                     JOptionPane.showMessageDialog(null, "Koneksi Putus !",
                                 "Pesan", JOptionPane.ERROR_MESSAGE);
           }
           catch(IOException io){
                       System.out.println("IO Exception");
                       io.printStackTrace();
           }
}//end void sendData()


public void closeConnection(){
           try{
                     //toClient.writeObject("bye");
                     conClient.close();
                     conClient=null;
                     System.exit(0);
           }//end try
           catch (EOFException ex){
                       ;
           }
           catch(IOException io){
                       System.out.println("IO Exception");
                       io.printStackTrace();
           }
}//end closeConnection();

public ChatServer()throws IOException{
                     c = getContentPane();
                     c.setLayout (new FlowLayout());
                     c.add (lblPesan);
                     c.add (taPesan);
                     c.add (lblBalasan);
                     c.add (taTeman);
                     c.add (btnSend);
                     c.add (btnClose);
                         

           btnSend.addActionListener (new ActionListener(){
                       public void actionPerformed(ActionEvent evt){
                                   sendData();
                       }//end void actionPerformed
           });

           btnClose.addActionListener (new ActionListener(){
                       public void actionPerformed(ActionEvent evt){
                                   closeConnection();
                       }//end void actionPerformed
           });

}//end public ChatServer()

         public void terimaKoneksi() throws IOException{
             //sktServer=new ServerSocket(2000,1000);
                     sktServer=new ServerSocket(2000);
                     conClient=sktServer.accept();
                     //tunggu sampai client masuk melalui port 2000

                     //System.out.println("Tersambung dengan client " +
                                 //conClient.getInetAddress());

                     JOptionPane.showMessageDialog(null, "Tersambung dengan Client " +
                                 conClient.getInetAddress().toString(), "Pesan",
                                 JOptionPane.INFORMATION_MESSAGE);
                     sktServer.close();
 
                     try{
                                                 
                                 fromClient=new ObjectInputStream(conClient.getInputStream());
                                 do{
                                             try{
                                                         s=(String) fromClient.readObject();
                                                         //System.out.println(s);
                                                         taTeman.setText(s);
                                             }//end try
                                             catch(ClassNotFoundException ex){
                                                         System.out.println("Error");
                                             }//end catch
                                 }//end do
                                 while (!s.equals("bye"));
                     }//end try
                     catch (EOFException ex){
                                 ;
                     }
                     catch (IOException io) {
                                 System.out.println("IO Exception");
                                 io.printStackTrace();
                     }
                     finally {
                                 System.out.println("Closed");
                                 conClient.close();
                     }//end finally
         }//end void terimaKoneksi()

         public static void main(String[] args) throws IOException
         {
                     ChatServer svr = new ChatServer();
                     svr.setTitle("Chatting - Server");
                     svr.setLocation (300,300);
                     svr.setSize(500,250);
                     svr.setVisible(true);           
                     svr.addWindowListener(new WindowAdapter(){
                                 public void windowClosing(WindowEvent ev){                                
                                             System.exit(0);
                                 }//end void
                     });
                     //supaya GUI muncul dulu & bisa terima koneksi, maka
                     //method terimaKoneksi() diletakkan di sini
                     svr.terimaKoneksi();

         }//end main
}//end class
 
 
 
2.1. Source code ChatClient.java
import java.net.*;
import java.io.*;
import javax.swing.*;
import java.awt.*;
import java.awt.event.*;

class ChatClient extends JFrame{

JLabel lblPesan =  new JLabel  ("Kirim Pesan :");
TextArea taPesan=new TextArea(4,50);
JLabel lblBalasan = new JLabel ("Dari Teman  :");
TextArea taBalasan=new TextArea(4,50);
JButton btnSend=new JButton("Send");
JButton btnOpen=new JButton("Open Connection");
JButton btnClose=new JButton("Close Connection");
Socket con=null;
ObjectOutputStream toServer;
ObjectInputStream fromServer;
String balasan=null;
String inputIPServer;

public void openConnection(){
           try{
                     //input dialog u/ memasukkan IP Address Chat Server
                     inputIPServer=JOptionPane.showInputDialog("Inputkan IP Server");

                     //koneksi ke port 2000 pada IP Address Server
                     con=new Socket(InetAddress.getByName(inputIPServer),2000);
                     toServer=new ObjectOutputStream(con.getOutputStream());
           }//end try
           catch (EOFException ex){
                       ;
           }
           catch(IOException io){
                       System.out.println("IO Exception");
                       io.printStackTrace();
           }
}//end openConnection();

public void sendData(){
           try{
                       toServer.writeObject(taPesan.getText());
                       taPesan.setText("");
               taPesan.requestFocus();
           }
           catch (EOFException ex){
                       ;
           }
           catch(IOException io){
                       System.out.println("IO Exception");
                       io.printStackTrace();
           }
}//end void sendData()

public void getData(){
           try{
                       fromServer=new ObjectInputStream(con.getInputStream());
                       balasan=(String) fromServer.readObject();
                       //System.out.println(balasan);
                       taBalasan.setText(balasan);
           }
           catch (ClassNotFoundException ex){
                       System.out.println("Error");
           }
           catch (EOFException ex){
                       ;
           }
           catch(IOException io){
                       System.out.println("IO Exception");
                       io.printStackTrace();
           }
}//end void getData()
public void closeConnection(){
           try{
                     toServer.writeObject("bye");
                     con.close();
                     con=null;
           }//end try
           catch (EOFException ex){
                       ;
           }
           catch(IOException io){
                       System.out.println("IO Exception");
                       io.printStackTrace();
           }
}//end closeConnection();

public ChatClient(){
           Container c = getContentPane();
           c.setLayout (new FlowLayout());
           c.add (lblPesan);
           c.add (taPesan);
           c.add (lblBalasan);
           c.add (taBalasan);
           c.add (btnOpen);
           c.add (btnSend);
           c.add (btnClose);

           btnOpen.addActionListener (new ActionListener(){
                       public void actionPerformed(ActionEvent evt){
                                   openConnection();
                       }//end void actionPerformed
           });

           btnSend.addActionListener (new ActionListener(){
                       public void actionPerformed(ActionEvent evt){
                                   sendData();
                                   getData();
                       }//end void actionPerformed
           });

           btnClose.addActionListener (new ActionListener(){
                       public void actionPerformed(ActionEvent evt){
                                   closeConnection();
                       }//end void actionPerformed
           });
   
           //pack();
}//end public ChatClient()

         public static void main(String[] args)
         {
                     ChatClient klien = new ChatClient();
                     klien.setTitle("Chatting - Client");
                     klien.setLocation (300,300);
                     klien.setSize(500,250);
                     klien.setVisible(true);         
                     klien.addWindowListener(new WindowAdapter(){
                                 public void windowClosing(WindowEvent ev){                                
                                             System.exit(0);
                                 }//end void
                     });

         }//main
}//class
 
1

"battery saver + meningkatkan kinerja RAM!! (ROOTED) Full Gbeerrrr gan!!

HH dalam keadaan ROOTED  (sudah di root)!!
untuk jaga2 backup dulu semua data+system!!
dan melakukan nya dalam waktu senggang karena memerlukan waktu yang cukup lama!!
biar tenang gan....

sesajen yang mesti di sediakan :
1. mugen power : http://www*4shared*com/android/ySRv5bZr/Mugen_Power.html
2. script deep sleep optimize : http://adf*ly/3nacM  , lalu extact
tambahannya https://market*android*com/details?id=com.gejos.android.wakemyandroidpro
2. script RAM & TWEAKS nya :  http://androidsanana*blogspot*com/2011/09/edit-tweaks23-dan-juwe-script-irit.html , lalu Extract
[ tanda(*) ganti dengan (.)  ]
lalu simpan semua sesajen ke sdcard!

langkah2 Ritual nya:
1. jalankan aplikasi mugen power, ada 3 pilihan profil yaitu stock battery, Mugen normal size, dan mugen large size.
  "keterangan: Untuk droiders yang menggunakan battery standard dengan daya sekitar 1200mAh,
  boleh menggunakan profile 1 (stock Battery) atau profile 2 (mugen normal size). Bagi droiders yang sudah menggunakan battery dengan daya sekitar 1500mAh,
  silahkan pilih profile 3 (mugen large size). Pilihan sesuai dengan battery masing-masing kemudian calibrate (ane mah pake profile 2 batre:1350mAh). "
2. charge HH droiders hingga full mentok’s (100%). Lebih baik charge dalam keadaan *flight mode* dan jangan di ganggu gugat sampe tanda full battery muncul
  (nitification bawaan yang jadi patokan full battery nya karena pemberitahuannya lebih lambat dibanding notification lainnya. Selama proses charge, alpikasi jangan di exit atau pun pindah ke aplikasi lain
3. Setelah ada notification full charge, selanjutnya tinggal calibrate profile.

    kemudian langkah selanjutnya untuk memaksimalkan kinerja RAM...
4. buka root explore, pindahkan Scrip 23tweaks & s97ramscript  tadi yang di simpan d SDcard  ke /system/etc/init.d/
  (jika belum ada folder init.d bisa membuat nya caranya klik terlebih dulu menjadi Mount R/W, pilih New Folder , lalu pilih New Folder, ketik init.d
5. untuk permissions nya rwxr-xr-r atau
    v v v
    v - v
    v - v
6. buka root explorer, pindahkan script deepsleep tadi yang disimpan d SDcard ke system/etc/init.d/
7. untuk permissions nya rwxr-xr-r atau
    v v v
    v - v
    v - v
8.  buka root eksplorer, data/system/batterystats.bin  ---> delete
9.  cabut charger dari HH, lalu reboot
10. lalu masuk cwm, pilih advanced/wipe battery stats --> yes , reboot

11. gunakan HH hingga mati dengan sendirinya (kuras/habiskan battery).
12.  charge lagi sampai full mentok dalam keadaan mati).
     ..........dan rasakanlah HASIL-nya. monggo bandingkan dengan sebelum ritual…!!??


*langkah lain untuk menunjang kerja MP(Mugen Power) di atas, bisa menggunakan aplikasi 2x battery,green power premium, dll.
ato kalo ane mah pake juice defender ultimate.

#juice defender ultimate (add on).

- instal juice defender terlebih dulu ada di market free( yg ada gambar tameng nya)
- download add-on juice defender ultimate  : http://www*4shared*com/file/mLccICN_/Juice_Defender_Ultimate_v356.html
- kemudian instal juice defender ultimate
- buka, dan bisa settingan yang ane pake nih!

Setting Juice Defender Ultimate:
Setting Profile Advance

Tab: Status

Juice Def Ultimate: enable
Profile                  : Advance
Notification          : text
Options               : quick enable & quick disable

Tab: Controls

Mobile data        : enable
Tablet Mode       : default (kosongkan)
Wifi                    : enable
Options              : default (kosongkan)
3G                     : disable
AutoSync           : ping
Keep enable       : data
Timeout             : disable
CPU                   : Proceed

Tab: Schedule

Schedule          : enable
Frequency         : 5m
Duration           : 30s
Controls            : default
Night                : enable (atau disable u/ menonaktifkan konektivitas pada malam hari)
Start end          : (sesuaikan dengan waktu tidur anda)
Peak                 : disable
Weekend          : disable

Tab: Triggers

Battery                : enable
Battery Treshold  : 15%
Charger               : ac
Screen                 : enable
Option                 : Ignore on low battery
Controls              : default
Traffic                 : disable
Apps                   : enable
Configure             : configure apps (pilih aplikasi mana yang diperlukan lalu pilih     enable/screenoff,ini akan membuat akses data tetap berjalan meski screenoff atau screenlock yg biasanya mengakibatkan akses data terputus)
Controls               : default
Location               : default


NB: segala resiko di tanggung petualang ritual.. sukses DROIDERS..!! smoga bermanfaat dan saran & kritiknya boleh di tuangkan untuk pengembangan kedepannya, hatur nuhun terima kasih.

thanks for Fahri Badjeber, Erick Delano, xda, android-ID, para droiders....
2

CYANOGENMOD PROJECT--- (THEMES INCLUDE..)

_IMPORTANT______

-. do backup before you do this
-. please dont say ETA about this project

hallo semuanya...
seperti yang kita tahu.. pengembangan cyanogenmod untuk HH kita dah dimulai.. n sekarang masuk ketahapan beta 1...

memang masih ada beberapa major bug.contohnya wifi, bluetooth n camera yang belum bisa berfungsi..
tapi andai teman-teman pengen coba sensasi cyanogenmod itu seperti apa, berikut yang harus disiapin...

check this out...

pertama buat pasang cm7 di gio,, kita butuh cwm yang udah di design khusus untuk CM7..

ini link nya... : http://www.mediafire.com/?zmdmbx8kn2ujcy8

kedua file yang kalian butuhin tentunya rom CM7 itu sendiri... ini link nya.

http://www.mediafire.com/download.php?3333sx5z74kc95l



berikut tutorial flashingnya...


1. taro semua file yang kalian dapet di sdcard ( no folder ).
2. go to recovery mode..
3. instal file cwm yang dah didownload tadi via recovery... then reboot. kemudian masuk lagi ke recovery mode.
4. lakukan wipe data/ factory reset via CWM.
5. flash file px-cm7-KANG.zip yang udah didapet lewat cwm.
6. reboot and done

----untuk kalian yang pengen ambil theme keren buat mempercantik gio yang dipegang... bisa ambil theme dari sini.. --

http://forum.cyanogenmod.com/topic/17567-list-cm7-theme-chooser-themes/

cara pasangnya tinggal instal n masuk ke theme chooser..

bug's detected :

  • Bluetooth (not working).
  • Wifi (not working).
  • APN harus disetting manual
  • camera ( cant take picture )


ingat... ini masih beta 1. team masih berupaya memperbaiki bug tersebut jadi mohon bersabar..



UPDATE

--addons for cm7 beta 1--

FIX BUG'S :
-. WIFI
-. BLUETOOTH (able to sending and received data)
-. a2sd mnior bug

still not work :

-.camera

link :http://www.mediafire.com/?48b1htxtvae7nbh

how to :

--. put the file update you already on SDcard.
--. Reboot into cerovery
--. mount system
--.instal it.
--. reboot

----UPDATE addons part 2 CM7 beta 1----

-. camera bug fix ( use 3rd party app for running, example: camera 360, you can grab it on market )
-. backlight minor bug fix
-. orientation camera bug fix
-. APN auto setting ( go to setting -> wifi&network -> mobile network -> access point name - press menu button & tap to Reset to default

link : http://www.mediafire.com/?1ckxe8aooa5b3en

how to :

-. reboot into cwm recovery
-. mount system
-.update zip
-.reboot and done


---UPDATE 2----

------HOW TO ENABLE A2SD ON CM7-------
-------------------------------------------------------------------------------------------------------------

- goto terminal emulator
- write:

su
a2sd zipalign

and :


if u want use a2sd standar,
type this on terminal emulator :


a2sd cachesdreset


if u want use a2sd extream :

a2sd datasd


---------------------------------------------------------------------------------------------------------------


----IISSUE----

-. beberapa user bilang ada yang bermasalah dengan market yang sering force close, pemecahannya yaitu :

1. downgrade market. ( masuk ke manage appication, cari market, uninstal update )
2. via root eksplorer, masuk ke system/app cari market upadter.apk rename menjadi marketupdater.apk.bak
3. done

-. Sometime video become lags
-. Backlight keep on after set brightness



-----UPDATE 3----

CYANGENMOD RELEASE CANDIDATE 2

proyek cyanogenod untuk gio masuk ke tahap RC 2..

buat yang pengen coba..
ini link nya..
http://www.mediafire.com/?behv0qj0hrkr797#1


apa yang beda dari versi beta ??

yang udah ix ( tapi masih ada masalah di beberapa user yang coba, contoh market n backlight yang masih suka ngaco) :

-. APN ga perlu setting manual
-. bisa pake marke baru ( tanpa harus force close ).
-. suara bising waktu denger radio.


HOW TO :

ada 2 cara buat instalasi cyanogenmod 2 ini..

metode 1 :

-. pindah dalvick chache ke internal --> internal harus cukup, kalo udah. masuk terminal emulator, ketik

su
a2sd nocachereset
kalo udah ketik, reboot
-. masuk lagi CWM.
-. flash file yang dah kalian download
-. reboot. ( proses ini bakal lama. siapin teh atau kopi takut bosen)
-. setelah proses selesai. masuk terminal emulator.
ketik

su
a2sd reinstall
-. aktifin ulang a2sd ( buat yg mau, kalo ga juga gapapa)

Metode 2 :

-. metode ini bakal ngapus semua data yang kamu punya. so do backup first...
-. masuik CWM recovery
-. pilih wipe data/ factory reset
-. flash file yang udah kalian download
-. reboot. ( buat yang pengen pake a2sd, bisa aktifin sesuai tutor).

beberapa user mengalami bootloop saat update ini.. team masih cari taumasalahnya sampai skarang,,, jadi mohon bersabar..


____update 4____

                                        cyanogenmod release candidate 3.0

release candidate cyanogenmod untuk galaxy gio udah masuk ke release candidate 3..

apa sih yang berubah??


check this....

- penambahan fitur baru..
- include all fix
- tidak menggunakan a2sd ( s2e bisa dipakai sebagai penggantinya )
- menghilangkan google apps
- menghapus no-friils ( pengaturan overclock dan governoor dilakukan di cyanogenmod setting)
- lebih cepat
- manageman ram lebih baik
- fix minor bug saat pengaturan frekwensi.
- fix issue mengenai backlight.
- dan lain-lain....


gimana sih cara pasangnya???

___how to___

-. download clockworkmod versi terbaru yang khusus digunakan untuk CM7. kemudian pasang melalui recovery..
link : http://www.mediafire.com/?p7r2bcn9447bpc8

-. download file cyanogenmod 7 RC 3 kemudian taruh di SDcard no folder...
link : http://www.mediafire.com/?sdau469o2l11wd7

-. masuk ke menu cwm,, flash file yang sudah didownload..
-. reboot

perhatian

proses ini akan menghilangkan google apps. untuk menginstalnya kembali.. download file google apps di sini.. : http://wiki.cyanogenmod.com/index.php?title=Latest_Version/Google_Apps

flash file yang sudah didownload via recovery mode..

___how to configure s2e on CM7____

dikarenakan a2sd dihapuskan secara default di RC 3.0 ini. maka disarankan memakai aplikasi s2e sebagai penggantinya ( bisa juga menggunakan link2sd jika kurang suka).

how to configured s2e :

- first, downlaod & install it from market
- open s2e, and press menu and choose setting
- checklist the advance mode, extended partitions info, mount as ext4
- u also can set read buffer. i'm using 3Mb
- press back, and press menu -> reboot
- if your phone not automatic reboot, u should reboot it manually
- after reboot, open s2e again. u can check whatever u want
- i'm check it all, except Application data (Application data = a2sd extream datasd)
- reboot again



Special thanks to :

-. Andika Edo Prabowo aka Phiexz and yannuar harry for porting cm7
-. rizal izal rinofah aka klebengan for themes
-. android developers on kaskus, xda-developers and Andro-ID for support
-. all member galaxy gio community on facebook,XDA-developer and kaskus for support


source : http://forum.xda-developers.com/showthread.php?t=1337178


happy flashing and always...

___do with your own risk____
0

Berjalan-jalan Setelah Putus Cinta? Kenapa Tidak

Banyak cara menyembuhkan luka hati akibat putus cinta. Tapi tahukah Anda berjalan-jalan dapat menjadi salah satu alternatif menyenangkan?

Jika jalan-jalan memang merupakan hobi Anda, mengapa tak mencobanya untuk mengurangi luka hati karena kehilangan cinta? Ini bukan metode kabur dari kenyataan, melainkan cara menemukan diri Anda kembali serta membangkitkan kepercayaan diri.

Tujuan
Tempat tujuan tergantung dari banyak hal, termasuk anggaran. Pikirkan matang-matang mana yang paling Anda suka. Jangan pergi ke tempat yang menyimpan kenangan khusus dengan si mantan. Lebih baik pilih tujuan yang banyak menawarkan kegiatan menyenangkan dan kesempatan bertemu teman baru.

Ajak teman
Anda bisa memilih untuk menghabiskan liburan sendirian atau menambah ceria suasana dengan kehadiran sahabat. Kehadirannya bisa membantu meningkatkan suasana hati Anda atau bisa mengingatkan Anda ketika berencana melakukan hal-hal berbahaya.

Jika memang masih ada pikiran yang ingin dikeluarkan kepada teman tentang kisah cinta Anda, sebaiknya lakukan sebelum perjalanan. Usahakan sesedikit mungkin melakukan sesi curhat sebab mungkin merusak suasana hati. Nikmati saja perjalanan dan bersenang-senang.

Perhatikan penampilan
Ini penting! Jangan sepelekan penampilan Anda saat berlibur. Tampil cantik bukan berarti ingin memukau orang lain tapi untuk meningkatkan kepercayaan diri sendiri. Dengan penampilan yang menarik, Anda lebih percaya diri dan bisa meningkatkan mood menjadi lebih baik.

Pilih kegiatan
Ingat-ingat kembali apa hobi lama Anda. Fotografi, memasak, melukis, atau berenang? Pilih tempat liburan yang bisa membuat Anda menyalurkan kembali hobi tersebut. Mungkin saja dulu Anda terlalu sibuk dengan kekasih sehingga tak punya banyak waktu untuk menekuni hobi.

Ikuti kelas masak tradisional di tempat tujuan atau coba menjelajahi berbagai pilihan kuliner menarik di tempat berlibur. Temukan kembali potensi dan kepercayaan diri Anda lewat kegiatan dan hobi yang lama terpendam.

Lakukan banyak kegiatan fisik seperti olahraga atau berjalan kaki. Hindari terlalu banyak duduk diam dan merenung. Kegiatan ini hanya akan membuat Anda mengingat kembali luka lama dengan si dia. Kegiatan fisik yang menyenangkan bisa meningkatkan mood dan mengurangi stres.

Berteman
Jika Anda bepergian dengan anggaran ketat, losmen bisa menjadi pilihan yang baik. Kenapa? Karena rata-rata akomodasi jenis ini mempunyai ruang bersama tempat nongkrong para tamu. Di ruangan ini Anda bisa menjalin pertemanan baru dengan saling mengobrol, bertukar cerita, menonton televisi, dan berinteraksi secara alami.

Tapi ingat, jangan terlalu ambisius dan membayangkan kenalan baru Anda adalah calon kekasih. Tak perlu juga curhat sembarangan kepada orang yang baru dikenal. Perilaku seperti itu bisa membuat Anda malah dijauhi. Anda juga bisa menemukan teman baru saat mengikuti kegiatan tur bersepeda atau menikmati pemandangan di pantai.

Ingat batasan Anda dengan si teman baru, jangan terlalu banyak memberikan informasi pribadi pada awal-awal pertemuan. Ajak sahabat Anda agar ada teman yang selalu mengingatkan.

Memiliki teman baru bisa membuka wawasan dan pengetahuan. Bisa jadi Anda juga terinspirasi oleh cerita perjalanan atau pandangannya tentang hidup. Teman baru biasanya juga memiliki cara pandang berbeda tentang diri Anda yang belum tentu Anda sadari. Siapa tahu Anda menemukan potensi diri terpendam dari perbincangan dengan si teman baru.

Stop memata-matai
Ini adalah saatnya Anda berlibur dan bersenang-senang. Jika memungkinkan, lepaskanlah diri Anda dari segala hal yang mengingatkan Anda pada si dia. Tak perlu membuka Twitter atau membaca halaman Facebook. Sebisa mungkin, fokus pada diri Anda dan keinginan untuk pulih dari kisah cinta yang terpuruk. Jika memungkinkan, matikan telepon seluler dan lepaskan diri Anda dari rutinitas atau pesan-pesan yang menyita perhatian dan pikiran.

Bekerja sukarela

Jika bingung ingin liburan ke mana, bekerja sukarela di daerah tertentu bisa menjadi pilihan. Lewat Internet, cari kegiatan yang cocok dengan minat Anda. Membantu orang lain bisa membuat Anda merasa berguna dan meningkatkan kepercayaan diri. Anda bisa merasa dunia tak hanya seputar di dia dan masih banyak orang yang membutuhkan kehadiran Anda.

Semangat!
0

PHP-Operator Perbandingan dan logika

Untuk melengkapi ilmu kita tentang operator percabangan, kita perlu mengetahui di dalam if kita bisa memakai apa saja. Nah, untuk itu kita akan mempelajari tentang operator. Siap ?

Kita sudah melihat bagaimana penggunaan tanda “=” saat kita mengisi variabel dalam skrip yang sudah kita tulis (misalnya $WarnaFavorite=”biru”). Tanda sama dengan tersebut disebut dengan “assignment operator” dan merupakan operator paling sederhana yang sudah kita miliki: $a = b berarti “variabel a diisi dengan nilai b (untuk saat ini)”.

Tetapi anda dapat memperoleh lebih banyak dari PHP dengan apa yang disebut dengan “comparison operator” (operator perbandingan) , “logical operator” (operator logika) dan “arithmetic operator” (operator aritmatika). Berikut adalah operator-operator tersebut diambil dari PHP.net

Operator Perbandingan

Operator ini membuat anda bisa melakukan pembandingan apakah beberapa elemen sama, identik, kurang dari atau lebih besar dari yang lain.

Contoh
Name
Result
$a == $b
Sama dengan
BENAR jika $ a sama dengan $b.
$a === $b
Identik
BENAR jika $a sama dengan $b, dan keduanya memiliki tipe yang sama.
$a != $b
Tidak sama dengan
BENAR jika $a tidak sama dengan $b.
$a <> $b
Tidak sama dengan
BENAR jika $a tidak sama dengan $b.
$a !== $b
Tidak identik
BENAR jika $a tidak sama dengan $b, atau tidak memiliki tipe yang sama.
$a < $b
Kurang dari
BENAR jika $a kurang dari $b.
$a > $b
Lebih besar dari
BENAR jika $a lebih besar dari $b.
$a <= $b
Kurang dari atau sama dengan
BENAR jika $a kurang dari atau sama dengan $b.
$a >= $b
Lebih besar dari atau sama dengan
BENAR jika $a lebih besar dari atau sama dengan $b.
Kesalahan yang cukup sering saya lakukan adalah menggunakan operator assignment (“=”) untuk membandingkan, sehingga untuk mambandingkan apakah 2 variabel sama atau tidak dalam sebuah percabangan saya tuliskan:

If ($a = $b)

Yang seharusnya

If ($a == $b)

Operator Logika

Di sini anda dapat membandingkan elemen-elemen menggunakan pembandingan logika and dan or.

Contoh
Nama
Hasil
$a and $b
And
BENAR jika baik $a dan $b keduanya BENAR.
$a or $b
Or
BENAR jika salah satu dari $a atau $b BENAR.
$a xor $b
Xor
BENAR jika salah satu dari $a atau $b BENAR, tetapi tidak keduanya.
! $a
Not
BENAR jika $a tidak BENAR.
$a && $b
And
BENAR jika baik $a dan $b keduanya BENAR.
$a || $b
Or
BENAR jika salah satu dari $a atau $b BENAR.
Operator Aritmatika

Persis seperti namanya, operator ini melakukan matematika dasar (artinya, kalau anda menginginkan operasi matematika lainnya misalnya integral atau differensial ya harus bikin sendiri, lagian siapa yang mau pake ya?)

Contoh
Nama
Hasil
$a + $b
Penjumlahan
Jumlah $a dan $b.
$a - $b
Pengurangan
Selisih $a dan $b.
$a * $b
Perkalian
Perkalian $a dan $b.
$a / $b
Pembagian
Pembagian $a dan $b.
$a % $b
Modulus
Sisa $a dibagi $b.

0

PHP-Operator If, Else dan Elsif

Sekedar mengingatkan, sampai saat ini anda sudah memiliki beberapa ketrampilan dasar dalam olah PHP yaitu cara membuat program PHP, Variabel dan Array. Dengan variabel anda sudah dapat menghubungkan antar halaman PHP, ditambah dengan array, maka nampaknya anda sudah memiliki semua pengetahuan tentang PHP, khan? Belum…. Masih banyak yang bisa kita pelajari. Salah satu bagian penting adalah mempelajari operator, yang dalam bagian ini operator yang akan dibahas adalah If dan else. Mengapa operator itu penting? Karena merekalah yang memungkinkan sebuah program dapat memutuskan dan “berpikir” (tentu saja sesuai yang telah kita tentukan).
Kemampuan sebuah program dalam mengambil keputusan inilah yang diperlukan dalam membuat sebuah web site yang dinamis dan pandai, yaitu membuat sebuah program yang dapat mengambil keputusan berdasarkan bermaca-macam input dari user, kondisi user (misalnya browser apa yang dipakai seorang pengunjung ?), maupun informasi yang anda tentukan sendiri. Contohnya bisa saja seperti ini:
Setelah seorang pengunjung memasukkan sebuah alamat email, mengecek apakah formatnya benar (mis.: siapa@dimana.com) dan jika tidak segera menampilkan sebuah halaman yang mengatakan “Maaf, mbok kalo memasukkan alamat email itu yang betul to”
Mengetahui apakah seorang pelanggan telah memasukkan login dan password yang tepat.
Dan masih banyak lagi, pokoknya kemungkinannya tidak terbatas lah.
Siap? Ayo kita mulai dengan mencoba berkenalan sama "if".
If
Cara untuk membuat halaman anda menjadi “pandai” adalah dengan menggunakan perintah If, Else dan Elseif yang disertai operator-operator logika dan perbandingan. Yang paling penting adalah perintah if, yang memungkinkan anda bisa membuat kode seperti ini:

  • Jika sebuah kondisi benar, maka kerjakan sesuatu;
  • Jika kondisi tersebut salah, maka abaikan saja;

Sintaks untuk pernyataan di atas adalah sebagai berikut:

if (kondisi) {
// Tulis kode yang ingin anda eksekusi jika kondisi benar di sini
}

Berikut adalah contoh yang lebih riil. Pertama kita akan mengeset variabel $WarnaKesukaan dengan biru (baris 3). Kemudian kita akan mengatakan ”Jika WarnaKesukaan adalah biru, maka tampilkan ’Saya juga suka warna biru lho!’”

<?php
$WarnaKesukaan = "biru";


if ($WarnaKesukaan == "biru") {
print ("Saya juga suka warna biru lho!");
}
?>

Else

Else merupakan bagian dari perintah if, untuk mengatakan hal sebagai berikut:


  • Jika sebuah kondisi benar, maka kerjakan sesuatu;
  • atau, jika kondisi pertama tidak benar, maka kerjakan hal yang lain ini.


Contoh:

if (kondisi) {
// Tulis kode yang ingin anda eksekusi jika kondisi benar di sini
} else {
// Tulis kode yang ingin anda eksekusi jika kondisi salah di sini
}

Berikut contoh riil kelanjutan dari yang tadi:

<?php
$WarnaKesukaan = "kuning";
 
if ($WarnaKesukaan == "biru") { 
print ("Saya juga suka warna biru lho!");
} else {
print ("Anda tidak suka biru?! Dasar!");
}
?>


Apa yang anda lihat di atas adalah format umum dalam menulis pernyataan tersebut. Kuncinya adalah untuk melihat di mana tuh letak kurung keriting eh kurawal sehingga anda tidak bingung misalnya perintah mana yang merupakan bagian kode tertentu. Dalam kode di atas, pasangan { dan } pertama adalah milik ”if”, sedangkan { dan } kedua milik ”else”.
0

PHP-Array Asosiatif

Dalam tulisan sebelumnya, kita sudah belajar tentang array. Jika anda sudah siap untuk mempelajari array yang lebih rumit, silahkan baca tutorial ini. Array asosiatif mengindeks elemen di dalamnya menggunakan nama yang kita tentukan dan bukan menggunakan nomor seperti yang sudah pernah kita pelajari.


Cara membuatnya adalah menggunakan fungsi array. Dalam fungsi array, kita bisa mengeset sepasang atribut sebagai nama elemen dan nilai elemen itu sendiri menggunakan gabungan “=” dan “>”, misalnya: nama_elemen=>”nilai”. Contoh riilnya adalah sebagai berikut:
$pacarku = array (
nama=>"Juwita",
Sifat=>"Baik hati, tidak sombong dan rajin menabung",
rambut=>"panjang terurai",
umur=>17
);
Di sini, kita membuat array bernama pacarku, dengan nama elemen “nama”,”Sifat”,”rambut” dan “umur”; dan kita mengisi masing-masing nama elemen tersebut dengan nilai (nama diisi dengan “Juwita”, Sifat”Baik hati, tidak sombong dan rajin menabung”, dan seterusnya).
Setelah array kita buat, kita dapat mengambil bagian manapun dari array tersebut dengan menggunakan “nama elemen” yang sudah kita alokasikan, contoh:
print $pacarku[nama];
akan memberikan kita nilai Juwita. Kita dapat juga mengeset setiap nama elemen secara sendiri-sendiri, misalnya:
$pacarku[nama] = "Juwita";$pacarku[Sifat] = " Baik hati, tidak sombong dan rajin menabung ";$pacarku[rambut] = "panjang terurai";$pacarku[umur] = 17;
Sebelum topik array ini berakhir, mari kita buat sedikit lebih rumit. Kita akan menggunakan kekuatan array yang sebenarnya dengan membuat array multi dimensi (kali kayak dimensi ruang dan waktunya Einstein ya?). Sebuah array multi dimensi adalah array (misalnya pacar-pacar kita) yang terbuat dari array yang lain (yaitu array-array setiap pacar kita, berisi nama, sifat dan umurnya).
Kita membuat array multi dimensi dengan membuat sebuah array:


$hewan = array
(
);
...dan kemudian kita isi array tersebut dengan array-array hewan di rumah kita yang sudah kita definisikan nama elemennya seperti ini:

$pacarku = array (
array ( nama=>"Rosa",
sifat=>"Baik Hati",
umur=>17 ),
array ( nama=>"Ruby",
sifat=>"Tidak Sombong",
umur=>27 ),
array ( nama=>"Sri",
sifat=>"Rajin Menabung",
umur=>37 ),
array ( nama=>"Nety",
sifat=>"Pemalas",
umur=>15 )
);
Untuk menggunakannya, kita dapat mengambil setiap bagian informasi dari array kita tersebut dengan menyebut nama array ($pacar), nomor dari sub-array yang kita inginkan (Rosa adalah [0], Ruby dengan [1], dst) dan kemudian menyebut nama elemen untuk atribut yang kita inginkan (nama, sifat dan umur). Ngomong-omong, kalau melihat daftar pacarnya, pasti dia orang yang hobi berpetualang, dari yang daun muda sampai yang tua disamber semua. Payah.
Untuk mengetahui umur Nety, kita akan menuliskan seperti ini:
print $pacarku[3][umur];
Berikut ini adalah keseluruhan kode yang sudah kita buat tadi. Semua kita buat dalam satu halaman, namun perlu diingat bahwa anda dapat mengeset array di suatu tempat (katakanlah dalam kode atau fields di form yang berada di halaman lain atau dalam database) dan mengambil informasi yang ada di dalamnya dari tempat lain. Di dini kita akan meletakkan semua dalam satu halaman agar anda dapat melihat semuanya sekaligus.
<html>
<head>
<title>Array Pacar</title>
</head>
<body>


<?php


$pacarku = array (
array ( nama=>"Rosa",
sifat=>"Baik Hati",
umur=>17 ),
array ( nama=>"Ruby",
sifat=>"Tidak Sombong",
umur=>27 ),
array ( nama=>"Sri",
sifat=>"Rajin Menabung",
umur=>37 ),
array ( nama=>"Nety",
sifat=>"Pemalas",
umur=>15 )
);

print $pacarku[2]["sifat"];print ("<br>");print $pacarku[3]["umur"];


?>




</body></html>
akan menampilkan :
Rajin Menabung
15
Apa yang sudah kita lakukan adalah membuat array yang mengandung sub array untuk setiap pacar kita yang berisi informasi detil tentang mereka; kemudian menampilkan sebuah kalimat yang menggunakan sifat dan umur dari 2 pacar kita yang terakhir.
Sudah…sudah masalah array kita sudahi sampai di sini dulu yach. Kalau masih bingung kontak aja prothelord di prothelord@yahoo.co.id. Silahkan latihan dulu dan kembali lagi jika sudah lihai, OK?
Dalam bagian 8 kita akan membahas masalah operator. Ini merupakan topik yang penting karena merupakan inti sebuah program di mana kita bisa membuat percabangan yang membuat program kita bisa “berpikir dan mengambil keputusan” berdasarkan suatu input.
 
Copyright © Mulai Lagi