Modul Logika dan Algoritma

Embed Size (px)

Citation preview

  • 8/15/2019 Modul Logika dan Algoritma

    1/65

    Labolatorium Komputer

    STMIK KHARmISMA KARAWANGJl. Pangkal Perjuangan Km. 1 By Pass Karawang Tlp. (0267) 412480

  • 8/15/2019 Modul Logika dan Algoritma

    2/65

    MODUL PRAKTIKUM

    LOGIKA & ALGORITMA

    Karawang, 17 Agustus 2012

    Mengetahui,

    Ketua STMIK Kharisma Ka. Unit Pelaksana Teknis

    Rani Amalia, SE., MM M. Asep Sumarna, Drs., MM

    NIK. 446 300 021 NIP. 446 396 005

  • 8/15/2019 Modul Logika dan Algoritma

    3/65

    KATA PENGANTAR

    Puji syukur ke hadirat Tuhan Yang Maha Kuasa, yang telah memberikan rahmat-

    Nya sehingga Modul Praktikum Logika & Algoritma untuk mahasiswa/i Jurusan Manajemen

    (MI) Informatika dan Komputer akuntansi (KA) Stmik Kharisma Karawang ini dapat

    diselesaikan dengan sebaik-baiknya.

    Modul praktikum ini dibuat sebagai pedoman dalam melakukan kegiatan praktikum

    Logika & Algoritma yang merupakan kegiatan penunjang mata kuliah Logika & Algoritma

    pada Jurusan MI & KA. Modul praktikum ini diharapkan dapat membantu mahasiswa/i

    dalam mempersiapkan dan melaksanakan praktikum dengan lebih baik, terarah, dan

    terencana. Pada setiap topik telah ditetapkan tujuan pelaksanaan praktikum dan semua

    kegiatan yang harus dilakukan oleh mahasiswa/i serta teori singkat untuk memperdalam

    pemahaman mahasiswa/i mengenai materi yang dibahas.

    Penyusun menyakini bahwa dalam pembuatan Modul Praktikum Logika & Algoritma

    ini masih jauh dari sempurna. Oleh karena itu penyusun mengharapkan kritik dan saran yang

    membangun guna penyempurnaan modul praktikum ini dimasa yang akan datang.

    Akhir kata, penyusun mengucapkan banyak terima kasih kepada semua pihak yang

    telah membantu baik secara langsung maupun tidak langsung.

    Karawang, Agustus 2012

    Dedih, M. Kom

  • 8/15/2019 Modul Logika dan Algoritma

    4/65

  • 8/15/2019 Modul Logika dan Algoritma

    5/65

    MODUL I

    PENGENAL ALGORITMA & JAVA

    1.1 TUJUAN

    Mahasiswa memahami tentang dasar-dasar Algoritma pemrograman dan

    mengimplementasikan program sederhana dengan NetBeans 6.5

    1.2 Teori Singkat

    1. 2.1 Algoritma

    Algoritma adalah urutan aksi-aksi yang dinyatakan dengan jelas dan tidak rancu untuk 

    memecahkan suatu masalah dalam rentang waktu tertentu. Setiap aksi harus dapatdikerjakan dan mempunyai efek tertentu.

    Algoritma dapat dituliskan dengan banyak cara, mulai dari menggunakan bahasa alami

    yang digunakan sehari-hari, simbol grafik bagan alir, sampai menggunakan bahasa

    pemograman seperti Java.

    1. 2.2 Java

    Java adalah bahasa pemrograman yang berorientasi objek (OOP) dan dapat dijalankan

    pada berbagai  platform sistem operasi. Perkembangan Java tidak hanya terfokus pada satu

    sistem operasi, tetapi dikembangkan untuk berbagai system operasi dan bersifat open source.

    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.

  • 8/15/2019 Modul Logika dan Algoritma

    6/65

    1.2.3 Java Virtual Machine (JVM)

    JVM adalah sebuah mesin imajiner (maya) yang bekerja dengan menyerupai aplikasi

    pada sebuah mesin nyata. JVM menyediakan spesifikasi hardware dan platformdimana

    kompilasi kode Java terjadi. Spesifikasi inilah yang membuat aplikasi berbasis Java

    menjadi bebas dari platform manapun karena proses kompilasi diselesaikan oleh JVM.

    Aplikasi program Java diciptakan dengan  file teks berekstensi .java. Program ini

    dikompilasi menghasilkan satu berkas bytecode berekstensi .class atau lebih.  Bytecode

    adalah serangkaian instruksi serupa instruksi kode mesin. Perbedaannya adalah kode

    mesin harus dijalankan pada sistem komputer dimana kompilasi ditujukan, sementara

    bytecode berjalan pada  java interpreter  yang tersedia di semua  platform sistem

    komputer dan sistem operasi.

    1.2.4 Garbage Collection

    Banyak bahasa pemrogaman lain yang mengijinkan seorang programmer

    mengalokasikan memori pada saat dijalankan. Namun, setelah menggunakan alokasi

    memori tersebut, harus terdapat cara untuk menempatkan kembali blok memori tersebut

    supaya program lain dapat menggunakannya. Dalam C, C++ dan bahasa lainnya, adalah

    programmer yang mutlak bertanggung jawab akan hal ini. Hal ini dapat menyulitkan

    bilamana programmer tersebut alpa untuk mengembalikan blok memori sehingga

    menyebabkan situasi yang dikenal dengan nama memory leaks. Program Java

    melakukan garbage collection yang berarti program tidak perlu menghapus sendiri

    objek  – objek yang tidak digunakan lagi. Fasilitas ini mengurangi beban pengelolaan

    memori oleh programmer dan mengurangi atau mengeliminasi sumber kesalahan

    terbesar yang terdapat pada bahasa yang memungkinkan alokasi dinamis.

    1.2.5 Code Security

    Code Security terimplementasi pada Java melalui penggunaan Java Runtime

    Environment (JRE). Java menggunakan model pengamanan 3 lapis untuk melindungi

    sistem dari untrusted Java Code.

    1. Pertama, class-loader menangani pemuatan kelas Java ke runtime interpreter. Proses

    ini menyediakan pengamanan dengan memisahkan kelas –  kelas yang berasal dari

    local disk dengan kelas – kelas yang diambil dari jaringan. Hal ini membatasi aplikasi

    Trojan karena kelas – kelas yang berasal dari local disk yang dimuat terlebih dahulu.

  • 8/15/2019 Modul Logika dan Algoritma

    7/65

    2. Kedua, bytecode verifier membaca bytecode sebelum dijalankan dan menjamin

    bytecode memenuhi aturan – aturan dasar bahasa Java.

    3. Ketiga, manajemen keamanan menangani keamanan tingkat aplikasi dengan

    mengendalikan apakah program berhak mengakses sumber daya seperti sistem file,

    port jaringan, proses eksternal dan sistem windowing.

    Setelah seluruh proses tersebut selesai dijalankan, barulah kode program di eksekusi.

    1.2.6 Fase –  fase Pemrograman JAVA

    Gambar dibawah ini menjelaskan aliran proses kompilasi dan eksekusi sebuah

    program Java :

    Gambar 2.1: Fase dari sebuah Program Java

    Langkah pertama dalam pembuatan sebuah program berbasis Java adalah menuliskan

    kode program pada text editor . Contoh text editor  yang dapat digunakan antara lain :

    notepad, Jcreator, emacs dan lain sebagainya. Kode program yang dibuat kemudian

    tersimpan dalam sebuah berkas berekstensi .java. Setelah membuat dan menyimpan

    kode program, kompilasi file yang berisi kode program tersebut dengan menggunakan

    Java Compiler. Hasil dari kompilasi berupaberkas bytecode dengan ekstensi .class.

    Berkas yang mengandung bytecode tersebut kemudian akan dikonversikan oleh Java

    Interpreter menjadi bahasa mesin sesuai dengan jenis dan platform yang digunakan.

    PROSES TOOL HASIL

    Menulis kode program Text editor Berkas berekstensi .java

    Kompilasi program J Java Compiler Berkas berekstensi .class

    (Java Bytecodes)

    Menjalankan programJava Interpreter Program Output

    Tabel 1: Ringkasan Fase dari sebuah Program Java

  • 8/15/2019 Modul Logika dan Algoritma

    8/65

    1.3. LANGKAH-LANGKAH MENULISKAN PROGRAM JAVA DENGAN

    NETBEANS IDE 6.5

    Langkah – Langkah praktikum :

    1. Pilih Start ProgramNetBeans IDE 6.5

    2. Anda akan peroleh tampilan awal sebagai berikut :

    3. Pilih menu File

    4. Pilih sub menu New Project. Akan muncul layar sebagai berikut :

    5. Pilih Java lalu Java Application klik Next

    6. Ketik “Modul_praktikum_logika” pada Project Name lalu klik Finish seperti gambar

    tampilan sbb :

  • 8/15/2019 Modul Logika dan Algoritma

    9/65

    7. Sehingga muncul tampilan sebagai berikut :

    8. Klik Kanan pada Modul_praktikum_logika pilih New lalu pilih  Java Class sepertitampilan berikut :

  • 8/15/2019 Modul Logika dan Algoritma

    10/65

     9. Lalu Ketik “Hello” pada Class Name dan pilih tombol Finish

    10. Sehingga muncul gambar seperti berikut :

  • 8/15/2019 Modul Logika dan Algoritma

    11/65

    11. Ketiklah kode berikut di bawah public class Hello {:

    public static void main(String[] args) {

    System.out.println("Belajar Algoritma");

    }

    12. Lakukan kompilasi program dengan memilih menu Run> Clean and Build Project

    (Shift +F11) dan jalankan program dengan memilih menu Run>Run File (Shift +F6).

    Akan muncul output seperti di bawah ini :

    Latihan :

    Coba Saudara tampilkan Output program seperti dibawah ini dengan nama program

    mahasiswa.java :

    Mahasiswa STMIK Kharisma Karawang

    NPM : isi dengan NPM anda sendiri

    Nama : isi dengan Nama Anda sendiri

    Jurusan : Isi sesuai dengan Jurusan

    Diketik 

  • 8/15/2019 Modul Logika dan Algoritma

    12/65

    MODUL 2

    TIPE DATA & VARIABEL

    2.1 Tipe Data

    Java memiliki tipe data yang dapat dikategorikan menjadi dua kelompok, yaitu tipe data

    primitif dan referensi.

    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 :

    Tipe Deskripsi

    Byte Memiliki nilai integer dari -128 sampai +127 dan menempati

    1 byte ( 8 bits ) di memori

    Short Memiliki nilai integer dari -32768 sampai 32767 dan

    menempati 2 bytes ( 16 bits ) di memoriInt Memiliki nilai integer dari -2147483648 sampai 2147483647

    dan menempati 4 bytes ( 32 bits ) di memori

    Long Memiliki nilai dari -9223372036854775808 sampai

    9223372036854775807 dan menempati 8 bytes ( 64 bits ) di

    memori

    b. Floating Point ( Bilangan Pecahan )

    Floating Point digunakan untuk menangani bilangan decimal atau perhitungan yang

    lebih detail dibanding integer. Ada dua macam floating point, yaitu :

    Tipe Deskripsi

    Float memiliki nilai -3.4x108 sampai +3.4x108 dan menempati 4

    byte di memori

    Double memiliki nilai -1.7x10308 sampai +1.7x10308

    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

  • 8/15/2019 Modul Logika dan Algoritma

    13/65

    primitif, tetapi sudah merupakan 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 :

    Kode Nama Nilai Unicode

     \b Backspace \u0008

     \t tab \u0009

     \n linefeed \u000a

     \r Carriage return \u000d

     \* Double quote \u0022

     \ ’ Single quote \u0027

     \\ Backslash \u005c

    d. Boolean

    Dalam Java dikenal tipe data boolean yang terdiri dari dua nilai saja, yaitu true dan false.

    Boolean sangat penting dalam mengevaluasi suatu kondisi, dan sering digunakan untuk 

    menentukan alur program.

    2.2 Variabel

    Variabel merupakan  container yang digunakan untuk menyimpan suatu nilai pada

    sebuah program dengan tipe tertentu. Untuk mendefinisikan variabel, kita dapat

    menggunakan identifier untuk menamai variabel tersebut.

    2.2.1 Identifier

    Identifier adalah kumpulan karakter yang dapat digunakan untuk menamai variabel,

    method, class, interface, dan package. Sebagaimana bahasa pemrograman pada umumnya,

    Java memiliki peraturan untuk identifier yang valid atau sah. Identifier bisa disebut valid

    atau sah apabila diawali dengan :

    • Huruf / abjad

    • Karakter mata uang

    • Underscore ( _ )

    Identifier dapat terdiri dari :• Huruf / abjad

    • Angka

    • Underscore ( _ )

    • Identifier tidak boleh mengandung @, spasi atau diawali dengan angka. Selain itu,

    identifier tidak boleh menggunakan keyword atau kata-kata yang memiliki arti atau

    digunakan dalam pemrograman Java.

    Daftar Keyword Java :

    abstract double int strictfp

    boolean else static super

  • 8/15/2019 Modul Logika dan Algoritma

    14/65

    break Extends long switch

    byte final native synchronized

    case finally new this

    catch float package throw

    char for private throws

    class goto protected transientconst if public try

    continue implements return void

    default import short volatile

    do instanceof interface while

    2.2.2 Mendeklarasikan Variabel

    Sintaks dasar :

    [tipe data] [nama variabel]

    Menuliskan tipe data dari variabel, contoh :int bilangan;

    char karakter;

    float bildesimal;

    boolean status;

    Setelah mendeklarasikan variabel dengan tipe data, selanjutnya memberikan nilai

    variabel tersebut dengan tanda = .

    bilangan = 20;

    karakter = ‘k’;

    bildesimal = 22.2f;

    status = true;

    2.3 Latihan Praktikum :

     Nama file1 : ContohPerhitungan.java

    class ContohPerhitungan {

    public static void main(String[] args) {

    byte a = 1;

    short b = 2;

    int c = 3, d;d = a + b + c;

    System.out.println("Hasil = " + d);

    }

    }

     Nama file2 : DemoKarakter1.java

    class DemoKarakter1 {

    public static void main(String[] args) {

    char ch1 = 65;char ch2 = 'B';

  • 8/15/2019 Modul Logika dan Algoritma

    15/65

    System.out.println("ch1 = " + ch1);

    System.out.println("ch2 = " + ch2);

    }

    }

    Tugas

    Buatlah program untuk menghitung luas :

    1. Segitiga

    2. Lingkaran

    3. Bujur sangkar

    4. Empat Persegi Pajang

  • 8/15/2019 Modul Logika dan Algoritma

    16/65

    MODUL 3

    OPERATOR

    3.1 Tujuan

    Mahasiswa memahami tentang operator dan penggunaannya dalam bahasa pemrograman

     java, mengetahui macam-macam kategori operator dan mengetahui perbedaan operator

    satu dengan yang lainnya

    3.2 Teori Singkat

    Dalam Java, ada beberapa tipe operator. Ada operator aritmatika, operator relasi,

    operator logika, dan operator kondisi. Operator ini mengikuti bermacam-macam prioritas

    yang pasti sehingga Compilernya akan tahu yang mana operator untuk dijalankan lebihdulu dalam kasus beberapa operator yang dipakai bersama-sama dalam satu pernyataan.Operator Java merupakan karakter khusus yang berupa simbol atau tanda yang

    memerintahkan compiler  untuk melakukan berbagai operasi  terhadap sejumlah

    operand . Perintah operasi dispesifikasikan oleh operator, dimana operand-nya adalah

    variabel, pernyataan, atau besaran literal.

    Operator yang dibahas pada bagian ini adalah operator aritmatika, increment dan

    decrement, assignment (penugasan), relasi, logical, dan bitwise.

    A. Operator Aritmatika

    Sama halnya dengan semua bahasa pemrograman, Java menyediakan operator-operator 

    aritmatika untuk manipulasi variabel data numerik. Operator-operator tersebut antara

    lain :

    Operator Penggunaan Deskripsi

    + Op1 + Op2 Menambahkan Op1 dengan Op2

    - Op1 – Op2 Mengurangkan Op1 dengan Op2

    * Op1 * Op2 Mengalikan Op1 dengan Op2

    / Op1 / Op2 Membagi Op1 dengan Op2

    % Op1 % Op2 Menghasilkan sisa hasil bagi Op1 dengan Op2

     Nama file : Aritmatika.java

    class Aritmatika{

     public static void main(String[] args) { int a = 20; int b = 10;

    System.out.println("Penggunaan Operator Aritmatika ");

    System.out.println("Nilai awal a adalah : "+a);

  • 8/15/2019 Modul Logika dan Algoritma

    17/65

    System.out.println("Nilai awal b adalah : "+b);

    System.out.println("Hasil dari a + b = " +(a + b));

    System.out.println("Hasil dari a - b = " +(a - b));

    System.out.println("Hasil dari a / b = " +(a / b));

    System.out.println("Hasil dari a * b = " +(a * b));

    System.out.println("Hasil dari a % b = " +(a % b));

    }

    }

    B. Operator Increment dan Decrement

    Operator Increment dan Decrement digunakan untuk menaikan atau menurunkan

    suatu nilai integer (bilangan bulat) sebanyak satu satuan, dan hanya dapat digunakan padavariabel.

    Ada dua versi operator increment maupun decrement, yaitu prefix dan postfix. Prefix

     berarti operator digunakan sebelum variabel atau ekspresi, dan postfix berarti operator 

    digunakan sesudahnya. Penjelasan selengkapnya yaitu:

    Operator   Penggunaan Deskripsi

    Op++Op dinaikkan nilainya 1 setelah dilakukan operasi

    ++ pada Op

    ++OpOp dinaikkan nilainya 1 sebelum dilakukan operasi

     pada Op

    Op--Op diturunkan nilainya 1 setelah dilakukan operasi

    -- pada Op

    --OpOp diturunkan nilainya 1 sebelum dilakukan

    operasi pada Op

     Nama file : IncrementDecrement.java

    class IncrementDecrement{

     public static void main (String[] args){ int i = 1;

    System.out.println("i : " + i);

    System.out.println("++i : " + ++i);

    System.out.println("i++ : " + i++);

    System.out.println("i : " + i);

    System.out.println("--i : " + --i);

  • 8/15/2019 Modul Logika dan Algoritma

    18/65

    System.out.println("i-- : " + i--);

    System.out.println("i : " + i);

    }

    }

    C. Operator Assignment ( Penugasan )

    Operator assignment dalam Java digunakan untuk memberikan sebuah nilai ke sebuah

    variabel. Operator assignment hanya berupa ‘=’, namun selain itu dalam Java dikenal

     beberapa shortcut assignment operator yang penting, yang digambarkan dalam tabel berikut

    :

    Operator Penggunaan Ekuivalen Dengan

    += Op1 += Op2 Op1 = Op1 + Op2

    -= Op1 -= Op2 Op1 = Op1 – Op2

    *= Op1 *= Op2 Op1 = Op1 * Op2

    /= Op1 /= Op2 Op1 = Op1 / Op2

    %= Op1 %= Op2 Op1 = Op1 % Op2

    &= Op1 &= Op2 Op1 = Op1 & Op2

    ¦= Op1 ¦= Op2 Op1 = Op1 ¦ Op2

    ^= Op1 ^= Op2 Op1 = Op1 ^ Op2

    > Op2

    >>>= Op1 >>>= Op2 Op1 = Op1 >>> Op2

     Nama file : Assignment.java

    class Assignment {

     public static void main(String[] args) { int var = 10;

    int a,b,c;

    a = b = c = 100; int d,e,f;

  • 8/15/2019 Modul Logika dan Algoritma

    19/65

    f = 200; e = f;

    d = e;

    System.out.println("Nilai var : " + var);

    System.out.println("Nilai a : " + a);System.out.println("Nilai b : " + b);

    System.out.println("Nilai c : " + c);

    System.out.println("Nilai f : " + f);

    System.out.println("Nilai e : " + e);

    System.out.println("Nilai d : " + d);

    int z;

    char Teks1 = 'a'; // dalam Unicode karakter 'a' direpresentasikan dengan

    angka 97

    z = Teks1 * 100; // z = 97 * 10;

    System.out.println("Nilai Teks1 : " + Teks1);

    System.out.println("Nilai z : " + z);

    }

    }

    D. Operator Relasi

    Operator relasi dalam Java digunakan untuk menghasilkan nilai boolean yang

    sering digunakan untuk mengatur alur jalannya sebuah program.

    Operator Penggunaan Deskripsi

    > Op1 > Op2 Menghasilkan true jika Op1 lebih besar dari Op2

    < Op1 < Op2 Menghasilkan true jika Op1 lebih kecil dari Op2

    >= Op1 >= Op2 Menghasilkan true jika Op1 lebih besar atau sama

    dengan Op2

  • 8/15/2019 Modul Logika dan Algoritma

    20/65

     Nama file: Relasi.java

    class Relasi{

     public static void main(String[] args) { int x,y,z;

    x = 100; y = 99; z = 99;

    System.out.println("Nilai x = "+x);

    System.out.println("Nilai y = "+y);

    System.out.println("Nilai z = "+z); // operator sama dengan

    if(y == z ){

    System.out.println("y sama dengan z"); }else {

    System.out.println("y tidak sama dengan z");

    }

    // operator tidak sama dengan

    if(x != y ){

    System.out.println("x tidak sama dengan y"); }else {

    System.out.println("x sama dengan y");

    }

    // operator lebih besar dari

    if(x > y ){

    System.out.println("x lebih besar dari y"); }else {

    System.out.println("x lebih kecil dari y");

    }

    // operator lebih kecil dari

    if(y < x ){

    System.out.println("y lebih kecil dari x"); }else {

    System.out.println("y lebih besar dari x");

    }

    // operator lebih besar dari atau sama dengan if(x >= y ){

    System.out.println("x lebih besar dari atau sama dengan y");

    }else {

    System.out.println("x lebih kecil dari atau sama dengany");

    }

    // operator lebih kecil dari atau sama dengan

    if(y

  • 8/15/2019 Modul Logika dan Algoritma

    21/65

    System.out.println("y lebih kecil dari atau sama dengan x"); }else {

    System.out.println("y lebih besar dari atau sama dengan x");

    }

    }

    }

    E. Operator Logical

    Operator ini digunakan untuk ekspresi logik yang menghasilkan nilai boolean.

    Operator-operator yang digunakan adalah AND ( && ), OR ( ¦ ¦ ) dan NOT ( ! ).

    A B A ¦¦ B A && B

    True True True True

    True False True False

    False True True False

    False False False False

     Nama file : logik.java

    class logik{

     public static void main(String[] args) { boolean

    Benar = true;

     boolean Salah = false; System.out.println("Hubungan

    OR (||)");

    System.out.println("Benar || Benar : " +(Benar||Benar));

    System.out.println("Benar || Salah : " +(Benar||Salah));

    System.out.println("Salah || Benar : " +(Salah||Benar));

    System.out.println("Salah || Salah : " +(Salah||Salah));

    System.out.println("Hubungan AND (&&)");

    System.out.println("Benar && Benar : " +(Benar&&Benar));

    System.out.println("Benar && Salah : " +(Benar&&Salah));

    System.out.println("Salah && Benar : " +(Salah&&Benar));

    System.out.println("Salah && Salah : " +(Salah&&Salah));

    System.out.println("Hubungan NOT (!)"); System.out.println("Kebalikan

  • 8/15/2019 Modul Logika dan Algoritma

    22/65

    (NOT) dari Benar adalah: " +!Benar); System.out.println("Kebalikan (NOT)

    dari Salah adalah: " +!Salah);

    }

    }

    F. Operator Bitwise

    Operator ini dalam Java digunakan untuk melakukan manipulasi bit.

    Operator Penggunaan Deskripsi

    & Op1 & Op2 Bitwise AND

    ¦ Op1 ¦ Op2 Bitwise OR  

    ^ Op1 ̂ Op2 Bitwise XOR  

    ~ ~Op Bitwise Complement

    Op1 >> Op2 Menggeser bit Op1 ke kanan sejauh Op2

    Geser kanan tanpa mempertahankan sign

    >>> Op1 >>> Op2 (dengan nilai 0 sebagai pengisi bit paling

    kiri)

    1. Bitwise AND

    Bitwise AND akan menghasilkan bit “1”, jika kedua operator bernilai bit “1”.

    Operasi bitwise AND dapat digambarkan sebagai berikut :

    Op1 Op2 Op1 & Op2

    0 0 0

    0 1 0

    1 0 0

    1 1 1

    2. Bitwise OR 

    Bitwise OR akan menghasilkan bit “1”, jika salah satu operator bernilai bit “1”.

    Operasi bitwise OR dapat digambarkan sebagai baerikut :

    Op1 Op2 Op1 ¦ Op2

    0 0 0

    0 1 1

  • 8/15/2019 Modul Logika dan Algoritma

    23/65

    1 0 1

    1 1 1

    3.BITWIS  XOR ( Exclusive OR )Bitwise XOR akan menghasilkan bit “1”, jika kedua operator memiliki nilai bit yang

     berbeda. Operasi bitwise XOR dapat digambarkan sebagai berikut :

    Op1 Op2 Op1 ^ Op2

    0 0 0

    0 1 1

    1 0 1

    1 1 0

    4. Bitwise Complement

    Bitwise Complement akan menghasilkan bit yang berlawanan dengan bit yang

    dioperasikan. Operasinya dapat digambarkan sebagai berikut :

    Op Op

    0 1

    1 0

     Nama file : Bitwise.java

    class Bitwise{

     public static void main(String[] args) { int x,y;

    x = ~100;

    System.out.println("Nilai negasi x : "+x); x = 17 & 30;

    System.out.println("Nilai and : "+x); x = 17 | 30;

    System.out.println("Nilai or : "+x); x = 17 ^ 30;

    System.out.println("Nilai xor : "+x); x = 111;

    y = x >> 1;

    System.out.println("Nilai geser kanan : "+x);

    x = -111;

    y = x >> 1;

    System.out.println("Nilai geser kanan neg : "+x); x = 111;y = x >>> 1;

  • 8/15/2019 Modul Logika dan Algoritma

    24/65

    System.out.println("Nilai geser kanan 1 bit 0 : "+x);

    x = -111;

    y = x >>> 1;

    System.out.println("Nilai geser kanan 1 bit 0 neg : "+x); x = 111;

    y = x

  • 8/15/2019 Modul Logika dan Algoritma

    25/65

    MODUL 4

    STATEMENT IF

    4.1 Tujuan

    Mahasiswa dapat memahami pernyataan seleksi dalam java dengan menggunakan IF dan

    dapat menyelesaikan masalah yang berkaitan dengan seleksi IF baik dalam pemrograman

    maupun dalam algoritma.

    4.2 Dasar Teori

    Struktur kontrol digunakan untuk mengatur jalannya alur program sesuai dengan yang

    kita inginkan. Statemen kontrol dikategorikan menjadi pemilihan, pengulangan, dan

    statemen peloncatan.

    4.2 Statemen Pemilihan

    Pemilihan digunakan untuk menentukan statemen mana yang akan dieksekusi tergantung

    dari ekpresi atau kondisi yang dikondisikan. Java menyediakan dua buah ekpresi untuk 

    pemilihan yaitu if  dan switch. Kedua statemen tersebut digunakan untuk mengontrol

    eksekusi statemen tergantung dari yang ditentukan sebelumnya.

     4.2.1 Statemen If 

    Statemen if digunakan untuk menangani pencabangan atau pemilihan statemen yang

    didasarkan atas satu, dua, atau lebih dari dua kondisi.

     4.2.1.1 If dengan Satu Kondisi

    Dalam java bentuk umum penulisan statemen if untuk satu kondisi sebagai berikut :

     // apabila hanya terdiri dalam satu statemen

    If (kondisi) statemen

     //apabila lebih dari dua statemen

    If (kondisi) {

    Statemen

    Statemen

    .............

    }

    Berikut ini contoh program : Nama file1 : DemoIfSatuKondisi1.java

  • 8/15/2019 Modul Logika dan Algoritma

    26/65

    class DemoIfSatuKondisi1 {

    public static void main(String[] args) {

    int a=1, b=10;

    if (a < 5) {

    System.out.println("Nilai a lebih kecil dari 5");

    }

    if (b < 5) {

    System.out.println("Nilai b lebih kecil dari 5");

    }

    }

    }

     Nama file2 : DemoIfSatuKondisi3.java

    class DemoIfSatuKondisi3 {

    public static void main(String[] args) {

    int tahun = 2008;

    if ((tahun % 4 == 0) &&

    ((tahun % 100 != 0) || (tahun % 400 == 0))) {

    System.out.println("Tahun " + tahun +

    " merupakan tahun kabisat.");

    }

    }

    }

     4.2.1.2 If dengan Dua Kondisi

    Pada bentuk ini program menyediakan kondisi tambahan untuk menangani kejadian

    yang kondisi pertamanya tidak terpenuhi atau bernilai false. Adapun bentuk 

    umumnya sbb;

     // Apabila terdiri dari satu statemen

    If (kondisi)

    Statemen jika kondisi benar

    Else

    Statemen jika kondisi salah

     // Apabila terdiri dua buah statemen atau lebih

    If (kondisi) {

     //Statemen dilakukan jika kondisi benarStatemen

  • 8/15/2019 Modul Logika dan Algoritma

    27/65

    Statemen

    .............

    } Else {

     //Statemen dilakukan jika kondisi salah

    StatemenStatemen

    .............

    }

    Berikut ini contoh program :

     Nama file1 : DemoIfDuaKondisi2.java

    class DemoIfDuaKondisi2 {

    public static void main(String[] args) {

    char ch = 'B';

    if (ch == 'a' || ch == 'A' ||

    ch == 'i' || ch == 'I' ||

    ch == 'u' || ch == 'U' ||

    ch == 'e' || ch == 'E' ||

    ch == 'o' || ch == 'O') {

    System.out.println(ch + " adalah huruf vokal.");

    } else {

    System.out.println(ch + " adalah huruf mati (konsonan).");

    }

    }

    }

     4.2.1.3 If dengan Tiga Kondisi atau Lebih

    Struktur pemilihan jenis ini merupakan pengembangan dari jenis sebelumnya. Di sini

    statemen if memiliki lebih dari dua kondisi. Adapun bentuk umumnya sbb :

     // Apabila terdiri dari satu statemen

    If (kondisi1)

    Statemen jika kondisi1 benar

    Else if (kondisi2)

    Statemen jika kondisi1 salah

    Else

    Statemen jika kondisi1 dan kondisi2 salah

     // Apabila terdiri dua buah statemen atau lebih

    If (kondisi1) {

     //Statemen dilakukan jika kondisi1 benar

    Statemen1

    Statemen2

    .............} Else if(kondisi2) {

  • 8/15/2019 Modul Logika dan Algoritma

    28/65

     //Statemen dilakukan jika kondisi1 salah

    Statemen1

    Statemen2

    .............

    }Else {

     //Statemen dilakukan jika kondisi1 dan kondisi2 salah

    Statemen1

    Statemen2

    .............

    }

     Berikut ini contoh program :

    Nama file1 : DemoIfTigaKondisi1.java

    class DemoIfTigaKondisi1 {

    public static void main(String[] args) {

    int bilangan = 4;

    if (bilangan < 0) {

    System.out.println(bilangan +

    " merupakan bilangan NEGATIF.");

    } else if (bilangan == 0) {

    System.out.println("Nilai yang dimasukkan adalah NOL");

    } else { // (bilangan > 0)

    System.out.println(bilangan +

    " merupakan bilangan POSITIF.");

    }

    }

    }

    TUGAS

    1. Buatlah program yang memberikan grade untuk nilai dengan ketentuan sbb :nilai > 90 grade = A80 < nilai

  • 8/15/2019 Modul Logika dan Algoritma

    29/65

    MODUL 5

    STATEMENT SWITCH

    5.1 Tujuan

    Mahasiswa dapat menyelesaikan masalah yang berkaitan dengan seleksi, dengan

    menggunakan pernytaan switch.

    5.2 Teori Dasar

    Statemen switch merupakan statemen alternatif untuk melakukan pemilihan statemen dan

    digunakan untuk menyederhanakan kekompleksitasan statemen if yang banyak mengandung

    kondisi. Adapun bentuk umumnya sbb :

    switch( switch_expression ){case case_selector1:

    statement1; // 

    statement2; //block 1

    . . . // 

    break;case case_selector2:

    statement1; // 

    statement2; //block 2

    . . . // 

    break;

    . . .

    default:

    }

    statement1; // 

    statement2; //block n

    . . . // 

    break;

    switch_expression adalah ekspresi integer atau karakter dan case_selector1, case_selector2

    dan seterusnya adalah konstanta unik dari nilai integer atau karakter.

    Ketika pernyataan switch ditemukan pada potongan kode program, java pertama kali akanmemeriksa switch_expression, dan menuju ke case yang akan menyamakan nilai yang

    dimiliki oleh switch_expression. Selanjutnya program akan mengeksekusi pernyataan pada

    dari kode setelah case yang ditemukan sampai menemui pernyataan break , selanjutnya akan

    mengabaikan pernyataan yang lainnya hingga akhir dari struktur dari pernyataan switch.

    Jika tidak ditemui case yang cocok, maka program akan mengeksekusi blok default .Sebagai

    catatan, bahwa bagian blok default adalah opsional. Sebuah pernyataan switch bisa jadi tidak 

    memiliki blok kode default .

    CATATAN:

    • Tidak seperti pada pernyataan if , beberapa pernyataan pada struktur pernyataan switch

    akan dieksekusi tanpa memerlukan tanda kurung kurawal ({}).

  • 8/15/2019 Modul Logika dan Algoritma

    30/65

    • Ketika sebuah case pada pernyataan switch menemui kecocokan, semua pernyataan

    pada case tersebut akan dieksekusi. Tidak hanya demikian, pernyataan lain yang

    berada pada case yang sesuai juga akan dieksekusi.

    • Untuk menghindari program mengeksekusi pernyataan pada case berikutnya, kitamenggunakan pernyataan break sebagai pernyataan akhir pada setiap blok case.

     Berikut ini contoh program :

    Nama file1 : DemoSwitch3 .java

    class DemoSwitch3 {

    public static void main(String[] args) {

    int a=2;

    int b;

    switch(a) {

    case 1: b = a + 1;

    case 2: b = a + 2;

    case 3: b = a + 3;

    case 4: b = a + 4;

    case 5: b = a + 5;

    default: b = 0;

    }

    System.out.println("Nilai b: " + b);

    }

    }

     Nama file2 : DemoSwitch4 .java

    class DemoSwitch4 {

    public static void main(String[] args) {

    int a=2;

    switch(a) {

    case 1: System.out.println("Pilihan pertama");

    case 2: System.out.println("Pilihan kedua");

    case 3: System.out.println("Pilihan ketiga");

    case 4: System.out.println("Pilihan keempat");

    case 5: System.out.println("Pilihan kelima");

    default: System.out.println("Pilihan default");

    }

    }

    }

  • 8/15/2019 Modul Logika dan Algoritma

    31/65

     Nama file : DemoSwitch5 .java

    class DemoSwitch5 {

    public static void main(String[] args) {

    boolean b = true;

    switch (b) {

    case true: System.out.println("Pilihan TRUE");

    case false: System.out.println("Pilihan FALSE");

    }

    }

    }

    TUGAS

    1. Buatlah program dengan menggunakan pernyataan switch untuk memilih Tunggangan

    yang akan dipakai ketika berpergian, sbb:

    - Pilihan 1 Naik Kuda

    - Pilihan 2 Naik Gerobak Sapi

    - Pilihan 3 Naik Keledai

    - Pilihan 4 Naik Onta

    - Pilihan 5 Naik Gajah

    Jika tidak ada diantara pilihan 1 – 5, beri komentar ”Anda salah Memilih

  • 8/15/2019 Modul Logika dan Algoritma

    32/65

    MODUL 6

    STATEMENT PERULANGAN

    6.1 Tujuan

    Mahasiswa dapat menyelesaikan permasalahan dengan menggunakan perulangan, baik 

    for, do..while dan while

    6.2 Statemen Pengulangan

    Pengulangan adalah suatu proses di dalam program yang dapat mengeksekusi satu atau

    beberapa statemen sama secara berulang sampai ditentukan suatu kondisi untuk berhenti.

    Dalam java ada tiga jenis struktur pengulangan , yaitu for , while dan do-while.

    6.2.1 Struktur For

    Struktur for pada umumnya digunakan untuk melakukan pengulangan yang banyaknya sudah

    pasti atau sudah diketahui sebelumnya. Adapun bentuk umumnya sbb :

    for (InitializationExpression; LoopCondition; StepExpression){

    statement1;

    statement2;

    . . .

    }

    Penjelasan :

     InitializationExpression – inisialisasi dari variabel loop.

     LoopCondition - membandingkan variabel loop pada nilai batas tertentu

    StepExpression - melakukan update pada variabel loop.

    Berikut ini adalah contoh dari for loop,

    int i;

    for( i = 0; i < 10; i++ ){

    System.out.print(i);

    }

    Pada contoh ini, pernyataan i=0 merupakan inisialisasi dari variabel. Selanjutnya, kondisi

    i

  • 8/15/2019 Modul Logika dan Algoritma

    33/65

    }

    }

    }

     Nama file1 : DemoFor6 .java

    class DemoFor6 {

    public static void main(String[] args) {

    int i,j;

    for (i=0, j=4; i < 5; i++, j--) {

    System.out.println("Nilai i: " + i);

    System.out.println("Nilai j: " + j);

    System.out.println();

    }}

    }

    TugasBuatlah Program dengan for dari output dibawah ini :

    1. 1. Kharisma 2. 5 3. 9

    2.Kharisma 4 6

    3.Kharisma 3 3

    4.Kharisma 2 0

    5.Kharisma 1

    4. 1 3 5. 1 +2+3+4+5=15

    1 3

    1 3

    2 2

    2 2

    2 2

    3 1

    3 1

    3 1

    6.2.2 Struktur While

    Struktur while adalah jenis pengulangan yang mendefenisikan kondisi diawal blok yang

    berarti apa bila kondisi tidak terpenuhi (bernilai false) maka proses pengulangan pun tidak 

    akan pernah dilakukan . Adapun bentuk umumnya sbb :

    while( boolean_expression ){

    statement1;

    statement2;. . .

  • 8/15/2019 Modul Logika dan Algoritma

    34/65

    }

    Pernyataan di dalam while loop akan dieksekusi berulang-ulang selama kondisi

    boolean_expression bernilai benar (true).

    Contoh, pada kode dibawah ini,

    class Demowhile{

    public static void main(String[] args) {

    int i = 4;

    while ( i > 0 ){

    System.out.print(i);

    i--;

    }

    Contoh diatas akan mencetak angka 4321 pada layar. Perlu dicatat jika bagian i--;dihilangkan, akan menghasilkan pengulangan yang terus menerus (infinite loop). Sehingga,

    ketika menggunakan while loop atau bentuk pengulangan yang lain, pastikan Anda

    memberikan pernyataan yang membuat pengulangan berhenti pada suatu kondisi.

     Berikut ini contoh program :

     Nama file : DemoWhile1 .java

    class DemoWhile1 {

    public static void main(String[] args) {

    int i=0;

    while (i=1) {

    System.out.print(i);if (i != 1) {

  • 8/15/2019 Modul Logika dan Algoritma

    35/65

    System.out.print(" x ");

    } else {

    System.out.print(" = ");

    }

    hasil *= i; // dapat ditulis: hasil = hasil * i;

    i--;}

    System.out.println(hasil);

    }

    }

     Nama file : DemoWhileBersarang .java

    class DemoWhileBersarang {

    public static void main(String[] args) {

    int i=1, j;

    while (i

  • 8/15/2019 Modul Logika dan Algoritma

    36/65

    6.2.3 Struktur D0 – While

    Do-while loop mirip dengan while-loop. Pernyataan di dalam do-while loop akan dieksekusi

    beberapa kali selama kondisi bernilai benar(true). Perbedaan antara while dan do-while loop

    adalah dimana pernyataan di dalam do-while loop akan dieksekusi sedikitnya satu kali.

    Bentuk pernyataan do-while,do{

    statement1;

    statement2;

    . . .

    }while( boolean_expression );

    Pernyataan di dalam do-while loop akan dieksekusi pertama kali, dan akan dievaluasi kondisi

    dari boolean_expression. Jika nilai pada boolean_expression tersebut bernilai true,

    pernyataan di dalam do-while loop akan dieksekusi lagi.

    Berikut ini beberapa contoh do-while loop: Nama file : DemodoWhile .java

    class DemodoWhile{

    public static void main(String[] args) {

    int x = 0;

    do

    {

    System.out.println(x);

    x++;

    }while (x

  • 8/15/2019 Modul Logika dan Algoritma

    37/65

    int hasil=1;

    System.out.print(bilangan + "! = ");

    if (bilangan == 0) {

    System.out.println(hasil);

    System.exit(1);

    }

    int i=bilangan;

    do {

    System.out.print(i);

    if (i != 1) {

    System.out.print(" x ");

    } else {

    System.out.print(" = ");

    }

    hasil *= i; // dapat ditulis: hasil = hasil * i;

    i--;} while (i >= 1);

    System.out.println(hasil);

    }

    }

     Nama file : DemoDoWhileBersarang.java

    class DemoDoWhileBersarang {

    public static void main(String[] args) {

    int i=1, j;

    do {

     j=1;

    do {

    System.out.print(i*j + " ");

     j++;

    } while (j

  • 8/15/2019 Modul Logika dan Algoritma

    38/65

    4. 1 3 5. 1 +2+3+4+5=15

    1 3

    1 3

    2 2

    2 22 2

    3 1

    3 1

    3 1

  • 8/15/2019 Modul Logika dan Algoritma

    39/65

    MODUL 7

    STATEMENT PELONCATAN

    7.1 Tujuan

    Mahasiswa dapat menyelesaikan permasalahan dengan menggunakan peloncatan, baik 

    break, continue dan return.

    7.2 Teori Dasar

    Statemen peloncatan digunakan untuk mengontrol jalannya program, lebih tepatnya

    untuk memindahkan eksekusi program ke baris kode yang kita kehendaki. Dalam java

    terdapat 3 buah statemen peloncatan yaitu break , continue dan return.

    7.3.1 Menggunakan Break

    Statemen break memiliki 3 kegunaan yaitu ;

    1. Menghentikan runtunan pemilihan pada statemen switch2. Menghentikan proses pengulangan(keluar dari blok pengulangan)3. Keluar dari blok label tertentu

     Nama file : DemoBreak1.java

    class DemoBreak1 {

    public static void main(String[] args) {

    for (int i=0; i

  • 8/15/2019 Modul Logika dan Algoritma

    40/65

    System.out.print(i + " ");

    if (i % 2 == 0) {

    continue;

    }

    System.out.println();

    }}

    }

    7.3.3 Menggunakan Return

    Statemen return digunakan untuk keluar dari eksekusi kode program yang terdapat

    dalam sebuah method.

     Nama file : DemoReturn.java

    class DemoReturn { 

    public static void main(String[] args) {

    int banyak = 0;

    tulis(banyak);

    }

     // Mendefinisikan method tulis()

    private static void tulis(int n) {

    if (n < 1) {

    System.out.println("Nilai i tidak boleh lebih kecil " +

    "dari 1");

    return; // keluar dari method tulis()

    }

     // statemen ini tidak akan dilakukan bila n < 1

    for (int i=0; i

  • 8/15/2019 Modul Logika dan Algoritma

    41/65

    MODUL 8

    METHOD TANPA PARAMETER

    8.1 Tujuan

    1. Mahasiswa memahami tentang pengertian sub program

    2. Mahasiswa dapat membuat sub program sederhana

    8.2 Dasar Teori

    Method (atau dalam beberapa bahasa pemrograman sering disebut fungsi atau

    prosedur) adalah sub program yang membiarkan seorang programer untuk membagi

    program dengan membagi masalah ke dalam beberapa sub masalah yang bisa

    diselesaikan secara modular. Dengan cara demikian, maka pembuatan program bisa

    lebih dimanajemen.

    Kelas (class) adalah program java yang akan dieksekusi. Method ada di dalam kelas.

    Java mempunyai kumpulan kelas yang sudah dimiliki yang tersimpan di dalam paket-

    paket. Kumpulan kelas tersebut ada di dalam  Java Application Interface (Java API)

    atau Java class libraries dan beberapa libraries lainnya.

    Format Method Secara Umum

    tipe_return-value nama_method(parameter1, parameter2, …, parameterN)

    {

    deklarasi dan pernyataan;

    }

    Elemen yang diperlukan dari deklarasi method adalah tipe kembalian method, nama,

    kurung buka dan tutup ( ) dan isi method yang diawali dan diakhiri dengan kurung

    kurawal buka dan tutup { }. Secara umum, deklarasi method mempunyai 6 komponen,

    yaitu :

    1. Modifier - seperti public, private, dan yang lain yang akan kita pelajari kemudian.

    2. Tipe kembalian (return type) — tipe data dari nilai yang dikembalikan oleh method,

    atau void jika method tidak mempunyai nilai kembalian.

    3. Nama method — aturan untuk penamaan field diterapkan untuk nama method tetapi

    kesepakatannya adalah sedikit berbeda.

  • 8/15/2019 Modul Logika dan Algoritma

    42/65

    4. Daftar parameter  –  pemisah antar parameter input adalah koma, diawali oleh tipe

    datanya, yang diletakkan diantara tkita kurung ( …daftar parameter …. ). Jika tidak 

    ada parameter, harus menggunakan kurung buka tutup saja ( ).

    5. Daftar exception — tidak akan masuk dalam pembahasan di sini

    6. Isi method, diletakkan di antara kurung kurawal buka dan tutup { } — kode-kode

    method, termasuk deklarasi variabel lokal ada di sini.

    8.3 PELAKSANAAN PRAKTIKUM

    Untuk membuat sebuah method, yang pertama kali perlu diperhatikan adalah nama

    method mempunyai aturan yang sama dengan penamaan variabel.

    Contoh : Fungsi untuk menampilkan tulisan saja.public class Fungsi1{

    public static void garis(){

    System.out.println("================");

    }

    public static void main(String args[]){

    garis();

    }

    }

    Keluaran dari program tersebut adalah

    ================

    Method diatas bersifat static dan bertipe void. Method yang bersifat static bisa langsung

    dipanggil dengan nama methodnya saja.

    Sebuah method juga bisa dipanggil lebih dari satu kali.

    8.4 LATIHAN

    Tuliskan program berikut :

    public class Fungsi2{

    public static void kalimat()

    {

    System.out.println("Di dalam method kalimat");

    }

    public static void main(String args[])

    {

    kalimat();

    System.out.println("Di dalam main");

    kalimat();

    }}

  • 8/15/2019 Modul Logika dan Algoritma

    43/65

    Hasil output

    Di dalam method kalimat

    Di dalam main

    Di dalam method kalimat

    Program Latihan 2public class Fungsi3

    {

    public static int jumlah(){

    int a = 7, b = 15;

    return (a + b);

    }

    public static void main(String args[]){

    System.out.println("Hasil pemanggilan method jumlah");

    System.out.println(jumlah());

    }}

    Keluarannya

    Hasil pemanggilan method jumlah

    22

    Penggunaan sifat static pada method menyebabkan method tidak perlu dipanggil dengan

    penciptaan obyeknya. Method main dideklarasikan static agar pada saat penggunaan

    tidak perlu menciptakan obyeknya.

    Sebagian method tidak dideklarasikan static. Method yang demikian, bisa dipanggil

    dengan cara menciptakan obyek class dari method tersebut.

    public class Fungsi3a{

    public int jumlah(){

    int a = 7, b = 15;

    return (a + b);

    }

    public static void main(String args[]){

    Fungsi3a obyek = new Fungsi3a();

    System.out.println("Hasil pemanggilan method jumlah");

    System.out.println(obyek.jumlah());

    }

    }

    TUGAS

    Modifikasi program diatas dengan menambahkan 3 fungsi yang lain yaitu kurang, kali

    dan bagi

  • 8/15/2019 Modul Logika dan Algoritma

    44/65

    MODUL 9

    METHOD DENGAN PARAMETER

    9.1 Tujuan

    Mahasiswa memahami tentang pengertian sub program dan dapat membuat sub programsederhana dengan parameter.

    9.2 Dasar Teori

    Method (atau dalam beberapa bahasa pemrograman sering disebut fungsi atau prosedur)

    adalah sub program yang membiarkan seorang programer untuk membagi program

    dengan membagi masalah ke dalam beberapa sub masalah yang bisa diselesaikan secara

    modular. Dengan cara demikian, maka pembuatan program bisa lebih dimanajemen.

    Contoh :

    public class FungsiParameter

    {

    public static int jumlah(int a){

    return a;

    }

    public static void main(String args[]){

    System.out.println("Hasil pemanggilan methode ");

    System.out.println(jumlah(5));

    }

    }

    Hasil Output

    Hasil pemanggilan method jumlah

    5

    Press any key to continue . . .

    Parameter pada baris kedua disebut sebagai parameter formal, dan pada baris ke 8

    disebut parameter aktual.

    Ada 2 buah parameter yaitu

    • parameter formal adalah parameter yang tertulis dalam definisi method

    • Parameter aktual parameter yang berada pada inputan langsung pada saat

    penggunaan method tersebut.

    Parameter bisa lebih dari satu dengan dipisahkan tanda koma,. Yang perlu diperhatikan

    pada saat pemanggilan method adalah jumlah, urutan dan tipe parameter aktual harus

    sesuai dengan jumlah urutan dan tipe parameter formal.

    Pemberian Variabel Dalam Method

  • 8/15/2019 Modul Logika dan Algoritma

    45/65

    Ada dua tipe data variable passing pada method, yaitu  pass-by-value dan  pass-by-

    reference.

     Pass-by-value

    Ketika  pass-by-value terjadi, method membuat sebuah salinan dari nilai variable yangdikirimkan ke mthod. Walaupun demikian method tidak dapat secara langsung

    memodifikasi nilai variable pengirimnya meskipun parameter salinannya sudah

    dimodifikasi nilainya di dalam method.

     Pass-by-reference

    Ketika sebuah  pass-by-reference terjadi, alamat memori dari nilai pada sebuah variable

    dilewatkan pada saat pemanggilan method. Ini tidak seperti pada  pass-by-value, method

    dapat memodifikasi variable asli dengan menggunakan alamat memori tersebut,

    meskipun berbeda nama variable yang digunakan dalam method dengan variable aslinya,

    kedua variable ini menunjukkan lokasi dari data yang sama.

    9.3 Pelaksanaan Praktikum

    Tuliskan program berikut :

    public class Fungsi4a{

    public static int jumlah(int a){

    return (a + a);

    }

    public static void main(String args[]){

    System.out.println("Panggil method jumlah dengan parameter 5");

    System.out.println(jumlah(5));

    System.out.println("Panggil method jumlah dengan parameter 15");

    System.out.println(jumlah(15));

    }

    }

    Hasil OutputPanggil method jumlah dengan parameter 5

    10

    Panggil method jumlah dengan parameter 15

    30

    Press any key to continue . . .

    Program dengan pass-by-value

    public class TestPassByValue

    {

    public static void main(String [] args )

    {int i =10;

  • 8/15/2019 Modul Logika dan Algoritma

    46/65

    System.out.println(i);

    test(i);

    System.out.println(i);

    }

    public static void test(int j)

    { j=33;

    }

    }

    Hasil Output

    10

    10

    Press any key to continue . . .

    Pada program diatas kita memanggil method tes dan melewatkan nilai variable i sebagaiparameter. Nilai pada i disalinkan ke variable j pada method. Pada kondisi ini variable j

    adalah merupakan variable pengganti pada method test, jika nilai j berubah maka nilai

    pada variable I yang terletak pada main tidak akan ikut berubah walaupun awalnya

    variable j merupakan salinan dari variable i.

    Program dengan pass-by-reference

    class TestPassByReference

    {

    public static void main( String [] args)

    {

     //membuat array integer

    int [] ages ={10,11,12};

     //mencetak nilai array

    for (int i=0; i

  • 8/15/2019 Modul Logika dan Algoritma

    47/65

    }

    Hasil output

    10

    11

    1250

    51

    52

    Press any key to continue . . .

    9.4 Latihan

    Kerjakan Program berikut :

    public class Fungsi4c

    {public float jumlah(int a, float b) //tanpa static

    {

    return (a+b);

    }

    public static void main(String args[])

    {

    Fungsi4 obyek=new Fungsi4();

    System.out.print("panggil method jumlah dengan parameter 5 dan 1.5, hasilnya =

    ");

    System.out.println(obyek.jumlah(5, 1.5f));

    System.out.print("panggil method jumlah dengan parameter 10 dan 2.2, hasilnya =

    ");

    System.out.println(obyek.jumlah(10, 2.2f));

    }

    }

    Hasil output

    panggil method jumlah dengan parameter 5 dan 1.5, hasilnya = 6.5

    panggil method jumlah dengan parameter 10 dan 2.2, hasilnya = 12.2

    Modifikasi program diatas dengan menambahkan satu parameter lagi.

    TUGAS

    1. Buat sebuah method yang digunakan untuk menghasilkan nilai paling kecil dari 3

    bilangan yang dimasukkan sebagai parameter.

    2. Tugas dari dosen pengampu

  • 8/15/2019 Modul Logika dan Algoritma

    48/65

    MODUL 10

    ARRAY SATU DIMENSI

    10.1 Tujuan

    Mahasiswa memahami tentang pengertian larik serta dapat membuat program dengan

    menggunakan larik satu dimensi.

    10.2 Dasar Teori

    Array atau larik terdiri atas bagian-bagian komponen yang memiliki tipe data sama.

    Masing - masing elemen array dapat diakses melalui indeksnya. Dalam java indeks

    array selalu bertipe integer yang dimulai dari 0.

    10.3 Pendeklarasian Array

    Array harus dideklarasikan seperti layaknya sebuah variabel. Pada saat

    mendeklarasikan array, anda harus membuat sebuah daftar dari tipe data, yang diikuti

    oleh sepasang tanda kurung [], lalu diikuti oleh nama identifier-nya. Sebagai contoh,

    int [] jumlahHari;

    atau Anda dapat menempatkan sepasang tanda kurung [] sesudah nama identifier .

    Sebagai contoh;

    int jumlahHari [];

    Setelah pendeklarasian array , kita harus membuat array dan menentukan jumlahelemen array Sebagai contoh ;

     //deklarasi array 1 dimensiint [] jumlahHari;

    // deklarasi array 2 dimensi

    int[][] duaD

     //instantiate obyek atau menentukan jumlah elemen arrayjumlahHari = new int[12];

    duaD= new int[2][3]; // Array multidimensi adalah array dari array , dengan konsep

     //pengaksesan [noBaris][noKolom]

    Pada contoh diatas, pendeklarasian tersebut akan memberitahukan kepada compiler

    Java, bahwa identifier jumlahHari akan digunakan sebagai nama array yang berisi

    data bertipe integer, dan dilanjutkan dengan membuat atau meng-instantiate sebuah

    array baru yang terdiri dari 12 elemen. Selain menggunakan sebuah pernyataan new

    untuk meng-instantiate array, Anda juga dapat mendeklarasikan, membangun,

    kemudian memberikan sebuah nilai pada array sekaligus dalam sebuah pernyataan.

  • 8/15/2019 Modul Logika dan Algoritma

    49/65

    10.4 Pengaksesan elemen Array

    Untuk mengakses sebuah elemen dalam array, atau mengakses sebagian dari array,

    Anda harus menggunakan sebuah angka atau yang disebut sebagai indeks atau

    subscript. Pada saat memasukkan nilai ke dalam array, sebuah nomor indeks atau

    subscript telah diberikan kepada tiap anggota array, sehingga program danprogrammer dapat mengakses setiap nilai pada array apabila dibutuhkan. Nilai indeksselalu dalam tipe integer, dimulai dari angka nol dan dilanjutkan ke angkaberikutnya sampai akhir array. Sebagai catatan bahwa indeks didalam array dimulaidari 0 sampai dengan (ukuranArray-1).

     // mengisikan nilai dari setiap elemen array yang ada

     jumlahHari[0] = 31;

     jumlahHari[1] = 28;

     // menampilkan salah satu elemen array

    System.out.println("Bulan Maret memiliki " + jumlahHari[1] +

    " hari.");

    Berikut ini beberapa contoh program Array :

     Nama file : DemoArray1D .java

    class DemoArray1D {

    public static void main(String[] args) {

     // mendeklarasikan variabel bertipe array dengan tipe int

    int [] jumlahHari;

     // menentukan jumlah elemen array

     jumlahHari = new int[12];

     // mengisikan nilai dari setiap elemen array yang ada

     jumlahHari[0] = 31;

     jumlahHari[1] = 28;

     jumlahHari[2] = 31;

     jumlahHari[3] = 30;

     jumlahHari[4] = 31;

     jumlahHari[5] = 30;

     jumlahHari[6] = 31;

     jumlahHari[7] = 31;

     jumlahHari[8] = 30; jumlahHari[9] = 31;

     jumlahHari[10] = 30; jumlahHari[11] = 31;

     // menampilkan salah satu elemen array

    System.out.println("Bulan Maret memiliki " + jumlahHari[2] +

    " hari.");

    }

    }

  • 8/15/2019 Modul Logika dan Algoritma

    50/65

    MODUL 11

    ARRAY MULTI DIMENSI

    11.1 Tujuan

    Mahasiswa memahami tentang pengertian larik serta dapat membuat program dengan

    menggunakan larik multi dimensi.

    11.2 Dasar Teori

    Kita juga bisa membuat variabel larik yang tipe elemennya adalah larik. Dengan cara

    demikian, kita membuat larik dua dimensi. Dengan larik dua dimensi, maka kita

    mempunyai elemen yang berindeks tidak hanya satu, tetapi dua. Kita bisa

    membayangkan larik dua dimensi tersebut seperti sebuah tabel yang berisi baris dan

    kolom. Penyebutan sel tabel selalu diikuti dengan penyebutan baris berapa dan kolom

    berapa.

    Contoh :

    Diberikan data kelulusan mahasiswa sebuah perguruan tinggi sebagai berikut.

    Jurusan 2006 2007 2008

    Teknik 

    Informatika

    110 125 135

    Sistem

    Informasi

    56 75 80

    int data_lulus [2] [3]

    0 1 2

    2006 2007 2008

    [0]

    [0]

    [0]

    [1]

    [0]

    [2]

    [1]

    [0]

    [1]

    [1]

    [1]

    [2]

    TI

    SI

    0

    1

  • 8/15/2019 Modul Logika dan Algoritma

    51/65

    11.3 Pelaksanaan Praktikum

    Tuliskan program berikut :

    public class ArrayDimensiDua

    {

    public static void main(String [] args){

    int [][] piksel = new int[2][3];

     // mengisi elemen tertentu

    piksel[0][0] = 70;

    piksel[0][1] = 18;

    piksel[0][2] = 45;

    piksel[1][0] = 75;

    piksel[1][1] = 66;

    piksel[1][2] = 89;

     //menampilkan elemen array

    int i,j;for(i=0;i

  • 8/15/2019 Modul Logika dan Algoritma

    52/65

    System.out.println("Data nilai yang dimasukan");

    for (int i = 0; i < 2; i++){

    for (int j = 0; j < 3; j++)

    System.out.print(nilai[i][j]+" ");

    System.out.println();}}

    }

    Program latihan 2

    program untuk menjumlahkan matrik :

    import java.util.Scanner;

    public class JumlahMatriks{

    Scanner masuk = new Scanner(System.in);

    public void masukData(float data[][]){for (int i = 0; i < 3; i++){

    for (int j = 0; j < 3; j++){

    System.out.print( "("+(i + 1 )+" , "+ (j+1)+")"

    + " : ");

    data[i][j]=masuk.nextFloat();

    }

    }

    }

    public float[][] tambah(float AA[][],

    float BB[] []){float hasil[][]= new float[3][3];

    for (int i = 0; i < 3; i++)

    for (int j = 0; j < 3; j++)

    hasil[i][j] = AA[i][j] + BB[i][j];

    return hasil;

    }

    public void tampilData(float data[][], char nama){

    for (int i=0;i

  • 8/15/2019 Modul Logika dan Algoritma

    53/65

     jumlah.masukData(B);

    C = jumlah.tambah(A,B);

     jumlah.tampilData(C,'C');

    }

    }

    Hasil output

    Masukkan data matriks A

    (1 , 1) : 2

    (1 , 2) : 3

    (1 , 3) : 1

    (2 , 1) : 4

    (2 , 2) : 2

    (2 , 3) : 4

    (3 , 1) : 1

    (3 , 2) : 2

    (3 , 3) : 3

    Masukkan data matriks B

    (1 , 1) : 5

    (1 , 2) : 4

    (1 , 3) : 3

    (2 , 1) : 6

    (2 , 2) : 2

    (2 , 3) : 3

    (3 , 1) : 4

    (3 , 2) : 1(3 , 3) : 3

    C[1] [1] = 7.0 C[1] [2] = 7.0 C[1] [3] = 4.0

    C[2] [1] = 10.0 C[2] [2] = 4.0 C[2] [3] = 7.0

    C[3] [1] = 5.0 C[3] [2] = 3.0 C[3] [3] = 6.0

    Press any key to continue . . .

    1. TUGAS

    Buat sebuah program dengan larik untuk menyimpan 10 data mahasiswa yaitu berupa

    NIM, nama dan jurusan

  • 8/15/2019 Modul Logika dan Algoritma

    54/65

    MODUL 12

    KELAS, OBJECT & METHOD

    12.1 Tujuan

    Mahasiswa dapat membuat obyek yang mengacu ke kelas tersebut.

    12.2 Dasar Teori

    Kelas dapat didefinisikan sebagai cetak biru (blueprint) atau kerangka yang

    mendefenisikan variabel-variabel (data) dan method-method (perilaku) dari sebuah

    objek tertentu. Kelas adalah pola(template) untuk pembuatan objek dan bersifat abstrak,

    dan objek adalah wujud nyata (instance) dari sebuah kelas.

    Sebagai contoh : manusia adalah kelas sedangkan objeknya adalah si Udin , si tono si

    dewi.

    12.2.1 Mendefinisikan kelas

    Dalam java, kelas didefinisikan dengan menggunkan kata kunci class. Berikut ini

    bentuk umum nya :

    Class NamaKelas{

    Tipe data1;

    Tipe data2;

    ……..

    Tipe dataN;

    Tipe Method1(daftar – parameter) {

     // kode untuk method1

    }

    Tipe method2(daftar-parameter){

     // kode untuk method2

    }……..

    Tipe method(daftar-parameter){

     //kode untuk method N}

    }

    Data atau variabel yang didefinisikan di dalam sebuah kelas disebut instance variabel.

    Data akan diakses melalui method  – method yang ada. Berikut ini adalah contoh

    program

     Nama file : DemoKotak1 .java

    class Kotak {

    double panjang;double lebar;

  • 8/15/2019 Modul Logika dan Algoritma

    55/65

    double tinggi;

    }

    class DemoKotak1 {

    public static void main(String[] args) {

    double volume;

    Kotak k = new Kotak();

     // Mengisikan nilai ke dalam data-data kelas Kotak 

    k.panjang = 4;

    k.lebar = 3;

    k.tinggi = 2;

     // Menghitung isi/volume kotak 

    volume = k.panjang * k.tinggi * k.lebar;

     // Menampilkan nilai volume ke layar monitor

    System.out.println(“Volume kotak = “ + volume);

    }

    }

    12.2.2 Mendefinisikan Method

    Method adalah implementasi dari bagaimana bekerjanya sebuah class. Dengan

    Method dapat melakukan Manipulasi data, Perhitungan matematik dan Memonitor

    kejadian dari suatu event .

    Adapun bentuk umumnya adalah:

    Tipe namaMethod(daftar-parameter) {

     // kode yang akan ditulis

    }

    Keterangan :

    Tipe adalah tipe data yang akan di kembalikan oleh method.

    Dalam java method terbagi menjadi dua yaitu void dan non void . method void adalah

    method yang tidak mengembalikan nilai. Sedangkan method non void adalah method

    yang mengembalikan nilai. Berikut ini adalah contoh programnya ;

     Nama file : DemoMethod1 .java

    class Kotak {

    double panjang;

    double lebar;

    double tinggi;

     // Mendefinisikan method void (tidak mengembalikan nilai)

  • 8/15/2019 Modul Logika dan Algoritma

    56/65

    void cetakVolume() {

    System.out.println("Volume kotak = " +

    (panjang * lebar * tinggi));

    }

    }

    class DemoMethod1 {

    public static void main(String[] args) {

    Kotak k1, k2, k3;

     // instansiasi objek 

    k1 = new Kotak();

    k2 = new Kotak();

    k3 = new Kotak();

     // mengisi data untuk objek k1

    k1.panjang = 4;k1.lebar = 3;

    k1.tinggi = 2;

     // mengisi data untuk objek k2

    k2.panjang = 6;

    k2.lebar = 5;

    k2.tinggi = 4;

     // mengisi data untuk objek k3

    k3.panjang = 8;

    k3.lebar = 7;

    k3.tinggi = 6;

     // memanggil method cetakVolume() untuk masing-masing objek 

    k1.cetakVolume();

    k2.cetakVolume();

    k3.cetakVolume();

    }

    }

     Nama file : DemoMethod2 .java

    class Kotak {

    double panjang;

    double lebar;

    double tinggi;

     // Mendefinisikan method yang mengembalikan tipe double

    double hitungVolume() {

     // menghitung volume

    double vol = panjang * lebar * tinggi; // mengembalikan nilai

  • 8/15/2019 Modul Logika dan Algoritma

    57/65

    return vol;

    }

    }

    class DemoMethod2 {

    public static void main(String[] args) {

    Kotak k1, k2, k3;

    k1 = new Kotak();

    k2 = new Kotak();

    k3 = new Kotak();

    k1.panjang = 4;

    k1.lebar = 3;

    k1.tinggi = 2;

    k2.panjang = 6;

    k2.lebar = 5;

    k2.tinggi = 4;

    k3.panjang = 8;

    k3.lebar = 7;

    k3.tinggi = 6;

    System.out.println("Volume k1 = " + k1.hitungVolume());

    System.out.println("Volume k2 = " + k2.hitungVolume());

    System.out.println("Volume k3 = " + k3.hitungVolume());

    }

    }

     Nama file : SepedaBeraksi .java

    class Sepeda{

    int kecepatan = 0;

    int gir = 0;

     // method

    void ubahGir(int pertambahanGir) {

    gir= gir+ pertambahanGir;

    System.out.println(" Gir:" + gir);

    }

    void tambahKecepatan(int pertambahanKecepatan) {

    kecepatan = kecepatan+ pertambahanKecepatan;

    System.out.println(" Kecepatan:" + kecepatan);

    }

    public class SepedaBeraksi{public static void main(String[] args) {

  • 8/15/2019 Modul Logika dan Algoritma

    58/65

     // Membuat object

    Sepeda sepedaku = new Sepeda();

     //memanggil atribut dan memberi nilai

    sepedaku.kecepatan=10;

    sepedaku.gir=2;

     // Memanggil method dan menunjuk nilai parametersepedaku.tambahKecepatan(30);

    sepedaku.ubahGir(3);

    }}

    Tugas1. Buat Class bernama Matematika, yang berisi method dengan dua parameter:

    • pertambahan

    • pengurangan

    perkalian• pembagian

    2. Buat Class bernama MatematikaBeraksi, yang mengeksekusi method danmenampilkan:

    • Pertambahan: 20 + 20 = 40

    • Pengurangan: 10-5 = 5

    • Perkalian: 10x20 = 200

    • Pembagian: 21/2 = 10.5 (float or double)

  • 8/15/2019 Modul Logika dan Algoritma

    59/65

    MODUL 13

    REKURSI

    13.1 Tujuan

    Mahasiswa dapat membuat dan mengerti tentang rekursi di pemograman java.

    13.2 Dasar Teori

    Dalam Java, rekursi adalah proses pemanggilan method oleh dirinya sendiri secara

    berulang. Rekursi digunakan untuk menyederhanakan algoritma dari suatu proses

    perulangan tertentu sehingga penulisan kode programnya akan lebih efesien.

    Sebagai contoh konsep rekursi adalah perhitungan nilai factorial dari bilangan bulat non

    negative. Proses rekursif dapat kita tuliskan dalam fungsi matematik sbb;

    f! (n) = n * f(n-1)

    dengan ketentuan f!(0) = 1. Merupakan suatu tetapan numerik yang tidak dapat diubah.

    Apabila n berilai 5 maka proses akan dilakukan program sbb :

    factorial(5) = 5 * factorial(4)

    factorial(4) = 4 * factorial(3)

    factorial(3) = 3 * factorial(2)

    factorial(2) = 2 * factorial(1)

    factorial(1) = 1 * factorial(0)

    factorial(0) = 1

    factorial(1) = 1*1factorial(2) = 2*1

    factorial(3) = 3*2

    factorial(4) = 4*6

    factorial(5) = 5*24 = 120

     Nama file : DemoRekursi1 .java

    class Rekursi {

    int faktorial(int n) {

    if (n == 0) {return 1;

    } else {

    return (n * faktorial(n-1));

    }

    }

    void cetakFaktorial(int n) {

    System.out.print(n + "! = ");

    for (int i=n; i>=1; i--) {

    if (i != 1) {

    System.out.print(i + " x ");} else {

  • 8/15/2019 Modul Logika dan Algoritma

    60/65

    System.out.print(i + " = ");

    }

    }

    System.out.println(faktorial(n));

    }

    }

    class DemoRekursi1 {

    public static void main(String[] args) {

    Rekursi obj = new Rekursi();

    obj.cetakFaktorial(5);

    obj.cetakFaktorial(4);

    obj.cetakFaktorial(3);

    }

    }

     Nama file : DemoRekursi3 .javaProgram untuk mengkonversi dari desimal ke biner

    class Rekursi {

    void DesimalKeBiner(int n) {

    if (n > 1) {

    DesimalKeBiner(n / 2);

    }

    System.out.print(n % 2);

    }

    }

    class DemoRekursi3 {

    public static void main(String[] args) {

    Rekursi obj = new Rekursi();

    System.out.print("Bentuk biner dari 1 : ");

    obj.DesimalKeBiner(1);

    System.out.println();

    System.out.print("Bentuk biner dari 2 : ");

    obj.DesimalKeBiner(2);

    System.out.println();

    System.out.print("Bentuk biner dari 4 : ");

    obj.DesimalKeBiner(4);

    System.out.println();

    System.out.print("Bentuk biner dari 6 : ");

  • 8/15/2019 Modul Logika dan Algoritma

    61/65

  • 8/15/2019 Modul Logika dan Algoritma

    62/65

    MODUL 14

    INPUT DATA MELALUI KEYBOARD DALAM JAVA

    14.1 Tujuan

    Mahasiswa dapat membuat dan mengerti tentang input data di pemograman java.

    14.2 Menginput sebuah karakter

    Untuk membaca input berupa karakter gunakan method read() yang terdapat kelas

    BufferedReader. Adapun deklarasi method read() sbb;

    Int read() throws IOException

    Berikut ini contoh programnya :

     Nama file : DemoInputKarakter .java

    import java.io.*;

    class DemoInputKarakter {

    public static void main(String[] args) throws IOException {

    System.out.print("Masukkan sembarang karakter: ");

    char ch;

    InputStreamReader isr = new InputStreamReader(System.in);

    BufferedReader br = new BufferedReader(isr);

    ch = (char) br.read();

    System.out.println("Karakter yang dimasukkan adalah \'" +

    ch + "\'");

    }}

    14.3 Menginput sebuah String

    Untuk membaca input string gunakan method readLine() Adapun bentuk umumnya

    method tersebut adalah :

    String readLine() throws IOException

    Berikut ini contoh programnya : Nama file : DemoInputString

  • 8/15/2019 Modul Logika dan Algoritma

    63/65

    import java.io.*;

    class DemoInputString {

    public static void main(String[] args) throws IOException {

    System.out.print("Masukkan nama Anda: ");

    String nama;

    InputStreamReader isr = new InputStreamReader(System.in);

    BufferedReader br = new BufferedReader(isr);

    nama = br.readLine();

    System.out.println("Halo " + nama +", sudahkah Anda mengerti Java?");

    }

    }

    14.4 Menginput Data Numerik

    Untuk membaca input data numeric sama seperti mengimput data karakter / string,

    hanya data string hasil input dikonversi ke tipe numeric. Sebagai contoh dapat dilihat

    dari program sbb;

    Berikut ini contoh programnya :

     Nama file : DemoInputNumerik1

    import java.io.*;

    class DemoInputNumerik1 {

    public static void main(String[] args) throws IOException {

    System.out.print("Masukkan sebuah bilangan bulat: ");

    String temp;

    int bilangan = 0;

    InputStreamReader isr = new InputStreamReader(System.in);

    BufferedReader br = new BufferedReader(isr);

     // input data dianggap sebagai string

    temp = br.readLine();

    try {  // konversi dari string ke integer

  • 8/15/2019 Modul Logika dan Algoritma

    64/65

    bilangan = Integer.parseInt(temp);

    } catch (NumberFormatException nfe) {

    System.out.println("Data yang dimasukkan " +

    "bukan bilangan bulat");

    System.exit(1);

    }

    System.out.println("Bilangan yang dimasukkan " +

    "adalah " + bilangan);

    }

    }

     Nama file : DemoInputNumerik2

    import java.io.*;

    class DemoInputNumerik2 {

    public static void main(String[] args) throws IOException {

    System.out.print("Masukkan sebuah bilangan riil: ");

    String temp;

    double bilangan = 0;

    InputStreamReader isr = new InputStreamReader(System.in);

    BufferedReader br = new BufferedReader(isr);

     // input data dianggap sebagai string

    temp = br.readLine();

    try {

     // konversi dari string ke floating-point

    bilangan = Double.parseDouble(temp);

    } catch (NumberFormatException nfe) {

    System.out.println("Data yang dimasukkan bukan bilangan");

    System.exit(1);

    }

    System.out.println("Bilangan yang dimasukkan " +

    "adalah " + bilangan);

    }

    }

  • 8/15/2019 Modul Logika dan Algoritma

    65/65

    DAFTAR PUSTAKA

    1. Modul Algoritma dan Pemograman Akakom

    2. Buku mudah belajar java penerbit Informatika

    3. Buku Bagaimana Berfikir Sebagai Ilmuwan Komputer

    4. Modul JENI Ver 2.0 dari Jardiknas