LAPORAN STRUKTUR DATA STRUKTUR KONTROL Disusun oleh : Nama : Syarif Hidayatullah Kelas : IK-1A/21 NIM : 3.34.12.0.21 Job :3 PRODI TEKNIK INFORMATIKA JURUSAN TEKNIK ELEKTRO POLITEKNIK NEGERI SEMARANG 2012/2013 KATA PENGANTAR Puji syukur penulis panjatkan ke hadirat Allah SWT yang telah memberikan Rahmat dan Hidayah-Nya sehingga penulis dapat menyelesaikan penyusunan laporan Struktur Data pada Job 3 “SRUKTUR KONTROL” Laporan ini menyampaikan tentang jenis jenis struktur control , statement seleksi, statement iterasi , sataement jump , sekaligus bisa mengimplementasikanya Terwujudnya laporan ini tidak terlepas dari bantuan berbagai pihak dan sumber – sumber yang tidak dapat penulis sebutkan satu per satu. Penulis berharap laporan ini dapat bermanfaat bagi semua pihak baik itu pelajar maupun pihak yang sedang ingin belajr mengenai Bahasa Java Semarang, 7 Maret 2013 Penulis Struktur Data 3 Page 2 DAFTAR ISI HALAMAN JUDUL …………………………………………………………………...… 1 KATA PENGANTAR……………………………………………………………………. 2 DAFTAR ISI …………………………………………………………………..………… 3 I. Tujuan Instruksional Khusus……………………………………………………….…. 4 II. Persyaratan / Kebutuhan Sistem Komputer ……………………………………...…… 4 III. Dasar Teori………………………………………………………………………….… 4 IV. Langkah Kerja ……………………………………………………………………….. 8 V. Latihan ……………………………………………………………………………….. 23 VI. Penutup…………………………………………………………………….…………. 27 Struktur Data 3 Page 3 BAB 3 I. Tujuan Instruksi Khusus Setelah menyelasaikan materi ini mahasiswa dapat : 1. Mahasiswa mampu menyebutkan dan menjelaskan jenis – jenis struktur kotrol . 2. Mahasiswa mampu menyebutkan jenis – jenis statement seleksi dan menerapkannya kedalam program. 3. mahasiswa mampu menyebutkan jenis – jenis statement iterasi dan menerapkannya kedalam program. 4. Mahasiswa mampu menyebutkan jenis – jenis statement jump dan menerapkan kedalam program. II. Persyaratan / Kebutuhan Sistem Komputer Persyaratan / kebutuhan system untuk menjalankan program Java adalah sebagai berikut : 1. Processor P-II atau lebih tinggi , 2. Ran minimal 32 Mybte, 3. Free space hardisk minimal 200 Mybte, 4. Mouse ( Serial / PS2) , 5. Sistem Operasi : a. Minimal Windows 98 ( disarankan versi Windows yang lebih tinggi ) , b. Linux III. Dasar Teori 3.1 Jenis Struktur Kontrol ( Control Structure ) Sebuah bahasa pemograman dimana menggunkan struktur atau statement control ( Control Structure ) untuk mengontrol jalannya aliran eksekusi . Statement control pemograman java dapat dikatagorikan menjadi : I. Selection II. Iteration III. Jump 3.2 Statement Seleksi ( Selection Statement ) Seleksi memungkinkan kita untuk memilih eksekusi terhadap satu atau beberapa bagian dari sutau program dari pada bagian lain .Java mendukung dua statement seleksi yaitu : if dan switch. 3.2.1 Statement IF Struktur Data 3 Page 4 Statemen IF adalah sebuah statemen percabangan kondisional yang digunakan untuk mengatur aliran eksekusi program , yang terdiri dari satu atau dua percabangan . Bentuk umum dari statement if adalah sebagia berikut if (kondisi) statement1; else statemen2; Bentuk umum dari statemen if menggunakan lebih dari satu statemen (majemuk) adalah sebagai berikut : If (kondisi) { statemen; statemen; … … statemen; } else { statemen; statemen; … … statemen; } Nested-If Perintah nested-if ini sering disebut sebagai perintah if dalam if . Bentuk umum dari nested-if adlah sebagai berikut . if ( kondisi) if (kondisi) statemen1; else statemen2; else statemen3; Perintah IF Bertingkat Struktur Data 3 Page 5 Statement if bertingkat adalah sebuah statemen percabangan kondisional yang digunakan untuk mengatur aliran eksekusi program , yang terdiri dari banyak percabangan . Bentuk umum dari statemen if bertingkat adalah sebagai berikut : if (kondisional) statemen1; else if (kondisi2) statemen2; else if (kondisi3) statemen3; else statemen4; 3.2.2 Statemen Switch Statemen switch adalah sebuah statemen percabangan kondisional yang digunakan untuk mengatur aliran eksekusi program , yang terdiri dari banyak percabangan . Bentuk umum dari statemen switch adalah sebagai berikut : switch (ekspresi) { case value1: //statemen break; case value2: //statemen break; … case valueN; //satemen break; default; //default statement } 3.3 Statemen Iterasi ( Iteration Statements) Bentuk Statemen iterasi pada Java adalah for,while, dan do-while. Statemen ini sering disebut sebagai loop. 3.3.1 Statemen while Statemen while merupakan salah satu statemen yang digunakan untuk memproses suatu statemen atau beberapa satatemen beberapa kali. Bentuk statemen while ini adalah sebagai berikut. Struktur Data 3 Page 6 while (LoopCondition) Statemen;//statemen ini bisa lebih dari Satu 3.3.2 Statemen do-while Statemen do-while dogunakan untuk mengulang proses. Bentuk statemen do-while ini adalah sebagai berikut do Statemen while (loopCondition); 3.3.3 Statemen For Statemen for digunakan untuk mengulang pengeksekusian terhadap satu atau sejumlah pernyataan . Bentuk statemen for adalah sebagai berikut. for (InitializationExpression;LoopCondition;StepExpression) Statemen Nested Loops Statemen loop juga mempunyai bentuk loop dalam loop (nested loop) atau dengan kata lain Java mengijinkan suatu loop berada dalam loop yang lain. 3.4 Statemen JUMP Java mendukung terhadap tiga jenis statemen jump : break, continue , dan return. 3.4.1 Statemen break Dalam Java, statemen break mempunyai tiga kegunaan , yaitu : 1. Membatasi (terminates) sebuah urutan statemen dalam statemen switch. 2. Dapat digunakan untuk keluar dari sebuah loop. 3. Dapat digunakan sebagai sebuah pengganti bentuk dari goto. Menggunakan break Sebagai bentuk Goto Pada bahasa java , tidak mempunyai statemen goto seperti pada bahasa lain, tetapi sebagai penggantinya menggunakan statemen break. Break digunakan ketika kita ingin keluar dari satu atau lebih blok kode . Blok ini bukan menjadi bagian dari sebuah Struktur Data 3 Page 7 loop atau switch, dan break bekerja dengan sebuah label . Bentuk umum dari break ini adalah : break label; label adalah sebuah nama dari label yang menunjukkan sebuah blok kode . Penggunaan yang paling umum dari statemen break berlabel adalah untuk keluar dari nested loops. 3.4.2 Statemen Continue Statemen continue merupakan kebalikan dari statemen break . Statemen continue digunakan untuk mengarahkan eksekusi ke iterasi berikutnya pada statemen pengulangan . 3.4.3 Statemen return Statemen control return digunakan / biasanya secara eksplisit me-return (mengembalikan sebuah nilai) dari sebuah metode. IV. Langkah Kerja 1. Jalankan Edit Plus , buat file baru java dan ketikkan kode programberikut: Untuk contoh, perhatikan contoh berikut ini: class IfDemo { public static void main (String args[]) { int a=1,b=2,c; if(a>b) c=1;//statemen1 else c=2;//statemen2 System.out.println("Nilai C="+c); } } 2. Simpan program Java diatas. 3. Eksekusi program Java Pertama dengan mengeklik Buil Compile File . Lalu Buil Excute File Struktur Data 3 Page 8 4. Ketikkan kode program Java berikut ini : Berikut ini contoh program menggunakan statemen majaemuk : class IfDemoMultistatemen { public static void main(String args[]) { int a=1,b=2,c,d; if(a<b) { c=1; d=a+b; System.out.println("Nilai C="+c); System.out.println("Nilai a+b="+d); } else { c=2; d=a-b; System.out.println("Nilai C="+c); System.out.println("Nilai a+b="+d); } } } Struktur Data 3 Page 9 Berikut contoh program menggunakan nested-if class NestedIfDemo { public static void main(String args[]) { int a=1,b=2,c=3,d; if(a<b) if(b<c) d=c+b+a; else d=c-b-a; else d=c+b+a; System.out.println("Nilai D="+d); } } Struktur Data 3 Page 10 Berikut ini adalah contoh program yang menggunakan perintah if bertingkat class IfBertingkatDemo { public static void main(String args[]) { int a=1,b=2,c=3,d=4,x; if(b<a) x=a-b; else if(c<b) x=b-c; else if(d<c) x=c-d; else x=d; System.out.println("Nilai X="+x); } } Struktur Data 3 Page 11 Berikut ini diberikan sebuah contoh program menggunakan if-else untuk aplikasi menu pilihan class MenuJurusanElseIf { public static void main(String args[]) throws java.io.IOException { char pilihan; do { System.out.println("PROGRAM MENGGUNAKAN IFELSE"); System.out.println("JURUSAN ELEKTRO POLINE:"); System.out.println("1.Prodi INFORMATIKA"); System.out.println("2.Prodi LISTRIK"); System.out.println("3.Prodi ELEKTRONIKA"); System.out.println("4.Prodi TELEKOMUNIKASI"); System.out.println("PILIH SALAH SATU:"); pilihan=(char)System.in.read(); } while(pilihan <'1'||pilihan >'4'); System.out.println("\n"); if(pilihan=='1'){System.out.println("FOKUS ILMU KOMPUTER");} else if(pilihan=='2'){System.out.println("FOKUS LISTRIK");} else if(pilihan=='3'){System.out.println("FOKUS Struktur Data 3 Page 12 ELEKTRONIKA");} else TELEKOMUNIKASI");} } if(pilihan=='4'){System.out.println("FOKUS } Berikut ini diberikan sebuah contoh program menggunakan switch hasil dari modifikasi dari contoh program MenujurusanIfElse class MenuJurusanElseIf { public static void main(String args[]) throws java.io.IOException { char pilihan; Struktur Data 3 Page 13 do { System.out.println("PROGRAM MENGGUNAKAN IF- ELSE"); System.out.println("JURUSAN ELEKTRO POLINE:"); System.out.println("1.Prodi INFORMATIKA"); System.out.println("2.Prodi LISTRIK"); System.out.println("3.Prodi ELEKTRONIKA"); System.out.println("4.Prodi TELEKOMUNIKASI"); System.out.println("PILIH SALAH SATU:"); pilihan=(char)System.in.read(); } while(pilihan <'1'||pilihan >'4'); System.out.println("\n");switch(pilihan) { case '1':System.out.println("FOKUS ILMU KOMPUTER");break; case '2':System.out.println("FOKUS LISTRIK");break; case '3':System.out.println("FOKUS ELEKTRONIKA");break; case'4':System.out.println("FOKUS TELEKOMUNIKASI");break; }}} Struktur Data 3 Page 14 Sebagai contoh program dibawah ini untuk menampilkan tulisan ‘java’ sebanyak 10 kali class Whiledemo { public static void main(String args[]) { int n=0; while(n<10) { System.out.println("Hello Java"+n); n++; } } } Struktur Data 3 Page 15 Contoh program do-while hasil modifikasi dari program menggunakan while di atas. class DoWhileDemo { public static void main(String args[]) { int n=0; do { System.out.println(n); System.out.println("Hello Java"); n++; } while(n<10); } } Struktur Data 3 Page 16 Berikut ini diberikan sebuah contoh program menggunakan for hasil dari modifikasi program menggunakan while. class ForDemo { public static void main(String args[]) { //int n=0 //while(n<10) for(int n=0;n<10;n++) { System.out.println("Hello java"+n); //n++; } } } Berikut ini diberikan sebuah contoh program loop dalam loop: class NastedDemo { public static void main(String args[]) { int i,j; for(i=0;i<10;i++) { for(j=i;j<10;j++) System.out.print("x"); System.out.println(); } } } Struktur Data 3 Page 17 Berikut ini diberikan sebuah contoh program menggunakan break untuk keluar dari loop. class BreakLoopDemo { public static void main(String args []) { for(int i=0;i<10;i++) { if(i==5)break;//keluar dari loop jika i=5 System.out.println("i:"+i); } System.out.println("loop selesai"); } } Berikut ini diberikan sebuah contoh program menggunakan break dalam loop dalam loop. class BreakNestedLoopDemo { public static void main(String args[]) { for(int i=0;i<10;i++) { System.out.print("loop ke"+i+":"); if(i==5)break;//berhenti loop jika j=5 for(int j=0;j<10;j++) Struktur Data 3 Page 18 { if(j==8)break;//berhenti loop jika j=8 System.out.print(j); } System.out.println(); } System.out.println("Loops complete."); } } Berikut ini diberikan sebuah contoh program menggunakan statemen break. class BreakDemo { public static void main(String args[]) { boolean t=true; blok1: { blok2: { blok3: { System.out.println("sebelum break."); if(t)break blok1;//break keluar dari blok1 System.out.println("sesudah break tidak dieksekusi"); }System.out.println("Diluar Blok ketiga"); }System.out.println("Diluar blok kedua"); }System.out.println("Diluar blok pertama"); } } Struktur Data 3 Page 19 Untuk contoh ,program berikut menunjukkan penggunaan break untuk keluar dari nested loop: //Menggunakan break untuk keluar dari nestedloops class BreakToExit { public static void main(String args[]) { outer:for(int i=0;i<3;i++) { System.out.print("Loop ke "+i+":"); for(int j=0;j<10;j++) { if(j==5)break outer;//keluar dari loop System.out.print(j+""); }System.out.println("Tidak dieksekusi"); }System.out.println(); System.out.println("Loop selesai"); } } Struktur Data 3 Page 20 Berikut ini diberikan beberapa contoh pemakaian continue dalam program Java. //statemen continue for loop. class ContinueDemo { public static void main(String args[]) { for(int i=0;i<10;i++) { System.out.println(i); if(i<=6)continue; else break; } } } Struktur Data 3 Page 21 Statemen control return digunakan/biasanya secara eksplisit me-return (mengembalikan sebuah nilai) dari sebuah metode. class ReturnAsJump { public static void main(String args[]) { int a=2; int b=6; int c; c=b/a; System.out.println("sebelum retrun c="+c); if(b>a) return;//return ke pemanggil else c=b-a; System.out.println("Tidak akan di eksekusi c="+c); } } Struktur Data 3 Page 22 V. Latihan 1. Sebutkan jenis – jenis struktur control dan jelaskan penggunaanya 2. Sebutkan jenis – jenis statemen seleksi 3. Sebutkan jenis – jenis statemen iterasi 4. Sebutkan jens – jenis iterasi jump 5. Sebutkan struktur control yang akan dieksekusi minimal satu kali 6. Buat for loop yang akan menghasilkan output dari kelipatan 3 sampai 36 : 3 6 9 12 15 18 21 24 27 30 33 36. 7. Buat program menggunakan struktur control untuk menghasilkan output sebagai berikut. Hello,Java Bye Bye Bye Bye Bye 8. Lengkapi program berikut ini , dan tunjukkan hasil running outputnya. class BreakLoop1 { public static void main (String args[]) { int i = 0; do { System.out.println("OK"); i++; if(i>5); break; } } } 9. Tunjukkan hasil dari program dibawah ini public static void main(String args []) { int x,y; Struktur Data 3 Page 23 x=5; y=1; while(x>0) { x=x-1; y=y*x; System.out.println(y); } } 10. Tunjukkan hasil dari program dibawah ini public static void main(String args[]) { int i; i=1; while(i<=32) { i=2*i; System.out.println(i); } } } Jawab : 1. Statemen Control pemograman Java dikategorikan menjadi : a. Statemen Seleksi ( Sellection Statement) : Seleksi memungkinkan kita untuk memilih eksekusi terhadap satu atau beberapa bagian dari sutau program dari pada bagian lain .Java mendukung dua statement seleksi yaitu : if dan switch. b. Statemen Iterasi ( Iteration Statement) : Bentuk Statemen iterasi pada Java adalah for,while, dan do-while. Statemen ini sering disebut sebagai loop. c. Statemen Jump ( Jump Statemen ) : Java mendukung terhadap tiga jenis statemen jump : break, continue , dan return. 2. Jenis – jenis Statement Seleksi : a. Statement IF :Nested-If,If Bertingkat b. Statemen Switch 3. Jenis – jenis Statemen Iterasi : a. Statemen while b. Statemen Do-While c. Statemen For Struktur Data 3 Page 24 4. Jenis – jenis Statemen JUMP : a. Statemen break b. Statemen Continue c. Statemen returun 5. Struktur control do-while yang minimal dikerjakan minimal satu kali, karena akan dikerjakan kemudian dicek. 6. Output dari kelipatan 3 sampai 36 : 3 6 9 12 15 18 21 24 27 30 33 36. class iterasi1 { public static void main(String args[]) { int y=3; int i; for(i=0;i<36;y++) { i=i+3; System.out.println(i); } } } 7. Program dan Output class iterasiSalam { public static void main(String args[]) { int i; System.out.println("Hello,Java ... "); for(i=0;i<=4;i++) { Struktur Data 3 Page 25 System.out.println("Bye"); } } } 8. Program dan output class BreakLoop1 { public static void main (String args[]) { int i = 0; do { System.out.println("OK"); i++; if(i>5); break; }while(i>5); } } 9. Hasil program : Struktur Data 3 Page 26 10. Hasil Program : VI. Penutup Struktur kontrol dapat digunakan untuk pengendalian program, missal seperti if else, if else bertingkat, nested if, break, jump, dan lain-lain. Struktur Data 3 Page 27