BAB III EKSPERIMEN AWAL

Ukuran: px
Mulai penontonan dengan halaman:

Download "BAB III EKSPERIMEN AWAL"

Transkripsi

1 BAB III EKSPERIMEN AWAL Bab ini mendiskusikan mengenai eksperimen awal yang dilakukan dalam penelitian ini. Eksperimen dilakukan untuk mengeksplorasi kapabilitas T2 Framework sebagai sebuah verification tool. Eksperimen awal dilakukan juga dengan tujuan untuk memperoleh gambaran awal mengenai karakteristik T2 Framework sebelum eksperimen utama yang dilakukan terhadap studi kasus. Tujuan dari eksperimen awal dijelaskan dalam bahasan mengenai tujuan eksperimen, sementara detail dari contoh kasus dalam eksperimen dijelaskan pada bagian Langkahlangkah Eksperimen, Implementasi Contoh Kasus, dan Ruang Lingkup Eksperimen. Bagian terakhir adalah Analisis Hasil Eksperimen Awal, yang menyertakan analisis dan kesimpulan awal terhadap karakteristik T2 Framework berdasarkan hasil eksperimen awal Tujuan Eksperimen Eksperimen ini dilakukan untuk mengeksplorasi kapabilitas T2 untuk contoh kasus berupa program sederhana. Secara umum, tujuan dari eksperimen awal dapat dijabarkan sebagai berikut. 1. Mempelajari dan melakukan eksplorasi awal terhadap kapabilitas T2 sebagai sebuah verification tool. 2. Mempelajari dan menerapkan teknik verifikasi dengan T2 untuk contoh kasus dengan program sederhana. 3. Penerapan akan pemahaman yang diperoleh dari studi literatur yang telah dilakukan sebelumnya. 4. Mempelajari kemungkinan kecocokan T2 Framework untuk penggunaan dalam eksperimen terhadap studi kasus. 36

2 Untuk eksperimen awal, digunakan sebuah program sederhana dalam Java. Program sederhana di sini didefinisikan sebagai sebuah program yang dibangun dengan Java, terdiri atas satu buah class dengan sourcecode tidak lebih dari 150 baris Langkah-langkah Eksperimen Dalam eksperimen awal, langkah-langkah yang dilakukan ditetapkan sebagai berikut. 1. Penetapan algoritma dalam contoh kasus yang akan digunakan untuk pengujian dengan T2. 2. Implementasi contoh kasus dalam Java. Pada tahap ini dilakukan coding untuk membangun program yang ditetapkan sebagai contoh kasus. 3. Penetapan spesifikasi dari contoh kasus yang dikembangkan, berikut penulisan spesifikasi untuk pengujian dengan T2. 4. Verifikasi contoh kasus terhadap spesifikasi dengan menggunakan T2. 5. Analisis terhadap hasil verifikasi yang dilakukan dengan T Implementasi Contoh Kasus Bagian ini membahas mengenai detail dari implementasi contoh kasus yang dilakukan. Program yang menjadi contoh kasus dibangun dengan Java, di-compile dengan menggunakan SDK untuk Java 2 Standard Edition, versi Deskripsi Contoh Kasus Contoh kasus yang digunakan dalam eksperimen awal adalah sebuah program sederhana yang memilki fungsi untuk mencari akar dari sebuah persamaan kuadrat ax 2 + bx +c. Proses pencarian akar dari persamaan kuadrat dilakukan dengan implementasi terhadap metode Newton [9]. 37

