• Tidak ada hasil yang ditemukan

PENULISAN ILMIAH PEMBUATAN APLIKASI CARE REGISTRY MENGGUNAKAN J2SE

N/A
N/A
Protected

Academic year: 2021

Membagikan "PENULISAN ILMIAH PEMBUATAN APLIKASI CARE REGISTRY MENGGUNAKAN J2SE"

Copied!
132
0
0

Teks penuh

(1)

Diajukan Guna Melengkapi Sebagian Syarat Mencapai Jenjang D III/Setara Sarjana Muda

Jurusan Teknik Informatika Fakultas Teknologi Industri

Universitas Gunadarma 2010-2011

PEMBUATAN APLIKASI CARE REGISTRY MENGGUNAKAN J2SE

Nama : Hari Sulistio

NPM : 504 07 401

Fakultas : Teknologi Industri Jurusan : Teknik Informatika

(2)

ii

Saya yang bertanda tangan dibawah ini,

Nama : Hari Sulistio

NPM : 50407401

Judul PI : Pembuatan Aplikasi Care Registry Menggunakan J2SE Tanggal Sidang :

Tanggal Lulus :

Menyatakan bahwa tulisan ini adalah merupakan hasil karya saya sendiri dan dapat dipublikasikan sepenuhnya oleh Universitas Gunadarma. Segala kutipan dalam bentuk apa pun telah mengikuti kaidah dan etika yang berlaku. Mengenai isi dan tulisan adalah merupakan tanggung jawab penulis, bukan Universitas Gunadarma.

Demikian pernyataan ini dibuat dengan sebenarnya dan dengan penuh kesadaran.

Jakarta, Januari 2011

(3)

iii

Judul PI : Pembuatan Aplikasi Care Registry Menggunakan J2SE

Nama : Hari Sulistio

NPM : 50407401 NIRM : Tanggal Sidang : Tanggal Lulus : Menyetujui Pembimbing

( Deasy Indayanti, SKom., MMSI. )

Koordinator PI

( Meilani B. Siregar, SKom., MMSI.)

Ketua Jurusan

(4)

iv

Pembuatan Aplikasi Care Registry Menggunakan J2SE

PI, Jurusan Teknik Informatika, Fakultas Teknologi Industri, Universitas Gunadarama, 2011

Kata Kunci : Registry, J2SE. ( xiii + 67 halaman + lampiran)

Dalam penulisan ilmiah ini penulis mencoba untuk membuat sebuah aplikasi Care Registry menggunakan bahasa pemrograman Java NetBeans IDE 6.8 J2SE. Fungsi-fungsi registry yang terdapat pada aplikasi ini mencakup mengatifkan atau menon-aktifkan beberapa fungsi dengan mengubah value dari key yang ada pada registry Windows.

Penulis membuat aplikasi ini dengan tujuan untuk membantu para pengguna dalam merawat registry komputer dengan mudah dan sederhana. Mudah karena aplikasi ini berjalan pada desktop komputer dan sederhana karena aplikasi ini didesain dengan menggunakan checkbox yang mempunyai keterangan fungsi yang jelas yang dapat dipilih langsung untuk mengatur value key registry yang diinginkan pengguna.

(5)

v Assalamu’alaikum Wr.Wb.

Puji syukur penulis panjatkan kepada Allah SWT, yang telah memberikan rahmat dan hidayahnya sehingga penulis dapat menyelesaikan penulisan ilmiah yang diberi judul “Pembuatan Aplikasi Care Registry Menggunakan J2SE”.

Adapun penulisan ini diajukan untuk memenuhi sebagian syarat mencapai jenjang D III / setara Sarjana Muda pada Jurusan Teknik Informatika, Fakultas Teknik Industri, Universitas Gunadarma.

Dalam kesempatan ini perkenankanlah penulis menyampaikan penghargaan dan ucapan terima kasih yang sebesar-besarnya atas dorongan dan bantuan yang telah diteruma baik moril maupun materiil kepada :

1. Ibu Prof. Dr. E.S. Margianti, SE., MM., selaku Rektor Universitas Gunadarma.

2. Bapak Prof. Drs. Syahbuddin, MSc., Ph.D., selaku Dekan Fakultas Teknologi Industri.

3. Bapak Dr. Ing. Adang Suhendra, SSi., SKom., MSc., selaku Ketua Jurusan Teknik Informatika.

4. Ibu Meilani B. Siregar, SKom., MMSI., selaku Koordinator Penulisan Ilmiah Fakultas Teknologi Industri.

5. Ibu Deasy Indayanti, SKom., MMSI., selaku pembimbing penulis yang telah membimbing penulis dalam menyelesaikan penulisan ini.

6. Kedua Orang Tua yang telah memberikan dukungan dan doanya.

7. Semua pihak yang telah membantu, memotivasi, dan memberikan dukungan hingga terselesaikannya penulisan ini yang tidak dapat disebutkan satu-persatu.

Penulis juga ingin menyampaikan, bahwa penulisan ini masih jauh dari sempurna. Oleh karena itu, kritik, saran, dan masukan sangat penulis harapkan untuk perbaikan pada penulisan selanjutnya.

(6)

vi

Jakarta, Januari 2011

(7)

vii

HALAMAN JUDUL ………. i

LEMBAR ORIGINALITAS DAN PUBLIKASI ………. ii

LEMBAR PENGESAHAN ……….. iii

ABSTRAKSI …………...……… iv

KATA PENGANTAR ……….. v

DAFTAR ISI ……… vii

DAFTAR TABEL ………. x

DAFTAR GAMBAR ……… xi

DAFTAR LAMPIRAN ………. xiii

1. PENDAHULUAN ………... 1 1.1. Latar Belakang ………... 1 1.2. Batasan Masalah ……….. 1 1.3. Tujuan Penulisan ……….. 2 1.4. Metode Penelitian ……….... 2 1.5. Sistematika Penulisan ……….. 3 2. LANDASAN TEORI ……...……….. 4 2.1. Java …..………... 4 2.1.1. Kelebihan Java ………. 5 2.1.2 Fitur-Fitur Java ……… 7

2.1.3. Variabel dalam Java ……… 8

2.1.3.1. Penamaan Variabel dan Scope Variabel ……… 12

2.1.4. Operator dalam Java ……… 13

2.1.4.1. Operator Aritmatik ……… 13

2.1.4.2. Operator Bitwise ………... 13

2.1.4.3. Operator Relasi ……….. 13

(8)

viii

2.2. Java 2 Standard Edition ………... 17

2.2.1. Gambaran J2SE ………... 17

2.2.2. Java Class-Library ………... 18

2.3. Swing ……….…. 19

2.3.1. Sejarah Swing ……….…. 20

2.3.2. Arsitektur Swing ………...……….. 20

2.3.3. Komponen Dasar Swing ……….. 22

2.4. AWT ……… 22

2.4.1. Sejarah AWT ……… 23

2.4.2 Arsitektur AWT ……… 23

2.5. NetBeans IDE 6.8 ……….. 24

2.5.1. Langkah Awal Menjalankan Program NetBeans 6.8 ……….. 24

2.5.2. Komponen NetBeans 6.8 ………. 27 2.6. Registry ……….. 29 2.6.1. Struktur Registry ………. 30 2.6.1.1. HKEY_LOCAL_MACHINE ………. 31 2.6.1.2. HKEY_CURRENT_USER ……… 32 2.6.1.3. HKEY_USERS ……….. 33 2.6.1.4 HKEY_CURRENT_CONFIG ………. 34 2.6.1.5 HKEY_CLASSES_ROOT ……….. 34

2.6.2. Jenis Data Registry ……….. 35

2.6.3. Registry Editor Windows ……… 37

2.7. Storyboard ………...……….. 39

3. PERANCANGAN DAN IMPLEMENTASI ……… 41

3.1. Perencanaan Aplikasi ………..….……. 41

3.2. Perancangan Aplikasi ……….…..……. 41

(9)

ix

3.3.1. Perancangan Tampilan Menu Fungsi Registry ……… 44

3.3.2. Perancangan Tampilan Help ……… 46

3.3.3. Perancangan Tampilan About ……….. 48

3.4. Proses Instalasi ……….……..………….... 49

3.4.1. Instalasi JDK 6 ……….. 49

3.4.2. Instalasi NetBeans IDE 6.8 ………... 50

3.5. Langkah Pembuatan Aplikasi ……….………….….. 54

3.5.1. File Tambahan yang Diperlukan ……….. 54

3.5.2. Pembuatan Class Utama ……….. 56

3.5.3. Pembuatan Tampilan Menu Fungsi Registry ……….. 57

3.5.4. Pembuatan Tampilan Help ……….. 61

3.5.5. Pembuatan Tampilan About ……….... 62

3.6. Uji Coba Aplikasi ………..…………... 63

4. PENUTUP ……….……….... 66

(10)

x

Tabel 2.1 Tipe Data Integer ……… 10

Tabel 2.2 Tipe Data Floating Point ……… 10

Tabel 2.3 Tipe Data Char, Karakter Khusus ……….. 11

(11)

xi

Gambar 2.1 Platform Java 2 ..……….. 4

Gambar 2.2 Tools Dasar JDK ………. 18

Gambar 2.3 New Project NetBeans ……… 25

Gambar 2.4 New Java Application ………. 25

Gambar 2.5 New Jframe Form ……… 26

