Notice: A session had already been started – ignoring session_start()

Apa yang terjadi?

Pada saat saya sedang mengerjakan sebuah proyek kecil yang menggunakan bahasa pemrograman PHP saya mendapati pemberitahuan sebagai berikut ketika saya mencoba login form yang menggunakan session.

Notice: A session had already been started – ignoring session_start()

A session had already been started - ignoring session_start()

A session had already been started - ignoring session_start()

Solusi

Setelah membaca-baca berbagai referensi yang ada hal peringatan tersebut muncul dikarenakan:

You are now seeing the warning message because you code has two or more calls to session_start.

Untuk menghilangkan “peringatan” tersebut saya ubah beberapa bagian dengan menambahkan struktur if untuk melakukan pengecekan apakah session sudah di-set atau belum, berikut bagian saya tambahkan:

if (!isset($_SESSION)) {
    session_start();
}

Sumber

Agar lebih jelas teman-teman bisa melihat lebih lanjut pada referensi-referensi yang saya baca pada link berikut:

  1. Referensi 1
  2. Cari di google dengan kata kunci “A session had already been started – ignoring session_start()

NetBeans Starter Kit Special – Free Shipping Promotion

Saat ini NetBeans.org sedang melakukan “Summer promotion” untuk menyediakan DVD gratis (NetBeans 6.7.1) terutama bagi para developer yang memiliki bandwidth terbatas. DVD ini dilengkapi dengan NetBeans 6.7.1 dan JavaFX SDK yang terbaru. Anda bisa melakukan order DVD gratis tersebut disini:
http://netbeans.org/about/media_form.html

Sumber:
http://netbeans.org/about/media.html

Men-generate code menggunakan fitur Code Generation Dialog

Pendahuluan

Posting ini merupakan lanjutan dari posting yang sebelumnya yang berjudul “Men-generate code menggunakan fitur code completion“. Bila pada postingan sebelumnya saya menunjukkan bagaimana caranya menghasilkan (generate) code dengan menggunakan fitur “Code completion” pada NetBeans (versi 6.1, 6.5, dan 6.7), tapi sekarang saya akan menunjukkan (cara menghasilkan code) dengan menggunakan fitur yang lain, yaitu “Code generation dialog“.

Apa yang bisa kita lakukan dengan fitur ini?

Dengan fitur “Code generation dialog” ini kita bisa menghasilkan:

  • Constructor
  • Getter (method)
  • Setter (method)
  • Getter dan setter
  • equals dan hashCode method
  • Delegate method
  • Override method
  • Add property

Bagaimana menggunakannya?

Pada tutorial ini saya akan menunjukkan bagaimana caranya menghasilkan setter dan getter method dengan menggunakan fitur (Code generation dialog) ini.

  1. Tekan Alt+Insert untuk memanggil menu code generation

    Menu dari code generation

    Menu dari code generation

  2. Lalu kita pilih menu “Getter and setter…” untuk menghasilkan getter and setter method

    Pilih getter and setter

    Pilih getter and setter

    lalu akan muncul “generate getters and setters dialog“, pilih field mana saja yang akan dibuatkan setter and getter method-nya setelah itu click tombol generate

    Generate getters and setters dialog

    Generate getters and setters dialog

    dan dibawah ini adalah screenshot dari code getter dan setter yang baru saja dihasilkan

    Kode yang dihasilkan

    Kode yang dihasilkan

Men-generate code menggunakan fitur code completion

Pendahuluan

Pada NetBeans versi 6.1, 6.5, 6.7 terdapat fitur yang dapat meningkatkan produktivitas kita sebagai programmer Java, yaitu fitur code completion yang berguna untuk mengisi kode yang missing, seperti simbol-simbol dan kata kunci secara otomatis. Dengan fitur ini juga kita menghasilkan secara otomatis constructor, override method, implement method.

Bagaimana menggunakannya?

Untuk menggunakan fitur ini lakukan langkah-langkah berikut:

  1. Tempatkan kursor di lokasi dalam file (class) di mana Anda ingin menghasilkan constructor lalu tekan Ctrl + Space.

    Fitur Code Completion

    Fitur Code Completion

  2. Setelah itu akan muncul window code completion, pilih constuctor yang akan menginisialisasi dengan field-field DummyPerson(String firstName, String lastName, Address homeAddress, Address officeAddress) – generate, dalam tutorial ini). Perhatikan bahwa IDE memberikan pilihan untuk menghasilkan baik itu default constructor atau constructor yang akan menginisialisasi semua field yang belum terinisialisasi.

    Code completion window

    Code completion window

  3. Lalu tekan Enter atau klik dua kali
  4. Generated constructor

    Generated constructor