3 Program terdiri atas sebuah class QuadraticSolver yang menggunakan metode Newton untuk menentukan akar dari sebuah persamaan kuadrat, apabila diberikan sembarang koefisien a, b, dan c. Sourcecode dari program yang digunakan dalam eksperimen awal adalah sebagai berikut. public class QuadraticSolver { static final int ONE_ROOT= 200; static final int TWO_ROOTS = 201; static final int NO_REAL_ROOT = 202; static final double INITIAL_GUESS = 1; static final double D_VALUE = 1E-10; static final double E_VALUE = 1E-4; //equation variables double a, b, c; //newton variables double x, d; //supporting vars double roots[], diff[], aroot, adiff, disc; public QuadraticSolver(String sa, String sb, String sc) { a = Double.parseDouble(sa); b = Double.parseDouble(sb); c = Double.parseDouble(sc); //array untuk hasil dan nilai selisih roots = new double [2]; diff = new double [2]; //print koefisien a, b, c System.out.println("a = "+a+" b = "+b+" c = "+c); //operasi diskriminan (akar tunggal, akar ganda, non-real) switch (discriminant(a,b,c)) { case ONE_ROOT: roots[0] = rootof(a,b,c); roots[1] = roots[0]; diff[0] = adiff; diff[1] = adiff; break; case TWO_ROOTS: roots[0] = rootof(a,b,c); diff[0] = adiff; 38

4 do { roots[1] = rootof(a,b,c); diff[1] = adiff; while (Math.abs(roots[0] - roots[1]) < D_VALUE); break; case NO_REAL_ROOT: System.out.println("no real root."); return; System.out.println("roots are: "+roots[0]+" and "+roots[1]); System.out.println("diff#0 = "+diff[0]); System.out.println("diff#1 = "+diff[1]); public double rootof(double a, double b, double c) { //random integer untuk initial guess x = new java.util.random().nextint(); c = c/a; b=b/a; a = 1; do { d = (Math.pow(x, 2)+b*x+c)/(2*x+b); x = x-d; while (Math.abs(d) >= D_VALUE); //selisih antara hasil dengan nilai sebenarnya //adiff == 0 untuk akurasi tertinggi adiff = Math.abs(a*(Math.pow(x, 2)) + b*x + c); return x; public int discriminant(double a, double b, double c) { //operasi diskriminan double disc = (Math.pow(b,2))-(4*a*c); //jenis akar yang dimiliki oleh persamaan kuadrat if (disc > 0) return TWO_ROOTS; else if (disc == 0) return ONE_ROOT; else return NO_REAL_ROOT; public static void main (String[] argv) { new QuadraticSolver(argv[0], argv[1], argv[2]); 39

5 Secara umum, fungsi yang dilakukan oleh QuadraticSolver adalah mencari akarakar dari suatu persamaan kuadrat, apabila diberikan koefisien a, b, dan c untuk persamaan tersebut. Dilakukan juga kalkulasi diskriminan untuk menentukan apakah suatu persamaan memiliki akar real atau tidak. Pada class berikut. QuadraticSolver, didefinisikan constructor dan method sebagai public QuadraticSolver(String sa, String sb, String sc) constructor yang menerima tiga buah String sebagai representasi dari koefisien a, b, dan c dari persamaan kuadrat. Masing-masing parameter ini kemudian di-parse sebagai tipe data double. public double rootof(double a, double b, double c) method yang memiliki fungsi untuk mencari satu buah akar dari persamaan kuadrat dengan koefisien a, b, dan c yang diberikan. Digunakan metode Newton dengan initial guess yang bersifat random dalam pencarian akar. public int discriminant(double a, double b, double c) method pendukung untuk menentukan sifat dari persamaan kuadrat yang diberikan. (akar tunggal bilangan real, dua akar bilangan real, atau tidak memiliki akar bilangan real) Spesifikasi Program Dari program yang telah dijelaskan sebelumnya, akan diuji apakah program tersebut valid dalam fungsinya untuk mencari akar dari persamaan kuadrat. Pengujian dilakukan dengan menggunakan T2, dengan spesifikasi yang ditetapkan untuk kebutuhan tersebut. Telah diketahui bahwa fungsi utama dari program ini terletak pada method rootof (lihat penjelasan pada bagian sebelumnya). Penggunaan spesifikasi terhadap class invariant tidak relevan dalam eksperimen awal ini, mengingat pada kasus ini operasi 40

6 yang dilakukan tidak memiliki predikat yang harus dipertahankan pada instance dari class yang bersangkutan. Dengan demikian, spesifikasi pada eksperimen awal dibatasi kepada spesifikasi method, yang meliputi precondition dan postcondition pada method. Spesifikasi yang ditetapkan untuk pengujian adalah sebagai berikut, untuk method rootof. public double rootof_spec(double a, double b, double c) { assert a!= 0 : "PRE"; double d = rootof(a, b, c); assert Math.abs(a*(Math.pow(d, 2))+ b*d + c) < E_VALUE : "POST"; return d; Spesifikasi untuk method tersebut dapat dijelaskan sebagai berikut: precondition: a 0 Untuk sebuah persamaan kuadrat ax 2 +bx +c = 0, perlu diperhatikan bahwa koefisien a tidak boleh sama dengan nol. Hal ini akan mengakibatkan persamaan tersebut menjadi persamaan linear bx+c, dan dengan demikian kalkulasi dalam method tersebut akan menjadi invalid. postcondition: ax 2 +bx +c 0 Kebenaran dari akar persamaan yang diperoleh diuji dengan memasukkan bilangan tersebut ke dalam persamaan awal. Di sini perlu diperhatikan bahwa walaupun secara matematis dapat dinyatakan ax 2 +bx +c = 0, namun komputasi numerik memiliki keterbatasan dengan bilangan floating point. Di sini, dilakukan pembatasan nilai dengan toleransi yang ditetapkan dengan konstanta E_VALUE. Di sisi lain, dapat diperhatikan bahwa spesifikasi tersebut juga memenuhi bentuk umum Hoare triple, dengan assertion sebagai media untuk melakukan pengecekan precondition dan postcondition. Dalam konteks pengujian dengan T2, satu tahap program dalam Hoare triple adalah sebuah eksekusi dari sebuah method. 41

7 3.4. Ruang Lingkup Eksperimen Awal Secara khusus, pengujian dalam eksperimen awal meliputi eksplorasi kapabilitas T2 terhadap kemungkinan-kemungkinan sebagai berikut: 1. Pengujian terhadap logic error yang terdapat dalam code. 2. Pengujian terhadap perubahan beberapa konstanta dalam program. Hasil pengujian kemudian dianalisis untuk memperoleh gambaran awal mengenai kapabilitas T2 sebagai sebuah verification tool Pengujian terhadap Logic Error Pada tahap ini, dilakukan pengujian dengan membuat dua versi dari program yang diujikan. Satu versi adalah program yang valid, sementara versi lain adalah program yang memiliki kesalahan logika di dalamnya. Perbedaan antara kedua versi terletak dalam method rootof, yaitu sebagai berikut. public double rootof(double a, double b, double c) { x = new java.util.random().nextint(); c = c/a; b=b/a; a = 1; do { //~ baris di bawah ini salah, seharusnya //~ d = (Math.pow(x, 2)+b*x+c)/(2*x+b); d = (Math.pow(x, 2)+b*x+c)/2*x+b; x = x-d; while (Math.abs(d) >= D_VALUE); adiff = Math.abs(a*(Math.pow(x, 2)) + b*x + c); return x; Dapat diperhatikan pada potongan program yang ditampilkan bahwa terdapat kesalahan dalam proses assignment terhadap nilai d. Dalam operasi menggunakan metode Newton, nilai variabel d seharusnya didefinisikan sebagai berikut. 42

8 d f ( x) f '( x) 2 x bx c 2x b Untuk keadaan tersebut, seharusnya nilai d dinyatakan dalam program sebagai berikut: d = (Math.pow(x, 2)+b*x+c)/(2*x+b); Meskipun demikian, dalam program tersebut terdapat kesalahan bahwa nilai d dinyatakan sebagai berikut: d = (Math.pow(x, 2)+b*x+c)/2*x+b; Kesalahan terdapat pada bagian yang digarisbawahi, di mana pada bagian tersebut seharusnya ekspresi 2*x+b diletakkan dalam tanda kurung. Kesalahan tersebut mengakibatkan definisi nilai d menjadi salah; seharusnya ekspresi 2*x+b berada di sisi bawah sebagai penyebut dalam pecahan. Proses pengujian kemudian dilakukan dengan hipotesis bahwa T2 akan mengekspos kesalahan tersebut dalam proses verifikasi Pengujian terhadap Akurasi Solusi Pada tahap ini, dilakukan pengujian terhadap akurasi solusi yang diajukan oleh program, dengan T2 sebagai media pengujiannya. Di sini dilakukan modifikasi terhadap dua buah konstanta dalam program, yaitu sebagai berikut. D_VALUE nilai toleransi yang menjadi loop guard dalam iterasi metode Newton. Bilangan x n yang diperoleh pada iterasi ke-n dianggap cukup akurat sebagai solusi persamaan, apabila nilai d = f(x)/f'(x) memiliki nilai di bawah ambang batas tertentu. Semakin kecil nilai D_VALUE, semakin akurat akar persamaan kuadrat yang diperoleh. E_VALUE nilai toleransi yang digunakan dalam spesifikasi postcondition. Sehubungan dengan keterbatasan sistem bilangan floating point, nilai dari suatu akar persamaan kuadrat x 1 dan x 2 tidak dapat langsung dimasukkan ke 43

9 dalam persamaan ax 2 + bx + c = 0. E_VALUE di sini adalah toleransi untuk keterbatasan tersebut; semakin kecil nilai E_VALUE, dibutuhkan hasil yang semakin akurat untuk memenuhi postcondition tersebut Analisis Hasil Eksperimen Awal Pada eksperimen awal, diperoleh hasil yang kemudian dianalisis sebagai gambaran awal akan kapabilitas T2 sebagai verification tool. Dari kedua jenis pengujian yang dilakukan, diperoleh hasil yang masing-masing dapat dijabarkan sebagai berikut Analisis terhadap Pengujian Logic Error Telah dijelaskan sebelumnya bahwa pada pengujian ini dibuat dua versi dari program. Masing-masing diuji dengan T2, dengan spesifikasi yang telah ditentukan. Dipersiapkan pula hipotesis awal mengenai hasil yang mungkin terjadi sebelum pengujian, dengan selengkapnya sebagai berikut. Tabel 1: Hasil Pengujian terhadap Logic Error pada Eksperimen Awal Program Hipotesis Hasil Verifikasi Catatan stable-01 Valid Valid defect-01 Invalid Invalid postcondition tidak terpenuhi stable-01: program valid defect-01: program dengan kesalahan Pada tahap ini diperoleh hasil pengujian yang sesuai dengan hipotesis untuk masingmasing jenis program. Pada program stable-01, penggunaan formula untuk metode 44

10 Newton dilakukan dengan benar, dan dengan demikian hasil yang diperoleh dapat memenuhi postcondition yang ditetapkan. Hal ini tidak terjadi pada program defect- 01, di mana terdapat kesalahan pada penulisan formula dari metode Newton, mengakibatkan konvergensi yang tidak tepat dalam pencarian akar. Untuk kasus sederhana ini, T2 mampu menemukan dengan dengan tepat kesalahan yang terdapat pada program. Pada laporan yang dihasilkan oleh T2, diperlihatkan trace dari eksekusi program yang mengekspos logic error yang terjadi. Berikut adalah sebagian dari laporan yang dihasilkan oleh T2, untuk program defect-01. [...] ** STEP 2. ** Calling method rootof_spec with: ** Receiver: target-obj ** Arg [0:] (Double) : ** Arg [1:] (Double) : ** Arg [2:] (Double) : ** Target object after the step: 0 ONE_ROOT (Integer) : 200 TWO_ROOTS (Integer) : 201 NO_REAL_ROOT (Integer) : 202 INITIAL_GUESS (Double) : 1.0 a (Double) : 1.0 b (Double) : 1.0 c (Double) : 1.0 x (Double) : NaN d (Double) : NaN roots 6 [0] (Double) : 0.0 [1] (Double) : 0.0 aroot (Double) : 0.0 disc (Double) : 0.0 ROUNDING_LENGTH (Integer) : 20 xx Assertion VIOLATED! ** Strack trace: java.lang.assertionerror: POST at QuadraticSolver.rootOf_spec(QuadraticSolver.java:102) at sun.reflect.nativemethodaccessorimpl.invoke0(native Method) [...] 45

11 Laporan yang dihasilkan T2 memberikan informasi mengenai kesalahan yang timbul berikut lokasinya, sampai pada tingkat method yang diverifikasi. Meskipun demikian, laporan yang dihasilkan T2 tidak secara langsung memberikan informasi secara detail mengenai jalannya program dalam method yang diverifikasi. Laporan yang dihasilkan oleh T2 juga masih belum menjelaskan secara rinci mengenai spesifikasi yang tidak terpenuhi dalam pengujian; sejauh ini hasil yang dilaporkan terbatas keadaan dari spesifikasi (terpenuhi atau tidak terpenuhi), tanpa rincian lebih lanjut mengenai proses yang terjadi dalam kasus tersebut. Secara umum, untuk pengujian sederhana ini T2 dapat menemukan logic error secara akurat pada tingkat method. Meskipun demikian, hal ini perlu diselidiki lebih lanjut untuk pengujian method dengan kompleksitas yang lebih tinggi dan spesifikasi yang lebih kompleks Analisis terhadap Akurasi Solusi Pada tahap ini diperoleh hasil pengujian untuk program yang valid, namun dengan modifikasi konstanta yang dilakukan untuk masing-masing variasi program. Hal ini dilakukan untuk menyelidiki kemampuan T2 untuk menilai ketepatan jalannya program, dengan toleransi kesalahan tertentu yang ditetapkan. Fokus pengujian diarahkan kepada pengamatan karakteristik tipe data numerik (secara khusus, tipe data double) dan analisis perilaku T2 terhadap karakteristik tersebut. Kasus yang diujikan meliputi modifikasi bilangan yang menjadi batas iterasi dari metode Newton dan modifikasi bilangan toleransi kesalahan pada postcondition. Hasil dari pengujian ini kemudian menjadi acuan dalam analisis perilaku T2 proses verifikasi. Penjelasan mengenai pengujian ini dapat ditemukan pada pembahasan sebelumnya dari laporan ini. Masing-masing bilangan yang dimodifikasi ditetapkan sebagai berikut. 46

12 Tabel 2: Konstanta Akurasi pada Eksperimen Awal Konstanta Tinggi Akurasi Rendah Catatan Batas iterasi metode D_VALUE Newton E_VALUE Toleransi postcondition D_VALUE : akurasi berbanding lurus dengan akurasi hasil yang diberikan E_VALUE: akurasi berbanding lurus dengan akurasi yang ditetapkan pada postcondition Dari modifikasi tersebut, diperoleh hasil yang merepresentasikan perilaku T2 terhadap perubahan karakteristik hasil yang diberikan. Perlu diperhatikan bahwa dalam pengujian ini logika dasar program tidak mengalami perubahan, kecuali pada modifikasi konstanta yang telah dijelaskan. Berikut adalah hasil dari eksperimen yang dilakukan terhadap masing-masing kombinasi. Disertakan juga hipotesis awal dari kombinasi yang bersesuaian untuk perbandingan terhadap hasil verifikasi. Tabel 3: Hasil Pengujian Akurasi Solusi pada Eksperimen Awal Akurasi Akurasi Hipotesis Awal Hasil Verifikasi D_VALUE E_VALUE C1 Rendah Rendah Invalid Valid C2 Rendah Tinggi Invalid Invalid 47

13 C3 Tinggi Rendah Valid Valid C4 Tinggi Tinggi Valid Valid Pengujian dilakukan dengan 10 kali test-run dengan T2 - valid: tidak ada pelanggaran spesifikasi yang ditemukan T2 untuk semua sesi test-run - invalid: terdapat setidaknya satu pelanggaran spesifikasi yang ditemukan T2 Hipotesis awal ditetapkan untuk dua kombinasi (c3, c4) dengan argumen bahwa nilai D_VALUE dengan akurasi tinggi akan memberikan hasil verifikasi yang valid, dengan syarat diberikan logika program yang dijamin kebenarannya. Untuk dua kombinasi yang tersisa (c1, c2), hipotesis awal adalah bahwa program mungkin akan dianggap invalid sehubungan dengan rendahnya akurasi D_VALUE yang diujikan. Pada kasus ini terdapat kemungkinan bahwa jalannya program tidak akan memenuhi postcondition pada spesifikasi. Perlu diperhatikan bahwa dalam implementasi dengan metode Newton, nilai D_VALUE adalah faktor toleransi kesalahan yang diizinkan untuk setiap hasil akar persamaan kuadrat yang diberikan. Penetapan D_VALUE dengan akurasi yang rendah akan mengakibatkan bahwa hasil yang diperoleh akan memiliki akurasi yang rendah pula. Memperhatikan kembali kombinasi c1 dan c2, akurasi D_VALUE rendah (10-2 untuk E_VALUE 10-4 dan ), hipotesis yang ditarik adalah bahwa hasil verifikasi mungkin akan menyatakan bahwa aplikasi dianggap tidak valid. Pengujian untuk D_VALUE dengan akurasi tinggi (c3, c4) memberikan hasil bahwa aplikasi tersebut valid dalam verifikasi oleh T2. Hal ini sesuai dengan hipotesis awal bahwa nilai D_VALUE yang tinggi akan memberikan hasil dengan akurasi tinggi, tanpa dipengaruhi oleh akurasi E_VALUE yang ditetapkan sebagai postcondition. 48

14 Sebaliknya, modifikasi nilai akurasi E_VALUE dapat mempengaruhi hasil verifikasi, tergantung kepada nilai akurasi D_VALUE yang ditetapkan. Dari hasil pengujian dapat diperhatikan bahwa nilai D_VALUE dengan akurasi rendah dan E_VALUE dengan akurasi rendah (c1) memberikan hasil verifikasi bahwa program valid terhadap spesifikasinya. Di sisi lain, nilai D_VALUE dengan akurasi rendah dan E_VALUE dengan akurasi tinggi (c2) memberikan hasil verifikasi bahwa program tidak valid. Hal ini disebabkan oleh postcondition yang ketat (dengan akurasi E_VALUE tinggi) dan tidak dapat dipenuhi dengan akurasi D_VALUE yang rendah. Secara umum, hal ini dapat dianalisis sebagai akibat dari kombinasi nilai D_VALUE untuk nilai E_VALUE dengan akurasi tinggi. Pada akurasi D_VALUE dan E_VALUE yang sama-sama tinggi (10-10 dan ), program dinyatakan valid dalam proses verifikasi. Hal ini sesuai hipotesis bahwa pada tingkat akurasi yang sama-sama tinggi, hasil yang diperoleh akan menyatakan aplikasi sebagai valid terhadap spesifikasinya. Meninjau kembali peranan D_VALUE dalam iterasi metode Newton, akurasi D_VALUE yang tinggi akan memberikan hasil yang sesuai untuk E_VALUE dengan tingkat akurasi yang sama. Hal yang berbeda terjadi untuk kombinasi D_VALUE dengan akurasi rendah dan E_VALUE dengan akurasi tinggi. Pada kombinasi nilai D_VALUE dan E_VALUE tersebut (10-2 dan ), hasil yang diperoleh akan memberikan nilai akar persamaan kuadrat dengan toleransi kesalahan sampai orde Di sisi lain, nilai postcondition menetapkan toleransi kesalahan yang berada pada rentang yang lebih tipis, yaitu pada orde Hal ini mengakibatkan aplikasi dengan kombinasi ini dianggap invalid, karena nilai akar yang dihasilkan (terkait D_VALUE) berada di luar toleransi kesalahan yang diizinkan oleh postcondition dari method tersebut (terkait E_VALUE). Dari eksperimen awal ini, dapat disimpulkan bahwa T2 memiliki karakteristik yang dapat digunakan untuk verifikasi terkait tipe data, secara khusus tipe data yang bersifat numerik dalam pengujian kali ini. Meskipun demikian, perlu diperhatikan bahwa T2 tidak dikembangkan untuk kebutuhan terhadap verifikasi operasi matematis. Penggunaan lebih lanjut untuk verifikasi di area komputasi matematis mungkin akan memiliki beberapa ketidakcocokan, dan dibutuhkan penyelidikan 49

BAB IV IMPLEMENTASI STUDI KASUS

BAB IV IMPLEMENTASI STUDI KASUS BAB IV IMPLEMENTASI STUDI KASUS Bab ini menyajikan pembahasan mengenai implementasi yang dilakukan terhadap studi kasus yang menjadi sasaran dari penelitian ini. Bagian Deskripsi Studi Kasus menjelaskan

Lebih terperinci

if (ekspresi_boolean) {

if (ekspresi_boolean) { PRAKTIKUM 4 PERCABANGAN DAN PERULANGAN A. TUJUAN PEMBELAJARAN 1. Memahami logika percabangan 2. Memahami logika perulangan 3. Memakai percabangan dan perulangan yang tepat 4. Memahami pemberian kondisi

Lebih terperinci

Percabangan & Perulangan

Percabangan & Perulangan Struktur Dasar Java Percabangan & Perulangan Object-oriented Programming (OOP) with JAVA 2011/2012 Macam-macam Percabangan if (...) if ( ) else ( ) if ( ) else if ( ) else ( ) switch ( ) Percabangan :

Lebih terperinci

Obyektif : KONTROL ALUR PROGRAM

Obyektif : KONTROL ALUR PROGRAM KONTROL ALUR PROGRAM Obyektif : 1. Mengetahui dan memahami tentang percabangan (seleksi) 2. Mengetahui dan memahami tentang perulangan (iterasi) 3. Dapat membuat program tentang control alur program PERCABANGAN

Lebih terperinci

Minggu III STRUKTUR PEMILIHAN (KONTROL PROGRAM)

Minggu III STRUKTUR PEMILIHAN (KONTROL PROGRAM) Minggu III STRUKTUR PEMILIHAN (KONTROL PROGRAM) Motivasi Dalam kehidupan sehari-hari selalu diperlukan pemilihan dari beberapa alternatif Contoh : Terdapat beberapa alternatif untuk memilih sabun mandi

Lebih terperinci

2 TIPE DATA DAN VARIABEL

2 TIPE DATA DAN VARIABEL BAB 2 TIPE DATA DAN VARIABEL Kompetensi Dasar dan Indikator : Setelah mengikuti materi kuliah ini mahasiswa mampu menggunakan tipe data dan variable yang ada dalam Java, dengan indikator mahasiswa mampu:

Lebih terperinci

SUMBER BELAJAR PENUNJANG PLPG

SUMBER BELAJAR PENUNJANG PLPG SUMBER BELAJAR PENUNJANG PLPG 2017 [TIK] BAB VIII PEMROGRAMAN BERORIENTASI OBJEK [Alfa Faridh Suni] KEMENTERIAN PENDIDIKAN DAN KEBUDAYAAN DIREKTORAT JENDERAL GURU DAN TENAGA KEPENDIDIKAN 2017 BAB VIII

Lebih terperinci

BAB II VARIABEL DAN TIPE DATA

BAB II VARIABEL DAN TIPE DATA BAB II VARIABEL DAN TIPE DATA Bahasa pemrograman pada umumnya, mengenal adanya variabel yang digunakan untuk menyimpan nilai atau data. Sedangkan Java sendiri dikenal sebagai bahasa pemrograman dengan

Lebih terperinci

JAVA BASIC PROGRAMMING Joobshet

JAVA BASIC PROGRAMMING Joobshet JAVA BASIC PROGRAMMING Joobshet 1. KOMPETENSI Mahasiswa dapat memahami jenis jenis tipe data Mahasiswa dapat memahami jenis jenis variable Mahasiswa dapat memahami jenis jenis seleksi kondisi Mahasiswa

Lebih terperinci

Badiyanto, S.Kom., M.Kom. PBO java

Badiyanto, S.Kom., M.Kom. PBO java Badiyanto, S.Kom., M.Kom PBO java Apa yang Disebut Java? Bahasa pemrograman berorientasi objek murni yang dibuat berdasarkan kemampuankemampuan terbaik bahasa pemrograman objek sebelumnya (C++, Ada, Simula).

Lebih terperinci

BAB 3 TYPE DATA, VARIABLE DAN OPERATOR

BAB 3 TYPE DATA, VARIABLE DAN OPERATOR BAB 3 TYPE DATA, VARIABLE DAN OPERATOR Bahasa pemrograman pada umumnya, mengenal adanya variabel yang digunakan untuk menyimpan nilai atau data. Sedangkan Java sendiri dikenal sebagai bahasa pemrograman

Lebih terperinci

IKG2I4 / Software Project I

IKG2I4 / Software Project I IKG2I4 / Software Project I Mahmud Imrona, M.T. Izzatul Ummah, M.T. Kelompok Keahlian Algoritma dan Komputasi LECTURE NOTE WEEK 2 1 3/11/2015 WEEK 2 Class Driver Constructor Public vs private Get dan set

Lebih terperinci

Elemen Dasar Dalam Bahasa Java

Elemen Dasar Dalam Bahasa Java Elemen Dasar Dalam Bahasa Java 1. Kata Kunci Kata kunci adalah kata-kata yang didefenisikan oleh compiler dan memiliki arti dan tujuan spesifik. Java tidak mengizinkan kata-kata tersebut dipakai sebagai

Lebih terperinci

Modul Praktikum 3 Pemograman Berorientasi Objek

Modul Praktikum 3 Pemograman Berorientasi Objek Modul Praktikum 3 Pemograman Berorientasi Objek 1. Judul : Kontrol Keputusan dan Pengulangan 2. Tujuan Percobaan : Diakhir praktikum, mahasiswa diharapkan mampu : Menggunakan struktur kontrol keputusan

Lebih terperinci

PEMROGRAMAN JAVA : VARIABEL DAN TIPE DATA

PEMROGRAMAN JAVA : VARIABEL DAN TIPE DATA PEMROGRAMAN JAVA : VARIABEL DAN TIPE DATA Asep Herman Suyanto info@bambutechno.com http://www.bambutechno.com Bahasa pemrograman pada umumnya, mengenal adanya variabel yang digunakan untuk menyimpan nilai

Lebih terperinci

Struktur Kontrol Pemrograman Java : PERCABANGAN

Struktur Kontrol Pemrograman Java : PERCABANGAN MK. Pemrograman Berorientasi Objek Struktur Kontrol Pemrograman Java : PERCABANGAN Karmilasari Struktur Kontrol Percabangan If, If-Else, If bersarang Switch - Case Pengulangan 2 Percabangan : IF Pada percabangan

Lebih terperinci

Perulangan, Percabangan, dan Studi Kasus

Perulangan, Percabangan, dan Studi Kasus Perulangan, Percabangan, dan Studi Kasus Perulangan dan percabangan merupakan hal yang sangat penting dalam menyusun suatu program Pada pertemuan kali ini akan dibahas secara detail tentang perulangan

Lebih terperinci

BAB II TINJAUAN PUSTAKA

BAB II TINJAUAN PUSTAKA II TINJUN PUSTK ab ini memaparkan mengenai proses studi literatur ang dilakukan sebagai salah satu tahap penelitian. Secara umum, bagian ini menajikan pembahasan mengenai topik-topik terkait ang berhubungan

Lebih terperinci

Modul 3: Kendali program dan teknik. penyimpanan data

Modul 3: Kendali program dan teknik. penyimpanan data Modul 3: Kendali program dan teknik Setelah mengikuti mata kuliah ini mahasiswa dapat mebuat program java dengan konsep kondisional, loop dan mengelola data dengan array. 1 Pengantar : Dalam modul ini

Lebih terperinci

Dasar Pemrograman Java

Dasar Pemrograman Java Dasar Pemrograman Java Tessy Badriyah, SKom. MT. http://lecturer.eepis-its.edu/~tessy Tujuan Pembelajaran Penggunaan Komentar dalam program Memahami perbedaan identifier yang valid dan yang tidak valid

Lebih terperinci

int i = 0; while (i < 10) { System.out.println( Informatika Unpas ); i++; }

int i = 0; while (i < 10) { System.out.println( Informatika Unpas ); i++; } I. Bahan Kajian 1. Perulangan (Iterasi) Perulangan(iterasi), menyatakan bahwa suatu instruksi tertentu akan diulang sampai tercapai kondisi tertentu, tanpa kita harus menulis perintah tersebut secara berulang.

Lebih terperinci

PERSAMAAN KUADRAT. Persamaan. Sistem Persamaan Linear

PERSAMAAN KUADRAT. Persamaan. Sistem Persamaan Linear Persamaan Sistem Persamaan Linear PENGERTIAN Definisi Persamaan kuadrat adalah kalimat matematika terbuka yang memuat hubungan sama dengan yang pangkat tertinggi dari variabelnya adalah 2. Bentuk umum

Lebih terperinci

1. Mana diantara pilihan-pilihan berikut ini yang merupakan penulisan loop yang benar?

1. Mana diantara pilihan-pilihan berikut ini yang merupakan penulisan loop yang benar? 1 of 14 2/21/2008 2:34 PM Waktu Sisa : 0:43:58 1. Mana diantara pilihan-pilihan berikut ini yang merupakan penulisan loop yang benar? 2 of 14 2/21/2008 2:34 PM 2. Pernyataan manakah yang benar mengenai

Lebih terperinci

24/09/2017 PERCABANGAN

24/09/2017 PERCABANGAN 1 PERCABANGAN STATEMENT IF Pernyataan if akan menentukan sebuah pernyataan (atau blok kode) yang akan dieksekusi jika dan hanya jika persyaratan bernilai benar (true). 2 BENTUK PERNYATAAN IF atau 3 PENJELASAN

Lebih terperinci

PEMROGRAMAN JAVA. Petunjuk Penulisan Program Token Aturan Penamaan Identifier Lingkungan /Scope dari variabel Tipe Data (i) Yoannita

PEMROGRAMAN JAVA. Petunjuk Penulisan Program Token Aturan Penamaan Identifier Lingkungan /Scope dari variabel Tipe Data (i) Yoannita PEMROGRAMAN JAVA Petunjuk Penulisan Program Token Aturan Penamaan Identifier Lingkungan /Scope dari variabel Tipe Data (i) Yoannita Education is not the filling of a pail, but the lighting of a fire. (William

Lebih terperinci

Modul Praktikum Bahasa Pemrograman 1

Modul Praktikum Bahasa Pemrograman 1 Modul Praktikum Tahun Ajaran 2009/2010 Revisi : Eko Andriyanto Wicaksono, S.Kom Materi 4 Struktur Kontrol Tujuan Pada bab sebelumnya, kita sudah mendapatkan contoh dari program terstruktur, dimana setiap

Lebih terperinci

BAB 6. Struktur Kontrol

BAB 6. Struktur Kontrol BAB 6 Struktur Kontrol 6.1 Tujuan Pada bab sebelumnya, kita sudah mendapatkan contoh dari program terstruktur, dimana setiap pernyataan dieksekusi setelah pernyataan sebelumnya sesuai dengan urutannya.

Lebih terperinci

MODUL 2 STRUKTUR KONTROL

MODUL 2 STRUKTUR KONTROL MODUL 2 STRUKTUR KONTROL 2.1 Tujuan Menggunakan struktur kontrol keputusan (if, else, switch) yang digunakan untuk memilih blok kode yang akan dieksekusi Menggunakan struktur kontrol pengulangan (while,

Lebih terperinci

DASAR PEMOGRAMAN JAVA

DASAR PEMOGRAMAN JAVA DASAR PEMOGRAMAN JAVA Pertemuan ke-2 Oleh: Winda Aprianti Tipe Data Bilangan Karakter Kata atau Kalimat Boolean Literal merepresentasikan nilai suatu tipe, dimana tipe itu sendiri menjelaskan bagaimana

Lebih terperinci

Pada akhir pertemuan ini, diharapkan mahasiswa memiliki kemampuan untuk: Menggunakan struktur kendali pencabangan bersyarat dalam bahasa pemrograman.

Pada akhir pertemuan ini, diharapkan mahasiswa memiliki kemampuan untuk: Menggunakan struktur kendali pencabangan bersyarat dalam bahasa pemrograman. Pemrograman Dasar 1 Pada akhir pertemuan ini, diharapkan mahasiswa memiliki kemampuan untuk: Menggunakan struktur kendali pencabangan bersyarat dalam bahasa pemrograman. 2 Pencabangan Bersyarat Pernyataan

Lebih terperinci

BAB IV MENGHITUNG AKAR-AKAR PERSAMAAN

BAB IV MENGHITUNG AKAR-AKAR PERSAMAAN 1 BAB IV MENGHITUNG AKAR-AKAR PERSAMAAN Dalam banyak usaha pemecahan permasalahan, seringkali harus diselesaikan dengan menggunakan persamaan-persamaan matematis, baik persamaan linier, persamaan kuadrat,

Lebih terperinci

BAHASA PEMROGRAMAN JAVA PUTU INDAH CIPTAYANI JURUSAN SISTEM INFORMASI STMIK AMIKOM YOGYAKARTA

BAHASA PEMROGRAMAN JAVA PUTU INDAH CIPTAYANI JURUSAN SISTEM INFORMASI STMIK AMIKOM YOGYAKARTA 1 BAHASA PEMROGRAMAN JAVA PUTU INDAH CIPTAYANI JURUSAN SISTEM INFORMASI STMIK AMIKOM YOGYAKARTA IDENTIFIER Identifier adalah suatu tanda yang mewakili nama-nama variabel, method, class, dsb. Ingat : Bahasa

Lebih terperinci

TIPE DATA PADA JAVA. Pertemuan (K-04/L-04)

TIPE DATA PADA JAVA. Pertemuan (K-04/L-04) TIPE DATA PADA JAVA Pertemuan (K-04/L-04) Alangkah baiknya kita mempelajari terlebih dahulu tentang apa itu tipe data dan mengenal ada berapa tipe data yang digunakan dalam Bahasa Pemrograman Java. Sudah

Lebih terperinci

Modul Dasar dasar C. 1. Struktur Program di C++

Modul Dasar dasar C. 1. Struktur Program di C++ Modul Dasar dasar C I 1. Struktur Program di C++ Dalam bahasa pemrograman C++ strukturnya adalah sebagai berikut: a. Header. Ex: #include b. Main adalah isi dari program diawali {. dan diakhiri

Lebih terperinci

Pemrograman Berorientasi Objek. Beni Suranto, S.T.

Pemrograman Berorientasi Objek. Beni Suranto, S.T. Pemrograman Berorientasi Objek Beni Suranto, S.T. Variabel Variabel adalah nama dari suatu lokasi di memori yang digunakan untuk menyimpan data sementara. Variabel diberi nama tertentu yang menunjukkan

Lebih terperinci

Tujuan : A. Percabangan Percabangan di dalam Java terdapat 2 macam, yaitu dengan memakai if dan switch.

Tujuan : A. Percabangan Percabangan di dalam Java terdapat 2 macam, yaitu dengan memakai if dan switch. Modul 2 Percabangan dan Loop Tujuan : 1. Praktikan mengetahui macam macam percabangan pada Java 2. Praktikan mengetahui macam macam loop pada Java 3. Praktikan mampu memahami logika percabangan dan loop

Lebih terperinci

Buat program untuk menghitung volume dari sebuah kubus

Buat program untuk menghitung volume dari sebuah kubus Soal 1: Volume Kubus Buat program untuk menghitung volume dari sebuah kubus Penjelasan: Dalam menulis sebuah program ada beberapa langkah yang harus dilakukan, yaitu: 1. Tentukan apa yang akan dicari atau

Lebih terperinci

Bahasa C-M6 By Jamilah, Skom 1

Bahasa C-M6 By Jamilah, Skom 1 BAB 1 KONSEP DASAR BAHASA C 1.1 SEJARAH DAN STANDAR C Akar dari bahasa C adalah bahasa BCPL yang dikembangkan oleh Martin Richard pada tahun 1967. Bahasa ini memberkan ide kepada ken thompson yang kemudian

Lebih terperinci

PENYELEKSIAN /PERCABANGAN & PERULANGAN Part II. 5 th week Estu Sinduningrum ST,MT

PENYELEKSIAN /PERCABANGAN & PERULANGAN Part II. 5 th week Estu Sinduningrum ST,MT PENYELEKSIAN /PERCABANGAN & PERULANGAN Part II 5 th week Estu Sinduningrum ST,MT Review last week Percabangan Pada java terdapat beberapa percabangan, yaitu : 1. if 2. if-else 3. switch 4. case Penyeleksian

Lebih terperinci

Percabangan & Perulangan

Percabangan & Perulangan BRACHIG & LOOPIG Percabangan & Perulangan Pemrograman Berbasis Obyek Pertemuan 3 IT-EEPIS Percabangan -else else- switch (ekspresi boolean) { pernyataan1; pernyataan2; ekspresi = true pernyataan1 pernyataan2

Lebih terperinci

Pendahuluan. Komputasi Nuklir. 29 Oktober Komputasi Nuklir Pendahuluan 29 Oktober / 41

Pendahuluan. Komputasi Nuklir. 29 Oktober Komputasi Nuklir Pendahuluan 29 Oktober / 41 Pendahuluan Komputasi Nuklir 29 Oktober 2015 Komputasi Nuklir Pendahuluan 29 Oktober 2015 1 / 41 Outline 1 Pendahuluan 2 Algoritma 3 Bahasa Pemrograman 4 Implementasi aturan trapesium menggunakan bahasa

Lebih terperinci

TEORI KONSEP PEMPROGRAMAN 3.1

TEORI KONSEP PEMPROGRAMAN 3.1 2015 TEORI KONSEP PEMPROGRAMAN 3.1 TUGAS TEORI KONSEP PEMROGRAMAN : LOOPING (FOR, WHILE, DO WHILE) DWI SETIYA NINGSIH ( 210 315 70 25 ) D3 PJJ TI Persoalan & Penyelesaian 1. Sebutkan keyword-keyword yang

Lebih terperinci

Pemrograman Fery Updi,M.Kom

Pemrograman Fery Updi,M.Kom Pemrograman Fery Updi,M.Kom 1 Pokok Bahasan Struktur Kontrol Perulangan (while loop, do-while loop, for loop) Pernyataan Percabangan (break, continue, return) 2 Tujuan Mahasiswa mampu: Menggunakan struktur

Lebih terperinci

Kisi-Kisi Ujian Tengah Semester Algoritma dan Pemrograman Lanjut

Kisi-Kisi Ujian Tengah Semester Algoritma dan Pemrograman Lanjut Kisi-Kisi Ujian Tengah Semester Algoritma dan Pemrograman Lanjut 1. Pengenalan Bahasa C++ a. Elemen Bahasa C+ Bahasa C++ ditulis dari beberapa elemen, antara lain: Pernyataan Satu atau beberapa ekspresi

Lebih terperinci

Bab 2. Dasar-Dasar Pemrograman C

Bab 2. Dasar-Dasar Pemrograman C Bab 2. Dasar-Dasar Pemrograman C Konsep Pemrograman Politeknik Elektronika Negeri Surabaya 2006 Overview Tipe Data Standar (Standart Data Type) Aturan Pendefinisian Identifier Variabel Mendeklarasikan

Lebih terperinci

Operator dan Assignment

Operator dan Assignment Operator dan Assignment Macam-macam Operator Arithmetic Op. : + - * / % Relational Op. : > >= < >>> Conditional Op.

Lebih terperinci

BAB I PENDAHULUAN 1.1 Latar Belakang

BAB I PENDAHULUAN 1.1 Latar Belakang BAB I PENDAHULUAN 1.1 Latar Belakang Dalam matematika ada beberapa persamaan yang dipelajari, diantaranya adalah persamaan polinomial tingkat tinggi, persamaan sinusioda, persamaan eksponensial atau persamaan

Lebih terperinci

Tipe Data dan Operator

Tipe Data dan Operator Tipe Data dan Operator Dasar Algoritma dan Pemrogrman Eka Maulana, ST, MT, MEng. Klasifikasi Tipe Data 1 Tipe Data Tipe data adalah jenis data yang dapat diolah oleh komputer untuk memenuhi kebutuhan dalam

Lebih terperinci

Pengambilan Keputusan. Konsep Pemrograman Oleh Tita Karlita

Pengambilan Keputusan. Konsep Pemrograman Oleh Tita Karlita Pengambilan Keputusan Konsep Pemrograman Oleh Tita Karlita Topik Menjelaskan tentang operator kondisi (operator relasi dan logika) Menjelaskan penggunaan pernyataan if Menjelaskan penggunaan pernyataan

Lebih terperinci

PRAKTIKUM 3 DASAR PEMROGRAMAN C

PRAKTIKUM 3 DASAR PEMROGRAMAN C PRAKTIKUM 3 DASAR PEMROGRAMAN C A. TUJUAN 1. Menjelaskan tentang beberapa tipe data dasar (jenis dan jangkauannya) 2. Menjelaskan tentang Variabel 3. Menjelaskan tentang konstanta 4. Menjelaskan tentang

Lebih terperinci

MOTIVASI. Secara umum permasalahan dalam sains dan teknologi digambarkan dalam persamaan matematika Solusi persamaan : 1. analitis 2.

MOTIVASI. Secara umum permasalahan dalam sains dan teknologi digambarkan dalam persamaan matematika Solusi persamaan : 1. analitis 2. KOMPUTASI NUMERIS Teknik dan cara menyelesaikan masalah matematika dengan pengoperasian hitungan Mencakup sejumlah besar perhitungan aritmatika yang sangat banyak dan menjemukan Diperlukan komputer MOTIVASI

Lebih terperinci

Tipe if : If tanpa else (if) If dengan else (if-else) Nested if

Tipe if : If tanpa else (if) If dengan else (if-else) Nested if Struktur kontrol keputusan pernyata-an dari Java yang mengijinkan user untuk memilih dan mengeksekusi blok kode spesifik dan mengabaikan blok kode yang lain. Tipe : If switch Tipe if : If tanpa else (if)

Lebih terperinci

BAB 6. Struktur Kontrol

BAB 6. Struktur Kontrol BAB 6 Struktur Kontrol 6.1 Tujuan Pada bab sebelumnya, kita sudah mendapatkan contah dari program sequential, dimana statement dieksekusi setelah statement sebelumnya dengan urutan tertentu. Pada bagian

Lebih terperinci

Identifier, Keywords, Variabel, Tipe Data Primitif dan Operator PBO. Ramos Somya

Identifier, Keywords, Variabel, Tipe Data Primitif dan Operator PBO. Ramos Somya Identifier, Keywords, Variabel, Tipe Data Primitif dan Operator PBO Ramos Somya Identifier Merupakan nama yang digunakan untuk menamai class, variabel, method dan interface. Aturan: - Tidak ada batasan

Lebih terperinci

Algoritma dan Pemrograman. Oleh: Eddy Prasetyo N

Algoritma dan Pemrograman. Oleh: Eddy Prasetyo N Algoritma dan Pemrograman Oleh: Eddy Prasetyo N Konten Harga Pengisian Nama Informasi Assignment Pemberian Harga dari Piranti Inputan Ekspresi Sequence Harga Suatu besaran bertype yang telah dikenal Harga

Lebih terperinci

Modul Praktikum 2 Pemograman Berorientasi Objek

Modul Praktikum 2 Pemograman Berorientasi Objek Modul Praktikum 2 Pemograman Berorientasi Objek 1. Judul : Dasar Pemrograman Java (Operator) 2. Tujuan Percobaan : Diakhir praktikum, mahasiswa diharapkan mampu : Memahami penggunaan operator-operator

Lebih terperinci

Pemrograman Berbasis Objek Operator dan Assignment

Pemrograman Berbasis Objek Operator dan Assignment Operator dan Assignment Macam-macam macam Operator Arithmetic Op. : + - * / % Relational Op. : > >= < >>> Conditional

Lebih terperinci

Objek Data, Variabel, dan Konstanta. Konsep Bahasa Pemrograman Materi 4 Yudianto Sujana, M.Kom

Objek Data, Variabel, dan Konstanta. Konsep Bahasa Pemrograman Materi 4 Yudianto Sujana, M.Kom Objek Data, Variabel, dan Konstanta Konsep Bahasa Pemrograman Materi 4 Yudianto Sujana, M.Kom Pengantar Penyimpanan data di komputer (memori, register, dan lainnya) Organisasi yang sederhana Barisan bit

Lebih terperinci

Reserved words Reserved words atau keywords merupakan kata-kata spesifik digunakan oleh compiler untuk keperluan pemrograman. Contoh reserved words

Reserved words Reserved words atau keywords merupakan kata-kata spesifik digunakan oleh compiler untuk keperluan pemrograman. Contoh reserved words Comments Comments digunakan untuk memberikan keterangan/penjelasan suatu baris program. Comments tidak akan dikompilasi oleh compiler. Lambang untuk comments : - double slash ( // ) untuk memberikan penjelasan

Lebih terperinci

MODUL DUA VARIABEL DAN TIPE VARIABEL

MODUL DUA VARIABEL DAN TIPE VARIABEL MODUL DUA VARIABEL DAN TIPE VARIABEL Tujuan : Mahasiswa memahami tentang operator dan penggunaannya dalam bahasa pemrograman java, mengetahui macam-macam kategori operator dan mengetahui perbedaan operator

Lebih terperinci

FAKULTAS TEKNIK UNIVERSITAS NEGERI YOGYAKARTA

FAKULTAS TEKNIK UNIVERSITAS NEGERI YOGYAKARTA No. LSKD/EKO/DEL221/1 Revisi : 2 Tgl : 27/11/212 Hal 1 dari 13 1. Kompetensi Setelah melakukan praktik, mahasiswa diharapkan memiliki kompetensi: dapat memahami script files dan struktur pengaturan aliran.

Lebih terperinci

BAB 2 PENYELESAIAN PERSAMAAN NON LINEAR

BAB 2 PENYELESAIAN PERSAMAAN NON LINEAR BAB 2 PENYELESAIAN PERSAMAAN NON LINEAR METODE GRAFIK DAN TABULASI A. Tujuan a. Memahami Metode Grafik dan Tabulasi b. Mampu Menentukan nilai akar persamaan dengan Metode Grafik dan Tabulasi c. Mampu membuat

Lebih terperinci

PERTEMUAN III OBJEK DAN CLASS TUJUAN PRAKTIKUM

PERTEMUAN III OBJEK DAN CLASS TUJUAN PRAKTIKUM PERTEMUAN III OBJEK DAN CLASS TUJUAN PRAKTIKUM 1. Praktikan memahami perbedaan objek dan class pada Java. 2. Praktikan memahami konsep berorientasi objek. 3. Praktikan dapat membuat program sederhana dengan

Lebih terperinci

BAB V PENYELEKSIAN KONDISI DAN PERULANGAN

BAB V PENYELEKSIAN KONDISI DAN PERULANGAN BAB V PENYELEKSIAN KONDISI DAN PERULANGAN Untuk menghasilkan suatu program, sangat penting untuk mengatur agar program dapat berjalan dengan aliran atau susunan yang baik, sehingga dapat memecahkan masalah

Lebih terperinci

FAKULTAS TEKNIK UNIVERSITAS NEGERI YOGYAKARTA

FAKULTAS TEKNIK UNIVERSITAS NEGERI YOGYAKARTA No. LSKD/EKO/DEL221/01 Revisi : 02 Tgl : 27/11/2012 Hal 1 dari 14 1. Kompetensi Setelah melakukan praktik, mahasiswa diharapkan memiliki kompetensi: dapat memahami script files dan struktur pengaturan

Lebih terperinci

PEMAHAMAN DASAR DASAR JAVA

PEMAHAMAN DASAR DASAR JAVA MODUL 1 PEMAHAMAN DASAR DASAR JAVA A. PENGANTAR JAVA Java Standard Development Kit (JDK/SDK) merupakan alat-alat utama bagi programmer untuk membuat dan menjalankan java. Development Kit dapat didownload

Lebih terperinci

Modul 3 Flow Control dan Input

Modul 3 Flow Control dan Input Modul 3 Flow Control dan Input Flow control terbagi menjadi dua, yaitu control seleksi dan control perulangan. 1. KONTROL SELEKSI Kontrol seleksi digunakan untuk membuat pemilihan terhadap aksi yang akan

Lebih terperinci

PRAKTIKUM 3 DASAR PEMROGRAMAN C

PRAKTIKUM 3 DASAR PEMROGRAMAN C PRAKTIKUM 3 DASAR PEMROGRAMAN C A. TUJUAN 1. Menjelaskan tentang beberapa tipe data dasar (jenis dan jangkauannya) 2. Menjelaskan tentang Variabel 3. Menjelaskan tentang konstanta 4. Menjelaskan tentang

Lebih terperinci

Pengenalan Algoritma

Pengenalan Algoritma PEMROGRAMAN DASAR Sistem Informasi PTIIK UB Semester Ganjil 2015/2016 Pengenalan Algoritma Dr. Eng. Herman Tolle, ST., MT Program Teknologi Informasi & Ilmu Komputer, Universitas Brawijaya metode yang

Lebih terperinci

Pemrograman Berorientasi Obyek. Dasar Pemrograman Java

Pemrograman Berorientasi Obyek. Dasar Pemrograman Java Pemrograman Berorientasi Obyek Dasar Pemrograman Java 1 Materi Pokok Membedakan antara valid dan invalid identifiers. Mengetahui Java technology keywords. Mengetahui 8 tipe data primitif. Mendefinisikan

Lebih terperinci

BAB IV HASIL PENELITIAN DAN PENERAPAN

BAB IV HASIL PENELITIAN DAN PENERAPAN 87 BAB IV HASIL PENELITIAN DAN PENERAPAN 4.1 Karakteristik bahasa pemrograman DOGI Berikut ini akan dijabarkan karakteristik-karakteristik bahasa pemrograman DOGI yang mempengaruhi readability, writability

Lebih terperinci

PERTEMUAN 2 ARRAY, PERCABANGAN, DAN PERULANGAN

PERTEMUAN 2 ARRAY, PERCABANGAN, DAN PERULANGAN PERTEMUAN 2 ARRAY, PERCABANGAN, DAN PERULANGAN PERTEMUAN 2 ARRAY, PERCABANGAN, DAN PERULANGAN Obektif: Praktikan mengetahui arra, percabangan, dan perulangan pada Java. Praktikan mengetahui bentuk umum

Lebih terperinci

Operator, Statement kondisional, dan Iterasi pada Java

Operator, Statement kondisional, dan Iterasi pada Java Operator, Statement kondisional, dan Iterasi pada Java Operator Operator Aritmatika Operator ini digunakan pada operasi-operasi aritmatika seperti penjumlahan, pengurangan, pembagian dll. Jenis Operator

Lebih terperinci

STRUKTUR DASAR PEMROGRAMAN

STRUKTUR DASAR PEMROGRAMAN STRUKTUR DASAR PEMROGRAMAN P E N G E N A L A N P R O G R A M S T U D I Institut Teknologi Sumatera 15/09/2017 PENGANTAR PROGRAM STUDI 1 TUJUAN KULIAH Subtopik Input Proses Output dalam program Deklarasi

Lebih terperinci

PERSAMAAN NON LINIER

PERSAMAAN NON LINIER PERSAMAAN NON LINIER Obyektif : 1. Mengerti penggunaan solusi persamaan non linier 2. Mengerti metode biseksi dan regulafalsi 3. Mampu menggunakan metode biseksi dan regula falsi untuk mencari solusi PENGANTAR

Lebih terperinci

Membuat dan Menggunakan Class

Membuat dan Menggunakan Class Pertemuan 3 Halaman 1/1 Membuat class pada java : Untuk mendefinisikan suatu class pada java digunakan : class ClassName { suatu class dapat terdiri dari - attribute / data field - method Attribute Attribute

Lebih terperinci

Pada akhir pembahasan, peserta diharapkan mampu untuk:

Pada akhir pembahasan, peserta diharapkan mampu untuk: Struktur kontrol Pengenalan Pemrograman 1 Versi 2.0 tujuan Pada akhir pembahasan, peserta diharapkan mampu untuk: Menggunakan struktur kontrol keputusan (if, else, switch), untuk memilih bagian dari program

Lebih terperinci

KENDALI PROSES. Untuk mengatur arus program, pemrograman java menyediakan struktur perulangan (looping), kondisional, percabangan, dan lompatan.

KENDALI PROSES. Untuk mengatur arus program, pemrograman java menyediakan struktur perulangan (looping), kondisional, percabangan, dan lompatan. KENDALI PROSES Untuk mengatur arus program, pemrograman java menyediakan struktur perulangan (looping), kondisional, percabangan, dan lompatan. PERINTAH KONDISIONAL Pemrograman Java memiliki 2 Decision-making

Lebih terperinci

LAB PEMROGRAMAN I (JAVA FUNDAMENTAL) PERTEMUAN 3 Dosen : Bella Hardiyana S. Kom

LAB PEMROGRAMAN I (JAVA FUNDAMENTAL) PERTEMUAN 3 Dosen : Bella Hardiyana S. Kom LAB PEMROGRAMAN I (JAVA FUNDAMENTAL) PERTEMUAN 3 Dosen : Bella Hardiyana S. Kom BAB III DASAR-DASAR PEMROGRAMAN Tipe Data Data adalah sekumpulan kejadian/fakta yang dipresentasikan dengan huruf, angka,

Lebih terperinci

if (ekspresi_boolean) { Pernyataan1; } else { Pernyataan2; }

if (ekspresi_boolean) { Pernyataan1; } else { Pernyataan2; } PRAKTIKUM 4 PERCABANGAN DAN PERULANGAN A. TUJUAN PEMBELAJARAN 1. Memahami logika percabangan 2. Memahami logika perulangan 3. Memakai percabangan dan perulangan yang tepat 4. Memahami pemberian kondisi

Lebih terperinci

Chapter 1 KONSEP DASAR C

Chapter 1 KONSEP DASAR C Chapter 1 KONSEP DASAR C Sejarah Dan Standar C Akar dari bahasa C adalah BCPL (dikembangkan oleh Martin Richard tahun 1967). Kemudian Tahun 1970, Ken Thompson mengembangkan bahasa tersebut yang di kenal

Lebih terperinci

Algoritma dan Pemrograman

Algoritma dan Pemrograman Algoritma dan Pemrograman Oleh: Eddy Prasetyo N 27/02/2014 1 Konten Pengantar Analisa Kasus Logika IF Then Logika Depend On Notasi Algoritmanya Latihan Analisa Kasus 27/02/2014 2 Pokok Bahasan Analisa

Lebih terperinci

MODUL 6 PERULANGAN. A. String. 1. Instansiasi dan Inisialisasi. M0601xxyyy.jar

MODUL 6 PERULANGAN. A. String. 1. Instansiasi dan Inisialisasi. M0601xxyyy.jar MODUL 6 PERULANGAN Topik-topik yang dibahas pada modul ini adalah mengenai kelas String, kelas Random, dan konsep perulangan. Pertanyaan-pertanyaan yang dijawab dalam bentuk teks harus Anda kumpulkan dengan

Lebih terperinci

Tabel Informasi. Hal di atas dapat dilakukan dengan menambah dan mengambil atribut identifier yang digunakan pada program, melalui tabel informasi.

Tabel Informasi. Hal di atas dapat dilakukan dengan menambah dan mengambil atribut identifier yang digunakan pada program, melalui tabel informasi. Tabel Informasi Tabel informasi atau tabel simbol berguna untuk mempermudah pada saat pembuatan dan implementasi dari analisa semantik (semantic analyzer). Pada proses translasi, tabel informasi dapat

Lebih terperinci

Percabangan dan Perulangan

Percabangan dan Perulangan Percabangan dan Perulangan uliana Setiowati Politeknik Elektronika egeri Surabaya 2011 1 Topik Percabangan switch Perulangan Special Loop Control 2 Flowchart Bagan-bagan yang mempunyai arus yang menggambarkan

Lebih terperinci

BAGIAN A. PILIHAN GANDA Silanglah Jawaban yang Benar Pada Lembar Jawaban. Jawaban benar bernilai 3, salah atau kosong bernilai 0.

BAGIAN A. PILIHAN GANDA Silanglah Jawaban yang Benar Pada Lembar Jawaban. Jawaban benar bernilai 3, salah atau kosong bernilai 0. UJIAN TENGAH SEMESTER GANJIL 2010-2011 ALGORITME DAN PEMROGRAMAN SABTU, 30-10-10 08.00-10.00 Ketentuan Ujian: 1. Ujian bersifat Catatan Tertutup 2. Jawaban dituliskan pada lembar jawaban yang disediakan

Lebih terperinci

BAB 8 Argumen dari Command-line

BAB 8 Argumen dari Command-line BAB 8 Argumen dari Command-line 8.1 Tujuan Pada bab ini, kita akan mempelajari bagaimana untuk memproses sebuah input dari command-line dengan menggunakan argumen yang diberikan kepada program Java. Pada

Lebih terperinci

Array. Adharul Muttaqin Universitas Brawijaya Malang. Array

Array. Adharul Muttaqin Universitas Brawijaya Malang. Array Array Adharul Muttaqin Universitas Brawijaya Malang Array Array merupakan memory pada komputer yg digunakan untuk menyimpan sejumlah data bertype sama. Di Java, Array merupakan sebuah object yang menampung

Lebih terperinci

Java Basic. Variabel dan Tipe Data. Lokasi di dalam memori komputer yang digunakan untuk menyimpan suatu informasi (nilai)

Java Basic. Variabel dan Tipe Data. Lokasi di dalam memori komputer yang digunakan untuk menyimpan suatu informasi (nilai) Variabel dan Tipe Data Lokasi di dalam memori komputer yang digunakan untuk menyimpan suatu informasi (nilai) Nilai variabel dapat diubah di pernyataan manapun di dalam program Java Basic By Didit Setya

Lebih terperinci

LAPORAN PRAKTIKUM STRUKTUR DATA

LAPORAN PRAKTIKUM STRUKTUR DATA LAPORAN PRAKTIKUM STRUKTUR DATA Nama : Sarifudin Kelas / NIM : IK-1B / 3.34.11.1.22 Pengampu : Sukamto, S.Kom;M.T Jobs ke : 02 Pokok Bahasan : Operator Bahasa Java PROGRAM STUDI TEKNIK INFORMATIKA JURUSAN

Lebih terperinci

Kondisional/Pencabangan/Pemilihan. Konsep Pencabangan Sintaks Konsep if (kasus tunggal) Konsep if-else (2-3 kasus) Konsep switch (lebih dari 3 kasus)

Kondisional/Pencabangan/Pemilihan. Konsep Pencabangan Sintaks Konsep if (kasus tunggal) Konsep if-else (2-3 kasus) Konsep switch (lebih dari 3 kasus) Kondisional/Pencabangan/Pemilihan Konsep Pencabangan Sintaks Konsep if (kasus tunggal) Konsep if-else (2-3 kasus) Konsep switch (lebih dari 3 kasus) Konsep Pencabangan/Pemilihan Konsep pencabangan/pemilihan

Lebih terperinci

y

y Menyelesaikan Persamaan Kuadrat dengan Grafik Menyesaikan persamaan ax 2 +bx+c=0. Berarti menentukan nilai-nilai x bila f(x) = 0, dimana f(x) = ax 2 +bx+c. apabila grafik fungsi f(x) telah dilukis, maka

Lebih terperinci

Tipe Data, Variabel, Input/Output

Tipe Data, Variabel, Input/Output Tipe Data, Variabel, Input/Output Pendahuluan Untuk membuat program dengan bahasa pemrograman C harus memperhatikan struktur dasarnya. Strukturnya diawali dengan bagian preprocessor directive yang biasanya

Lebih terperinci

Aliran Kendali (Flow Control)

Aliran Kendali (Flow Control) Aliran Kendali (Flow Control) Pernyataan-pernyataan yang menentukan urutan eksekusi Pernyataan/struktur berurutan (sequence) Pencabangan bersyarat (selection, conditional structure) if, if-else, switch-case

Lebih terperinci

ALGORITMA (KOMPUTER) : ATURAN PENULISAN DAN STRUKTUR DASARNYA

ALGORITMA (KOMPUTER) : ATURAN PENULISAN DAN STRUKTUR DASARNYA ALGORITMA (KOMPUTER) : ATURAN PENULISAN DAN STRUKTUR DASARNYA I. Pendahuluan Algoritma dapat ditulis dalam notasi apapun asalkan mudah dimengerti dan dipahami. Algoritma dapat ditulis dalam bahasa natural/bahasa

Lebih terperinci

PENGENALAN PHP DASAR

PENGENALAN PHP DASAR PENGENALAN PHP DASAR Pengenalan PHP PHP adalah bahasa scripting yang menyatu dengan HTML dan dijalankan pada server side. Artinya semua sintaks yang diberikan akan sepenuhnya dijalankan pada server sedangkan

Lebih terperinci

9/12/2011. Tujuan. Struktur Kontrol. Struktur Kontrol. Struktur Kontrol Keputusan. Pernyataan-if. if-statement Flowchart. Struktur kontrol keputusan

9/12/2011. Tujuan. Struktur Kontrol. Struktur Kontrol. Struktur Kontrol Keputusan. Pernyataan-if. if-statement Flowchart. Struktur kontrol keputusan Tujuan Pada akhir pembahasan, siswa diharapkan mampu untuk: JAVA Education Network Indonesia Struktur Kontrol Pengenalan Pemrograman 1 Menggunakan struktur kontrol pernyataan keputusan (if, else, switch)

Lebih terperinci

Web Programming. Pengenalan PHP

Web Programming. Pengenalan PHP Web Programming Pengenalan PHP Pokok Bahasan Pengenalan PHP Tag-tag Dasar PHP Struktur Kontrol Pengenalan PHP (1) Situs/web dapat dikategorikan menjadi dua yaitu web statis dan web dinamis/interaktif.

Lebih terperinci

Minggu 11. MA2151 Simulasi dan Komputasi Matematika

Minggu 11. MA2151 Simulasi dan Komputasi Matematika Minggu 11 MA2151 Simulasi dan Komputasi Matematika Model Berdasarkan Data Model Berdasarkan Data Kadangkala kita dituntut untuk membangun suatu model berdasarkan data (yang terbatas). Untuk melakukan ini,

Lebih terperinci

Algoritma Pemrograman 2B (Pemrograman C++)

Algoritma Pemrograman 2B (Pemrograman C++) Algoritma Pemrograman 2B (Pemrograman C++) Jurusan Sistem Komputer Dr. Lily Wulandari Materi 3 PERCABANGAN DAN PERULANGAN PADA C++ 1 Outline - If - if else. - Else if - Switch case - Statement for, while,

Lebih terperinci