Gambar 2.6 Layar Project NetBeans IDE 6.8 ……… 26

Gambar 2.7 Component Pallete ………... 27

Gambar 2.8 Form Kerja NetBeans ………. 28

Gambar 2.9 Source Editor ………... 28

Gambar 2.10 Inspector ………... 29

Gambar 3.1 Skema Rancangan Aplikasi ……… 41

Gambar 3.2 Flowchart ……… 42

Gambar 3.3 Storyboard Aplikasi ……… 44

Gambar 3.4 Rancangan Tampilan Menu Fungsi Registry ………. 46

Gambar 3.5 Rancangan Tampilan Help ………. 47

Gambar 3.6 Rancangan Tampilan About ……….. 48

Gambar 3.7 Halaman License Agreement JDK 6 Update 18 …………... 49

Gambar 3.8 Halaman Custon Setup ……….. 49

Gambar 3.9 Halaman Destination Folder JRE 6 ………... 50

Gambar 3.10 Halaman Proses Instalasi JDK 6 ………... 50

Gambar 3.11 Halaman Konfirmasi Instalasi NetBeans IDE 6.8 ……... 51

Gambar 3.12 Halaman License Agreement NetBeans IDE 6.8 ……….... 51

Gambar 3.13 Halaman Folder Destination NetBeans IDE 6.8 …………. 52

Gambar 3.14 Halaman Instalasi GlassFish v3 ……….. 52

Gambar 3.15 Halaman Konfigurasi Instalasi NetBeans IDE 6.8 dan GlassFish v3 ……….... 53

(12)

xii

Gambar 3.21 Tampilan Browse jRegistryKey.jar ………. 56

Gambar 3.22 Tampilan Menu Fungsi Registry ………. 63

Gambar 3.23 Tampilan Checkbox Dipilih ……… 64

Gambar 3.24 Tampilan Pesan yang Muncul ………. 64

Gambar 3.25 Tampilan Help ………. 65

(13)

xiii

LAMPIRAN LISTING PROGRAM ………. L- 1 LAMPIRAN OUTPUT PROGRAM ………. L-41

(14)

1 1.1. Latar Belakang

Registry Windows adalah pusat basis data untuk pengaturan konfigurasi aplikasi dan informasi lainnya yang diperlukan oleh aplikasi. Semua pengaturannya diatur dalam bentuk key. Tiga hal yang dapat dilakukan di dalam

registry yaitu: membaca, menulis dan menghapus key.

Registry dapat dijalankan dengan cara menuliskan regedit pada menu run.

Penggunaan registry pada komputer biasanya untuk melakukan pengaturan yang bersifat sistematik. Penggunaan yang salah dapat mengakibatkan gangguan pada sistem komputer. Penggunaan regedit(registry editor) yang kurang efisien akan mengganggu sistem dan akan berdampak berkurangnya kinerja sistem pada Windows. Berdasarkan alasan tersebut, penulis berinisiatif untuk membuat sebuah aplikasi Care Registry yang dapat dijalankan ke dalam desktop komputer dengan mudah, karena sebagian besar para user kurang memperhatikan atau merawat registry dikarenakan penggunaan yang cukup rumit dengan key yang mewakili suatu fungsi pada sistem Windows.

Fungsi dari aplikasi ini adalah memodifikasi nilai suatu key dalam registry untuk mengaktifkan atau menon-aktifkan suatu fungsi key pada sistem komputer. Aplikasi ini berfokus pada fungsi key yang ada pada root registry bagian HKEY_LOCAL_MACHINE dan HKEY_CURRENT_USER.

Berdasarkan uraian diatas, pada perancangan ini penulis memberi judul Aplikasi Care Registry Menggunakan J2SE.

1.2. Batasan Masalah

Aplikasi Care Registry ini mempunyai fungsi untuk memodifikasi nilai(value) dari beberapa key yang ada pada root HKEY_LOCAL_MACHINE dan HKEY_CURRENT_USER dengan tampilan sederhana, yang terdiri dari checkbox yang mewakili key dan sebuah button.

(15)

Pembuatan aplikasi ini menggunakan bahasa pemrograman Java NetBeans IDE 6.8, karena dalam aplikasi NetBeans terdapat bermacam fasilitas yang dibutuhkan dan mempermudah pembuatan aplikasi ini.

1.3. Tujuan Penulisan

Secara umum penulisan ini bertujuan untuk membuat sebuah aplikasi dekstop yang membantu user dalam merawat registry windows yang memiliki cukup banyak pengaturan dengan sederhana. Adapun tujuan khusus penulis dari pembuatan penulisan ini adalah untuk memenuhi penulisan ilmiah(PI) dan sebagai media pembelajaran yang menambah wawasan dalam membuat aplikasi dekstop dengan bahasa pemrograman J2SE.

1.4. Metode Penelitian

Metode yang dilakukan penulis yang pertama adalah mengumpulkan materi-materi berdasarkan referensi seperti buku ilmu komputer dan mencari materi dari berbagai artikel dari internet mengenai bahan-bahan pembentuk regristry untuk menunjang pembuatan aplikasi Care Registry.

Langkah kedua yang dilakukan penulis adalah langkah pembuatan aplikasi CareRegistry, pertama penulis merancang tampilan form interface dengan checkbox dan button.

Langkah ketiga, penulis mengimplementasikan ke dalam bahasa pemrograman yang telah dipilih yaitu NetBeans 6.8 J2SE. Dimana di dalamnya terdapat coding yang nantinya akan membentuk sebuah aplikasi yang penulis inginkan.

Perangkat keras yang digunakan oleh penulis adalah satu unit computer dengan spesifikasi: processor Intel Pentium Dual Core, Memori 1 GB, kartu grafis NVIDIA GeForce 7300GT, dan harddisk 160 GB. Perangkat lunak yang digunakan adalah sistem operasi Microsoft Windows Vista Ultimate, NetBeans 6.8, Microsoft Office Visio.

(16)

1.5. Sistematika Penulisan

Adapun sistematika penulisan yang akan disajikan dalam penulisan ini adalah sebagai berikut :

PENDAHULUAN, mengemukakan latar belakang masalah, rumusan masalah, batasan masalah, tujuan penulisan, metode penulisan dan sistematika penulisan.

LANDASAN TEORI, menjelaskan teori-teori yang berhubungan dengan penulisan ini, yang sangat membantu penyelesaian masalah dan perancangan program.

PERANCANGAN DAN IMPLEMENTASI, menjelaskan mengenai perancangan-perancangan yang dilakukan dalam membuat program aplikasi beserta konfigurasi perangkat lunak yang digunakan dan menjelaskan implementasi dari program aplikasi ini yang dibuat dengan menggunakan NetBean 6.8 J2SE.

PENUTUP, menjelaskan kesimpulan-kesimpulan dari hasil penulisan beserta saran-saran untuk penyempurnaan dan pengembangan selanjutnya.

(17)

4 2.1 Java

Sun mendefinisikan Java sebagai nama sebuah teknologi untuk membuat dan menjalankan perangkat lunak pada komputer standalone ataupun pada lingkungan jaringan. Sun memperkenalkan nama “Java 2”(J2) yaitu generasi kedua dari platform Java pada Desember 1998, kemudian diterapkan untuk seluruh edisi Java yang masing-masing memiliki fungsi tujuan tertentu dan untuk lingkungan komputasi yang berbeda-beda, yaitu:

o Standard Edition(J2SE) merupakan inti dari bahasa pemrograman Java yang diidesain untuk komputer desktop dan komputer workstations.

o Enterprise Edition(J2EE) ditujukan untuk aplikasi berbasis server dengan built-in yang mendukung untuk servlets. JSP, dan XML.

o Micro Edition(J2ME) didesain untuk piranti mobile dengan memori, layar display dan power pemrosesan yang terbatas.

(18)

2.1.1 Kelebihan Java

Java memiliki beberapa kelebihan dibandingkan dengan bahasa pemrograman lainnya. Kelebihan tersebut diantaranya :

1. Sederhana dan Ampuh

Java dirancang untuk mudah dipelajari, terutama bagi programmer yang telah mengenal C/C++ akan mudah sekali untuk berpindah ke Java. Pemakai dapat belajar membuat program dengan Java secara cepat jika telah memahami konsep dasar pemrograman berorientasi objek. Java memberi programmer kemampuan untuk menuangkan semua ide, karena bahasa pemrograman ini bukan merupakan scripting language (bahasa naskah) yang menghilangkan kemampuan programmer untuk berinovasi, tetapi dengan cara berorientasi objek yang mudah dan jelas.

2. Aman

Java dirancang sebagai bahasa pemrograman yang handal dan aman. Aplikasi-aplikasi yang dibangun dengan bahasa Java sangat handal dengan manajemen memori yang bagus. Aplikasi Java juga dikenal sangat secure, yaitu kasus-kasus seperti buffer everflow yang umumnya menjadi lubang keamanan aplikasi-aplikasi berbasis C/C++ tidak terjadi di Java, karena pengaturan keamanannya yang bagus.

3. Berorientasi-Objek

Java merupakan bahasa pemrograman berorientasi objek dan bukan turunan langsung dari bahasa pemrograman manapun, juga sama sekali tidak kompetibel dengan semuanya. Java memiliki keseimbangan, menyediakan mekanisme peng-class-an sederhana, dengan model antar muka dinamik yang intuitif hanya jika diperlukan.

