TeachMeSoft

Unit 1 - Feelings

Unit 1 - Feelings

Unit 1 - Feelings


A. Choose the correct word from the list below and write them under the correct pictures?
Pilih kata yang benar dari daftar di bawah ini dan tulis di bawah gambar yang benar?


  • A. happy (senang)
    /ˈhæp.i/
  • B. sad (sedih)
    /sæd/
  • C. bored (bosan
    /bɔːd/
  • D. tired (lelah)
    /taɪəd/
  • E. hot (panas)
    /hɒt/
  • F. suspicious (mencurigakan)
    /səˈspɪʃ.əs/
  • G. scared (takut)
    /skeəd/
  • H. thirsty (haus)
    /ˈθɜː.sti/ 
  • I. worried (cemas)
    /ˈwʌr.id/
  • J. confused (bingung)
    /kənˈfjuːzd/
  • K. shy (pemalu)
    /ʃaɪ/
  • L. excited (bergairah)
    /ɪkˈsaɪt/
  • M. angry (marah)
    /ˈæŋ.ɡri/
  • N. curious (ingin tahu)
    /ˈkjʊə.ri.əs/
  • O. hungry (lapar)
    /ˈhʌŋ.ɡri/
  • P. relaxed (santai)
    /rɪˈlækst/
  • Q. shocked (terkejut)
     /ʃɒkt/
  • R. cold (dingin)
    /kəʊld/
  • S. disgusted (jijik)
    /dɪsˈɡʌs.tɪd/
  • T. proud (bangga)
    /praʊd/




JAWAB:
Konseptual=


B.  Complete the following sentences with suitable words!
Lengkapi kalimat berikut dengan kata-kata yang cocok!
  1. When I am at the beach I am  ___________________________.
    Ketika saya di pantai saya ____________.
  2. When it's raining I am  ___________________________.
    Saat hujan aku ____________.
  3. When I have a lot of homework I am  ___________________________.
    Ketika saya memiliki banyak pekerjaan rumah saya ____________.
  4. When it is snowing it feels  ___________________________.
    Saat turun salju rasanya ____________.
  5. When we have vacations we are  ___________________________.
    Ketika kami memiliki liburan kami ____________.
  6. When I run a lot I feel  ___________________________.
    Ketika saya banyak berlari, saya merasa ____________.
  7. When I see my friends I am  ___________________________.
    Ketika saya melihat teman-teman saya saya ____________.
  8. If I don't wear a jacket at night I will be  ___________________________.
    Jika saya tidak memakai jaket di malam hari saya akan menjadi ____________.
  9. If I work till late night I will be  ___________________________.
    Jika saya bekerja sampai larut malam saya akan menjadi ____________.
  10. If I meet a super star I will be  ___________________________.
    jika saya bertemu seorang superstar saya akan menjadi ____________.
  11. Ann is having fun with her friends, she's  ___________________________.
    Ann bersenang-senang dengan teman-temannya, dia ____________.
  12. Helen was late for work yesterday;  she's late again today, her boss is  ___________________________.
    Helen terlambat kerja kemarin; dia terlambat lagi hari ini, bosnya ____________.
  13. There was a thief in my house.  I was so  ___________________________.
    Ada pencuri di rumah saya. Saya sangat ____________.
  14.  John lost his wedding ring. He was  ___________________________.
    John kehilangan cincin kawinnya. Dia  ____________.
  15. Ann hasn't phoned since last month. We are  ___________________________.
    Ann belum menelepon sejak bulan lalu. Kita ____________.
  16. I didn't expect a party! I was really  ___________________________.
    Saya tidak mengharapkan pesta! Saya benar-benar ____________.
  17. The children were very  ___________________ about the trip.
    Anak-anak sangat  ______________  tentang perjalanan.
  18. Tony's soccer team lost the final game . He is very  ___________________________.
    Tim sepak bola Tony kehilangan pertandingan terakhir. Dia sangat ____________.
  19. Lisa does not know what to do. She is really  ___________________________.
    Lisa tidak tahu harus berbuat apa. Dia benar-benar ____________.
  20. When Mary saw her ex-boyfriend with another girl, she became  ___________________________.
    Ketika Mary melihat mantan pacarnya dengan gadis lain, ia menjadi ____________.
  21. Maureen did not study for her exam and is very  ___________________________.
    Maureen tidak belajar untuk ujiannya dan sangat ____________.
  22. Lucy does not understand the instructions . She is  ___________________________.
    Lucy tidak mengerti instruksinya. Dia adalah ____________.
  23. Dad caught a large fish.  He is really  ___________________________.
    Ayah menangkap ikan besar. Dia benar-benar ____________.
  24. The two friends were  in the haunted house. They were  ___________________________.
    Kedua teman itu berada di rumah berhantu. Mereka ____________.
  25. People often smile when they are  ___________________________.
    Orang sering tersenyum ketika mereka ____________.
  26. People often blush when they are  ___________________________.
    Orang sering tersipu ketika mereka ____________.
  27. I didn't have breakfast this morning. Now I'm  ___________________________.
    Saya tidak sarapan pagi ini. Sekarang saya ____________.
  28. Did your mother get  _______________ when she saw you had broken her favourite vase?
    Apakah ibumu mendapatkan _________ ketika dia melihat kamu telah merusak vas favoritnya?
  29. She was very  _______________ because her dog had disappeared.
    Dia sangat ___________ karena anjingnya telah menghilang.
  30. We are walking under the sun. We feel  ___________________________.
    Kami berjalan di bawah matahari. Kami merasa ____________.

C.  Below are situations when you have certain feelings. Write a condition to support each. Do as the examples!

Examples:
I feel disgusted when  I see eels.
Saya merasa jijik ketika melihat belut.

I'm proud when  I get A for an exam.
Saya bangga ketika mendapat nilai A untuk ujian.
I'm curious when my friends are whispering.
Saya ingin tahu ketika teman saya berbisik.

  1. I'm happy when  ___________________________.
    Saya senang kapan
  2. I'm angry when  ___________________________.
    Saya marah kapan
  3. I'm bored when  ___________________________.
    Aku bosan kapan
  4. I'm shy when  _____________________________.
    Aku malu kapan
  5. I'm relaxed when  __________________________.
    Saya santai ketika
  6. I'm excited when  __________________________.
    Saya senang ketika
  7. I'm sad when  _____________________________.
    Saya sedih kapan
  8. I'm confused when  _________________________.
    Saya bingung kapan
  9. I'm scared when  ___________________________.
    Saya takut kapan
  10. I'm worried when ___________________________.
    Saya khawatir kapan








BAB 2 - Percabangan dan Perulangan

BAB 2 - Percabangan dan Perulangan

Capaian dan Indikator


1. Capaian Pembelajaran

Setelah mempelajari bab ini, mahasiswa diharapkan:
  1. Memahami skema percabangan dan peru langan
  2. Memahami kapan percabangan  dan perulangan dapat digunakan

2. Indikator

  1. Mahasiswa mampu menggunakan percabangan dan perulangan dalam pemrograman
  2. Mahasiswa mampu memecahkan kasus yangbersifat percabangan dan perulangan

Uraian Materi



A. Percabangan
Di dalam Java, percabangan dapat diimplementasikan dalam dua jenis pernyataan: pernyataan if dan pemyataan switch-case. Keduanya memi l iki fungsi yang sama, tetapi ada sed ikit perbedaan di antara keduanya.

Pernyataan if
Pernyataan if dapat diimplementasikan untuk menangani percabangan yang didasarkan atas satu, dua, atau lebih dari dua kondisi. Pernyataan if digunakan apabila jumlah kondisi yang ada tidak terlalu banyak.

Bentuk if dengan satu kondisi adalah bentuk yang paling sederhana, mengandung suatu pernyataan  tunggal yang dieksekusi jika kondisi yang ada terpenuhi. Sintaks dasarnya adalah sebagai berikut:

 if (kondisi){
 statement1;
 statement2;
 }

Pernyataan if dengan dua kondisi digunakan untuk mengambil keputusan berdasarkan dua kondisi. Apabila kondisi pertama terpenuhi , maka program akan mengeksekusi serangkaian statement , nam un jika kondisi pertama tidak terpenuhi , maka program akan mengeksekusi statement lainnya. Berikut sintaks dasarnya:
if (kondisi){
 //statement yang akan dilakukan jika kondisi benar
 statement1;
 statement2;
}else{
 //statement yang akan dilakukan jika kondisi salah
 statement1;
 statement2;  
}

Apabila kondisi yang ada jumlahnya lebih dari dua, maka kita perlu menambahkan blok else if pada kode program kita. Sintaks dasarnya adalah sebagai berikut:
if (kondisi_1){
 //statement yang akan dilakukan jika kondisi_1 benar
 statement1;
 statement2;
}else if (kondisi_2){
 //statement yang akan dilakukan jika kondisi_1 salah
 statement1;
 statement2;  
}else{
 //statement yang akan dilakukan jika kondisi kondisi_1 dan kondisi_2 salah
 statement1;
 statement2;  
}

Ada kalanya kondisi yang ada sangat banyak, mungkin lebih dari 5 kondisi, sehingga menulis kode percabangan menggunakan pernyataan if dirasa tidak efisien lagi, maka kita dapat menggunakan pernyataan switch-case sebagai alternat ifnya. Berikut sintaks dasarnya:
switch (ekspresi) {
 case nilail:
  //statement yang akan dilakukan jika ekspresi = nilail
  statementl; 
  statement2; 
  break;
 case nilai2:
  //statement yang akan dilakukan jika ekspresi = nilai2
  statementl; 
  statement2; 
  break;
 default:
  statementl; 
  statement2
}


B. Perulangan
Perulangan digunakan untuk melakukan sejumlah operasi yang sama secara berulang­ ulang sampai tercapai kondisi berhentinya. Di dalam Java terdapat tiga skema perulangan: for, while, dan do-while.Masing-masing memiliki kegunaan tersendiri.

Skema perulangan for digunakan apabila jumlah perulangan yang akan dilakukan sudah diketahui. Sintaks dasarnya adalah sebagai berikut:
for (inisialisasi; kondisi; iterasi){
 //statement yang akan diulang
 . . .
}

Secara fungsional, perulangan while sama saja dengan perulangan for, hanya saja perulangan while biasa digunakan apabila jumlah perulangan yang akan dilakukan belum diketahui pasti jumlahnya.  Skema ini akan terus melakukan perulangan selama kond isi yang diset terpenuhi. Sintaks dasarnya adalah sebagai berikut:
while (kondisi){
 //statement yang akan diulang
 . . .
 iterasi
}

Perulangan ini mirip dengan skema perulangan while, akan tetapi perbedaannya adalah pada proses pengecekan kondisi perulangan. Pada skema perulangan while, program akan mengecek kondisi terlebih dahulu, jika kondisi bernilai true, maka statement di dalam perulangan akan dieksekusi. Sebaliknya, pada skema perulangan do-while, program terlebih dahulu mengeksekusi statement di dalam perulangan, baru kemudian melakukan pengecekan kondisi. Jika kondisi bernilai true, maka program akan mengeksekusi kem bali statement di dalam perulangan. Dari sini bisa disimpulkan bahwa perulangan do-while setidaknya akan mengeksekusi statement di dalam perulangan minimal    satu kali apapun kondisi perulangannya. Berikut adalah sintaks umum skema perulangan  do-while.
do{
 //statement yang akan diulang
 . . .
 iterasi
}while (kondisi)


Latihan


  1.  Tuliskan program di bawah ini.
    public class Percabangan2 {
     public static void main (String[] args){
      //Variabel lokal  
      int a = 7;
      
      if ((a > 0) && (a % 2 == 0)){
       System.out.println(a + "adalah bilangan genap positif");
      }else if ((a < 0) && (a % 2 == 0)){
       System.out.println(a + "adalah bilangan genap negatif"); 
      }else if ((a > 0) && (a % 2 != 0)){
       System.out.println(a + "adalah bilangan ganjil positif");
      }else {
       System.out.println(a + "adalah bilangan ganjil negatif");
      }
     }
    }
    

    Program di atas menghasilkan output berupa kalimat "7 adalah bilangan ganjil "positif " karena kondisi_ l (baris ke-6) dan kondisi_2 (baris ke-8) tidak terpenuhi, sedangkan kondisi_3 (baris ke- 1 0) terpenuhi.
    a. Tulislah algoritma program tersebut
    b. Apa luaran jika di lakukan kompilasi ?
  2.  Diberikan sebuah kode program:
    a.  Apakah luaran program di atas?
    b. Jika variabel nomorHari di isi melalui keyboard dengan nilai 3 , maka program di atas akan menampilkan apa?
    public class Percabangan3{
     public static void main(String[] args){
      //Variabel lokal
      int nomorHari = 2;
      
      switch (nomorHari){
       case 1 :
        System.out.println("Hari ke-" +nomorHari+ ": Senin");   
        break ;
       case 2:
        System.out.println("Hari ke-" +nomorHari+ ": Selasa");
        break ;
       default :
        System.out.println ("Tidak ada hari ke-" +nomorHari); 
      }
     }
    }
    


Tugas


  1. Dari program contoh 2, tambahkan semua hari dalam seminggu.
  2. Buatlah kode program untuk menentukan apakah berat badan seseorang ideal atau tidak. Berat badan ideal seseorang dapat di hitung dengan rumus berikut ini :
    a.   BBI = (TB- 100) - ((TB-100)* 10%) , untuk pria (TB = Tinggi Badan)
    b.   BBI = (TB- 100) - ((TB-100)* 15%) , untuk wanita.
    Jika berat badan seseorang lebih besar dari nilai BBI-n ya, maka berat badan nya tidak ideal. Buatlah kode programnya!
  3. Jika diketahui sebuah kode program berikut ini:
    public class Soal{
     public static void main(String[] args){
      int a, b;
      
      a = 6;
      b = -3;
      
      if ((a + b) >= (b-a)){
       a += 2;
       b += a;
       if (a % 2 == 0){
        a = b;
       }else {
        b += a + 1;
       }
      }
      a = -b - a;
     }
    }
    





BAB 1 - Mengenal Environment Pemrograman Java

BAB 1 - Mengenal Environment Pemrograman Java

Capaian dan Indikator


1. Capaian Pembelajaran

Setelah mempelajari bab ini, mahasiswa diharapkan:
  1. Memahami perintah-perintah dasar: input, output serta tipe data
  2. Mengetahui cara mengkompilasi dan mengeksekusi kode program di dalam Java

2. Indikator

  1. Mampu menulis kode program sederhana
  2. Mampu melakukan komilasi dan eksekusi program melalui console

Uraian Materi


Java dikembangkan oleh suatu tim yang dipimpin oleh Patrick Naughton dan James Gosling dalam suatu proyek dari Sun Microsystem yang memiliki kode Green dengan tujuan untuk meghasilkan bahasa komputer sederhana yang dapat dijalankan di peralatan sederhana dengan tidak terikat pada arsitektur tertentu. Mula-mula James Gosling menyebut bahasa pemrograman yang dihasilkan dengan OAK, tetapi OAK sendiri merupakan nama dari bahasa pemrograman komputer yang sudah ada maka kemudian Sun mengubahnya menjadi Java .
Akhirnya setelah melalui beberapa transformasi dan proses, Sun meluncurkan browser Java yang disebut Hot Java yang mampu menjalankan applet. Versi-versi Java banyak dikembangkan hingga muncul JDK yang mempunyai teknologi Swing untuk menampilkan secara GUI. Teknologi Java yang disebut J2ME (Java 2 Micro Edition), sudah diadopsi oleh Nokia, Siemens, SonyEricson, Motorola, Samsung untuk menghasilkan apikasi mobile baik games maupun software bisnis dan  berbagai jenis software lain yang dapat dijalankan diperalatan mobile seperti ponsel.
A.  Mengenal Java SDK
SDK adalah kependekan dari Standard Development Kit, yang merupakan bekal utama bagi developer untuk membuat program dan menjalankan program Java. Secara garis besar, Java SDK terdiri dari:
  • Java Compiler (Javac)
  • Java Virtual Machine (sering disebut juga java Runtime Environment/ JRE)
  • Java Class Libraries (koleksi  class yang dapat digunakan  untuk menghasilkan program Java)
  • Java AplletViewer (program untuk menjalankan applet tanpa menggunakan browser)
  • Java Debugger dan tool lain
Mula-mula kode program ditulis dengan Bahasa Java (file berekstensi .java) akan dikompilasi oleh compiler menjadi suatu kode objek yang berupa file berekstensi .class yang disebut dengan istilah bytecode. Jadi, dalam Java, hasil akhir programnya tidak berupa file berekstensi .EXE, melainkan berkestensi .class. Selanjutnya file bytecode ini akan dieksekusi baris per baris oleh interpreter.

Dengan demikian, proses kompilasi hanya dilakukan sekali, akan tetapi proses interpretasi akan dilakukan setiap kali program dieksekusi. Dengan adanya konsep bytecode ini, dalam tenninologi Java dikenal adanya istilah "write once,  run everywhere". Ini berarti bahwa sekali kita menulis  program dalam Bahasa Java dan melakukan kompilasi  terhadapnya, maka bytecode-nya dapat  dijalankan di dalam platform sistem operasi manapun selama komputer tersebut terpasang  Java  Virtual Machine (JVM).
B.  Instalasi Java
Sebelum membuat sebuah program menggunakan Bahasa Java, maka kita perlu melakukan instalasi  software Java Plat form, Standar Edition (Java  SE). Software ini dapat di unduh melalui link http://www.oracle.com/technetwork/java/javase/downloads/index.htm1 untuk memperoleh Java SE versi terbaru (saat modul ini dibuat, versi terbaru adalah Java SE 9.0.1 ). Setelah Java SE berhasil diinstal, maka berikutnya kita mem butuhkan software  text editor untuk menulis kode program dalam Bahasa Java. Saat ini banyak text editor yang dapat digunakan, salah satu diantaranya adalah  Notepad++ . Untuk mempermudah dalam penulisan kode program, maka kita dapat menggunakan software Java IDE (Integrated Development  Environment ),  misalnya Netbeans, Eclipse, Jcreator,  Intellij Idea, atau yang lainnya.
C. Pengaturan CLASSPATH
Jika kita membuat kode program Java tanpa melalui IDE, maka proses kompilasi dan interpretasi program akan dilakukan melalui console (dalam command prompt ). Agar hal ini dapat dilakukan, maka perlu dilakukan pengaturan CLASSPATH pada console sebelum mengkompilasi dan mengeksekusi program. Pengaturan CLASSPATH dilakukan untuk memberitahu komputer dimana  software Java SE disimpan. Pada umumnya, komputer dengan sistem operasi berbasis Unix tidak memerlukan lagi pengaturan CLASSPATH.
Langkah pertama untuk melakukan pengaturan CLASSPATH (pada komputer berbasis Windows)  adalah masuk ke aplikasi command prompt (cmd), kemudian ketikkan perintah di bawah ini.

C:\ SET PATH="C:\Program Files\Java\jdk1.8.0_141\bin"

Untuk menguji apakah pengaturan CLASSPATH tersebut sudah benar atau tidak, maka ketikkan  perintah javac pada cmd. Jika keluar peringatan 'javac' is not recognized  as an internal  or  external  command, operable program or batch file,  berarti pengaturan CLASSPATH gagal, jika tidak, maka berarti pengaturan telah berhasil.
D. Tipe Data
Di dalam Bahasa Java, tipe data dasar dapat dibedakan menjadi empat kelompok, yakni tipe data integer (bilangan bulat), tipe data floating-point (bilangan riil), tipe data karakter, dan tipe data boolean. Perlu diketahui bahwa pada Java, String bukan merupakan sebuah tipe data, melainkan sebuah objek, akan tetapi pada penggunaannya mirip seperti menggunakan sebuah tipe data.
1.  Tipe Data Integer
Tipe data integer (bilangan bulat) pada Java terbagi menjadi empat jenis tipe, yaitu byte, short , int, dan long. Semua tipe data ini bersifat signed (bertanda), yaitu tipe data yang dapat merepresentasikan nilai negatif maupun positif. Tidak seperti pada kebanyakan bahasa pemrograman lainnya, Java tidak mendukung nilai unsigned (tipe tanpa tanda, yakni tipe data yang hanya dapat menyimpan nilai positif).



2. Tipe Data Floating-Point
Tipe floating-point (bilangan riil) digunakan untuk merepresentasikan nilai-nilai yang mengandung pecahan atau angka desimal di belakang koma. Tipe data ini dibedakan menjadi dua macam, yakni tipe data float dan double.


3.  Tipe Data Karakter
Pada Java, tipe data char merupakan karakter Unicode yang dapat merepresentasikan semua karakter yang ada, yakni semua karaktet yang, tetdapat dalam semua bahasa (dalam lingkup internasional), seperti Bahasa Latin, Arab, Yunani, dsb.
4.  Tipe Data Boolean
Seperti bahasa pemrograman pada umumnya, tipe data boolean pada Java digunakan untuk menampung nilai logika, yakni true dan false. Perlu diingat, pada Java, nilai true tidak sama dengan nilai 1, begitupun dengan nilai false tidak sama dengan nilai 0. Tipe boolean adalah tipe data yang dikembalikan oleh semua operator rasional, seperti '==', '>', '<', '>=', '<='.

E. Variabel
Variabel terdiri atas variabel class, instance, dan lokal. Variabel class adalah variabel yang dapat    diakses  oleh semua  method didalam class,  termasuk static method seperti main. Variabel instance sama hal nya dengan variabel class, tetapi tidak menggunakan kata static dalam pendeklarasiannya. Yariabel instance terhubung dengan instance dari class. Jadi kita hahya bisa menggunakannya ketika membuat instance dari class. Karena static method tidak terhubung dengan instance dari class,  kita  tidak bisa menggunakan variabel instance dalam static method dan memasukkannya dalam main method. Variabel lokal adalah variabel yang dideklarasikan di dalam badan method. Jadi kita hanya dapat menggunakan variabel tersebut hanya di dalam method. Method lain dalam class tidak peduli akan keberadaan variabel tersebut. Dan variabel lokal hanya akan ada jika method (yang memiliki variabel lokal tersebut) dieksekusi. Dalam pendeklrasiannya kita tidak perlu menambahkan kata static (seperti yang harus dilakukan pada saat mendeklarasikan variabel class). Jika kata static digunakan  dalam pendeklarasian variabel lokal, maka compiler akan menghasilkan  pesan error dan menolak untuk melakukan compile terhadap program.

Sebuah variabel dideklarasikan dengan terlebih dahulu menuliskan tipe data yang ingin digunakan, kemudian baru menuliskan nama variabelnya, seperti pada contoh di bawa ini.


Pada saat deklarasi variabel, kita juga dapat langsung menginisialisasi nilai dari variabel tersebut, seperti contoh di bawah ini.



Contoh variabel statis:
public class SayHello{
 //Deklarasi class variable
 static String helloMessage = "Hello Programmer";
 public static void main (String args[]){
  System.out.println(helloMessage);
  System.out.println(myNickNameIs);
 }
 //Deklarasi class variable
 static String myNickNameIs = "ghaNOZ2480";
}

F.  Operator
Java merupakan bahasa pemrograman yang kaya akan operator. Secara umum, operator di dalam Java dibagi menjadi lima bagian: operator aritmatika, relasional, logika, dan bitwise, dan assignment.
1.  Operator Aritmatika
Operator ini digunakan pada operasi-operasi aritmatika seperti penjumlahan, pengu angan, pembagian dan lain-lain. Tabel berikut ini menunjukkan daftar tabel operator aritmatika di dalam Java.


2.   Operator Relasional
Operator tersebut digunakan untuk membandingkan dua buah nilai (variabel) atau lebih, dimana  operator ini akan mengembalikan atau menghasilkan nilai True atau False. Berikut ini tabel yang berisi daftar operator relasional di dalam Java.


3.  Operator Logika
Operator ini menghasilkan nilai yang sama dengan operator relasional,  hanya saja penggunaannya  lebih pada operasi antara dua buah operand yang bertipe boolean. Berikut ini tabel yang berisi daftar operator logika di dalam Java.


4.  Operator Bitwise
Operator bitwise digunakan untuk memanipulasi nilai dari bitnya, sehingga diperoleh nilai yang lain. Berikut ini adalah daftar operator bitwise dalam Java.


5.   Operator Assignment
Operator assignment digunakan untuk memberikan suatu nilai ke sebuah varibel. Operator  tersebut  ditandai dengan tanda sama dengan '='.  Tabel di bawah ini menunjukkan daftar operator assignment.




Latihan



A. Membuat Program Sederhana
  1. Menulis program
    Dengan  menggunakan Editor teks sederhana (misalnya notepad), tulislah program berikut (nomor baris tidak perlu dituliskan) :
    public class Program1{
     public static void main (String[] args){
      System.out.println("Hello World");
     }
    }
    
  2. Menyimpan program
    Simpanlah program diatas pada suatu folder yang sudah disediakan dengan ketentuan:
    -   nama file SAMA PERSIS dengan nama class yang nama class yang memiliki method main() (ingat : Java bersifat case sensitive)
    -   nama file berekstensi .java
    Simpan kode program tersebut dengan nama Programl.java, jangan lupa untuk mengubah bagian "Save as type" menjadi All Types (jangan simpan sebagai .txt).
  3. Kompilasi program
    Langkah berikutnya adalah mengkom pilasi kode program Java yang telah dibuat dengan cara masuk ke dalam command prompt kemudian masuk ke direktori dimana kode program tersebut disimpan. Jangan lupa, sebelumnya Anda hams melakukan pengaturan CLASSPATH terlebih dahulu. Ketikkan kata kunci javac diikuti dengan nama file yang ingin dikompilasi pada command prompt seperti contoh di bawah ini.
    D:\Praktikum\Java\ javac Programl.java     
    
    Setelah berhasil melakukan kompilasi, maka secara otomatis pada direktori dimana Anda menyim pan kode program tersebut akan muncul sebuah file baru yakni Programl.class. Barulah, kita bisa menjalankan file Programl.class dengan mengetikkan kata kunci java diikuti dengan nama file .class yang ingin dijalankan (nama file  tidak diikuti ekstensi .class) seperti contoh di bawah ini.
    D:\Praktikum\Java\ java Programl     
    
    Jika berhasil, maka pada command prompt tersebut akan muncul tulisan "Hello World".
B.  ldentifikasi kesalahan
Jika masih ada pesan kesalahan, periksa lagi program diatas, termasuk proses penyimpanannya. Beberapa kesalahan yang sering muncul :
  1. Nama file yang disimpan tidak sesuai dengan nam a class-nya.
    [Gambar]
  2. Tidak ada void main pada program.
  3. [Gambar]
  4. Berikan contoh jenis-jenis kesalahan yang lain dan tunjukkan cara memperbaikinya
C. Penggunakan variabel dan tipe data
Tuliskan program di  bawah ini dan lakukan kompilasi. Apakah luaran yang dihasilkan?
public class Programl{
 //Variabel class
 int a,b;
 double c;

 public static void main(String [] args) {
  //Variabel lokal
  int hasilTambah;
  double hasilKali; 10
  
  a  =  10;
  b =  -5;
  hasilTambah =  a + b;
  hasilKali =  hasilTambah *  c; 15
  System.out.println("Hasil: " + hasilKali);
 }
}

Penjelasan program
Baris ke-3 dan ke-4 pada kode program di atas meru pakan deklarasi variabel global berupa variabel a dan b yang bertipe int serta variabel c yang bertipe double. Sedangkan baris ke-8 dan ke-9 merupakan deklarasi dari variabel lokal berupa variabel hasilTambah yang bertipe int dan variabel hasilKali yang bertipe double yang dideklarasikan di dalam blok program utama (method main()).
D. Memberikan input melalui keyboad dan menampilkan ke layar
Untuk mendapatkan inputan dari keyboard, ada 3 perintah input pemrograman java yang akan dibahas yaitu perintah input BufferedReader, perintah  input  Scanner, dan perintah input                JOptionPane.showlnputDialog. Sedangkan untuk perintah output program java ada 2 yaitu  menggunakan System.out.print dan JOptionPane.showMessageDialog.

Pada modul ini akan dikenalkan perintah memasukkan data melalui keyboard menggunakan Scanner  menam pilkan input ke layar menggunakan System.out.print .
Contoh program:
import java.util.Scanner;

public class KelasScanner{
 public static void main(String [] args) {
  //Variabel 
  String nama;
  int umur;
  double tinggi;
  
  //instansi class Scanner
  Scanner s = new Scanner (System.in);
  
  //proses inputan
  System.out.print("\nMasukkan nama: "); nama = s.nextLine();
  System.out.print("\nMasukkan Umur: "); nama = s.nextInt();
  System.out.print("\nMasukkan Tinggi: "); nama = s.nextDouble();
  
  //output
  System.out.print("\nNama: "+nama);
  System.out.print("\nUmur: "+umur);
  System.out.print("\nTinggi: "+tinggi); 
 }
}


Tugas


  1. Tulislah program di bawah ini dan lakukan kompilasi.
    public class SayHelloC{
     public static void main(String [] args) {
     //deklarasi variabel lokal dalam main method 
     helloMessage = "Hello World";
     System.out.println(helloMessage); 
     String helloMessage;
     } //end of main method"
    }
    

    a.  Jika terjadi kesalahan pada saat kompilasi, tunjukkan pesan kesalahan yang ditampilkan pada layar
    b.  Apa arti pesan kesalahan tersebut?
    c.  Bagaimana cara memperbaiki nya?
  2. Buatlah sebuah program untuk menghitung harga akhir barang dari sebua supermarket yang telah didiskon sebesar 25%! Input dari program adalah harga awal barang sebelum didiskon (melalui keyboard)







Materi 13 - Fragment

Materi 13 - Fragment

Kompetensi dan Indikator


Kompetensi Dasar:

  • Mengetahui cara membuat Fragment 
  • Mengetahui implementasi Fragment

Indikator:

  • Mahasiswa mampu membuat fragment dan mengimplementasikan ke dalam activity



Materi


A  Dasar Teori
Fragment merupakan bagian dari User Interface aplikasi yang dapat diletakkan atau dimasukkan di dalam activity. Interaksi dengan Fragment dapat dilakukan dengan menggunakan FragmentManager melalui Activity.getFragmentManager() dan Fragment.getFragmentManager(). Sebuah fragment dapat menyajikan serangkaian operasi atau user interface yang berjalan di dalam activity. Fragment berbeda dengan activity. Pada prinsipnya, sebuah fragment diikat bersama dengan activity dan tidak dapat dipisahkan dengannya.
Fragment dapat digunakan sebagai bagian dari layout aplikasi yang mengijinkan pengembang untuk melakukan modulasi kode dan memberikan kemudahan dalam mengatur tampilan user interface ketika aplikasi dijalankan. ciri-ciri sebuah activity adalah ada umumnya activity akan meng-extends AppCompatActivity sedangkan fragment meng-extends Fragment
[code]

B     Aplikasi Navigation Drawer
Materi dalam modul ini akan memanfaatkan salah satu template activity yang telah disediakan oleh Android Studio yaitu Navigation Drawer. Pertama buatlah sebuah projek baru dengan nama "My Fragment". Untuk  minimum API nya pilih yang API19 (KitKat). Selanjutnya pilih activity "NavigationDrawer" untuk ditambahkan ke dalam projek aplikasi seperti gambar dibawah, lalu OK.


Apabila menggunakan activity NavigationDrawer, maka kita akan dibuatkan beberapa file resource. Lihat diproject structure :

  • a.  Res/drawable
    Berisi icon dan image yang digunakan dalam menu Navigation Drawer.
  • b.  Res/layout
    Berisi file layout yang digunakan di dalam Navigation Drawer. Terdapat 4 file layout yang kita  dapatkan secara otomatis diantaranya: activity_ main.xml, app_bar_main.xrnl, content_main.xml dan nav_header.xrnl.

    Activity_main.xml  : meletakkan drawer dan menginisiasi menu ke dalam  drawer serta meng-include app_bar_ main.xml.
    App_bar_main.xml   : meletakkan  appbar / toolbar dan floting action button serta meng-include layout content_main.
    Content_main.xml  : meletakkan layout untuk konten user interface aplikasi. Nav_header_main_xml   : meletakkan komponen yang digunakan sebagai header navigation drawer seperti image drawer dll.
  • c.  Res/menu
    Berisi file yang digunakan untuk mendeskripsikan menu-menu yang digunakan aplikasi.  Seperti pada activity_main_drawer.xml yang berisi semua menu yang dipakai di dalam navigation drawer dan pada main.xml berisi menu yang dipakai dalam options menu.
  • d .  Res/values
    Berisi file colors, dimens, drawables, strings dan styles yang semuanya dipakai dan dipanggil di dalam layout.

    Selain itu, apabila kita membuka file Main Activity.java maka di dalamnya terdapat beberapa  method tambahan seperti onOptionsltemSelected() untuk menangani options menu,  onCreateOptionsMenu() untuk meng-inflate menu main , onNavigationltemSelected() untuk  menangani menu navigation  drawer dan onBackPressed() untuk mengubah bahaviour tombol  back device agar tidak secara langsungkeluar dari aplikasi apabila menu drawer sedang dibuka. Jalankan aplikasi dan berikut adalah hasil running awal dari aplikasi Navigation Drawer.

C     Membuat Fragment
Satu hal yang perlu diperhatikan ketika menggunakan Navigation Drawer adalah bahwa Navigation Drawer merupakan sebuah activity, kemudian didalam navigation drawer terdapat beberapa menu yang apabila di-klik akan membuka halaman (activity) lain di dalam activity navigation drawer. Terdapat sebuah aturan bahwa kita tidak dapat membuka activity di dalam activity. Sehingga solusinya adalah menggunakan Fragment.
  1. Pilih menu file ➜ new ➜ fragment ➜ blank fragment
  2. Lengkapi Fragment Name dan fragment layout name, check pada Create layout XML dan uncheck pada include fragment factory methods serta include interface callbacks.
  3.  Klik Finish.
  4. Dalam materi ini, buatlah 2 fragment dengan nama Fragment1 dan Fragment2. Hasilnya adalah sbb :


D       Menerapkan Fragment Ke Dalam Activity

  1. Terlebih dahulu atur desain User Interface dari layout fragment1. Letaknya di dalam file res/layout/fragment_fraghmentl.xml. Fragment1 ini akan digunakan sebagai halaman kontrol. Kode nya adalah sebagai berikut :
        <Button
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="Pindah ke fragment 2"
            android:background="@color/colorPrimary"
            android:textColor="@android:color/white"
            android:layout_centerHorizontal="true"
            android:layout_marginTop="10dp"
            android:onClick="panggilFr"
            android:id="@+id/btnFr"/>
    
        <Button
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="Pindah ke Activity 2"
            android:background="@color/colorPrimary"
            android:textColor="@android:color/white"
            android:id="@+id/btnAct"
            android:onClick="panggilAct"
            android:layout_marginTop="10dp"
            android:layout_below="@+id/btnFr"
            android:layout_centerHorizontal="true"/>
    
  2. Selanjutnya pada file content_main.xml tambahkan nested layout berupa Frame Layout dengan id = @+id/fillcontent, sbb :
        <FrameLayout
            android:layout_width="match_parent"
            android:layout_height="match_parent"
            android:id="@+id/fillcontent">
            
        </FrameLayout>
    
  3. Buka file MainActivity.java dan tambahkan method baru untuk load fragment1.
        public void loadFragment1() {
            Fraghment1 f1 = new Fraghment1();
            FragmentTransaction ft = getSupportFragmentManager().beginTransaction();
            ft.replace(R.id.fillContent, f1);
            ft.commit();
        }
    
  4. Dan di dalam method onCreater() tambahkan kode berikut
    loadFragrmentl();
    
  5. Jalankan aplikasi


E       Berpindah ke Fragment dan Activity
Pada saat ini konten  halaman yang ditampilkan pada aplikasi adalah berupa fragment. Di dalam halaman tersebut terdapat 2 buah button untuk berpindah dari fragmentl ke fragment2 dan dari fragmentl ke activity2. Berikut adalah langkah membuat handler untuk kedua button tersebut :
  1. Terlebih dahulu buatlah sebuah activity baru dengan nama "SecondActivity"
  2. Kemudian pada file Fragment.java tambahkan kode berikut di dalam method onCreate() :
            //BERPINDAH DARI FRAGMENT KE FRAGMENT
            Button pindahFr=(Button) view.findViewById(R.id.btnFr);
            pindahFr.setOnClickListener (new View.OnClickListener(){
                @Override
                public void onClick(View v){
                    Fragment fr2 =new Fraghment2();
                    getFragmentManager().beginTransaction().replace(R.id.fillContent, 
                            fr2).addToBackStack(null) 
                            .setTransition(FragmentTransaction.TRANSIT_FRAGMENT_OPEN).commit();
                }
            });
            
            //BERPINDAH DARI FRAGMENT KE ACTIVITY
            Button pindahAct = (Button) view.findViewById(R.id.btnAct);
            pindahAct.setOnClickListener((new View.OnClickListener(){
                @Override
                public void onClick(View v){
                    Intent intent = new Intent(getActivity(), Main2Activity.class);
                    gerActivity().startActivity(intent);
                }
            }));
  3. Jalankan aplikasi






Materi 12 - Options Menu (Lanjutan)

Materi 12 - Options Menu (Lanjutan)

Materi


A      Menambahkan OnOptionltemSelected event Handler
Untuk dapat mengimplementasikan menu item AppBar pada aplikasi. Diperlukan sebuah method onOptionItemSelected() untuk menghandle item yang dipilih/diklik. Di dalam method ini nanti nya terdapat switch case/ if blok untuk menentukan id item mana yang dipilih dan mendeskripsikan pesan atau aksi pada masing-masing item. Dalam kasus ini, item menu hanya akan menampilkan sebuah pesan melalui Toast.

Pada file MainActivity .java, tambahkan sebuah method onOptionItemSelected(). Sebagai  berikut.
    @Override
    public boolean onOptionsItemSelected (MenuItem item){
        switch (item.getItemId()){
            case R.id.action_bluetooth:
                Toast.makeText(MainActivity.this, "Action bluetooth di klik",
                        Toast.LENGTH_SHORT) .show();
                return true;
            case R.id.action_library:
                Toast.makeText(MainActivity.this, "Action library di klik",
                        Toast.LENGTH_SHORT) .show();
                return true;
            case R.id.action_favorite:
                Toast.makeText(MainActivity.this, "Action favorite di klik",
                        Toast.LENGTH_SHORT) .show();
                return true;
            case R.id.action_music:
                Toast.makeText(MainActivity.this, "Action music di klik",
                        Toast.LENGTH_SHORT) .show();
                return true;
            default:
                //do nothing
        }
        return super.onOptionsItemSelected(item);
    }

Jalankan Aplikasi dan klik pada menu item.

B    Menambahkan Layout Content Main dan Floating Action Button
Untuk memudahkan pengembang dalam mengelola halaman layout aplikasi, umumnya sebuah aplikasi Android memisahkan antara layout main (sebagai layout navigasi, menempatkan menu, toolbar dsb) dengan layout content (sebagai wadah untuk menempatkan konten halaman aplikasi)
  1. Create New Layout
    ⇒ Klik kanan pada res new ➞ Layput resource file
    ⇒ Lengkapi file name (nama layout), root element jenis layout), source set dan directory name. Kemudian pilih OK
  2. Buka file layout content_main.xml. Sebagai contoh tambahkan satu komponen View berupa TextView. Layout content_main.xml inilah yang nantinya akan digunakan untuk menempatkan komponen-kom ponen User Interface konten aplikasi.
        <TextView
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="This is My Menu Application"
            android:layout_centerInParent="true"/>
    
  3. Buka file layout activity_main.xml. Kemudian include kan file layout content_main.xml menggunakan kode berikut :
        <include layout="@layout/content_main"></include>
    
  4. Jalankan Aplikasi
  5. Menambahkan Floating Action Button secara manual.
    ⇒ Buka file activity_main.xml. Tambahkan kode berikut dibawah </include>
      <android.support.design.widget.FloatingActionButton
            android:id="@+id/fab"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_gravity="bottom|end"
            android:layout_margin="15dp"
            app:scrCompat="@android:drawable/ic_dialog_email"/>
    
    ⇒ Selanjutnya buka MainActivity.java, di dalam method onCreate() tambahkan kode berikut
            FloatingActionButton fab = (FloatingActionButton) findViewById(R.id.fab);
            fab.setOnClickListener (new View.OnClickListener(){
            @Override
                    public void onClick(View view){
                        Snackbar.make(View, "Flatong action button diklik", Snackbar.LENGTH_LONG)
                        .setAction("Action", null).show();
                    }   
            });
    ⇒ Jalankan aplikasi



Latihan



  • Buatlah sebuah aplikasi minimal terdapat 5 activity yang sating terhubung satu dengan yang lainnya. Aplikasi tersebut memiliki tema "Shop" yang menawarkan produk tertentu dari  sebuah toko (Minimal produk yang ditawarkan adalah 5 produk). Selain itu di dalam aplikasi buatlah sebuah halaman yang mendeskripsikan tentang aplikasi yang Anda buat dan tentang diri Anda. Buatlah desain layout aplikasi yang menarik dan interaktif bagi user.