1.39k likes | 1.71k Views
PEMOGRAMAN APLIKASI BERGERAK (Java ME). Konsep Java dan OOP. Nyimas Artina. “Parents can only give good advice or put them on the right paths, but the final forming of a person's character lies in their own hands (Anne Frank)”. SEKILAS JAVA. Pengenalan Java.
E N D
PEMOGRAMAN APLIKASI BERGERAK (Java ME) Konsep Java dan OOP NyimasArtina “Parents can only give good advice or put them on the right paths, but the final forming of a person's character lies in their own hands (Anne Frank)”
Pengenalan Java “Write once, run anywhere.” Java dikembangkan oleh Sun Microsystem Ditujukan untuk mengatasi perbedaan pada aneka platform yang ada saat ini. Slogan java : Teknologi Java adalah sebuah bahasa pemrograman dan juga merupakan sebuah platform. Mengapa dinamakan Java?
Sejarah Singkat Java (i) Pada 1991, sekelompok insinyur Sun dipimpin oleh Patrick Naughton dan James Gosling ingin merancang bahasa komputer untuk perangkat konsumer seperti cable TV Box. Dikarenakan perangkat tersebut tidak memiliki banyak memori, bahasa harus berukuran kecil dan mengandung kode yang liat. Juga karena manufaktur-manufaktur berbeda memilih processor yang berbeda pula, maka bahasa harus bebas dari manufaktur manapun. Proyek diberi nama kode ”Green”. Kebutuhan untuk fleksibilitas, kecil, liat dan kode yang netral terhadap platform mengantar tim mempelajari implementasi Pascal yang pernah dicoba. Niklaus Wirth, pencipta bahasa Pascal telah merancang bahasa portabel yang menghasilkan intermediate code untuk mesin hipotesis. Mesin ini sering disebut dengan mesin maya (virtual machine).
Sejarah Singkat Java (ii) Kode ini kemudian dapat digunakan di sembarang mesin yang memiliki interpreter. Proyek Green menggunakan mesin maya untuk mengatasi isu utama tentang netral terhadap arsitektur mesin. Karena orang–orang di proyek Green berbasis C++ dan bukan Pascal maka kebanyakan sintaks diambil dari C++, serta mengadopsi orientasi objek dan bukan prosedural. Mulanya bahasa yang diciptakan diberi nama ”Oak” oleh James Gosling yang mendapat inspirasi dari sebuah pohon yang berada pada seberang kantornya, namun dikarenakan nama Oak sendiri merupakan nama bahasa pemrograman yang telah ada sebelumnya, kemudian SUN menggantinya dengan JAVA. Nama JAVA sendiri terinspirasi pada saat mereka sedang menikmati secangkir kopi di sebuah kedai kopi yang kemudian dengan tidak sengaja salah satu dari mereka menyebutkan kata JAVA yang mengandung arti asal bijih kopi. Akhirnya mereka sepakat untuk memberikan nama bahasa pemrograman tersebut dengan nama Java.
Cross-platform “Write once, run anywhere.” cross-platform benefits of the Java language Java berdiri di atas sebuah mesin interpreter yang diberi nama Java Virtual Machine (JVM). JVM (Java Virtual Machine) adalah mesin untuk menjalankan bytecode pada file kelas Java pada mikroprosesor, baik yang berada pada komputer atau pada piranti elektronik lainnya. Bahasa java disebut sebagai bahasa yang portable ( write once run anywhere ) karena dapat dijalankan pada berbagai Sistem Operasi, asalkan pada sistem tersebut terdapat JVM.
Cross-platform Apa yang membuat Java begitu menarik? Jawabnya terletak pada kemampuannya untuk menghasilkan program yang mampu berjalan di atas segala jenis platform. Sekali kita menulis program dalam bahasa Java, maka ia akan siap bekerja di segala jenis platform tanpa perlu modifikasi kode.
Penamaan Java oleh Sun Microsystem • 2 versi penamaan : penamaan versi dari divisi engineer dan versi dari divisi marketing. • versi 1.0 hingga 1.4 ini penamaan dari sisi engineer, namun saat versi berikutnya SUN lebih memilih penamaan divisi marketing yaitu cukup dengan menyebutkan jdk lalu diikuti versi releasenya seperti jdk 5.0. • Ketika Java 2 diperkenalkan tahun 1999, platform Java terbagi menjadi 3 variant : • Java 2 Standard Edition (J2SE), • Java 2 Micro Edition (J2ME), • Java 2 Enterprise Edition (J2EE). • angka 2 setelah huruf J (J2SE, J2EE, J2ME) bukanlah merupakan no versi releasenya akan tetapi merupakan trademark dari SUN untuk memberitahukan bahwa setelah java berada di versi 1.2, java telah mengalami perubahan dan peningkatan besar-besaran.
Penamaan Java oleh Sun Microsystem Penamaan Java • Tahun 2005, Dari java versi 6 yang sedangdikembangkansaatitu, SUN telahmenghilangkanistilah J2SE, J2EE, dan J2ME tsb, denganmenyebutkan java dengan Java SE, Java EE, dan Java ME diikutinomorreleasenyadaripenamaandivisi marketing. • Java Standard Edition (Java SE) • Java Micro Edition (Java ME) • Java Enterprise Edition (Java EE)
JAVA • Java ME adalah bagian dari Java SE, karena itu tidak semua library yang ada pada Java SE digunakan pada Java ME • Java ME biasanya digunakan pada telepon selular, pager, personal digital assistant (PDA), dst. • Java Standard Edition (Java SE) • “desktop Java” • Java Micro Edition (Java ME) • “wireless Java” • Java Enterprise Edition (Java EE) • “server-side Java” • Java Card • difokuskan ke aplikasi smart card. • Java Card khusus dikembangkan untuk membuat aplikasiaplikasi pada smart card, misalnya aplikasi kartu telepon CHIP, kartu VISA, kartu SIM pada ponsel dan aplikasi mobile banking BCA yang saat ini sudah umum digunakan.
Java ME • Teknologi Java ME juga memiliki beberapa keterbatasan, terutama jika diaplikasikan pada ponsel. • Java ME sangat tergantung pada perangkat (device) yang digunakan, bisa dari segi merk ponsel, maupun kemampuan ponsel dan dukungannya terhadap teknologi Java ME. • Misalnya jika sebuah ponsel tidak memiliki kamera maka jelas Java ME pada ponsel tersebut tidak dapat mengakses kamera. • Ukuran aplikasi memory pada ponsel sangat terbatas • Sebagian ponsel tidak mengizinkan aplikasi Java ME menulis pada file karena alasan keamanan.
J2ME • Dalam J2ME terdapat 2 buah istilah yaitu configuration dan profile. • Configuration hanyalah mengatur hal-hal tentang kesamaan sehingga dapat dijadikan ukuran kesesuaian antardevice • Misalnya sebuah lampu dirancang sedemikian rupa sehingga dapat digunakan oleh berjenis-jenis sepeda. • Profile membahas sesuatu yang spesifik untuk sebuah perangkat. • Misalnya sebuah sepeda dengan merk tertentu tentunya mempunyai ciri yang spesifik dengan sepeda lain
Configuration • Ada 2 kategori configuration, yaitu : • CLDC (Connected Limited Device Configuration) • CDC (Connected Device Configuration) • CLDC (Connected Limited Device Configuration) • Low-end Consumer device • Memiliki sumber daya yang sangat kecil • Digunakan pada aplikasi java pada handphone. • Umumnya, perangkat-perangkat tersebut hanya memiliki ukuran memory 32-512 Kilobytes.
Configuration • CDC (Connected Device Configuration) • High-end consumer device • Memiliki sumber daya yang cukup besar, hampir menyamai komputer dalam hal sumber daya listrik, memori, maupun kemampuan pemrosesan. • Umumnya digunakan pada aplikasi java pada perangkat-perangkat dengan ukuran memory 1MB- 10MB.
Profile • Jika configuration menyediakan library-library java untuk implementasi fitur standard dari device, profile menyediakan implementasi tambahan yang sangat spesifik dari sebuah device. • Kategori J2ME profile : • Mobile Information Device Profile (MIDP) • Foundation Profile (FP) • Personal Profile • …
MIDlet Suatuaplikasi MIDP disebutMIDlet. Perangkat Application Management Software (AMS) berinteraksilangsungdenganMIDletdengan method MIDlet create, start, pause, dan destroy. MIDletadalahbagiandari package javax.microedition.midlet. SebuahMIDletharusdi-extend dengan class MIDlet. Dan dapatmeminta parameter dari AMS sepertidirumuskandalam application descriptor (JAD).
MIDlet SuatuMIDlettidakharusmemiliki (danmemangharustidakmempunyai) sebuah method public static void main(String[] argv). Method tersebuttidakakandikenallagioleh AMS sebagaititikawalsebuah program
Memulai program JAVA SE menggunakan editor Eclipse (i) Pilih File New Java Project
Memulai program JAVA SE (ii) Isi project name dengannamaLatihanJAVA, Nama project secaraotomatisakanmenjadinama folder tempatkitamenyimpankode program Ingatlah directory yang digunakan (dapatberbeda-beda)
Memulai program JAVA SE (iii) expand project yang barusajadibuatdanklikkanansrc Pilihnewclass, akanmunculjendelabaru
Memulai program JAVA SE (iv) Isinama class dengannama Contoh01 (optional) Centang public static void main(String[] args)
Program Java Sederhana class Sederhana { public static void main (String[] args) { System.out.println (“Hello java…”); } } class (nama class: Sederhana) sekumpulan data attributes dan method Method : main() sekumpulan statement
Method Utama main • Merupakan tempat dimulainya program dieksekusi. Jika tidak ada method ini maka akan keluar pesan kesalahan: Exception in thread “main”.java.lang.NoSuchMethodError: main • Nama main di sini merupakan suatu keharusan dalam Java karena Java akan mencari method yang bernama main ini sebagai titik awal eksekusi program. public static void main (String args [ ]) { … } Baris kode di atas mendeklarasikan suatu method dengan nama main.
public static void main (String[] args) Public Keyword public merupakan access specifier yang menentukan visibility level dari method ini. Public berarti method ini dapat diakses/dipanggil dari luar class dimana ia dideklarasikan. selain public, jenis access specifier yang lain adalah private, protected, dan default. Method main() akan dipanggil dari luar oleh run-time Java saat program akan dieksekusi sehingga access specifier yang dimiliki haruslah public.
Sekilas public & private • Public : siapa saja bisa mengakses member ini : • kode yang ada dalam class itu sendiri • atau yang berada di luar class • Private : hanya dapat digunakan oleh internal member dari class tersebut saja • tidak ada kode satupun dari luar class tersebut yang diizinkan mengakses / mengubah nilai dari member tersebut
public static void main (String[] args) void Keyword void berarti bahwa method main() tidak mengembalikan nilai apapun setelah dipanggil/dieksekusi. static • Keyword static memungkinkan method main() dipanggil tanpa harus terlebih dahulu membuat instance dari class file1 • Ini diperlukan karena method main() akan dieksekusi sebelum objek dari class file1 dibuat di memori. args • Argument args (String[] args) adalah array objek string argument baris-baris perintah. • variabel args bertipe array dari String
System.out.println (“Hello java…”); System : class • nama dari salah satu class standar yang dimiliki oleh java. Out : objek • anggota dari class System dan juga merupakan objek tersendiri, out merupakan objek yang mewakili standard output stream yang dalam hal ini adalah layar komputer. • Seperti halnya method main(), objek out ini dideklarasikan menggunakan keyword static di dalam classnya sehingga dapat langsung dipanggil tanpa perlu terlebih dahulu membuat instance dari class System. println : method • Method yang terdapat pada objek out. Berfungsi untuk mencetak keluaran ke standard output. Method ini juga mencetak karakter pindah baris. • println vs print “Hello java…” : paramenter • Parameter dari method println() yang diterima oleh internal method ini dan dicetak ke standard output(layar komputer). Tanda ; • Menandakan akhir suatu statement/pernyataan/ perintah.
Penulisan Komentar // contoh program java sederhana // simpandalam file bernama sederhana.java /* contoh program java sederhana Simpandalam file bernama sederhana.java */ • Tanda // digunakanuntukpenulisankomentar per baris • Tanda /* dan */ digunakanuntukpenulisankomentartersarang (nested comments)
Contohkode programMenampilkanlebihdarisatubaris // nama file: DataDiri.java // deskripsi: program menampilkanbeberapakalimat // kompilasi: javac DataDiri.java // eksekusi: java DataDiri class DataDiri { public static void main (String[] args) { System.out.println (“Nama: MDP”); System.out.println (“Alamat: Jln. Rajawali 14”); System.out.println (“Tlp:376400\nfax:376360\nwebsite:www.stmik-mdp.net”); } } /* \n : newline, jugaberfungsiuntukpindahbaris */
PetunjukPenulisan Program Token AturanPenamaan Identifier Lingkungan /Scope darivariabel Tipe Data NyimasArtina Education is not the filling of a pail, but the lighting of a fire. “ (William Butler Yeats)
Petunjuk Penulisan Program (i) • Padasaatpembuatanblok, Andadapatmeletakkankurungkurawalbukapadabarisdenganpernyataanseperticontohsebagaiberikut , • public static void main( String[] args ){ • atauAndadapatmeletakkankurungkurawalpadabarisselanjutnya, seperti, • public static void main( String[] args ) • { • 2. Andaharusmemberijarak (indent) pernyataanselanjutnyasetelahawaldariblok , seperticontohberikut, • public static void main( String[] args ){ • System.out.println("Hello"); • System.out.println("world"); • }
Petunjuk Penulisan Program (ii) • Untukpemberiannamadari class Java, • diberikanhurufkapitaluntukhurufpertamapadanama class. • Untuknama method danvariabel, hurufpertamadarikataharusdimulaidenganhurufkecil. • Sebagicontoh: • ThisIsAnExampleOfClassName • thisIsAnExampleOfMethodName • class BinatangAir • String ikanAirTawar • void membacaKoran() • 2. Padakasusuntuk identifier lebihdarisatukata, gunakanhurufkapitaluntukmengindikasikanawaldarikatakecualikatapertama. • SebagaicontohcharArray, fileNumber, ClassName. • 3. Sebaiknyahindarimenggunakan underscores padaawal identifier seperti _read atau _write.
Token • Token merupakanelementerkecildi program yang mempunyaiartibagikompilator. • Token Java dibagi 5, yaitu: • Identifier • Keyword • Literal • Operator • Separator • Token : Identifier • Identifieradalah token yang merepresentasikannama. • Dalam Java, identifieradalahnama yang diberikanuntuk variable, class, atau method. • Token : Reserved words/Keywords • Kata-kata yang dikenaloleh Java danmempunyaiartikhususdlm program. • tidakbolehdigunakansebagai identifier (namavariabel, kelas, method, dll). http://eecchhoo.wordpress.com/2007/11/26/mengenal-java-tutorial-awal-java/
Ketentuan Identifier • Identifieradalahcase sensitive (membedakanhurufbesar/ kecil) dantidakadabatasmaksimum. • Bukanmerupakankeywords yang dikenal Java : • Identifierharusdimulai/diawalidenganhuruf, underscore (_) atautanda dollar ($). • Untukselebihnya • dptmenggunakan karakterapapun, kecualikarakter yang digunakan sebagai operator oleh java.
Valid Identifier • Valid • No • Kd_barang • kodeBarang • $barang • bahASA_PEmogramaN_JaVa • Contoh valid : • intkd_barang; String $barang; class Bebek { } • Invalid • 1_harga - tidakbolehdiawalidenganangka • %barang- simbol % tidakbolehdigunakan • Namapelanggan- tidakbolehmenggunakanspasi • Kd+barang- tidakbolehmenggunakantandaoperator • Contoh invalid: int 1_harga; int super; double void; class throws
Valid Identifier • Sebagaipenggantibentukpenulisantradisionaluntuk identifier, yang menggunakanhurufkecildengangaris-bawahsebagaipemisahkata • nama_karyawan • Nama_Karyawan • Beberapa identifier dituliskandenganhurufkapitalpadaawalkata, seperti : • string namaKaryawanatau class NamaKaryawan
Token : Literal Token : Literal Token : Operator Operator menspesifikasikan evaluasi atau komputasi terhadap objek. Operand yang dioperasikan dapat berupa literal, variabel, atau nilai yang dikirim oleh metode atau fungsi. • Penulisan besaran untuk variabel. • Literal Java terdiri dari angka, karakter, dan string. Angka terdiri dari bilangan bulat (integer), bilangan mengambang (floating point), dan boolean. • Nilai boolean untuk true dan false direpresentasikan sebagai 1 dan 0.
Token : Separator • Separatordigunakanuntukmenginformasikankekompilator Java mengenaiadanyapengelompokkandikode program.
Pendeklarasian Variabel class variabel { public static void main (String[] args ) { System.out.println("Hello world"); // cara pendeklarasian 1 : String namaDepan = "John"; String namaBelakang = "Maxwell"; System.out.println(namaDepan + " " + namaBelakang); // cara pendeklarasian 2 : String nickName;// deklarasi nickName = "Jon";// pemberian nilai System.out.println("Nickname : " + nickName); char kar; kar = 'A'; // memberikan nilai 'A' ke variabel, memakai tanda kutip satu ' System.out.println ("karakter adalah = " + kar); kar = 70; // memberikan nilai ASCII ke variabel System.out.println ("karakter adalah = " + kar); } }
Tipe Data Tipe data diperlukan agar kompiler tahu operasi apa yang valid dan seberapa banyak memory yang diperlukan oleh sebuah nilai yang akan disimpan atau dioperasikan. Variabel : • menampung suatu nilai • Pasti memiliki tipe data • Harus didefinisikan terlebih dahulu sebelum digunakan • Tipe Data Primitif • Integer • Floating – Point • Karakter • Boolean • …. • Tipe Data Referensi
Tipe Data Tipe Data Integer (Bilangan Bulat) Tipe Data Boolean Tipe Data Real/ Floating Point (Bilangan Pecahan) Nilai : true atau false
Tipe Data Tipe Data Karakter • char : • hanyadapatmenampungsatukaraktersaja, • Menggunakantandapetiksatu • String : • dapatmenampungkalimat. • Menggunakantandapetikdua • class SalahCharString • { • public static void main(String args[]) • { • char c1 = 'A'; • char s1 = "Belajar Java menyenangkan"; • } • } • Berikutpesankesalahansaatkompilasi : • SalahCharString.java [11:1] incompatible types • found : java.lang.String • required: char • char s1 = "Belajar Java menyenangkan"; • ^ • 1 error • Errors compiling SalahCharString Seharusnya String
Contoh kode program Program dengan Variabel // nama file: data1.java // deskripsi: program menampilkannilai // kompilasi: javac data1.java // eksekusi: java data1 class data1 { public static void main (String [ ] args) { double nilai1 = 13.14; char nilai2; nilai2 = ‘B’; System.out.println (“tipe data double : “ + nilai1); System.out.println (“tipe data char : “ + nilai2); } }
Konstanta • Merupakan variabel yang memiliki nilai tetap dan tidak dapat diubah saat program sedang berjalan. Untuk menjadikan sebagai variabel konstanta, cukup menambahkan kata tercadang final • Contoh: final int nilai = 20; // nama file : konstanta2.java // deskripsi : perubahankonstanta // kompilasi : javac konstanta2.java // eksekusi : java konstanta2 class konstanta2 { public static void main(String args[]) { final inthrg = 3500; intjlh = 10; System.out.println("total = " + (jlh * hrg)); hrg = 250; System.out.println("total = " + (jlh * hrg)); } } contoh usaha untuk mengubah nilai konstanta : Berikut ini tampilan saat kompilasi konstanta2.java [13:1] cannot assign a value to final variable hrg hrg = 250; ^ 1 error Errors compiling konstanta2. Terjadi kesalahan saat kompilasi, yaitu pada baris 13 terjadi usaha untuk mengubah nilai variabel hrg.
Case Sensitive Hurufkecildanhurufkapitalpada identifier tidakdianggapsama Identifier alamat, Alamat, dan ALAMAT menyatakantiga identifier yang berbeda. class CaseSensitive1 { public static void main (String[] args ) { String nama = “Evi"; String Nama = “Eva"; String NAMA = “Evo"; System.out.println("String yang dicetak : " + Nama); } Apakahhasil output program diatas?
Latihan Berikanketeranganapakah identifier berikutini valid atautidak valid : • avanZA • from-to • $camry • v10s • _avaLoN • Roger7 • Good/bad • 4ever • NiCKnAMe% • A valid one • Valid? • (yes) • pemrogramanBerorientasiObjek • netto|bruto • NAMA • PT-1 • #brg • Namabarang • 2semester
operator “Treat people as if they were what they ought to be and you help them to become what they are capable of being.“(Johann Wolfgang Von Goethe)