4. Kokoh

Kesalahan sering terjadi pada saat kompilasi karena Java merupakan bahasa pemrograman yang sensitif dalam hal deklarasi dan tipe data. Oleh karena hal tersebut, Java memiliki batasan agar dapat menemukan kesalahan lebih cepat saat mengembangkan program yaitu dengan langsung memeriksa program saat ditulis, dan sekali lagi ketika program di jalankan. Hal ini akan

(19)

lebih menghemat waktu jika dibandingkan dengan keharusan menjalankan program terlebih dahulu dan memeriksa semua bagian program untuk melihat ketidakcocokan dinamis selama program berjalan.

5. Interaktif

Java memiliki kemampuan yang memungkinkan program melakukan beberapa hal pada saat bersamaan, tanpa harus kesulitan menangani proses yang akan terjadi selanjutnya. Jalinan program-program Java yang mudah digunakan memungkinkan programmer untuk memikirkan pembuatan perilaku khusus, tanpa harus mengintegrasikan perilaku tersebut dengan model pemrograman global yang mengatur perulangan kejadian.

6. Netral Terhadap Berbagai Arsitektur

Java telah mengambil beberapa keputusan yang sulit dalam pembuatan bahasa Java dan bagaimana program dijalankan, jadi anda dapat sepenuhnya percaya “tulis sekali, jalan di mana saja, kapan saja, selamanya”.

7. Terinterpretasi dan Berkinerja-Tinggi

Java dirancang untuk tetap berkinerja baik pada CPU yang tidak terlalu kuat. Walaupun Java merupakan bahasa terinterpretasi, kode-kode Java telah dirancang dengan hati-hati sehingga mudah diterjemahkan ke dalam bahasa asli suatu mesin untuk menghasilkan kinerja yang tinggi. Java dilengkapi keajaiban lintas-platform yang luar biasa dengan kompilasi ke dalam representasi langsung yang disebut kode-byte Java (Java byte-code), yang dapat diterjemahkan oleh sistem manapun yang memilki program Java didalamnya. Sebagai sebuah platform, Java terdiri atas dua bagian utama, yakni :

o Java virtual machine (jvm)

o Java application programming interface (Java api)

Pada dasarnya, ada berbagai macam platform tempat aplikasi-aplikasi perangkat lunak (software) dieksekusi seperti microsoft windows, unix, linux, netware, macintosh, dan os/2. Namun, aplikasi-aplikasi yang berjalan pada suatu platform (misalnya windows) tidak akan bisa dijalankan di platform yang lain (misalnya linux) tanpa usaha kompilasi ulang, bahkan pengubahan

(20)

kode program. Aplikasi Java tidak perlu dikompilasi ulang jika telah berbeda dengan paltform saat kompilasi, karena aplikasi Java dijalankan di atas Java virtual machine (jvm). Saat ini Java platform telah ada pada berbagai sistem operasi, antara lain:

o Windows 9.x/NT/2000/XP/ Vista/7 o Sun solaris o Macos o Novell netware 4.0 o Hpux o Hitachi os o Aix o Irix o Unixware (sco)

Berbicara kecepatan, aplikasi Java kalah cepat dibandingkan dengan aplikasi yang native code karena Java berjalan di atas jvm sedangkan aplikasi native, misalnya file *.exe, langsung berjalan di atas perangkat keras yang bersangkutan. Namun, hal ini bisa ditekan dan tak jadi masalah lagi dengan algoritma yang bagus dan dukungan hardware, misal memori (ram) yang baik.

2.1.2. Fitur-Fitur Java

Java API menyediakan beberapa fitur yang menarik bagi yang ingin mengembangkan aplikasi menggunakan Java, antara lain sebagai berikut :

Java applet

Java applet merupakan program Java yang berjalan di atas browser. Dengan menggunakan Java applet, maka halaman html akan lebih dinamis dan menarik, sangat cocok untuk pengembangan aplikasi-aplikasi berbasis web.  Java networking

Java networking merupakan sekumpulan api (application programming interface). Yang menyediakan fungsi-fungsi untuk aplikasi-aplikasi jaringan. Java networking menyediakan akses untuk tcp, udp, ip address dan url. Java networking tidak menyediakan akses untuk icmp dikarenakan alasan keamanan dan pada kondisi umum hanya administrator (root) yang bisa memanfaatkan protokol icmp.

(21)

Java database connectivity (jdbc)

Jdbc menyediakan sekumpulan api yang dapat digunakan untuk mengakses database seperti oracle, mysql, postgresql, microsoft sql server.

Java security

Java security menyediakan sekupulan api untuk mengatur security dari aplikasi Java baik secara high-level ataupun low-level, seperti public private key management dan certificates.

Java swing

Java swing menyediakan sekumpulan api untuk membangun aplikasiaplikasi gui (graphical user interface) dan model gui yang diinginkan bisa bermacam-macam, bisa model Java, model motif/cde atau model yang dependent terhadap platform yang digunakan.

Java rmi

Java rmi menyediakan sekumpulan api untuk membangun aplikasiaplikasi Java yang mirip dengan model rpc (remote procedure call) jadi object-object Java bisa di-call (dipanggil) secara remote (acak) pada jaringan komputer.Java 2d/3d

Java 2d/3d menyediakan sekumpulan api untuk membangun grafik-grafik 2d/3d yang menarik dan juga akses ke printer.

Java server pages

Berkembang dari Java servlet yang digunakan untuk menggantikan aplikasi-aplikasi cgi, jsp (Java server pages) yang mirip asp dan php merupakan alternatif terbaik untuk solusi aplikasi internet.

Jni (Java native interface)

Jni menyediakan sekumpulan api yang digunakan untuk mengakses fungsi-fungsi pada library (*.dll atau *.so) yang dibuat dengan bahasa pemrograman yang lain seperti C, C++, dan basic.

Java sound

(22)

Java idl + corba

Java idl (interface definition language) menyediakan dukungan Java untuk implementasi corba (common object request broker) yang merupakan model distributed-object untuk solusi aplikasi besar di dunia networking.

Java card

Java card utamanya digunakan untuk aplikasi-aplikasi pada smart card, yang sederhana wujudnya seperti sim card pada handphone.

Jtapi (Java telephony api)

Java telephony API menyediakan sekumpulan api untuk memanfaatkan devices-devices telephony, sehingga akan cocok untuk aplikasi-apliaksi cti (computer telephony intergration) yang dibutuhkan seperti acd (automatic call distribution), pc-pbx dan lainnya.

2.1.3. Variabel dalam Java

Seperti halnya pada bahasa pemrograman pada umumnya, Java juga memungkinkan untuk mendeklarasikan variabel. Variabel merupakan satuan dasar penyimpanan dalam program Java. Suatu variabel didefinisikan dengan kombinasi identifier, tipe, dan cakupan. Pada dasarnya ada dua macam tipe variabel data bahasa Java, yakni tipe primitif dan tipe reference.

1. Tipe Data Primitif

Delapan macam tipe data primitif dalam pemrograman Java, yaitu : a. Integer ( Bilangan Bulat )

Integer merupakan tipe data numerik yang digunakan apabila tidak berurusan dengan pecahan atau bilangan desimal. Tipe data numerik yang termasuk integer adalah sebagai berikut :

(23)

Tabel 2.1 Tipe Data Integer

Bilangan integer biasanya menggunakan int, dan bukan byte, short maupun long. Bilangan integer juga mengenal nilai positif dan negatif ( signed

number ). Tipe data byte dan short hanya digunakan pada aplikasi khusus

yang memperhatikan penggunaan memori. Sedangkan long jarang digunakan karena jarang memerlukan bilangan sebesar kapasitas long.

b. Floating Point ( Bilangan Pecahan )

Floating Point digunakan untuk menangani bilangan desimal atau perhitungan yang lebih detail dibanding integer. Ada dua macam floating point, yaitu :

Tabel 2.2 Tipe Data Floating point

Semua bilangan pecahan atau desimal dalam Java tanpa diakhiri huruf f akan dianggap sebagai double. Sedangkan bilangan yang ingin dikategorikan sebagai float harus diakhiri dengan huruf F. Misalnya : 4.22

(24)

F atau 2.314f. Sedangkan untuk bilangan double, bisa menambah dengan huruf D, karena secara default bilangan dengan koma atau pecahan atau desimal akan dianggap sebagai double.

c. Char

Char adalah karakter tunggal yang didefinisikan dengan diawali dan diakhiri dengan tanda ‘ ( petik tunggal ). Char berbeda dengan String, karena String bukan merupakan tipe data primitif, melainkan sebuah objek. Tipe char mengikuti aturan unicode, sehingga dapat menggunakan kode \u kemudian diikuti bilangan dari 0 sampai 65535, tetapi yang biasa digunakan adalah bilangan heksadesimal dari 0000 sampai FFFF. Misalnya : ‘\u123’ Selain karakter biasa, juga terdapat karakter khusus yang didefinisikan dengan cara mengawalinya menggunakan tanda \ seperti pada tabel berikut :

Tabel 2.3 Tipe Data Char, Karakter Khusus

d. Boolean

Tipe data boolean terdiri dari dua nilai, yaitu true dan false. Boolean sangat penting dalam mengevaluasi suatu kondisi, dan sering digunakan untuk menentukan alur program.

(25)