Informasi lebih lanjut silahkan kunjungi link berikut:
Generating Code Using Code Completion

Telah terbit JavaLogNotes edisi ke-3

Halo apa kabar semuanya? Maaf bila telat sebelumnya, saya ucapkan Selamat Hari Raya Idul Fitri 1 Syawal 1430H.

Setelah cukup lama idle akhirnya terbit juga tulisan selanjutnya yaitu JavaLogNotes edisi ke-3, bila Anda yang belum mengetahui cara men-set classpath di Windows khususnya Windows XP, Anda dapat membaca tulisan berikut.

Edisi ke-3 Cara Men-set Classpath bagian 1

Selamat menikmati!

Fitur-fitur baru yang diberikan JDK 7

Pendahuluan

Sudahkah kalian tahu jika major release yang selanjutnya dari platform Java SE adalah JDK 7 (Java Development Kit 7). JDK 7 memperkenalkan beberapa fitur penting untuk memperbaiki kinerja, usability, dan keamanan dari platform Java.

Fitur-fitur penting pada JDK 7

Fitur-fitur pada JDK 7 terutama berfokus pada area-area berikut:

  • Modularisasi

    Salah satu keuntungan dari modularisasi adalah platform menjadi smaller download, (lebih kecil untuk di-download) dan berpotensi untuk meningkatkan kinerja pada saat start-up. Memiliki memory footprint yang lebih kecil juga menigkatkan kinerja secara signifikan terutama untuk aplikasi desktop. Platform yang lebih kecil juga berarti sekarang dapat disesuaikan pada perangkat dengan memori yang terbatas.

  • Multi-Language Support

    Meningkatkan kompatibilitas antara Java dan berbagai bahasa dinamis lainnya seperti Ruby dan Python, dengan menyediakan implementasi better-than-native dari bahasa-bahasa tersebut diatas Java Runtime Environment (JRE).

  • Developer Productivity

    Menambahkan beberapa fitur untuk meningkatkan produktivitas developer.

  • Kinerja

    Garbage collector baru yaitu Garbage First (G1) yang merupakan low pause, server-style garbage collector yang pada akhirnya akan menggantikan Concurrent Mark-Sweep (CMS) garbage collector. Kelebihan utama G1 dibanding CMS adalah incremental compaction, predictability yang lebih baik, dan kemudahan penggunaan.

Informasi yang berkaitan mengenai fitur-fitur penting tersebut

Referensi

  1. JDK 7 Release“, http://java.sun.com/features/jdk/7 (diakses pukul 13:17 AM 13 Juni 2009).

Apakah ini objek dari kelas A?

Pendahuluan

Apakah ini objek dari tipe (kelas) A? Saya tidak bisa menjawab tetapi operator instanceof dapat membantu Anda untuk menjawabnya. Saya disini akan membahas penggunaan operator instanceof. Sebelum kita melanjutkan kata “tipe” yang saya sebut disini merujuk pada kelas.

Hal-hal yang bisa kita lakukan dengan menggunakan instanceof

  • Mengetahui kelas dari objek.
  • Dengan bantuan operator instanceof kita bisa memeriksa apakah (misalkan) objek toyota merupakan tipe Mobil. Ini sangat bermanfaat sekali jika kita ingin melakukan explicit casting terhadap objek dan menghindari runtime error apabila kita salah melalukan casting (terhadap objek).

Demo Program

  • Untuk mengetahui tipe dari suatu objek
  • berikut adalah potongan kode yang menunjukkan pemeriksaan apakah objek orangKe1 merupakan tipe Orang:

    if(orangKe1 instanceof Orang){
    System.out.println("Objek tersebut merupakan tipe Orang");
    }

    Bila ingin mengetahui lebih jelas melihat bagaimana operator tersebut digunakan silahkan download source code di link berikut:

    http://www.ziddu.com/download/4872967/InstanceOfExample02.zip.html

Referensi

  1. “Inheritance“, http://java.sun.com/docs/books/tutorial/java/IandI/subclasses.html (diakses pukul 4:15 AM 24 Mei 2009)
  2. “How do I know a class of an object?”, http://www.kodejava.org/examples/180.html (diakses pukul 4:15 AM 24 Mei 2009)