BAB II
LANDASAN TEORI
2.1 Metodologi Rekayasa Perangkat Lunak
Pemodelan dalam perangkat lunak merupakan suatu yang harus dikerjakan di bagian awal dari rekayasa, dan pemodelan ini akan mempengaruhi perkerjaan dalam merekayasa perangkat lunak tersebut. Model proses perangkat lunak merupakan deskripsi yang disederhanakan dari proses perangkat lunak yang dipresentasikan dengan sudut pandang tertentu. Namun model proses perangkat lunak masih menjadi objek penelitian, namun pada saat ini terdapat banyak model umum atau paradigma yang berbeda dari pengembangan perangkat lunak.
Salah satu model proses yang secara umum digunakan dalam pengembangan rekayasa lunak adalah model Waterfall. Waterfall mengusulkan sebuah pendekatan kepada perkembangan perangkat lunak yang sistematik dan sekuensial yang mulai pada tingkat dan kemajuan sistem pada seluruh analisis, desain, kode, pengujian, dan pemeliharaan.
(Berikut tahapan-tahapan dalam metode Waterfall menurut Pressman (2001, 29)): Roger S.Pressman memecah model ini menjadi 6 tahapan meskipun secara garis besar sama dengan tahapan-tahapan model waterfall pada umumnya. Berikut adalah penjelasan dari tahap-tahap yang dilakukan didalam model ini menurut Pressman:
1. Rekayasa sistem
Permodelan ini diawali dengan mencari kebutuhan dari keseluruhan sistem yang akan diaplikasikan kedalam bentuk software. Hal ini sangat penting, mengingat software harus dapat berinteraksi dengan elemen – elemen lain seperti hardware, database, dan sebagainya. Tahap ini sering disebut dengan
Project Definition.
2. Analisis.
Proses pencarian kebutuhan diintesifkan dan difokuskan pada software. Untuk mengetahui sifat dari program yang akan dibuat, maka para software engineer harus mengerti tentang domain informasi dari software, misalnya fungsi yang dibutuhkan, user interface, dan sebagainya. Dari 2 aktivitas tersebut (pencarian kebutuhan sistem dan software) harus didokumentasikan dan ditunjukkan kepada pelanggan.
3. Desain
Proses ini digunakan untuk mengubah kebutuhan-kebutuhan diatas menjadi representasi kedalam bentuk “blueprint” software sebelum coding dimulai. Desain harus dapat mengimplementasikan kebutuhan yang telah disebutkan pada tahap sebelumnya. Seperti 2 aktivitas sebelumnya, maka proses ini juga harus didokumentasikan sebagai konfigurasi dari software.
4. Pengkodean
Untuk dapat dimengerti oleh mesin, dalam hal ini adalah komputer. Maka desain tadi harus diubah bentuknya menjadi bentuk yang dapat dimengerti oleh mesin, yaitu kedalam bahasa pemrograman melalui proses coding.
Tahap ini merupakan implementasi dari tahap design yang secara teknis nantinya dikerjakan oleh programmer.
5. Pengujian
Sesuatu yang dibuat haruslah diujicobakan. Demikian juga dengan software, semua fungsi-fungsi software harus diujicobakan agar software bebas dari error, dan hasilnya harus benar-benar sesuai dengan kebutuhan yang sudah didefinisikan sebelumnya.
6. Pemeliharaan
Pemeliharaan suatu software diperlukan. Termasuk didalamnya adalah pengembangan, karena software yang dibuat tidak selamnya hanya seperti itu. Ketika dijalankan mungkin saja masih ada error kecil yang tidak ditemukan sebelumnya, atau ada penambahan fitur-fitur yang belum ada pada software tersebut. Pengembangan diperlukan ketika adanya perubahan dari eksternal perusahaan seperti ketika ada pergantian sistem operasi, atau perangkat lainnya.
Gambar 2. 1Model Waterfall (Pressman, 2002:354)
Rekayasa Sistem Analisa Desain Pengkodean Pengujian Pemeliharaan
2.2 Unified Modelling Language (UML)
Unified Modeling Language (UML) adalah bahasa grafis untuk
mendokumentasikan, menspesifikasikan, dan membangun sistem perangkat lunak. Berikut ini akan dijelaskan diagram dasar dalam UML yaitu: Use Case Diagram,
Activity Diagram, dan Sequnce Diagram
2.2.1 Diagram Use-case (Use-case diagram)
Use Case Diagram adalah teknik untuk merekam persyaratan fungsional
sebuah sistem. Use Case Diagram mendeskripsikan interaksi tipikal antara para pengguna sistem dengan sistem itu sendiri, dengan memberi sebuah narasi tentang bagaimana sistem tersebut digunakan (Fowler, 2005:141). Use case menjelaskan manfaat sistem jika dilihat menurut pandangan orang yang berada diluar system (aktor) diagram ini menunjukkan fungsionalitas suatu sistem atau kelas dan bagaimana sistem berinteraksi dengan dunia luar (A. Suhendar dan Hariman Gunadi, 2002:49). Sebuah Use Case Diagram merepresentasikan sebuah interaksi antara aktor dengan sistem. Use case merupakan sebuah pekerjaan tertentu, misalnya login ke sistem, meng-create sebuah daftar belanja, dan sebagainya. Seorang atau sebuah aktor adalah sebuah entitas manusia atau mesin yang berinteraksi dengan sistem untuk melakukan pekerjaan-pekerjaan tertentu.
Sebuah use case dapat meng-include fungsionalitas use case lain sebagai bagian dari proses dalam dirinya. Secara umum diasumsikan bahwa use case yang di-include akan dipanggil setiap kali use case yang meng-include dieksekusi secara normal. Sebuah use case juga dapat meng-extend use case lain dengan
menunjukan bahwa use case yang satu merupakan spesialisasi dari yang lain.
Tabel 2.1 Notasi Use Case Diagram (Booch, dkk. 1998)
Notasi Deskripsi
Aktor, yang digunakan untuk menggambarkan pelaku atau pengguna. Pelaku ini meliputi manusia atau sistem komputer atau subsistem lain yang memiliki metode untuk melakukan sesuatu.
Contoh: Manager, Pelanggan, dan lain-lain.
Use case, digunakan untuk menggambarkan spesifikasi pekerjaan (job specification) dan deskripsi pekerjaan (job description), serta keterkaitan antar pekerjaan (job).
Contoh: pesan barang, menutup pintu, dan lain-lain.
Aliran proses (relationship), digunakan untuk menggambarkan hubungan antara use case dengan use case lainnya.
Aliran perpanjangan (extension point), digunakan untuk menggambarkan hubungan antara use case dengan use case yang diperpanjang (extended use case) maupun dengan use case yang dimasukkan (included use case). Aliran yang digunakan untuk menggammbarkan hubungan antara actor dengan use case.
<<extended>>
Kondisi yang mendeskripsikan apa yang terjadi antara use case dengan use case yang diperpanjang.
<<include>>
Include adalah kondisi aliran proses langsung (directed relationship) antara dua use case yang secara tak langsung menyatakan kelakuan (behaviour) dari use case yang dimasukkan.
<<has>> Adalah kondisi yang mendeskripsikan apa yang terjadi antara actor dengan use case.
Gambar 2.2 Contoh Use case Diagram (Bambang Hariyanto,Ir.,MT,(2004))
2.2.2 Diagram Activity
Diagram Activity adalah teknik untuk mendeskripsikan logika prosedural,
proses bisnis, dan aliaran kerja dalam banyak kasus. Diagram aktivitas mempunyai peran seperti hal bagan alir (Flowchart), akan tetapi perbedaannnya dengan bagan alir adalah diagram aktivitas dapat mendukung perilaku paralel sedangkan bagan alir tidak bisa.
Perwalian Aktivitas penddikan Mengikuti praktikum Mengikut i UAS Mengikuti UTS Mengikut i KUIS Mengikut i Tugas Mengikut i kuliah Memperoleh nilai akhir Memantau Membina kelas mata kuliah Menuntun praktikum Memberi tugas
Tabel 2.2 Notasi Activity Diagram (Diagram Munawar (2005:19))
No Simbol Keterangan
1 Titik awal
2 Titik akhir
3 Activity
4 Pilihan untuk pengambilan keputusan
5
Fork ; digunakan untuk menunjukkan
kegiatan yang dilakukan secara paralel atau untuk menggabungkan dua kegiatan paralel menjadi satu
6 Rake ; menunjukkan adanya dekomposisi
7 Tanda waktu
8 Tanda pengiriman
9 Tanda penerimaan
Datang ke gallery VCD Memilih VCD yang dibeli Petugas Keuangan Bayar VCD yang dibeli Start Tidak membeli VCD End
Gambar 2.3 Contoh Activity Diagram pembelian VCD (Joko Adianto,Ir.,M.Inf.Sys, 2011)
Pada umumnya activity diagram tidak menampilkan secara detail urutan proses, namun hanya memberikan gambaran global bagaimana urutan prosesnya. Sehingga seringkali diagram ini digunakan untuk memodelkan aktivitas bisnis dalam level konseptual.
2.2.3 Sequence Diagram
Sequence Diagram dapat digunakan untuk menunjukkan interaksi antar user
dengan obyek-obyek lain yang terkait. Sequence ini lebih menitikberatkan pada urutan pesan yang dikirimkan anta user dan obyek berdasarkan waktu.
Biasanya diagram ini digunakan untuk menggambarkan skenario dalam suatu use case yang ingin dijelaskan secara detail atau juga dapat digunakan untuk menggambarkan sebuah proses dalam use case.
Tabel 2.3 Notasi-notasi dalam pemodelan sequensial (Munawar, 2005:89)
No Notasi Keterangan
1 Frame, digunakan untuk
menggambarkan sebuah interaksi.
2 Lifeline, digunakan untuk
mempresentasikan sebuah individu dalam interaksi dan hanya sebuah etentitas inteaksi
3 Execution Specification, digunakan
untuk menggambarkan spesifikasi dari sebuah unit kelakuan atau aksi antar lifeline
4 1:message Pesan (message), digunakan untuk mendeskripsikan pesan yang ada antar lifeline
5
•
Lost message, digunakan untuk menggambarkan sebuah pesan yang mendefinisikan sebuah komunikasi particular antara lifelines dalam interaksi dari lifelines n+1 ke lifelines n
Tabel 2.3 Notasi-notasi dalam pemodelan sekuensial (lanjutan)
No Notasi Keterangan
6
•
Found message, digunakan untuk menggambarkan sebuah pesan yang mendefinisikan komunikasi particular antara lifelines dalam interaksi life n ke lifeline n+1
7 Objek, digunakan untuk
menggambarkan pelaku atau pengguna dalam diagram sequence. Pelaku ini meliputi manusia atau sistem komputer atau subsistem lain yang memiliki metode untuk melakukan sesuatu
8 Aktor, yang digunakan
menggambarkan pelaku atau pengguna dalam use case. Pelaku ini meliputi manusia atau sistem komputer atau subsistem lain yang memiliki metode untuk melakukan sesuatu.
Gambar 2.4 Contoh Diagram Sequence (Suquence Diagram) (Adi Nugroho, (2010) .hal:42)
Notasi yang digunakan biasanya berupa kumpulan aktor dan obyek yang disusun berdampingan secara horisontal dengan tiap aktor dan obyekmemiliki garis putus-putus vertikal dibawahnya, yang akan digunakan sebagai batas pengiriman dan penerimaan pesan. Pesan yang dikirimkan dari aktor ke obyek ditampilkan dalam garis horizontal dengan panah.
1.Penyisipan kartu() 2.Memilih tanggal() 3.Penawaran kursi() 4.Memilih kursi() 5.Mengirim pesan() 6.Charge biaya() 7.Otoritas biaya() 8.Konfirmasi charge biayaOr()
9.Mencetak pesanan
2.3 Java 2 Micro Edition (J2ME)
Java dibuat pada tahun 1991 oleh James Gosling. Pada awalnya diberi nama
Oak, dimana untuk menghormati pohon yang ada di luar jendela Gosling.
Kemudian namanya diubah ke Java karena telah ada sebuah bahasa yang diberi nama Oak. Motivasi sesungguhnya dari Java adalah kebutuhan akan sebuah bahasa yang bisa digunakan pada berbagai platform yang bisa dimasukkan ke dalam berbagai produk elektronik seperti pemanggang roti dan lemari es. Salah satu dari proyek pertama yang dikembangkan menggunakan JAVA sebuah remote kontrol yang diberi nama Star 7.Pada saat yang sama, World Wide Web dan Internet berkembang sangat cepat. Gosling menyadari bahwa Java dapat digunakan untuk pemrograman Internet.Dengan keluarnya versi 1.2, platform Java telah dipilah-pilah menjadi beberapa edisi : The Standard Edition (J2SE),
Enterprise Edition (J2EE), Mobile Edition (J2ME), dan JavaCard API.
Tabel 2.4 Platform Java dalam beberapa edisi (JENI-J2ME-Bab01- Pengembangan%20Aplikasi%20Mobile)
Dan Java menurut definisi Sun adalah nama untuk sekumpulan teknologi untuk membuat dan menjalankan perangkat computer ataupun pada lingkungan jaringan. Java adalah generasi kedua dari Java platform (generasi awalnya adalah
Java Development Kit). Java berdiri diatas sebuah mesin interpreuter yang diberi
nama Java Virtual Machine (JVM). Platform jJava memiliki tiga buah edisi yang berbeda, yaitu J2EE (Java Enterprise Edition), J2ME (Java 2 Micro Edition),
J2SE (Java second Edition). Ruang lingkup keterhubungan antara J2EE, J2SE,
dan J2ME dapat dilihat pada gambar
Gambar 2.5 Ruang lingkup keterhubungan J2EE, J2SE, dan J2ME (M.Shalahuddin dan Rosa A.S : 2008)
2.3.1 Connected Limited Device Configuration (CLDC)
Connected Limited Device Configuration (CLDC) menggambarkan dan
menunjuk pada area berikut ini:
● Fitur Bahasa Java dan Virtual Machine (VM) ● Library dasar(java.lang.*,java.util.*) ● Input/Output(java.io.*) J2ME Package Opsional J2EE JVM Package Opsional J2SE CDC Foundation Profile Lainnya MIDP CLDC KVM
● Kemanan ● Jaringan
● Internationalization
Adapula fitur-fitur yang hilang, fitur tertentu dari J2SE yang dipindahkan dari CLDC adalah :
● Finalization of class instances
● Asynchronous exceptions ● Beberapa error classes ● User-defined class loaders ● Reflection
● Java Native Interface (JNI)
● Thread groups dan daemon threads
Reflection, Java Native Interface (JNI) dan user-defined class loaders
potensial menjadi lubang keamanan. JNI juga membutuhkan memorI yang intensif sehingga dimungkinkan untuk tidak mendapat dukungan dari memory rendah sebuah perangkat mobile. (JENI-J2ME-Bab01-Pengembangan%20Aplikasi%20Mobile).
2.3.2 Karakteristik Perangkat CLDC
Perangkat yang diincar oleh CLDC mempunyai karateristik sebagai berikut: minimal 192 kb untuk platform Java.
Prosesor dengan 16 atau 32 bit. Memori Mengkonsumsi sedikit daya.
Terbatas, koneksi jaringan yang sementara dengan pembatasan bandwith (biasanya wireless).
CLDC tidak menggambarkan instalasi dan daur hidup sebuah aplikasi, antarmuka (UI) dan penanganan peristiwa (event handling). Adalah merupakan tugas profile yang berada di bawah CLDC untuk menggambarkan area ini. Secara khusus, spesifikasi MIDP menggambarkan daur hidup aplikasi MIDP (MIDlet), library UI dan event handling (javax.microedition.lcdui).
2.3.3 Verifikasi Class
Spesifikasi CLDC memerlukan semua class untuk melewati proses verifikasi dua tingkat. Verifikasi pertama dilaksanakan diluar perangkat sebelum instalasi pada perangkat. Verifikasi kedua terjadi pada perangkat selama runtime dan dilaksanakan oleh KVM.
Gambar 2.6 Proses Verivikasi dua tingkat
2.3.4 Generic Connection Framework
Generic Connection Framework menyediakan API dasar untuk koneksi
dalam CLDC. Framework ini menyediakan suatu pondasi umum untuk koneksi seperti HTTP, Socket, dan Datagrams.GCF menyediakan suatu set API yang umum dan biasa yang memisahkan semua jenis koneksi. Perlu dicatat bahwa tidak semua jenis koneksi dibutuhkan untuk diterapkan oleh perangkat MIDP. Hirarki interface yang dapat diperluas dari GFC membuat proses penyamarataan menjadi mungkin. Jenis koneksi baru mungkin bisa ditambahkan ke dalam framework ini dengan memperluas hirarki ini.
Gambar 2.7: Hirarki koneksi GCF
2.3.5 Connected Device Configuration (CDC)
Connected Device Configuration (CDC) adalah super set dari CLDC. CDC menyediakan lingkungan Java runtime yang lebih luas dibandingkan CLDC dan lebih dekat kepada lingkungan J2SE. CDC Java Virtual Machine (CVM) mendukung penuh Java Virtual Machine (JVM). CDC berisi semua API dari CLDC. CDC menyediakan suatu subset yang lebih besar dari semua class J2SE. Seperti CLDC, CDC tidak menggambarkan setiap class UI. Library UI digambarkan oleh profile-profile di bawah konfigurasi ini. Semua class yang terdapat dalam CDC datang dari package ini:
● java.io ● java.lang ● java.lang.ref ● java.lang.math ● java.net ● java.security ● java.security.cert ● java.text ● java.util ● java.util.jar ● java.util.zip
CDC juga memasukkan di dalamnya GCF. CDC memerlukan jenis koneksi tambahan seperti file dan dukungan datagram. (JENI-J2ME-Bab01-Pengembangan%20Aplikasi%20Mobile)
2.4 Java Technology for the Wireless Industry (JTWI)
Java Technology for the Wireless Industry (JTWI) menetapkan satu set jasa
dan spesifikasi standar. Berdasar spesifikasi JTWI, kata kuncinya adalah “untuk memperkecil fragmentasi API di dalam pasar telepon mobile, dan untuk mengirim spesifikasi yang dapat diprediksi,spesifikasi yang jelas untuk perangkat pabrik, operator, dan pengembang aplikasi”.
Dengan penyesuaian kepada JTWI, banyak aplikasi akan berjalan di suatu set yang lebih luas pada perangkat. Perangkat pabrik juga akan beruntung karena sebuah aplikasi yang besar akan tersedia untuk perangkat mereka.
Gambar 2.8: Komponen JTWI
(JENI-J2ME-Bab01-Pengembangan%20Aplikasi%20Mobile)
2.5 Mobile Information Device Profile (MIDP)
Mobile Information Device Profile (MIDP) berada di atas dari CLDC. Anda
tidak bisa menulis aplikasi mobile hanya dengan menggunakan CLDC API. Anda harus tetap memanfaatkan MIDP yang mendefinisikan UI.
Spesifikasi MIDP, kebanyakan seperti CLDC dan API lainnya sudah digambarkan melalui Java Community Process (JCP). JCP melibatkan sebuah kelompok ahli berasal dari lebih dari 50 perusahaan, yang terdiri atas pabrik perangkat mobile, pengembang software. MIDP terus berkembang, dengan versi-versi masa depan yang telah lulus dari proses ketat JCP. Spesifikasi MIDP menggambarkan suatu perangkat MID yang memiliki karakteristik-karateristik ini sebagai batas minimum:
· Tampilan
· Ukuran Layar: 96x54 · Kedalaman tampilan: 1-bit · Ketajaman pixel: sekitar 1:1 · Masukan
· Satu atau lebih mekanisme user-input: satu keybboard, dua keyboard, atau touch screen
· Memori
· 256 kilobytes of non-volatile memory untuk implementasi MIDP. · 8 kilobytes of non-volatile memory for application-created persistent
data
· 128 kilobytes of volatile memory for the Java runtime (e.g., the Java heap)
· Jaringan
· Dua jalur, wireless, bandwidth terbatas · Sound:
MIDP menggambarkan model aplikasi, UI API, penyimpanan dan jaringan yang kuat, permainan dan media API, kebijakan keamanan, penyebaran aplikasi dan ketetapan over-theair.
2.6 MIDlet
Suatu aplikasi MIDP disebut MIDlet. Perangkat Application Management
Software (AMS) berinteraksi langsung dengan MIDlet dengan method MIDlet
create, start, pause, dan destroy. MIDlet adalah bagian dari package
javax.microedition.midlet. Sebuah MIDlet harus di-extend dengan class MIDlet.
Dan dapat meminta parameter dari AMS seperti dirumuskan dalam application
descriptor (JAD). Suatu MIDlet tidak harus memiliki (dan memang harus tidak
mempunyai) sebuah method public static void main(String[] argv).Method tersebut tidak akan dikenal lagi oleh AMS sebagai titik awal sebuah program.
2.6.1 Siklus MIDlet
Kehidupan MIDlet dimulai ketika di-instantiate oleh AMS. MIDlet pada awalnya masuk status “Pause” setelah perintah baru dibuat. AMS memanggil constructor public tanpa argumen dari MIDlet. Jika sebuah exception terjadi dalam constructor, MIDlet memasuki status “Destroyed” dan membuangnya segera. MIDlet masuk ke dalam status “Active” atas pemanggilan method
startUp() oleh AMS. MIDlet masuk ke dalam status “Destroyed” ketika AMS
memanggil method destroyApp(). Status ini juga kembali diakses ketika method
notifyDestroyed() kembali dengan sukses kepada aplikasi. Dengan catatan bahwa
Gambar 2.9: Daur hidup MIDlet
(JENI-J2ME-Bab01-Pengembangan%20Aplikasi%20Mobile)
2.6.2 MIDlet Suites
Aplikasi-aplikasi MIDlet dibungkus dan dikirim kedalam perangkat sebagai MIDlet suites. Sebuah MIDlet suite terdiri dari Java Archive (JAR) dan sebuah tambahan Java Application Descriptor (JAD). File JAD adalah suatu file teks yang berisi satu set atribut-atribut, beberapa dibutuhkan.
2.7 IDE Netbeans
NetBeans mengacu pada dua hal, yakni platform untuk pengembangan
aplikasi desktop java, dan sebuah Integrated Development Environment (IDE) yang dibangun menggunakan platform NetBeans. Platform NetBeans memungkinkan aplikasi dibangun dari sekumpulan komponen perangkat lunak
moduler yang disebut „modul‟. Sebuah modul adalah suatu arsip Java (Java
archive) yang memuat kelas-kelas Java untuk berinetraksi dengan NetBeans Open
API dan file manifestasi yang mengidentifikasinya sebagai modul. Aplikasi yang
dibangun dengan modul-modul dapat dikembangkan dengan menambahkan modul-modul baru. Karena modul dapat dikembangkan secara independen, aplikasi berbasis platform NetBeans dapat dengan mudah dikembangkan oleh pihak ketiga secara mudah dan powerful. Platform NetBeans adalah framework yang dapat digunakan kembali (reusable) untuk menyederhanakan pengembangan aplikasi desktop. Ketika aplikasi berbasis platform NetBeans dijalankan, kelas Main dari platform dieksekusi. Modul-modul yang tersedia ditempatkan di sebuah
registry di dalam memori, dan tugas startup modul dijalankan. Secara umum,
kode modul dimuatkan ke dalam memori hanya ketika ia diperlukan
2.7.1 File
Didalam ruang kerja IDE Netbeans ada beberapa macam submenu yang dapat digunakan dalam pembuatan sebuah aplikasi diantaranya :
Gambar 2.11 Menu File
New Project: Digunakan untuk membuat sebuah project baru.
Open Project: Untuk membuka project yang telah dibuat dengan Netbeans.
Set Main Project: Untuk mengatur project agar menjadi project utama sehingga dapat dikompilasi dan dijalankan.
Save, Save As, dan Save All: Untuk menyimpan project dalam bentuk Netbeans project
2.7.2 Window
Menu window dipakai untuk memilih bagian apa saja yang ingin ditampilkan dalam layar Netbeans, diantaranya :
Gambar 2.12: Menu window
Project: untuk menampilkan jendela Project, dimana kita dapat melihat project detail yang telah dibuat.
Files: Untuk menampilkan kumpulan file-file yang berupa class pada java yang terbentuk dari dari project yang dibuat.
Classes: untuk menampilkan informasi beberapa class yang ada dalam project.
Pallete: Untuk menampilkan beberapa komponen dalam GUI.
Properties: Untuk menampilkan informasi detail dari file java pada project.
2.7.3 J2ME Wireless Toolkit
J2ME Wireless Toolkit adalah kakas yang menyediakan emulator, dokumentasibeserta contoh-contoh aplikasi java untuk perangkat kecil (small
device). Wireless toolkit berbasiskan pada CLDC dan MIDP, Wireless toolkit ini adalah program yang meniru kerja ponsel yang mendukung MIDP atau yang biasa disebut emulator. Oleh karena itu, belum tentu MIDlet yang berjalan pada emulator juga dapat berjalan pada posel yang sebenarnya, karena juga bergantung pada kemampuan dan kapasitas ponsel yang digunakan
Gambar 2.13: Jendela Wireless Toolkit
2.8 Adobe Photoshop
Adobe Photoshop adalah salah satu program pengolah image yang sangat andal. Segala peranti dan fasilitas super canggih yang dimilikinya menjadikan photoshop sebagai pilihan utama bagi para desainer, praktisi bahkan fotografer. Photoshop hampir bisa melakukan semua hal, mulai dari sekedar editing foto,
retouch foto, photo realistic image, ilustrasi kartun, desain web, layout halaman
sederhana, hingga texturing 3d. (Jeprie, 2008:3) Photoshop dapat menerima penggunaan beberapa penggunaan beberapa model warna, yaitu : RGB color