2. Tipe Data Referensi

Kelebihan pemrograman berorientasi objek adalah dapat mendefinisikan tipe data baru yang merupakan objek dari class tertentu. Tipe data ini digunakan untuk mereferensikan objek atau class tertentu, seperti String.

Latihan 2. TipeData.java

class TipeData {

public static void main(String[] args) {

long data1 = 546767226531; int data2 = 2235641; short data3 = 714; byte data4 = 34;

float data6 = (float) 1.733; // tipe data pecahan double data5 = 4.967; // tipe data pecahan char data7 = 'C'; boolean data8 = true; System.out.println("Nilai Long : "+ data1); System.out.println("Nilai Int : "+ data2); System.out.println("Nilai Short : "+ data3); System.out.println("Nilai Byte : "+ data4); System.out.println("Nilai Double : "+ data5); System.out.println("Nilai Float : "+ data6); System.out.println("Nilai Char : "+ data7); System.out.println("Nilai Boolean : "+ data8);

} }

2.1.3.1.Penamaan Variabel dan Scope Variabel

Penamaan sebuah variabel dalam Java harus memenuhi aturan sebagai berikut:

 Harus terdiri atas sederetan karakter unicode yang diawali oleh karakter huruf atau garis bawah.

 Tidak boleh berupa keyword (kata yang dicadangkan), null, atau literal true/false.

(26)

2.1.4. Operator dalam Java

Operator Java adalah karakter khusus yang memerintahkan compiler untuk melakukan operasi terhadap sejumlah operand. Perintah operasi dispesifikasikan oleh operator, dimana operand-operand adalah variabel, pernyataan, atau besaran literal. Ada 4 jenis dasar operator: aritmatik, bitwise, relasi, dan logika.

2.1.4.1. Operator Aritmatik

Operator ini digunakan untuk proses matematis, sama persis dengan yang digunakan pada aljabar, seperti:penambahan(+), pengurangan(-), perkalian(*), pembagian(/), dan sisa pembagian(%). Operand-nya harus berupa tipe numerik. Operator ini tidak dapat digunakan untuk tipe boolean, tetapi dapat digunakan untuk tipe char, karena char adalah himpunan int.

2.1.4.2. Operator Bitwise

Tipe numerik integer, long, int, short, char, dan byte memiliki kumpulan operator tambahan yang dapat memodifikasi dan memeriksa bit-bit yang menyusun nilainya. Operator bitwise dalam Java digunakan untuk manipulasi bit. Operator bitwise dalam Java, antara lain : bitwise and(&), bitwise or(|), bitwise xor(^), bitwise complement.

2.1.4.3. Operator Relasi

Untuk membandingkan 2 buah nilai, Java memiliki kumpulan operator relasi berikut ini untuk menyatakan kesamaan dan urutan. Semua tipe pada Java, mencakup integer, bilangan pecahan, karakter, boolean, dan referensi dapat dibandingkan menggunakan pengujian kesamaan(==), dan ketidaksamaan(!=).

Hanya tipe numerik yang dapat dibandingkan dengan operator urutan (ordering). Operand integer, bilangan pecahan, dan karakter dapat dibandingakan untuk melihat mana yang lebih besar atau lebih kecil. Semua operator ini menghasilkan tipe boolean.

(27)

2.1.4.4. Operator Logika

Semua operator ini mengkombinasikan dua besaran boolean untuk menghasilkan besaran boolean.

2.1.5. Control Flow dalam Java

Control flow dalam Java meliputi operasi pengulangan dan operasi kondisional.

2.1.5.1. Operasi Pengulangan

While

Statement while digunakan untuk mengeksekusi sebuah blok secara berulang memenuhi kondisi tertentu. Sintaks penggunaannya adalah sebagai berikut:

while (ekspresi){ ...statement... }

Jadi selama ekspresi menghasilkan nilai true, statement yang ada akan dieksekusi secara terus-menerus.

Do-while

Statement ini digunakan untuk mengeksekusi sebuah blok secara berulang sampai tidak memenuhi kondisi tertentu. Pada do-while, ekspresi tidak diperiksa pada saat awal eksekusi, jadi minimal blok statement do-while akan dieksekusi sekali. Sintaks penggunaannya adalah sebagai berikut :

do { statement; }

(28)

For

Statement for digunakan untuk mengeksekusi sebuah blok secara berulang dalam sebuah range tertentu. Sintaks penggunaannya adalah sebagai berikut:

for(inisialisasi;terminasi;increment) { statement;.

}

Inisialisasi dalam for merupakan ekspresi yang dieksekusi pada awal eksekusi for. Terminasi digunakan untuk menentukan kapan pengulangan akan dihentikan. Increment merupakan ekspresi yang akan dieksekusi setiap selesai melakukan satu pengulangan.

2.1.5.2. Operasi Kondisional

If-else

Statement if-else digunakan untuk mengeksekusi sebuah blok jika memenuhi sebuah kondisi tertentu. Sintaks penggunaannya adalah sebagai berikut:

if (kondisi) { statement; }

Jika kondisi bernilai true, statement yang ada akan dieksekusi. Ada kalanya kita menginginkan dua percabangan, yakni jika suatu kondisi terpenuhi, lakukan aksi a, jika tidak lakukan aksi b. Maka sintaks penggunaannya adalah sebagai berikut: if (kondisi) { statement; } else{ statement; }

Jika kondisi bernilai true, statement 1 akan dijalankan. Sebaliknya maka statement 2-lah yang akan dijalankan.

(29)

Switch-case

Statement ini digunakan untuk mengeksekusi sebuah blok jika memenuhi sebuah kondisi tertentu. Sintaks penggunaannya adalah sebagai berikut:

switch (ekspresi) {

case (kondisi-1) statement-1; break; ...

case (kondisi-n): statement-n; break; default: statement-default; break; }

2.1.6. Break, Label, Return, Continue

Statement break ada 2 macam, yakni:  Break with label

 Break without label

Penggunaan break tanpa label umunya dalam switch(), dan dalam pengulangan for(), do-while(), dan while(). Fungsi break adalah untuk menghentikan eksekusi sebuah blok program, misalnya untuk memaksa keluar dari sebuah looping. Penggunaan break dengan label adalah pada pengulangan yang berkalang, yakni pengulangan dalam pengulangan, yang mungkin berada dalam pengulangan yang lain, dan seterusnya, akan menyebabkan setelah eksekusi sebuah blok statement terhenti, aliran eksekusi akan berlanjut ke posisi pengulangan tempat label berbeda.

Continue digunakan untuk melewatkan eksekusi pada pengulangan yang ada, dan melanjutkan ke pengulangan berikutnya. Pernyataan return digunakan untuk keluar dari sebuah fungsi, dan dapat diberikan parameter nilai untuk menunjukkan return value dari sebuah fungsi.

(30)

2.2. Java 2 Standard Edition

Aplikasi yang dibuat dan dikembangkan penulis dalam penulisan ini menggunakan bahasa pemrograman berbasis Java 2 Standard Edition(lebih dikenal dengan J2SE). Pada bagian ini, penulis akan menjelaskan dasar-dasar J2SE, meliputi pengenalan J2SE dan komponen pada J2SE. Berikut adalah penjelasannya:

2.2.1. Gambaran J2SE

J2SE atau Java 2 Standard Edition merupakan bahasa pemrograman java untuk aplikasi desktop yang merupakan object-oriented programming. Pada J2SE, terdiri dari dua buah produk yang dikeluarkan untuk membantu dalam membuat aplikasi tanpa tergantung dari platform yang digunakan, yaitu:

1. Java SE Runtime Environment (JRE)

Java Runtime Environment (JRE) menyediakan perpustakaan, Java Virtual Machine (JVM), dan komponen lain untuk menjalankan applet dan aplikasi yang ditulis dengan bahasa pemrograman java. Selain itu, terdapat dua buah kunci teknologi yang merupakan bagian dari JRE, yaitu: Java Plug-in, yang memungkinkan menjalankan applet di browser populer dan Java Web Start, yang menyebarkan aplikasi mandiri melalui jaringan. JRE tidak mengandung utilitas seperti compiler atau debugger untuk mengembangkan applet dan aplikasi.

2. Java Development Kit (JDK)

Java Development Kit (JDK) merupakan perangkat lunak yang digunakan untuk menajemen dan membangun berbagai aplikasi java. JDK merupakan superset dari JRE, berisikan segala sesuatu yang ada di JRE ditambahkan compiler dan debugger yang diperlukan untuk mengembangkan applet dan aplikasi.

(31)

Pada JDK, terdapat berbagai tools yang digunakan untuk membangun aplikasi java. Tools tersebut digambarkan dengan diagram berikut:

Gambar 2.2 Tools Dasar JDK

2.2.2. Java Class-Library

Bahasa pemrograman java menyediakan library-library standar yang telah di-compile dan dapat langsung digunakan dalam implementasi pembuatan sebuah aplikasi. Pada library, terdapat berbagai macam class yang dapat digunakan dan telah dikelompokkan ke dalam package. Package yang tersedia dalam J2SE akan dijabarkan pada tabel berikut:

Tabel 2.4 Tabel Package pada J2SE

Package Nama Package Keterangan

Language java.lang Class-class utama yang merupakan inti dari bahasa java

Utilities java.util Class-class yang mendukung utilitas struktur java

I/O java.io Class yang mendukung berbagai macam tipe input dan output

(32)

Lanjutan Tabel 2.4 Tabel Package pada J2SE

Text java.text

Class yang mendukung lokalisasi penanganan teks, tanggal, bilangan, dan

message

Math java.math

Class untuk melakukan perhitungan aritmatik arbitrary-precesion, baik

integer atau floating point

AWT java.awt Class untuk perancangan user-interface dan envent-handling.

Swing javax.swing

Class untuk membuat berbagai komponen dalam java yang bertingkah

laku sama dengan berbagai platform.

Javax javax Perluasan dari bahasa java

Applet java.applet Class untuk membuat applet Beans java.beans Class untuk membuat java Beans Reflection java.lang.reflect Class untuk memperoleh informasi

run-time

SQL java.sql Class untuk mendukung akses dan pengolahan data dalam database RMI java.rmi Class untuk mendukung distributed

programming

Networking java.net Class untuk medukung dalam

membangun aplikasi jaringan Security java.security Class untuk mendukung keamanan

kriptografi

2.3. Swing

Java Swing merupakan library java yang digunakan untuk menciptakan Graphic User Interface (GUI) yang berbasis cross platform atau OS independent. User interface yang dibangun dengan java swing dapat dijalankan pada sistem

(33)

operasi apa saja yang mendukung java edngan tampilan yang relatif sama, bahkan dapat menyerupai user interface Windows XP, Mac OS atau Linux.

2.3.1. Sejarah Swing

Internet Foundation Classes (IFC) merupakan library grafik untuk java yang dikeluarkan pertama kali oleh Netscape Comminication Corporation pada 16 Desember 1996. Pada 2 April 1997, Sun Microsystems dan Netscape Comminication Corporation menggabungkan IFC dengan teknologi lain untuk membangun Java Foundation Classes.

Swing diperkenalkan sebagai mekanime yang dapat dilihat dan dirasakan tiap-tiap komponen dalam sebuah aplikasi tanpa membuat perubahan pada substansi dalam pengkodean dari aplikasi. Perkenalan tersebut didukung dengan pluggabke kook and feel yang membuat komponen swing dapat digunakan dalam berbagai platform. Pada dasarnya, swing merupakan library yang terpisah. Namun, sejak Java Standard Edition 1.2 dipublikasikan, swing sudah termasuk ke dalam bagian J2SE.

2.3.2. Arsitektur Swing

Swing merupakan platform-independent, Model View Controller framework untuk java yang mengikuti model pemrograman tunggal. Arsitektur dari swing terdiri dari:

1. Platform Independence

Swing dapat digunakan diberbagai platform seperti Windows OS, Mac OS, dan Linux karena ekspresi java dan implementasinya hampir sama untuk berbagai platform.

2. Extensible

Swing merupakan arsitektur terpartisi, yang memungkinkan untuk penggunaan implementasi berbagai framework interface tertentu. Pengguna dapat menyediakan kustom implementasi sendiri dari komponen untuk menggantikan implementasi default. Secara umum, pengguna Swing dapat menambahkan framework dengan memperluas framework yang sudah ada

(34)

dan/atau menyediakan implementasi alternatif komponen inti. Swing juga merupakan framework berbasis komponen, dimana komponen Swing adalah komponen Java Beans yang kompatibel dengan spesifikasi Java Beans Component Architecture.

3. Customizable

Atas dasar model program rendering dari framework Swing, kendali atas rincian rendering komponen dimungkinkan dalam Swing. Representasi visual dari komponen Swing pada umumnya berupa satu set standar elemen. Pengguna program biasanya menyesuaikan komponen Swing standar dengan menetapkan beberapa elemen untuk membuat visualisasi kontrol GUI yang unik.

4. Configurable

Swing bergantung pada mekanisme runtime dan pola komposisi tidak langsung untuk merespon perubahan pengaturan secara run-time. Contohnya aplikasi berbasis Swing dapat mengubah tampilan pada saat run-time, dimana pengguna dapat memberikan tampilan mereka sendiri dan diimplementasikan tanpa perubahan apapun pada kode program.

5. Loosely-Coupled and MVC

Pustaka Swing memanfaatkan pola model/view/controller(mvc) desain perangkat lunak yang secara konseptual pasangan data yang dilihat dari kontrol interface pengguna melalui yang dilihat. Karena hal tersebut, komponen Swing dikaitkan model dan programmer dapat menggunakan berbagai macam implementasi atau menyediakan sendiri implementasi tersebut. Penggunaan framework Swing tidak memerlukan penciptaan model, karena telah tersedia satu set implementasi yang transparan secara default, yang terkait dengan kelas Jcomponent di perpustakaan Swing. Komponen yang kompleks mungkin memerlukan implementasi model disekitar data spesifik aplikasi seperti: tabel dan pohon.

(35)

2.3.3. Komponen Dasar Swing

Secara umum, komponen swing terdiri dari lima bagian yang sering digunakan, yaitu:

1. Top-level Container

Merupakan container dasar dimana komponen lainnya diletakkan. Top-level Container ini terdiri dari Frame, Dialog, dan Applet yang diimplementasikan dalam class JFrame, JDialog, dan JApplet.

2. Intermediate Container

Merupakan komponen perantara untuk peletakkan komponen lainnya, yaitu class JPanel.

3. Atomic Container

Merupakan komponen yang memiliki fungsi spesifik dan biasanya user berinteraksi langsung dengan jenis komponen ini. Komponen ini terdiri dari: JButton, JTextField, dan JTextArea.

4. Layout Manager

Layout Manager berfungsi untuk mengatur posisi dari komponen yang diletakkan pada container. Terdapat lima macam layout, yaitu: class BorderLayout, Boxlayout, FlowLayout, GridBagLayout, dan GridLayout. 5. Event Handling

Event Handling berfungsi untuk menangani event yang dilakukan user, misalnya menekan tombol, mengklik mouse, dan lain sebagainya.

2.4. AWT

AWT atau Abstract Window Toolkit adalah salah satu platform-independent java untuk windowing, graphics, dan user-interface widget toolkit. Saat ini, AWT sudah termasuk ke dalam bagian dari Java Foundation Classes (JFC), yaitu standar API untuk pemrograman java berbasis GUI. AWT merupakan GUI toolkit untuk beberapa profil Java ME, seperti konfigurasi alat yang terhubung meliputi java runtimes pada mobile telephone untuk mendukung AWT.

(36)

2.4.1. Sejarah AWT

Ketika Java pertama kali dirilis oleh Sun Microsystems pada tahun 1995, komponen AWT memberikan tingkat abstraksi yang tipis yang mendasari interface pengguna. Contohnya, menciptakan checkbox AWT akan menyebabkan pemanggilan langsung subroutine yang mendasari pembuatan checkbox. Program GUI yang ditulis dengan menggunakan AWT tampak seperti aplikasi asli ketika dijalankan pada sistem operasi yang menjalankan aplikasi tersebut.

Dalam J2SE 1.2, komponen AWT sebagian besar digantikan dari toolkit Swing. Selain menyediakan satu set komponen UI, Swing menarik komponen sendiri(dengan menggunakan Java 2D untuk memanggil ke subroutine tingkat rendah dalam subsistem grafis lokal) bukan mengandalkan modul pengguna tingkat tinggi interface sistem operasi. Swing menyediakan pilihan baik menggunakan sistem “tampilan dan nuansa” menggunakan platform asli tampilan dan nuansa atau platform-silang yang terlihat pada semua platform. Namun, Swing bergantung pada AWT untuk tampilan interface untuk sistem windowing asli.

2.4.2. Arsitektur AWT

AWT menyediakan dua tingkat API, yaitu:

1. Interface umum antara Java dengan sistem asli, digunakan untuk windowing, manajer layout. API ini merupakan inti dari pemrograman Java GUI dan juga digunakan oleh Swing dan Java 2D yang berisi

a. Interface antara sistem windowing asli dan aplikasi Java. b. Inti dari event subsistem GUI.

c. Beberapa manajer layout.

d. Interface untuk perangkat input seperti mouse dan keyboard. e. Paket java.awt.datatransfer untuk digunakan dengan clipboard dan

(37)

2. Satu set dasar komponen GUI seperti button, textbox, dan menu yang juga menyediakan interface dasar AWT, yang memungkinkan librari render dikompilasi ke kode asli untuk langsung menarik ke AWT canvas permukaan objek gambar.

AWT juga membuat beberapa fungsionalitas tinggti yang tersedia untuk aplikasi, seperti:

a. Akses ke sistem tray pada sistem pendukung

b. Kemampuan untuk meluncurkan beberapa aplikasi dekstop seperti browser web dan klien email dari aplikasi

Baik AWT ataupun Swing secara inheren aman, karena kode yang meng-update GUI harus dijalankan pada thread event pengirim. Kegagalan untuk melakukan hal ini dapat menyebabkan kondisi kebuntuan atau ras. Untuk mengatasi masalah ini, kelas utilitas bernama SwingWorker memungkinkan aplikasi untuk melakukan tugas-tugas yang memakan waktu mengikuti acara-interaksi pengguna di thread acara pengirim.

2.5 NetBeans IDE 6.8

Penulis menggunakan Text Editor NetBeans IDE 6.8 untuk membuat kode sumber.

2.5.1 Langkah Awal Menjalankan Program NetBeans 6.8 : 1. Klik tombol start pada bagian Taskbar

2. Pilih menu Programs dan pilih Netbeans, kemudian klik Netbeans. 3. Setelah itu kita pilih New Project seperti gambar dibawah ini :

(38)

Gambar 2.3 New Project NetBeans

4. Kemudian kita pilih Java pada Categories dan pilih Java Application pada Projects. Lalu klik Next.

5. Kemudian akan muncul tampilan sebagai berikut.

Gambar 2.4 New Java Application

6. Kemudian isi project name dengan nama file yang diinginkan. Kemudian klik Finish.

7. Untuk membuat form pada netbeans kita klik kanan pada Source Packages, pilih New Jframe Form. Akan tampil gambar dibawah ini.

(39)

Gambar 2.5 New Jframe Form

8. Kemudian kita isi Class name-nya lalu kita klik Finish.

9. Setelah kita klik Finish akan muncul tampilan seperti dibawah ini. Selanjutnya silahkan membuat Aplikasi yang anda inginkan.

Gambar 2.6 Layar Project NetBeans IDE 6.8

IDE merupakan sebuah lingkungan dimana semua tombol perintah yang diperlukan untuk mendesign aplikasi, menjalankan dan menguji sebuah aplikasi disajikan dengan baik untuk memudahkan pengembangan program.

MenuBar Toolbar Main Window Komponen Pallete

(40)

2.5.2 Komponen NetBeans 6.8 a. Main Windows

Jendela utama ini bagian dari IDE yang mempunyai fungsi yang sama dengan semua fungsi utama dari program aplikasi Windows lainnya. Jendela utama Netbeans terbagi menjadi tiga bagian, berupa Main Menu, Toolbar dan Component Pallete.

b. Toolbar

Netbeans memiliki beberapa toolbar yang masing-masing memiliki perbedaan fungsi dan setiap tombol pada bagian toolbar berfungsi sebagai pengganti suatu menu perintah yang sering digunakan. Toolbar sering disebut juga dengan Speedbar.

Toolbar terletak pada bagian bawah baris menu. Pada kondisi default Netbeans memiliki beberapa bagian toolbar, antara lain : Build Main Project, Clean and Build Main Project, Run Main Project, Debug Main Project, dan Profile Main Project.

c. Component Palette

Component Pallete berisi kumpulan ikon yang melambangkan komponen-komponen yang terdapat pada VCL (Visual Component Library), pada Component Pallete akan ditemukan beberapa page control, seperti Swing Containers, Swing Controls, Swing Menus, Swing Windows, AWT, Beans, dan Java Persistence.

Gambar 2.7 Component Palette

(41)

d. From Designer

Form Designer merupakan suatu objek yang dapat dipakai sebagai tempat untuk merancang program aplikasi. Form berbentuk sebuah meja kerja yang dapat diisi dengan komponen-komponen yang diambil dari Component Pallete.

Gambar 2.8 Form Kerja NetBeans

e. Source Editor

Source Editor merupakan tempat untuk menuliskan kode program. Pada bagian ini dapat dituliskan pernyataan-pernyataan dalam Object Java. Keuntungan bagi pemakai Netbeans adalah bahwa tidak perlu menuliskan kode-kode sumber, karena Netbeans telah menyediakan kerangka penulisan sebuah program seperti yang tampak pada Gambar 2.8

(42)

f. Object Inspektor

Object Inspector digunakan untuk mengubah properti atau karakteristik dari sebuah komponen. Object Inspector terdiri dari dua tab, yaitu Properties dan Events seperti yang tampak pada Gambar 2.10.

Gambar 2.10 Inspector

2.6 Registry

Registry, dalam platform sistem operasi Microsoft Windows 32-bit, merupakan sebuah basis data yang disusun secara hierarkis yang mengandung informasi mengenai konfigurasi sebuah sistem, mulai dari konfigurasi perangkat keras, perangkat lunak, asosiasi ekstensi berkas dengan aplikasinya hingga preferensi pengguna. Registry merupakan pengganti berkas-berkas konfigurasi *.INI yang digunakan dalam sistem Windows 16-bit (Windows 3.x dan Windows for Workgroups). Registry, pertama kali diperkenalkan di dalam sistem Windows 16-bit sebagai penampung informasi mengenai pemetaan/asosiasi ekstensi berkas dengan aplikasinya, dan kemudian dikembangkan menjadi basis data dengan cakupan yang luas pada sistem-sistem operasi keluarga Windows NT. Registry juga kemudian digunakan pada sistem operasi kelas rumahan: Windows 95, Windows 98 dan Windows ME, tapi memang implementasi yang cukup bagus dari registry terdapat di dalam keluarga sistem operasi Windows NT.

(43)

2.6.1 Struktur Registry

Struktur registry agak mirip dengan struktur direktori dalam sistem berkas. Selain itu, registry juga dapat diakses dengan menggunakan sintaksis yang sama dengan cara mengakses berkas, dengan menggunakan karakter garis miring terbalik (backslash) untuk menandakan tingkatan hierarkis. Susunannya adalah seperti <subtree>\<key>\<subkey...>. Setiap key dan subkey tersebut dapat memiliki nilai yang dapat ditentukan atau nilai default, yang disebut sebagai Value. Akan tetapi, cara mengakses value tidaklah sama dengan cara mengakses berkas dalam sistem berkas, mengingat nama value dapat mengandung karakterbackslash yang dapat menjadi ambigu ketika menggunakan cara baca seperti halnya mengakses sistem berkas.

Registry Windows terdiri atas beberapa anak pohon berikut, yang disusun secara hierarkis dengan My Computer sebagai root directory-nya:

HKEY_LOCAL_MACHINE, sering disebut sebagai HKLM, merupakan sebuah tempat penyimpanan untuk konfigurasi sistem yang bersangkutan, yang terdiri atas perangkat keras dan perangkat lunak. Semua yang terdapat di dalam anak pohon ini diaplikasikan kepada semua pengguna.

HKEY_CURRENT_USER, sering disebut sebagai HKCU, merupakan sebuah tempat penyimpanan untuk konfigurasi yang dimiliki oleh pengguna yang sedang melakukan logon, yang menyimpan informasi mengenai konfigurasi preferensi pengguna (konfigurasi desktop, warna, dan konfigurasi lainnya yang setiap pengguna dapat melakukan kustomisasi terhadapnya).  HKEY_USERS, sering disebut sebagai HKU, merupakan tempat

penyimpanan untuk konfigurasi setiap pengguna yang terdaftar di dalam komputer yang bersangkutan. Setiap anak kunci dari anak pohon ini diidentifikasikan dengan menggunakan nomor Security Identifier(SID) yang dimiliki oleh pengguna. Ketika pengguna melakukan logon, SID yang cocok akan dimuat ke dalam anak pohonHKEY_CURRENT_USER.

HKEY_CLASSES_ROOT, sering disebut sebagai HKCR, merupakan tempat penyimpanan untuk konfigurasi asosiasi/pemetaan ekstensi sebuah berkas atau objek Object Linking and Embedding (OLE) dengan aplikasi yang

(44)

dapat menanganinya. Sebagai contoh, berkas berekstensi .txt akan ditangani oleh aplikasi editor teks seperti Notepad dan masih banyak lainnya.

HKEY_CURRENT_CONFIG, sering disebut sebagai HKCC, merupakan tempat penyimpanan untuk konfigurasi perangkat keras dan sistem operasi yang sedang digunakan saat itu, yang diperoleh pada saat proses booting dilakukan. Informasi yang disimpan di sini bersifat volatil dan tidak disimpan secara permanen ke dalam berkas penampung registry, tapi akan selalu dibuat setiap kali proses bootingdilakukan.

 HKEY_DYN_DATA, yang hanya terdapat di dalam Windows 95, Windows 98, dan Windows Millennium Edition, merupakan tempat penyimpanan konfigurasi dinamis untuk semua perangkat keras plug-and-play. Tidak ada padanannya dalam Windows NT, tapi dalam Windows NT 5.x, terdapat sebuah anak pohon HKEY_PERFORMANCE_DATA, yang hanya digunakan untuk mengumpulkan informasi performance counter Windows 2000, mengingat semua konfigurasi perangkat keras disimpan di dalamHKEY_LOCAL_MACHINE\HARDWARE\.

2.6.1.1. HKEY_LOCAL_MACHINE

Menyimpan informasi/data mengenai semua konfigurasi mesin yang bersangkutan. HKLM bukanlah symbolic link ke kunci registry manapun. HKEY_LOCAL_MACHINE memiliki beberapa anak kunci, yakni:

 HKEY_LOCAL_MACHINE\SOFTWARE, berguna untuk menyimpan semua konfigurasi perangkat lunak yang terinstal di dalam komputer yang bersangkutan, dan konfigurasinya yang akan diaplikasikan kepada semua pengguna, baik pengguna yang melakukan logon secara lokal/interaktif maupun yang melakukan logon secara remote (melalui service logon, batch

logon, atau terminal services logon).

 HKEY_LOCAL_MACHINE\SYSTEM, berguna untuk menyimpan semua informasi dan konfigurasi sistem operasi Windows yang sedang berjalan. Di sini terdapat semacam recovery point, yang disebut sebagai LastKnownGood Configuration, yang akan digunakan pada saat sistem mengalami masalah

(45)

pada saat proses booting. Semua konfigurasi driver dan layanan Windows (Win32 Service dan komponen Windows seperti NTFS dan TCP/IP) disimpan di sini.

 HKEY_LOCAL_MACHINE\SAM, berguna untuk menyimpan basis data akun pengguna yang terinstal di dalam sistem operasi yang bersangkutan. Secara default, SAM tidak dapat diakses, bahkan oleh administrator sekalipun, karena memang access control-nya tidak memungkinkan hal itu dilaksanakan. SAM adalah singkatan dari Security Accounts Manager.

 HKEY_LOCAL_MACHINE\HARDWARE, berguna untuk menyimpan konfigurasi perangkat keras di dalam sistem yang bersangkutan, seperti halnya konfigurasi sumber daya perangkat keras (interupsi perangkat keras, konfigurasi DMA, dan konfigurasi lainnya).

 HKEY_LOCAL_MACHINE\SECURITY, berguna untuk menyimpan konfigurasi keamanan Windows.

2.6.1.2. HKEY_CURRENT_USER

Menyimpan informasi/data yang diasosiasikan dengan pengguna yang sedang masuk log. HKCU merupakan sebuah symbolic link ke kunci registry HKEY_USERS\<SID dari pengguna yang bersangkutan>. HKCU juga menyimpan informasi mengenai profil pengguna, konfigurasi perangkat lunak, dan preferensi mereka. Terdapat beberapa anak kunci, yakni:

 AppEvents, yang digunakan untuk menyimpan asosiasi antara suara dengan sebuah event. Disarankan untuk menggunakan Control Panel->Sound untuk mengubahnya, dan jangan menyunting secara langsung dari sini.

 Console, yang digunakan untuk menyimpan konfigurasi jendela Command Prompt (cmd.exe); contoh: lebarnya, tingginya, dan warnanya. Disarankan untuk menggunakan Command Prompt->Properties untuk mengubahnya, dan jangan menyunting langsung dari sini.

 Control Panel, digunakan untuk menyimpan konfigurasi screen saver, skema desktop, warna, keyboard, dan mouse. Selain itu juga dapat menyimpan informasi ketidakmampuan (accessibility) dan regional settings. Disarankan

(46)

untuk menggunakan Control Panel->Display, Control Panel->Accessibility, dan Control Panel->Language and Regional Options untuk mengubahnya, dan jangan menyuntingnya secara langsung dari sini.

 Environment, mengandung definisi Environment Variable. Disarankan untuk menggunakan Control Panel->System->Advanced->Environment Variables untuk mengubahnya, dan jangan menyunting langsung dari sini.  Keyboard Layout, menyimpan konfigurasi lay-out konfigurasi keyboard

(contoh U.S. English, atau U.K. English, atau U.S. Dvorak, dan lain sebagainya).

 Network, menyimpan konfigurasi dan pemetaan drive yang berada di jaringan.

 Printers, menyimpan konfigurasi koneksi printer.

 Software, digunakan untuk menyimpan preferensi pengguna terhadap sebuah perangkat lunak tertentu.

 UNICODE

 Windows 3.1 Migration Status

2.6.1.3. HKEY_USERS

Anak pohon HKEY_USERS mengandung beberapa anak yakni semua profil pengguna yang terdaftar di dalam sistem yang bersangkutan dan basis data registrasi objek OLE. Selain itu, anak pohon ini juga mengandung HKEY_USERS\.DEFAULT, yang dihubungkan dengan profil milik akun SYSTEM, yang merupakan profil yang digunakan oleh salah satu komponen Windows, WINLOGON.EXE, untuk menyimpan semua konfigurasi seperti halnya HKEY_CURRENT_USER, yakni bagaimana tampilan desktop, bagaimana konfigurasi perangkat keras dan lain-lain. Pengaturan yang diberlakukan terhadap HKU\.DEFAULT ini dapat menjadikan konfigurasi desktop dan lain-lain pada saat proses logon Windows akan berubah dari pengaturan default-nya.

(47)

Ketika seorang pengguna masuk log ke sebuah sistem untuk pertama kalinya, sementara akun miliknya tidak berupa roaming profile (yakni, sebuah profil pengguna yang disimpan di dalam tempat tersentralisasi di dalam domain controller), maka Windows akan membuatkan sebuah profil yang baru untuknya, yang dibuat berbasiskan pengaturan yang terdapat di dalam C:\Documents and Settings\Default User.

2.6.1.4. HKEY_CURRENT_CONFIG

Anak pohon HKEY_CURRENT_CONFIG mengandung data konfigurasi untuk profil perangkat keras (hardware profile) yang sedang digunakan oleh Windows. HKCC tidak mengandung data apapun, karena memang anak pohon ini merupakan sebuah symbolic link terhadap HKEY_LOCAL_MACHINE\ SYSTEM\CurrentControlSet\Hardware Profiles\Current. Dengan mengubah kunci tersebut atau mengubah HKCC, akan menghasilkan sesuatu yang sama.

Penggunaan profil perangkat keras mengizinkan administrator untuk mengonfigurasikan beberapa variasi dari pengaturan driver perangkat keras yang digunakan pada saat melakukan booting. Meskipun profil yang digunakan dapat berubah dari satu proses booting ke proses booting lainnya, aplikasi dapat merujuk ke anak pohon ini untuk mencari profil mana yang sedang dimuat oleh Windows. Pengaturan profil perangkat keras dapat dilakukan dengan Control Panel->System->Hardware->Hardware Profiles. Jika ada lebih dari satu profil perangkat keras, maka komponen Windows, yakni NTLDR, akan menanyakan kepada pengguna mengenai profil yang harus dimuat pada saat proses booting dilakukan.

2.6.1.5 HKEY_CLASSES_ROOT

Anak pohon HKEY_CLASSES_ROOT mengandung dua jenis data, yakni:

 Data yang mengasosiasikan jenis berkas (dilihat dari ekstensinya atau kelasnya) dengan program yang dapat membukannya. Subkunci jenis berkas di dalam HKEY_CLASSES_ROOT memiliki nama yang sama dengan

(48)

ekstensi nama berkas, seperti halnya .txt, .exe, dan lain-lain. Asosiasi jenis berkas ini disimpan di dalam registry, tapi disarankan untuk menggunakan Folder Options->File Types jika memang hendak mengubahnya.

 Data konfigurasi untuk objek-objek Object Linking and Embedding (OLE)/Component Object Model (COM).

Isi dari HKCR diambil dari dua sumber, yakni HKLM\SOFTWARE\Classes dan HKCU\SOFTWARE\Classes. Jika sebuah subkey atau entri terdapat di dalam salah satu dari dua lokasi tersebut, maka hal tersebut akan ditampilkan juga di dalam HKCR. Jika ada dua entri yang konflik di antara dua lokasi tersebut, hanya HKCU\SOFTWARE\Classes yang akan ditampilkan di dalam HKCR.

2.6.2 Jenis Data Registry

Sebuah value dapat memiliki jenis-jenis data seperti di bawah ini:

REG_NONE, yang merupakan sebuah jenis data registry yang tidak didefinisikan sebelumnya. Jenis data ini secara internal menggunakan tanda pengenal (identifier) 0x00.

REG_SZ, merupakan jenis data teks (string) dengan panjang yang tetap (fixed-length string). Semua sistem operasi 32-bit Windows (Windows NT dan Windows 9x) mendukung jenis data registry ini. Jenis data ini secara internal menggunakan tanda pengenal (identifier) 0x01.

REG_EXPAND_SZ, merupakan jenis data teks/string yang dapat diekspansi. Windows 9x tidak memiliki jenis data ini. Diperlukan editorregistry khusus (regedt32.exe) untuk menangani jenis data ini. Jenis data ini secara internal menggunakan tanda pengenal (identifier) 0x02.

REG_BINARY, merupakan jenis data biner, yang dapat berarti macam-macam (bisa berupa teks/string, atau bilangan). Semua sistem operasi 32-bit Windows (Windows NT dan Windows 9x) mendukung jenis data registry ini. Jenis data ini secara internal menggunakan tanda pengenal (identifier) 0x03.REG_DWORD, merupakan jenis data angka 32-bit. Semua sistem operasi

(49)

registry ini. Jenis data ini secara internal menggunakan tanda pengenal (identifier) 0x04. Terdapat dua jenis implementasi dari jenis data ini, yakni:REG_DWORD_LITTLE_ENDIAN, yang merupakan jenis data

REG_DWORD default dalam Windows NT yang dijalankan di atas prosesor Intel x86/x64. Jenis data ini berukuran 32-bit yang disusun dengan menggunakan format little-endian. Jenis data ini secara internal menggunakan tanda pengenal (identifier) 0x05.

REG_DWORD_BIG_ENDIAN, yang merupakan jenis data REG_DWORD yang berukuran 32-bit yang disusun dengan menggunakan format big-endian. Jenis data ini hanya dapat didukung oleh Windows NT yang dijalankan di atas mesin DEC Alpha, MIPS, atau IBM PowerPC, yang memang menggunakan format bilangan big-endian. Windows NT 5.x yang hanya dapat berjalan di atas sistem x86 tidak menangani jenis data ini (terdapat limitasi pada mikroprosesor), meskipun Windows NT 5.x mendukungnya. Jenis data ini secara internal menggunakan tanda pengenal (identifier) 0x06.

REG_MULTI_SZ, merupakan jenis data teks/string yang memiliki banyak baris yang dipisahkan dengan dua buah karakter null (0x00). Windows 9x tidak memiliki jenis data ini.Diperlukan editor registry khusus (regedt32.exe) untuk menangani jenis data ini. Jenis data ini secara internal menggunakan tanda pengenal (identifier) 0x07.

REG_LINK, yang merupakan symbolic link ke sebuah objek Windows NT dalam ruang nama/namespace objek Windows NT (yang diatur oleh Object Manager Windows NT). Registry Editor default bawaan Windows (regedit.exe, regedt32.exe, dan utilitas command-linereg.exe) tidak dapat menyunting jenis ini. Jenis data ini digunakan secara internal oleh Windows NT saja, dan tidak digunakan oleh aplikasi. Registry dalam Windows 9x tidak memiliki jenis data ini. Jenis data ini secara internal menggunakan tanda pengenal (identifier) 0x08.

(50)

REG_RESOURCE_LIST (WindowsNT)

atau REG_FULL_RESOURCE_DESCRIPTOR, yang merupakan jenis data registry yang hanya digunakan untuk menyimpan konfigurasi perangkat keras dan driver-nya yang terinstalasi di atas sistem operasi Windows NT. Registry dalam Windows 9x tidak memiliki jenis data ini. Jenis data ini adalah kumpulan larik (array) yang digunakan untuk menyimpan daftar sumber daya (interupsi perangkat keras, Direct Memory Access (DMA), I/O range dan memory range) yang digunakan oleh komponen perangkat keras atau driver. Dibutuhkan registry editor khusus (regedt32.exe) untuk menyunting value dengan jenis data ini. Jenis data ini secara internal menggunakan tanda pengenal (identifier) 0x09.

REG_QWORD, merupakan jenis data angka yang memiliki panjang 64-bit. Jenis data ini hanya terdapat di dalam sistem prosesor 64-bit saja, semacam DEC Alpha, IA-64, atau x64. Jenis data ini secara internal menggunakan tanda pengenal (identifier) 0x12. Sama seperti halnya REG_DWORD, REG_QWORD juga terdapat dua jenis implementasi, yakni little-endian (REG_QWORD_LITTLE_ENDIAN, dengan identifier 0x13) dan big-endian (REG_QWORD_BIG_ENDIAN, dengan identifier 0x14), meskipun secara default format yang digunakan adalah REG_QWORD_LITTLE_ENDIAN. Diperlukan editor khusus untuk menyunting jenis data ini.

2.6.3 Registry Editor Windows

Dalam Windows 16-bit, terdapat sebuah komponen editor registry, yang disebut sebagai "Registration Info Editor" atau "Registration Editor". Seperti yang telah dibahas sebelumnya, bahwa registry dalam Windows 16-bit hanya terdapat asosiasi berkas atau objek OLE dengan aplikasinya saja, maka editor registry dalam sistem ini pun hanya dapat menyunting hal tersebut saja.

Windows NT yang dirilis kemudian memperkenalkan banyak konsep baru terhadap registry Windows, seperti halnya mampu menangani beberapa sub-tree, dan juga atribut keamanan dengan access control list. Dalam Windows NT 3.1,

(51)

terdapat satu editor registry, yang disebut dengan regedt32.exe, yang lebih bagus dan mampu menyunting beberapa jenis tipe data.

Windows 95 juga memperkenalkan editor registry baru, yang dibuat berbasiskan registry editor bawaan Windows NT, tetapi lebih sederhana (tidak ada atribut keamanan, dan tidak ada proteksi read-only). Registry Editor dalam Windows 95/98/ME ini disebut sebagai Regedit.exe saja.

Saat Microsoft merilis Windows NT 4.0, setelah Windows 95, di sistem operasi tersebut terdapat dua editor registry, yakni regedit.exe dan regedt32.exe. Regedit.exe merupakan bawaan Windows 95, sementara regedt32.exe merupakan bawaan Windows NT, yang diperbarui. Ada beberapa perbedaan di antara keduanya, yakni sebagai berikut:

Regedit.exe, ditampilkan seperti halnya Windows Explorer, dengan root-directory dengan nama My Computer dan akan menampilkan semua sub-tree yang dimuat di bawahnya. Regedit.exe hanya menampilkan satu window saja. Sementara itu, registry dalam regedt32.exe ditampilkan seperti halnya Program Manager, dengan setiap sub-tree ditampilkan dalam setiap window-nya masing-masing, sehingga sebuah window hawindow-nya mengandung sub-tree saja.

 Regedit.exe merepresentasikan komponen sebuah value (nama, jenis dan datanya) sebagai tiga kolom yang terpisah dari sebuah tabel. Sementara, regedt32.exe akan merepresentasikan komponen sebuah value sebagai daftar string.

 Regedit.exe mendukung klik-kanan terhadap sebuah entri dalam struktur tampilan pohon untuk mengatur propertinya dan beberapa pengaturan lainnya. Sementara, regedt32.exe mengharuskan semuanya dilakukan dari menu utama aplikasi.

 Karena regedit.exe adalah program bawaan Windows 95, program tersebut tidak dapat menyunting izin akses (karena memang izin akses tidak terdapat dalam Windows 9x dan hanya terdapat di dalam keluarga sistem operasi Windows NT). Oleh karena itu, satu-satunya cara untuk mengakses registry

(52)

dalam Windows NT secara penuh adalah dengan menggunakan program regedt32.exe.

 Regedit.exe hanya mendukung beberapa jenis data saja (REG_SZ, REG_DWORD/REG_DWORD_LITTLE_ENDIAN, dan REG_BINARY). Sementara itu, Regedt32.exe mendukung banyak jenis data, yakni REG_SZ,

REG_DWORD, REG_MULTI_SZ, REG_EXPAND_SZ, dan

REG_RESOURCE_LIST. Menyunting jenis data yang tidak didukung dengan Regedit.exe dalam Windows NT 4.0 dan Windows 2000 akan menyebabkan konversi data ke jenis data yang didukung oleh aplikasi tersebut dan tidak dapat dikembalikan ke jenis data sebelumnya.

Hal tersebut terus diberlakukan dalam Windows 2000. Dan, pada Windows XP dan Windows Server 2003, kemampuan kedua program tersebut digabungkan ke dalam satu program saja, regedit.exe. Regedt32.exe juga masih ada, tapi hanya berupa symbolic link saja. Jika menjalankan regedt32.exe dalam kedua sistem operasi tersebut, hal tersebut sama saja dengan menjalankan regedit.exe. Windows Vista pun demikian.

Program editor registry bawaan Windows, baik itu menggunakan regedit.exe maupun regedt32.exe mampu melakukan pengeksporan registry ke dalam sebuah berkas dengan ekstensi .REG atau .KEY. Hasil pengeksporan tersebut sama saja dengan berkas teks untuk konfigurasi biasa, yakni .INI. Path registry lengkap disusun sebagai header, sementara itu, entri registry dan nilainya disusun di bawahnya. Selain tentunya dapat melakukan pengeksporan registry ke dalam sebuah berkas teks, program itu juga dapat melakukan pengimporan.

2.7 Storyboard

Storyboard memiliki beberapa fungsi, diantaranya: menjadi panduan bagi programmer dan graphic designer dalam merancang sebuah aplikasi, mengetahui elemen multimedia yang akan digunakan pada rancangan, menjaga konsistensi multimedia pada aplikasi, memungkinkan pengimplementasian rancangan pada platform yang berbeda karena storyboard bersifat platform independent, dan

Gambar

Gambar 2.1 Platform Java 2
Tabel 2.1 Tipe Data Integer
Tabel 2.3 Tipe Data Char, Karakter Khusus
Gambar 2.2 Tools Dasar JDK
+7

Referensi

Dokumen terkait

Tujuan dari penelitian ini adalah untuk membuat membuat aplikasi edukatif. yang menarik, interaktif, inovatif, dan mudah dipahami, sehingga

Tampilan menampilkan rute posisi pengguna ke posisi anggota keluarga ketika aplikasi dijalankan dapat dilihat pada gambar 28. Gambar 28 Tamplan rute posisi pengguna

Sehingga disini peneliti berinisiatif untuk membuat aplikasi teknologi tepat guna yaitu Aplikasi Nutrisi Ibu Nifas atau bisa di singkat dengan aplikasi “SINNIA” untuk

Tujuan dari penulisan ini adalah membuat web site untuk LePKom Aplikasi, yang isinya terdiri dari informasi workshop dan kursus, informasi user, aplikasi berbasis web untuk ujian

kekurangan. Kekurangan VB.NET terlihat jelas apabila dijalankan pada komputer yang memiliki spesifikasi sederhana. Pada dialog New Project terdapat beberapa jenis aplikasi

Aplikasi desktop lock pada Windows 7 dapat membantu pengguna perangkat komputer dengan berbagai fitur, yaitu lockscreen pattern, password, slide, dan PIN serta kemampuan

Peserta pelatihan didampingi cara memasukkan daftar pustaka secara otomatis Setelah kegiatan pelatihan penulisan daftar pustaka menggunakan aplikasi mendeley desktop ini, para peserta

Dan dalam pembuatan aplikasi ini tidak hanya dibutuhkan skill membuat aplikasi, juga diperlukan komunikasi kepada penjual agar memberitahukan apa saja yang diperlukan dalam aplikasi