MODUL II FUNGSI DAN REKURSI

Ukuran: px
Mulai penontonan dengan halaman:

Download "MODUL II FUNGSI DAN REKURSI"

Transkripsi

1 MODUL II FUNGSI DAN REKURSI 2.1 Tujuan Tujuan modul II ini, adalah: Praktikan bisa membuat program sederhana berdasarkan algoritma dengan memakai fungsi Praktikan bisa membuat program sederhana berdasarkan algoritma dengan menggunakan fungsi rekursi Praktikan dapat membiasakan diri untuk membuat program secara terstruktur. Praktikan memahami algoritma fungsi dan rekursi 2.2 Teori Modularisasi program (yang disebut juga rutin, prosedur atau fungsi) memberikan dua keuntungan, yaitu: untuk aktivitas yang harus dilakukan lebih dari satu kali, modularisasi menghindari penulisan teks program yang sama secara berulangkali. Disini penggunaan modul program dapat mengurangi panjang program. Keuntungan kedua adalah kemudahan menulis dan menemukan kesalahan program. Kemudahan menulis akan sangat berguna pada masalah besar yang dikerjakan oleh satu tim pemrogram yang beranggotakan beberapa orang. Bahasa C tidak mengenal istilah prosedur seperti bahasa pascal. Dalam pascal sendiri, prosedur didefinisikan sebagai suatu proses yang tidak mengembalikan nilai. Untuk melakukan hal ini di dalam c, maka kita harus membuat suatu fungsi dengan tipe void, yang berarti tidak memiliki nilai balik (return value) Fungsi Tanpa Nilai Balik Notasi algoritma yang digunakan untuk mendefinisikan struktur prosedur atau fungsi ini adalah: Procedure nama_prosedur {spesifikasi prosedur, berisi penjelasan tentang apa yang dilakukan oleh prosedur ini k.awal : keadaan sebelum prosedur dilaksanakan II-1

2 II-2 k.akhir : keadaan setelah prosedur dilaksanakan {Semua nama yang dipakai dalam prosedur dan hanya berlaku local dalam prosedur didefnisikan disini {badan prosedur, berisi kumpulan instruksi Contoh Algoritma 1: Procedure HitungLuasSegitiga {Menghitung luas segitiga dengan rumus Luas = (alas x tinggi)/2 {k.awal : sembarang {k.akhir : Luas dicetak ke piranti masukan keluaran Alas : real Tinggi : real Luas : real {panjang alas segitiga, dalam cm {tinggi segitiga, dalam cm {luas segitiga, dalam cm Read(Alas, Tinggi) Luas (Alas * Tinggi) / 2 Write(Luas) Algoritma luassegitiga {program utama untuk menghitung luas segitiga Procedure HitungLuasSegitiga {menghitung luas segitiga dengan rumus luas = (alas x tinggi)/2 Write( menghitung luas sebuah segitiga ) HitungLuasSegitiga Write( selesai ) Program Algoritma 1: //program utama untuk menghitung luas segitiga #include "stdio.h" int Alas; int Tinggi; void HitungLuasSegitiga();

3 II-3 main(){ printf("menghitung luas sebuah segitiga\n"); HitungLuasSegitiga(); printf("\nselesai"); void HitungLuasSegitiga() { float Luas; printf("alas : ");scanf("%d",&alas); printf("tinggi : ");scanf("%d",&tinggi); luas = (Alas * Tinggi)/2; printf("%4.2f",luas); Nama Global dan Lokal Nama-nama (konstanta, peubah, tipe dan lain-lain) yang dideklarasikan di dalam deklarasi prosedur hanya dikenal di dalam badan prosedur yang bersangkutan (bersifat lokal). Sedangkan nama-nama yang dideklarasikan di dalam program utama dikatakan bersifat global (nama-nama global dapat digunakan di bagian manapun di dalam program, baik di dalam program utama maupun di dalam prosedur) Parameter Parameter aktual adalah parameter yang disertakan pada waktu pemanggilan, sedangkan parameter formal adalah parameter yang dideklarasikan di dalam bagian header prosedur itu sendiri. Ketika prosedur dipanggil, parameter actual menggantikan parameter formal. Tiap-tiap parameter aktual berpasangan dengan parameter formal yang bersesuaian. Berdasarkan penggunaannya terdapat 3 jenis parameter formal, yaitu : Parameter masukan (input parameter) : parameter yang nilainya berlaku sebagai masukan untuk prosedur (sering disebut parameter nilai parameter by value). Parameter keluaran (output parameter) : parameter yang menampung keluaran yang dihasilkan oleh prosedur.

4 II-4 Parameter masukan/keluaran (input/output parameter) : parameter yang berfungsi sebagai masukan sekaligus keluaran bagi prosedur tersebut (parameter keluaran dan parameter masukan/keluaran sering dinamakan parameter acuan parameter by reference). Contoh algoritma parameter masukan: Procedure Satu(input X, Y : integer) {contoh prosedur dengan parameter formal berjenis parameter masukan k.awal : nilai x dan y sudah terdefinisi k.akhir : nilai x dan y masing-masing dinaikkan satu lalu dicetak ke piranti keluaran {tidak ada X X +1 Y Y -1 Write(X, Y) Algoritma PQR {contoh program utama yang memanggil prosedur satu A, B : real Procedure Satu(input X, Y : integer) {contoh prosedur dengan parameter formal berjenis parameter masukan Satu(4,10) {pemanggilan satu yang pertama kali Read(a,b) Satu(a,b) {pemanggilan satu yang kedua kalinya Satu(a+5,17) {pemanggilan satu yang ketiga kalinya Pada program PQR diatas: x dan y adalah parameter formal; 4 dan 10, a dan b, a+5 dan 17 adalah parameter aktual. Contoh algoritma parameter Keluaran: Procedure Tiga(input X : integer, output Y : real) {contoh prosedur dengan parameter formal berjenis parameter keluaran k.awal : nilai x sudah terdefinisi k.akhir : di dalam prosedur, nilai x ditambah satu, lalu hasilnya dikalikan 3, disimpan ke dalam y

5 II-5 {tidak ada X X + 1 Y X * 3 Algoritma PQR A, B : integer Procedure Tiga(input X : integer, output Y : integer) {contoh prosedur dengan parameter formal berjenis parameter keluaran Tiga(4, B) {pemanggilan tiga yang pertama kali Write(B) Read (A) Tiga(A, B) {pemanggilan tiga yang kedua kali Write(B) Tiga(A+5, B) {pemanggilan tiga yang ketiga kali Write(B) Contoh Algoritma Parameter Masukan/Keluaran: Procedure Empat(input/output X, Y : integer) {contoh prosedur dengan parameter formal parameter masukan/keluaran {menambahkan nilai x dan y masing-masing dengan 4 {k.awal : X dan Y sudah berisi nilai {k.akhir : nilai X dan Y bertambah masing-masing 4, lalu dicatat ke piranti keluaran {tidak ada X X + 4 Y Y + 4 Write( nilai X dan Y di akhir prosedur empat ) Write( X :,X) Write( Y :,Y) Algoritma PQR {program yang memperlihatkan efek penggunakan parameter masukan/ keluaran A, B : integer

6 II-6 procedure Empat(input/output X, Y : integer) {menambahkan nilai X dan Y masing-masing dengan 4 A 15 B 10 write( nilai A dan B sebelum pemanggilan ) write( A :,A) write( B :, B) empat(a, B) write( nilai A dan B setelah pemanggilan ) write( A :,A) write( B :, B) Contoh Algoritma 2: Procedure tukar(input/output X, Y : integer) {mempertukarkan nilai x dan y k.awal : nilai X dan Y sudah terdefinisi k.akhir : X berisi nilai Y yang lama, Y berisi nilai X yang lama Temp : integer {peubah bantu Temp X {simpan nilai X ke dalam Temp X Y {isikan nilai Y ke dalam X Y Temp {isikan nilai Temp ke dalam Y Algoritma tukar {program utama untuk mempertukarkan nilai A dan B, nilai A dan B dibaca dari piranti masukan A, B : integer Procedure Tukar(input/output X, Y : integer) {mempertukarkan nilai x dan y read(a, B) write(a, B) Tukar(A, B) write(a, B) {baca nilai A dan B terlebih dahulu {cetak nilai A dan B sebelum pertukaran {pertukaran nilai A dan B dengan memanggil prosedur Tukar {cetak nilai A dan B setelah pertukaran

7 II-7 Program Algoritma 2: //program tukar #include "stdio.h" void tukar(int *a, int *b); main(){ int A, B; printf("a : ");scanf("%d",&a); printf("\nb : ");scanf("%d",&b); printf("\na : %d",a); printf("\nb : %d",b); tukar(&a, &B); printf("\na : %d",a); printf("\nb : %d",b); void Tukar(int *A, int *B) { int Temp; Temp = *A; *A = *B; *B = Temp; Contoh Algoritma 3: Procedure HitungRatarata(input N : integer, output U : real) {menghitung nilai rata-rata N buah bilangan bulat yang dibaca dari piranti masukan. Nilai N diasumsikan selalu positif {k.awal : N sudah berisi banyaknya data (N>0) {k.akhir : U berisi rata-rata seluruh bilangan X : integer K : integer Jumlah : integer {data bilangan bulat yang dibaca dari papan kunci {pencacah banyak bilangan {jumlah seluruh bilangan Jumlah 0 {inisialisasi For K 1 to N do Read(X) Jumlah Jumlah + X Endfor U Jumlah/N

8 II-8 Algoritma Rataratabilanganbulat {program utama untuk menghitung nilai rata-rata N buah bilangan bulat yang dibaca dari piranti masukan N : integer U : real {banyaknya data bilangan bulat. N positif {nilai rata-rata seluruh bilangan Procedure HitungRatarata(input N : integer, output U : real) {menghitung nilai rata-rata N buah bilangan bulat yang dibaca dari piranti kunci Read(N) Write( menghitung rata-rata N buah bilangan bulat ) HitungRatarata(N, U) Write(U) Program Algoritma 3: //program utama untuk menghitung luas segitiga #include "stdio.h" int N; float U; void HitungRatarata(int N, float *U); main(){ printf("jumlah data : ");scanf("%d", &N); printf("menghitung rata-rata N buah bilangan bulat\n"); HitungRatarata(N, &U); printf("%f", U); void HitungRatarata(int N, float *U) { int K, Jumlah, X; Jumlah = 0; for (K=1; K<=N; K++) { printf("data ke-%d : ",K);scanf("%d", &X); Jumlah = Jumlah + X; *U = Jumlah/N;

9 II Fungsi Dengan Nilai Balik Fungsi adalah modul program yang memberikan/mengembalikan (return) sebuah nilai dari tipe tertentu (tipe dasar atau tipe bentukan). Sebagaimana halnya prosedur, fungsi diakses dengan memanggil namanya. Selain itu, fungsi juga dapat mengandung daftar parameter formal. Parameter pada fungsi selalu merupakan parameter masukan. Hal ini disebabkan oleh kenyataan bahwa parameter pada fungsi merupakan masukan yang digunakan oleh fungsi tersebut untuk menghasilkan nilai. Notasi algoritma untuk fungsi : Function namafungsi(input daftar parameter formal) tipe hasil {spesifikasi fungsi, menjelaskan apa yang dilakukan dan yang dikembalikan oleh fungsi {semua nama yang dipakai di dalam algoritma fungsi dideklarasikan disini. Nama yang didefinisikan di dalam deklarasi lokal hanya dikenal dan dipakai di dalam fungsi ini saja {badan fungsi, berisi instruksi-isntruksi untuk menghasilkan nilai yang akan dikembalikan oleh fungsi return hasil {pengembalian nilai yang dihasilkan fungsi Contoh Algoritma 4 : Function F(input X : real) real {mengembalikan nilai f(x) = 2x2 + 5x 8, x R) {tidak ada Return 2*X*X + 5*X 8 ATAU, Function F(input X : real) real {mengembalikan nilai f(x) = 2x2 + 5x 8, x R) Y : real {penampung hasil fungsi F Y 2*X*X + 5*X 8 Return Y Algoritma fungsif {program utama pemanggilan fungsif

10 II-10 X : integer Function F(input X : real) real Read(X) Write( F(X) =, F(X)) Program Algoritma 4 : //program fungsi f(x)=2x2+5x-8 #include "stdio.h" float F(float X); main(){ int X; printf("x : ");scanf("%d",&x); printf("\nf(x) : %f",f(x)); float F(float X){ float Y; Y = 2*X*X + 5*X - 8; return Y; Contoh Algoritma 5 : Function Genap(input N : integer) boolean {mengembalikan nilai true jika N adalah bilangan genap, false jika sebaliknya Y : integer Y (N mod 2 = 0) Return Y Algoritma GenapGanjil {program utama yang memanggil fungsi genap Bil : integer Function Genap(input N : integer) boolean {mengembalikan nilai true jika N adalah bilangan genap, false jika sebaliknya

11 II-11 Read(Bil) If Genap(Bil) then Write(Bil, adalah bilangan genap ) Else Write(Bil, adalah bilangan ganjil ) Endif Program Algoritma 5 : //program fungsi f(x)=2x2+5x-8 #include "stdio.h" bool Genap(int Bil); main(){ int Bil; printf("bil : ");scanf("%d",&bil); if (Genap(Bil)) printf("\n%d adalah bilangan genap", Bil); else printf("\n%d adalah bilangan ganjil", Bil); bool Genap(int Bil){ bool Y; Y = (Bil % 2 == 0); return Y; Rekursi Suatu obyek disebut sebagai rekursif apabila sebagian berisi atau didefinisikan sebagai dirinya sendiri. Dengan demikian rekursif adalah suatu proses berupa pemanggilan diri berupa statement perulangan. Proses rekursif juga memungkinkan terjadinya komputasi yang tidak berkesudahan sampai memory yang digunakan tidak dapat menampung lagi, sehingga perlu diperhatikan akan adanya kondisi untuk menghentikan proses eksekusi program. Sebagai contoh sederhana mengenai proses rekursif adalah proses menghitung nilai faktorial dari bilangan bulat positif dan mencari deret fibonnaci dari suatu bilangan bulat, permainan menara hanoi dan sebagainya.

12 II-12 Contoh Algoritma 6: Function Fak(input N : integer) integer {mengembalikan nilai N!. algoritma rekursif. basis : jika N = 0, maka 0!=1 rekurens : jika N>0, maka N! = N x (N-1)! {tidak ada If N = 0 then Return 1 {basis Else Return N*Fak(N-1) {rekurens Endif Algoritma faktorial {program utama yang memanggil fungsi faktorial Bil : integer Function Fak(input Bil : integer) integer {mengembalikan nilai N! Read(Bil) Write(Bil,! adalah :,Fak(Bil)) Program Algoritma 6: //program fungsi rekursif faktorial #include "stdio.h" int Fak(int N); main(){ int N; printf("n! : ");scanf("%d",&n); printf("\n%d! adalah %d", N, Fak(N)); int Fak(int N){ if (N == 0) return 1; else return N*Fak(N-1);

13 II Kasus Kasus 1 1. Tuliskan prosedur untuk menghitung jumlah N buah bilangan genap pertama (bilangan genap dimulai dari 0). Prosedur menerima (parameter) masukan N dan memberikan (parameter) keluaran jumlah N buah bilangan genap pertama. Dari algoritma tersebut, buatlah program dan cantumkan output/hasilnya. 2. Buatlah algoritma prosedur yang menerima dua buah tanggal (dd-mm-yyy) : tanggal-1 dan tanggal-2 lalu menghitung berapa hari jarak tanggal-1 ke tanggal-2 tersebut. Dari algoritma tersebut, buatlah program dan cantumkan output/hasilnya Kasus 2 1. Buatlah sebuah algoritma fungsi yang memberikan durasi antara dua buah jam (dengan format hh:mm:ss) lebih dari 1 jam. Dari algoritma tersebut, buatlah program dan cantumkan output/hasilnya. 2. Misalkan panit(n,k) menyatakan jumlah panitia yang terdiri dari k orang yang dapat dibentuk dari n orang. Sebagai contoh, panit(4,3)=4, karenadiberikan empat orang A, B, C, dan D, maka terdapat empat kemungkinan panitia, yaitu ABC, ABD, ACD dan BCD. Buktikan kesamaan berikut: Panit(n,k) = panit(n-1,k) + panit(n-1,k-1) Buatlah fungsi rekursifnya untuk n, k Tugas Tugas Pendahuluan Tugas pendahuluan akan dikerjakan selama 30 menit di awal jam praktikum dengan menggunakan software Self Assessment

14 II Latihan Praktikum III dan IV Latihan Praktikum III (Pertemuan Ketiga) Buatlah program berdasarkan algoritma di bawah ini: Algoritma 1: Procedure TambahSatuDetik(input/output J : Jam) {menaikkan jam j dengan satu detik {k.awal : j sudah berisi nilai jam (hh:mm:ss) {k.akhir: j berisi jam yang harus setelah ditambah 1 detik {tidak ada If J.SS+1 < 60 then {tidak ada masalah penambahan 1 detik J.SS J.SS + 1 else {j.ss + 1 = 60 J.SS 0 {detik kembali menjadi nol, menit bertambah 1, tapi periksa dulu apakah menit +1 <60 if J.MM + 1 < 60 then {tidak ada masalah penambahan 1 menit J.MM J.MM + 1 else {J.MM + 1 = 60 J.MM 0 {menit menjadi nol, jam berambah 1, tapi periksa dulu apakah jam + 1 <24 if J.HH + 1 < 24 {tidak ada masalah penambahan 1 jam J.HH J.HH + 1 else { J.HH + 1 = 24 J.HH 0 endif endif endif Algoritma Jam_Hidup {membuat jam hidup yang selalu bertambah 1 detik terus menerus sampai jam 00:00:00. masukan jam dibaca dari piranti masukan. Setiap pertambahan 1 detik, jam yang baru ditampilkan sebagai keluaran Type Jam : record<hh : integer, (0 HH 59) MM : integer, (0 HH 59) SS : integer, (0 HH 23) > J : Jam Procedure TambahSatuDetik(input/output J : Jam) {menaikkan jam J dengan satu detik

15 II-15 Read(J.HH, J.MM, J.SS) Write(J.HH, J.MM, J.SS) Repeat Tambahsatudetik(J) Write(J.HH, J.MM, J.SS) Until (J.HH=0) and (J.MM=0) and (J.SS=0) Algoritma 2: Procedure HitungPBT(input M : integer, input N : integer, output PBT : integer) {menghitung pembagi bersama terbesar dari dua buah bilangan bulat tak negative M dan N {k.awal : M dan N sudah terdefinisi harganya, M N dan M, N 0 {k.akhir : PBT berisi pembagi bersama terbesar dari M dan N R : integer {sisa pembagian M dengan N While N 0 do R M mod N M N N R endwhile {N = 0, maka PBT = M PBT M Procedure Tukar(input/output A, B : integer) {mempertukarkan nilai A dan B {k.awal : nilai A dan B sudah terdefinisi {k.akhir : A berisi nilai B yang lama, B berisi nilai A yang lama Temp : integer {peubah bantu Temp A {simpan nilai A ke dalam Temp A B {isikan nilai B ke dalam A B Temp {isikan nilai Temp ke dalam B Algoritma Euclidean {program utama untuk menghitung pembagi bersama terbesar dari dua buah bilangan bulat positif m dan n. harga m dan n dibaca dari piranti masukan M, N : integer {>0 PBT : integer {pembagi bersama terbesar M dan N

16 II-16 Procedure HitungPBT(input M : integer, input N : integer, output PBT : integer) {menghitung pembagi bersama terbesar dari dua buah bilangan bulat tak negative M dan N Procedure Tukar(input/output A, B : integer) {mempertukarkan nilai A dan B Read(M, N) If M<N then Tukar(M, N) {pertukarkan M dan N endif HitungPBT(M, N, PBT) write(pbt) Algoritma 3: Procedure HitungSelisihJam(input J1, J2 : Jam, output J3 : Jam) {menghitung selisih dua buah jam, J3 = J2 J1 {k.awal: J1 dan J2 sudah berisi nilai jam (HH:MM:SS) dan J2.HH > J1.HH {k.akhir: J3 berisi selisih jam J2 dengan J1 {tidak ada {kurangi mulai dari detik dulu if J2.SS J1.SS then {tidak ada masalah pengurangan detik J3.SS J2.SS J1.SS else {J2.SS < J1.SS, lakukan peminjaman 1 menit = 60 detik dari J2.MM J3.SS (J2.SS + 60) J1.SS J2.MM J2.MM 1 {J2.MM berkurang 1 karena dipinjam 1 menit endif {kurangi menit if J2.MM J1.MM then {tidak ada masalah pengurangan menit J3.MM j2.mm J1.MM else {J2.MM < J1.MM, lakukan peminjaman 1 jam = 60 menit dari J2.HH J3.MM (J2.MM + 60) J1.MM J2.HH J2.HH 1 {J2.HH berkurang 1 karena dipinjam 1 menit endif {kurangi jam J3.HH J2.HH J1.HH

17 II-17 Algoritma HitungSelisihDuaBuahJam {menghitung selisih dua buah jam. Data jam dibaca dari piranti masukan Type Jam : record<hh : integer, (0..59) MM : integer, (0..59) SS : integer, (0..23) > J1, J2, J3 : Jam Procedure HitungSelisihJam(input J1,J2 : Jam, output J3 : Jam) {menghitung selisih dua buah jam, J3 = J2 J1 Read(J1.HH, J1.MM, J1.SS) Read(J2.HH, J2.MM, J2.SS) HitungSelisihJam(J1, J2, J3) Write(J3.HH, J3.MM, J3.SS) Algoritma 4: Procedure Masukan(input/output Panjang, Lebar : real) {memasukan nilai panjang dan lebar {tidak ada Read(Panjang, Lebar) Procedure HitungLuassegiempat(input Panjang, Lebar : real) {menghitung luas segiempat persegipanjang. Luas segiempat dicetak sebagai keluaran {k.awal: panjang dan lebar sudah terdefinisi nilainya {k.akhir: luas segiempat tercetak di piranti keluaran Luas : real : Masukan(Panjang, Lebar) Luas Panjang * Lebar Write(Luas) Procedure HitungKelilingsegiempat(input Panjang, Lebar : real) {menghitung keliling segiempat. keliling segiempat dicetak sebagai keluaran {k.awal: panjang dan lebar sudah terdefinisi nilainya {k.akhir: keliling segiempat tercetak di piranti keluaran

18 II-18 Keliling : real : Masukan(Panjang, Lebar) Keliling 2*Panjang + 2*Lebar Write(Keliling) Procedure HitungPanjangdiagonal(input Panjang, Lebar : real) {menghitung panjang diagonal. keliling segiempat dicetak sebagai keluaran {k.awal: panjang dan lebar sudah terdefinisi nilainya {k.akhir: panjang diagonal segiempat tercetak di piranti keluaran Diagonal : real : Masukan(Panjang, Lebar) Diagonal SQRT(Panjang*Panjang + Lebar*Lebar) Write(Diagonal) Algoritma Segiempat {program untuk menampilkan menu perhitungan segiempat (luas, keliling dan panjang) Panjang, Lebar :real Nomormenu : integer Procedure Masukan(input/output Panjang, Lebar : real) {memasukan nilai panjang dan lebar Procedure HitungLuassegiempat(input Panjang, Lebar : real) {menghitung luas segiempat persegi panjang. Luas segiempat dicetak sebagai keluaran Procedure HitungKelilingsegiempat(input Panjang, Lebar : real) {menghitung keliling segiempat. keliling segiempat dicetak sebagai keluaran Procedure HitungPanjangdiagonal(input Panjang, Lebar : real) {menghitung panjang diagonal segiempat. Panjang diagonal segiempat dicetak sebagai keluaran Read(Panjang, Lebar) Repeat {cetak menu ke layar Write( MENU SEGIEMPAT ) Write( 1. hitung luas )

19 II-19 Write( 2. hitung keliling ) Write( 3. hitung panjang diagonal ) Write( 4. Keluar program ) Write( Masukan nomor pilihan menu [1/2/3/4]: ) Read(Nomormenu) Case Nomormenu 1 : HitungLuassegiempat(Panjang, Lebar) 2 : HitungKelilingsegiempat(Panjang, Lebar) 3 : HitungPanjangdiagonal(Panjang, Lebar) 4 : write( keluar program... ) endcase until Nomormenu = Latihan Praktikum IV (Pertemuan Keempat) Buatlah program berdasarkan algoritma di bawah ini: Algoritma 1 Function Valid(input P : string) boolean {bernilai true jika password P benar, false jika tidak Const Password = abc123 return (P = Password) Algoritma Pemeriksaan_password {program pemeriksaan kebenaran password, password dibaca dari papan kunci. Bila password salah, pemasukan password dapat diulang maksimal 3 kali Sandilewat : string Sah : boolean K : integer {kata sandi yang dibaca dari piranti masukan {true jika password benar, false jika salah {pencatat jumlah pembacaan sandilewat Function Valid(input P : string) boolean {bernilai true jika password P benar, false jika tidak K 1 Sah false repeat read(sandilewat) if Valid(Sandilewat) then Sah true

20 II-20 else {Sandilewat Password K K + 1 endif until (Sah) or (K>3) if not Sah then write( anda tidak punya hak mengakses sistem ) endif Algoritma 2 Function Prima(input M : integer) boolean {mengembalikan true jika M bilangan prima, false jika M bukan bilangan prima K : integer Tes : boolean K 2 Tes true {sesuaikan M pada awalnya bilangan prima while (K M-1) and (not Tes) do if M mod K = 0 then {M habis dibagi dengan bilangan K M-1 Hasil false {kesimpulannya : M bukan bilangan prima else K K+1 {coba bagi dengan K berikutnya endif endwhile return Tes Algoritma Hitungprima {program utama menghitung bilangan prima M : integer Function Prima(input M : integer) boolean {mengembalikan true jika M bilangan prima, false jika M bukan bilangan prima Read(M) If Prima(M) then Write(M, bilangan prima) Else Write(M, bukan bilangan prima )

21 II-21 Algoritma 3: Function Balikangka(input N : integer) integer {Membalikan urutan bilangan bulat N (misal: 4567 menjadi 7654) k.awal : nilai N sudah terdefinisi k.akhir : urutan angka bilangan N dicetak terbalik basis : jika N < 10, cetak(n) rekurens : jika N > 10 maks cetak (N mod 10), balikangka(n div 10) {tidak ada If N < 10 then Write(N) {basis Else {rekurens Write(N mod 10) Balikangka(N div 10) Endif Algoritma faktorial {program utama yang memanggil fungsi balikangka N : integer Function Balikangka(input N : integer) integer {Membalikan urutan bilangan bulat N (misal: 4567 menjadi 7654) Read(N) Write(N, dibalik menjadi :,Balikangka(N)) Algoritma 4: Function Pangkat(input A, N : integer) integer {mengembalikan nilai a n, n>0 basis : a n = 1 jika n = 0 rekurens : a n = a x a n-1 {tidak ada If N = 0 then return 1 Else return A*Pangkat(A, N-1)

22 II-22 endif Algoritma Faktorial {program utama yang memanggil fungsi faktorial Bil : integer Function Pangkat(input A, N : integer) integer {mengembalikan nilai a n, n>0 Read(A, N) Write(A, pangkat, N, adalah :,Pangkat(A, N)) Algoritma 5 Formula Deret exp : e x = 0 x 0! 1 x + 1! 2 3 x x + + 2! 3! n x n! Function exp(input x : real) real {mengembalikan nilai exp(x) Const n : integer = 10 S: real X : integer Function Fak(input N : integer) integer {mengembalikan harga N!, untuk N 0) function Pangkat(input X : real, input M:integer) real {mengembalikan harga perpangkatan x n S 0 for X 0 to N do S S + Pangkat(X, K)/Fak(K) endfor return S Algoritma exponential {program utama yang memanggil fungsi exp X : integer

23 II-23 Function Fak(input N : integer) integer {mengembalikan harga N!, untuk N 0) function Pangkat(input X : real, input M : integer) real {mengembalikan harga perpangkatan x n Read(X) Write( exponential,x, adalah,exp(x))

FUNGSI MINGGU KE: 4 TUJUAN: Mahasiswa dapat memahami definisi fungsi. Mahasiswa dapat mendefinisikan fungsi. Mahasiswa dapat menggunakan fungsi.

FUNGSI MINGGU KE: 4 TUJUAN: Mahasiswa dapat memahami definisi fungsi. Mahasiswa dapat mendefinisikan fungsi. Mahasiswa dapat menggunakan fungsi. FUNGSI MINGGU KE: 4 TUJUAN: Mahasiswa dapat memahami definisi fungsi. Mahasiswa dapat mendefinisikan fungsi. Mahasiswa dapat menggunakan fungsi. TEORI PENGANTAR: Definisi Fungsi Fungsi adalah sub-program

Lebih terperinci

ALGORITMA DAN STRUKTUR DATA 1

ALGORITMA DAN STRUKTUR DATA 1 ALGORITMA DAN STRUKTUR DATA 1 Mia Fitriawati, M.Kom PENDAHULUAN Seringkali dalam membuat program besar, pemrogram perlu memecah program menjadi beberapa subprogram yang lebih kecil. Tiap subprogram(modul)

Lebih terperinci

PROSEDUR (Lanjutan) Parameter. Mahasiswa dapat memahami penggunaan prosedur dengan parameter. Mahasiswa dapat membuat prosedur dengan parameter.

PROSEDUR (Lanjutan) Parameter. Mahasiswa dapat memahami penggunaan prosedur dengan parameter. Mahasiswa dapat membuat prosedur dengan parameter. PROSEDUR (Lanjutan) Parameter MINGGU KE: 3 TUJUAN: Mahasiswa dapat memahami penggunaan prosedur dengan parameter. Mahasiswa dapat membuat prosedur dengan parameter. TEORI PENGANTAR: Penggunaan parameter

Lebih terperinci

Prosedur dan Fungsi ALGORITMA DAN PEMROGRAMAN [IS ] Dosen: Yudha Saintika, S.T., M.T.I

Prosedur dan Fungsi ALGORITMA DAN PEMROGRAMAN [IS ] Dosen: Yudha Saintika, S.T., M.T.I Prosedur dan Fungsi ALGORITMA DAN PEMROGRAMAN [IS6110102] Dosen: Yudha Saintika, S.T., M.T.I Sub-Capaian Pembelajaran MK Mahasiswa mampu menerapkan konsep prosedur dan fungsi dalam program. Peta Capaian

Lebih terperinci

Algoritma Pemrograman

Algoritma Pemrograman Algoritma Pemrograman Pertemuan Ke-10 (Fungsi) Noor Ifada noor.ifada@if.trunojoyo.ac.id S1 Teknik Informatika-Unijoyo 1 Sub Pokok Bahasan Pendahuluan Pendefinisian Fungsi Pemanggilan Fungsi Penggunaan

Lebih terperinci

Algoritma Pemrograman

Algoritma Pemrograman Algoritma Pemrograman Pertemuan Ke-10 (Fungsi) :: NoorIfada :: S1 Teknik Informatika-Unijoyo 1 Sub Pokok Bahasan Pendahuluan Pendefinisian Fungsi Pemanggilan Fungsi Penggunaan Prosedur atau Fungsi? S1

Lebih terperinci

Prosedur dan Fungsi. Kenapa Prosedur atau Fungsi?

Prosedur dan Fungsi. Kenapa Prosedur atau Fungsi? Prosedur dan Fungsi Agus Sumaryanto, S.Kom mas.anto72@gmail.com 1 Kenapa Prosedur atau Fungsi? Untuk mencapai suatu tujuan besar, maka tujuan tersebut harus dibagi-bagi menjadi tujuan kecil sampai tujuan

Lebih terperinci

Algoritma Pemrograman

Algoritma Pemrograman Algoritma Pemrograman Pertemuan Ke-9 (Fungsi) :: Noor Ifada :: S1 Teknik Informatika-Unijoyo 1 Sub Pokok Bahasan Pendefinisian Fungsi Pemanggilan Fungsi Penggunaan Prosedur atau Fungsi S1 Teknik Informatika-Unijoyo

Lebih terperinci

Algoritma Pemrograman

Algoritma Pemrograman Algoritma Pemrograman Pertemuan Ke-2 (Teks Algoritma) Noor Ifada noor.ifada@if.trunojoyo.ac.id S1 Teknik Informatika-Unijoyo 1 Sub Pokok Bahasan Pendahuluan Judul Algoritma Deklarasi Deskripsi Translasi

Lebih terperinci

Algoritma dan Struktur Data

Algoritma dan Struktur Data Algoritma dan Struktur Data Mia Fitriawati, M.Kom FUNGSI Modul program yang mengembalikan/ memberikan (return) sebuah nilai yang bertipe sederhana. tipe data sederhana : integer, real, boolean, dan string

Lebih terperinci

Procedure. Pertemuan 10 Algoritma Pemrograman

Procedure. Pertemuan 10 Algoritma Pemrograman Procedure Pertemuan 10 Algoritma Pemrograman Pendahuluan Seringkali dalam membuat program besar, pemrogram perlu memecah program menjadi beberapa subprogram yang lebih kecil. Tiap subprogram (modul) dapat

Lebih terperinci

Algoritma Pemrograman

Algoritma Pemrograman Algoritma Pemrograman Pertemuan Ke-8 dan Ke-9 (Prosedur) Noor Ifada noor.ifada@if.trunojoyo.ac.id S1 Teknik Informatika-Unijoyo 1 Sub Pokok Bahasan Pendahuluan Modularisasi Program Pendefinisian Prosedur

Lebih terperinci

Algoritma Pemrograman

Algoritma Pemrograman Algoritma Pemrograman Pertemuan Ke-7 (Pengulangan atau Looping [2]) Noor Ifada noor.ifada@if.trunojoyo.ac.id S1 Teknik Informatika-Unijoyo 1 Sub Pokok Bahasan Struktur WHILE Struktur REPEAT WHILE vs REPEAT

Lebih terperinci

Algoritma Pemrograman

Algoritma Pemrograman Algoritma Pemrograman Pertemuan Ke-8 dan Ke-9 (Prosedur) :: NoorIfada :: S1 Teknik Informatika-Unijoyo 1 Sub Pokok Bahasan Pendahuluan Modularisasi Program Pendefinisian Prosedur Nama Global dan Nama Lokal

Lebih terperinci

ALGORTIMA DAN PEMROGRAMAN

ALGORTIMA DAN PEMROGRAMAN ALGORTIMA DAN PEMROGRAMAN PROSEDUR Pendahuluan Dalam memprogram yang besar perlu memecah program menjadi pbeberapa subprogram yang lebih kecil. Tiap subprogram kadangkala cukup independen dari program

Lebih terperinci

Algoritma Pemrograman

Algoritma Pemrograman Algoritma Pemrograman Pertemuan Ke-7 (Pengulangan atau Looping [2]) :: Noor Ifada :: S1 Teknik Informatika-Unijoyo 1 Sub Pokok Bahasan Struktur WHILE Struktur REPEAT S1 Teknik Informatika-Unijoyo 2 Struktur

Lebih terperinci

Algoritma Pemrograman

Algoritma Pemrograman Algoritma Pemrograman Pertemuan Ke-2 (Teks Algoritma) :: Noor Ifada :: S1 Teknik Informatika-Unijoyo 1 Sub Pokok Bahasan Pendahuluan Judul Algoritma Deklarasi Deskripsi Translasi Teks Algoritma ke dalam

Lebih terperinci

Algoritma Pemrograman

Algoritma Pemrograman Algoritma Pemrograman Pertemuan Ke-8 (Prosedur) :: Noor Ifada :: S1 Teknik Informatika-Unijoyo 1 Sub Pokok Bahasan Pendahuluan Modularisasi Program Pendefinisian Prosedur Nama Global dan Nama Lokal Parameter

Lebih terperinci

Algoritma Pemrograman

Algoritma Pemrograman Algoritma Pemrograman Pertemuan Ke-7 (Pengulangan atau Looping [2]) :: Noor Ifada :: S1 Teknik Informatika-Unijoyo 1 Sub Pokok Bahasan Struktur WHILE Struktur REPEAT WHILE vs REPEAT S1 Teknik Informatika-Unijoyo

Lebih terperinci

STRUKTUR DASAR ALGORITMA DAN PEMROGRAMAN STMIK AMIKOM YOGYAKARTA

STRUKTUR DASAR ALGORITMA DAN PEMROGRAMAN STMIK AMIKOM YOGYAKARTA STRUKTUR DASAR ALGORITMA DAN PEMROGRAMAN STMIK AMIKOM YOGYAKARTA Khusnawi, S.Kom, M.Eng 2010 ( Structure(pErulanGan RePetiTion Pendahuluan Saat membuat suatu program setiap instruksi bisa dimulai dari

Lebih terperinci

Algoritma Pemrograman

Algoritma Pemrograman Algoritma Pemrograman Pertemuan Ke-2 (Teks Algoritma) :: Noor Ifada :: S1 Teknik Informatika-Unijoyo 1 Sub Pokok Bahasan Pendahuluan Judul Algoritma Deklarasi Deskripsi Translasi Teks Algoritma ke dalam

Lebih terperinci

Prosedur merupakan modul program yang mengerjakan instruksi spesifik dan menghasilkan efek netto. Efek netto diketahui dengan membandingkan keadan awa

Prosedur merupakan modul program yang mengerjakan instruksi spesifik dan menghasilkan efek netto. Efek netto diketahui dengan membandingkan keadan awa Prosedur merupakan modul program yang mengerjakan instruksi spesifik dan menghasilkan efek netto. Efek netto diketahui dengan membandingkan keadan awal dan keadaan akhir pada pelaksanaan prosedur Pendefinisian

Lebih terperinci

MODUL PRAKTIKUM PERCABANGAN DAN PENGULANGAN

MODUL PRAKTIKUM PERCABANGAN DAN PENGULANGAN PERCABANGAN DAN PENGULANGAN Pada BAB ini akan membahas tentang PERCABANGAN dan PERULANGAN. PERCABANGAN : a) IF THEN b) CASE OF PENGULANGAN: a) REPEAT N TIMES b) REPEAT UNTIL c) WHILE DO d) ITERATE STOP

Lebih terperinci

Bab 1 Algoritma dan Pemrograman Tersruktur

Bab 1 Algoritma dan Pemrograman Tersruktur Bab 1 Algoritma dan Pemrograman Tersruktur 1.1 Definisi Algoritma Algoritma adalah urutan langkah-langkah logis penyelesaian masalah yang disusun secara sistematis. Contoh algoritma Euclidean untuk menentukan

Lebih terperinci

Modul Ke-1 Pertemuan ke-1 Deskripsi: Pemrosesan Sekuensial Larik Nama File: P01-XXX (XXX adalah 3 digit terakhir NPM)

Modul Ke-1 Pertemuan ke-1 Deskripsi: Pemrosesan Sekuensial Larik Nama File: P01-XXX (XXX adalah 3 digit terakhir NPM) Modul Ke-1 Pertemuan ke-1 Pemrosesan Sekuensial Larik Nama File: P01-XXX (XXX adalah 3 digit terakhir NPM) Deklarasi: const NMAX = 10 type Larik = array[1..nmax] of integer procedure BacaLarik(output A:

Lebih terperinci

For pencacah awal to akhir do For pencacah akhir downto awal do Aksi endfor

For pencacah awal to akhir do For pencacah akhir downto awal do Aksi endfor MODUL 4 Perulangan A. Tujuan 1. Mahasiswa dapat mempraktekkan proses pengulangan 2. Mahasiswa dapat mempraktekkan tentang variasi perulangan 3. Menjelaskan pengulangan dengan langkah-langkah B. Dasar Teori

Lebih terperinci

STRUKTUR DASAR ALGORITMA

STRUKTUR DASAR ALGORITMA STRUKTUR DASAR ALGORITMA Tujuan Mahasiswa mampu memecahkan masalah dalam sebuah algoritma pemecahan masalah menggunakan struktur pemilihan dan pengulangan. Mahasiswa mengetahui struktur program bahasa

Lebih terperinci

Konstruksi Dasar Algoritma

Konstruksi Dasar Algoritma Konstruksi Dasar Algoritma ALGORITMA DAN PEMROGRAMAN [IF6110202] Yudha Saintika, S.T., M.T.I. Sub-Capaian Pembelajaran MK Pendahuluan Instruksi dan Aksi Algoritma merupakan deskripsi urutan pelaksanaan

Lebih terperinci

ALGORITMA TUGAS 2 RESUME ALGORITMA PERCABANGAN DAN ALGORITMA PERULANGAN. Disusun Oleh : Sakina Mawardah Teknik Informatika. Dosen : Asep M. Yusuf, S.

ALGORITMA TUGAS 2 RESUME ALGORITMA PERCABANGAN DAN ALGORITMA PERULANGAN. Disusun Oleh : Sakina Mawardah Teknik Informatika. Dosen : Asep M. Yusuf, S. ALGORITMA TUGAS 2 RESUME ALGORITMA PERCABANGAN DAN ALGORITMA PERULANGAN Disusun Oleh : Sakina Mawardah Teknik Informatika Dosen : Asep M. Yusuf, S.T UNIVERSITAS NASIONAL PASIM DAFTAR ISI A. Algoritma Percabangan...

Lebih terperinci

algoritma & pemrograman

algoritma & pemrograman algoritma & pemrograman materi pengajaran algoritma & pemrograman I (IF-185) 1. Pendahuluan 4. Procedure & Function - Bahasa Pemrograman Pertemuan : 3x - Membuat program / algoritma Pertemuan : 1x 5. UTS

Lebih terperinci

MODUL IV PENCARIAN DAN PENGURUTAN

MODUL IV PENCARIAN DAN PENGURUTAN MODUL IV PENCARIAN DAN PENGURUTAN 4.1 Tujuan Tujuan modul IV ini, adalah: Praktikan bisa membuat beberapa program pencarian berdasarkan metode algoritma pencarian Praktikan bisa membuat beberapa program

Lebih terperinci

Pertemuan Ke-2 (Teks Algoritma) Rahmady Liyantanto. S1 Teknik Informatika-Unijoyo

Pertemuan Ke-2 (Teks Algoritma) Rahmady Liyantanto. S1 Teknik Informatika-Unijoyo Algoritma Pemrograman Pertemuan Ke-2 (Teks Algoritma) Rahmady Liyantanto Sub Pokok Bahasan Pendahuluan Judul Algoritma Deklarasi Deskripsi Translasi Teks Algoritma ke dalam Teks Program Bahasa Pascal Tabel

Lebih terperinci

Algoritma Pemrograman

Algoritma Pemrograman Algoritma Pemrograman Pertemuan Ke-3 (Tipe Data dan Nama) 1 Sub Pokok Bahasan Pendahuluan Tipe Dasar Tipe Bentukan Nama 2 Pendahuluan Tipe adalah pola representasi data dalam komputer Tipe data dapat dikelompokkan

Lebih terperinci

PROSEDUR DENGAN PARAMETER. Mahasiswa dapat memahami penggunaan prosedur dengan parameter. Mahasiswa dapat membuat prosedur dengan parameter.

PROSEDUR DENGAN PARAMETER. Mahasiswa dapat memahami penggunaan prosedur dengan parameter. Mahasiswa dapat membuat prosedur dengan parameter. PROSEDUR DENGAN PARAMETER MINGGU KE: 3 TUJUAN: Mahasiswa dapat memahami penggunaan prosedur dengan parameter. Mahasiswa dapat membuat prosedur dengan parameter. TEORI PENGANTAR: Penggunaan parameter menawarkan

Lebih terperinci

Algoritma dan Struktur Data I

Algoritma dan Struktur Data I Algoritma dan Struktur Data I Mia Fitriawati, S.Kom, M.Kom Pemilihan Seringkali suatu instruksi hanya bisa dikerjakan jika ia memenuhi suatu persyaratan tertentu Komputer tidak lagi mengerjakan instruksi

Lebih terperinci

Algoritma dan Struktur Data

Algoritma dan Struktur Data 20/11/2014 Algoritma dan Struktur Data Algoritma Pemrograman Bekti Wulandari, M.Pd Kelas B TE 2014 Program Program: sederetan perintah-perintah yang harus dikerjakan oleh komputer untuk menyelesaikan masalah.

Lebih terperinci

Algoritma Brute Force

Algoritma Brute Force Algoritma Brute Force Definisi Brute Force Brute force adalah sebuah pendekatan yang lempang (straightforward( straightforward) ) untuk memecahkan suatu masalah, biasanya didasarkan pada pernyataan masalah

Lebih terperinci

Algoritma dan Pemrograman. Pertemuan Ke-11 Function

Algoritma dan Pemrograman. Pertemuan Ke-11 Function Algoritma dan Pemrograman Pertemuan Ke-11 Function Disusun Oleh : Wilis Kaswidjanti, S.Si.,M.Kom. Jurusan Teknik Informatika Fakultas Teknologi Industri Universitas Pembangunan Nasional Veteran Yogyakarta

Lebih terperinci

TIPE, NAMA, DAN NILAI

TIPE, NAMA, DAN NILAI TIPE, NAMA, DAN NILAI Dian Palupi Rini, M.Kom Tipe Dasar Bilangan Logika Nama Tipe adalah boolean (diambil dari nama matematikawan Inggris George Boole). Ranah Nilai : true (benar) dan false (salah). Konstanta

Lebih terperinci

ALGORITMA PERULANGAN

ALGORITMA PERULANGAN Pertemuan 08 ALGORITMA PERULANGAN Pada Bab ini anda akan mempelajari 1. Pengertian algoritma perulangan 2. Perulangan for-do 3. Perulangan while-do 4. Perulangan repeat-until Algoritma Perulangan Ada kalanya

Lebih terperinci

DASAR PEMROGRAMAN. Institut Teknologi Sumatera

DASAR PEMROGRAMAN. Institut Teknologi Sumatera DASAR PEMROGRAMAN REVIEW STRUKTUR DASAR, PERCABANGAN, DAN PERULANGAN Institut Teknologi Sumatera TUJUAN KULIAH Mengenalkan konsep dasar pemrograman: dekomposisi problem, modularisasi, rekurens; skill/praktek

Lebih terperinci

1. Kompetensi Mengenal dan memahami notasi-notasi algoritma yang ada.

1. Kompetensi Mengenal dan memahami notasi-notasi algoritma yang ada. Semester : 4 Pengenalan Algoritma dan Program 200 menit No. : LST/EKA/EKA259/01 Revisi : 01 Tgl. : 10-2-2014 Hal. 1 dari 2 hal. 1. Kompetensi Mengenal dan memahami notasi-notasi algoritma yang ada. 2.

Lebih terperinci

Fungsi. Fungsi. Dasar Komputer & Pemrograman 1. dipecah Sub Program. Program. Dasar Komputer & Pemrograman TC22052 Kartika Firdausy - UAD

Fungsi. Fungsi. Dasar Komputer & Pemrograman 1. dipecah Sub Program. Program. Dasar Komputer & Pemrograman TC22052 Kartika Firdausy - UAD Fungsi Dasar Komputer & Pemrograman TC22052 Kartika Firdausy - UAD Program dipecah Sub Program modul / routine / prosedur / fungsi Dasar Komputer & Pemrograman 1 Keuntungan modularisasi program 1. Menghindari

Lebih terperinci

Nama, Tipe, Ekspresi, dan Nilai

Nama, Tipe, Ekspresi, dan Nilai Nama, Tipe, Ekspresi, dan Nilai ALGORITMA DAN PEMROGRAMAN [IS6110102] Dosen: Yudha Saintika, S.T., M.T.I Sub-Capaian Pembelajaran MK Mahasiswa mampu menerapkan konsep nama, tipe, ekspresi, nilai ke dalam

Lebih terperinci

Algoritma & Pemrograman FUNGSI. Pengampu : Agus Priyanto, M.Kom SEKOLAH TINGGI TEKNOLOGI TELEMATIKA TELKOM. Smart, Trustworthy, And Teamwork

Algoritma & Pemrograman FUNGSI. Pengampu : Agus Priyanto, M.Kom SEKOLAH TINGGI TEKNOLOGI TELEMATIKA TELKOM. Smart, Trustworthy, And Teamwork Algoritma & Pemrograman FUNGSI Pengampu : Agus Priyanto, M.Kom SEKOLAH TINGGI TEKNOLOGI TELEMATIKA TELKOM Smart, Trustworthy, And Teamwork FUNGSI Modul program yang mengembalikan/ memberikan (return) sebuah

Lebih terperinci

Algoritma Brute Force (Bagian 1) Oleh: Rinaldi Munir

Algoritma Brute Force (Bagian 1) Oleh: Rinaldi Munir Algoritma Brute Force (Bagian 1) Oleh: Rinaldi Munir Bahan Kuliah IF2251 Strategi Algoritmik 1 Definisi Brute Force Brute force : pendekatan yang lempang (straightforward) untuk memecahkan suatu masalah

Lebih terperinci

Aturan Penulisan Algoritma Setiap Algoritma akan selalu terdiri dari tiga bagian yaitu : Judul (Header) Kamus Algoritma

Aturan Penulisan Algoritma Setiap Algoritma akan selalu terdiri dari tiga bagian yaitu : Judul (Header) Kamus Algoritma Pengantar dan Pemrograman alex@ilmukomputer.com Lisensi Dokumen: Seluruh dokumen di IlmuKomputer.Com dapat digunakan, dimodifikasi dan disebarkan secara bebas untuk tujuan bukan komersial (nonprofit),

Lebih terperinci

SOAL C++ Created by Yuli Astuti,S.Kom Copyright 2009

SOAL C++ Created by Yuli Astuti,S.Kom Copyright 2009 SOAL C++ 1. Penulisan Preprocessor yang benar di awali dengan tanda pound atau tanda : a. # c. @ b. & d. = 2. Contoh penulisan file header yang benar yaitu : a. &include c. =include

Lebih terperinci

PERTEMUAN 7 REVIEW (QUIZ)

PERTEMUAN 7 REVIEW (QUIZ) PERTEMUAN 7 REVIEW (QUIZ) 1. Langkah pertama yang harus dilakukan dalam menyusun suatu program a. Membuat Hipotesa b. Membuat Masalah c. Membuat Algoritma d. Membuat Program e. Menyalakan Komputer 2. Sebuah

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

Algoritma Pemrograman

Algoritma Pemrograman Algoritma Pemrograman Pertemuan Ke-3 (Tipe Data dan Nama) Noor Ifada noor.ifada@if.trunojoyo.ac.id S1 Teknik Informatika-Unijoyo 1 Sub Pokok Bahasan Pendahuluan Tipe Dasar Tipe Bentukan Nama S1 Teknik

Lebih terperinci

Teori Algoritma. Struktur Algoritma

Teori Algoritma. Struktur Algoritma Alam Santosa Teori Algoritma Runtunan Struktur Algoritma Seperti telah dijelaskan sebelumnya, sebuah algoritma terbagi tiga bagian, yaitu: Judul Deklarasi Deskripsi Judul Judul program digunakan untuk

Lebih terperinci

Yudha Dwi P. N. S.Kom. Pertemuan 3 Aturan Penulisan Teks Algoritma

Yudha Dwi P. N. S.Kom. Pertemuan 3 Aturan Penulisan Teks Algoritma Yudha Dwi P. N. S.Kom Pertemuan 3 Aturan Penulisan Teks Algoritma Aturan Penulisan Teks Algoritma Teks algoritma berisi deskripsi langkah-langkah penyelesaian masalah. Deskripsi tersebut dapat ditulis

Lebih terperinci

POKOK BAHASAN - 2 PEMROGRAMAN MODULAR

POKOK BAHASAN - 2 PEMROGRAMAN MODULAR STRUKTUR DATA POKOK BAHASAN - 2 PEMROGRAMAN MODULAR Oleh : NAZARUDDIN AHMAD, S.T, M.T Design By mytemplate 2013 1. Pemrograman Modular Pemrograman Modular adalah pemrograman yang dilakukan dengan membuat

Lebih terperinci

Algoritma & Pemrograman

Algoritma & Pemrograman Algoritma & Pemrograman PENGULANGAN Pendahuluan Salah satu kelebihan komputer dibandingkan dengan manusia adalah kemampuannya untuk melaksanakan suatu instruksi berulang kali tanpa mengenal lelah dan bosan.

Lebih terperinci

STRUKTUR DASAR ALGORITMA

STRUKTUR DASAR ALGORITMA STRUKTUR DASAR ALGORITMA Pertemuan 5 Muhamad Haikal, S.Kom., MT Struktur Dasar Algoritma 1. Struktur Sequence (Runtunan) 2. Struktur Selection (Pemilihan) 3. Struktur Repetition (Perulangan) Struktur Sequence

Lebih terperinci

Tinjau algoritma dibawah ini

Tinjau algoritma dibawah ini Matakuliah : Algoritma & Struktur Data Versi : 1.0.0 Materi : Tipe, Nama, dan Nilai Penyaji : Zulkarnaen NS 1 Tinjau algoritma dibawah ini Di dalam algoritma Euclidean, nilai m dan n dimanipulasi oleh

Lebih terperinci

LOOPING. Brigida Arie Minartiningtyas, M.Kom

LOOPING. Brigida Arie Minartiningtyas, M.Kom LOOPING Brigida Arie Minartiningtyas, M.Kom Program yang efisien adalah program yang memungkinkan pengguna bekerja sesedikit mungkin dan komputer bekerja sebanyak mungkin. Kondisi perulangan Ekspresi boolean

Lebih terperinci

Pertemuan Ke-3 (Tipe Data dan Nama) Rahmady Liyantanto. S1 Teknik Informatika-Unijoyo

Pertemuan Ke-3 (Tipe Data dan Nama) Rahmady Liyantanto. S1 Teknik Informatika-Unijoyo Algoritma Pemrograman Pertemuan Ke-3 (Tipe Data dan Nama) Rahmady Liyantanto Sub Pokok Bahasan Pendahuluan Tipe Dasar Tipe Bentukan Nama Pendahuluan Tipe adalah pola representasi data dalam komputer. Tipe

Lebih terperinci

BAHAN AJAR ALGORITMA DAN PEMROGRAMAN I

BAHAN AJAR ALGORITMA DAN PEMROGRAMAN I BAHAN AJAR ALGORITMA DAN PEMROGRAMAN I OLEH: Budi Mulyono, S.Pd., M.Sc. Drs. Purwoko, M.Si. PENDIDIKAN MATEMATIKA FAKULTAS KEGURUAN DAN ILMU PENDIDIKAN UNIVERSITAS SRIWIJAYA i KATA PENGANTAR Bahan ajar

Lebih terperinci

2 ATURAN PENULISAN TEKS ALGORITMA

2 ATURAN PENULISAN TEKS ALGORITMA 2 ATURAN PENULISAN TEKS ALGORITMA Teks algoritma berisi deskripsi langkah-langkah penyelesaian masalah. Deskripsi tersebut dapat ditulis dalam notasi apapun, asalkan mudah dimengerti dan dipahami. Tidak

Lebih terperinci

UJIAN TENGAH SEMESTER GANJIL TAHUN STMIK AMIKOM YOGYAKARTA

UJIAN TENGAH SEMESTER GANJIL TAHUN STMIK AMIKOM YOGYAKARTA UJIAN TENGAH SEMESTER GANJIL TAHUN 2012 2013 STMIK AMIKOM YOGYAKARTA Mata Ujian : Algoritma dan Pemrograman Kelas : 12-S1TI-12 s/d 14 Sifat : Open Book (Close Laptop) Jurusan : S1 Teknik Informatika Hari

Lebih terperinci

ALGORITMA & PEMROGRAMAN

ALGORITMA & PEMROGRAMAN MODUL BAHAN AJAR ALGORITMA & PEMROGRAMAN Oleh : Shiyami M, S.Kom. JURUSAN MANAJEMEN INFORMATIKA POLITEKNIK POS INDONESIA BANDUNG 2011 DAFTAR ISI BAB I PENGENALAN ALGORITMA... 1 BAB II NOTASI ALGORITMIK,

Lebih terperinci

PROSEDUR/SUB RUTIN. Algoritma & Pemrograman. Pengampu : Agus Priyanto, M.Kom SEKOLAH TINGGI TEKNOLOGI TELEMATIKA TELKOM

PROSEDUR/SUB RUTIN. Algoritma & Pemrograman. Pengampu : Agus Priyanto, M.Kom SEKOLAH TINGGI TEKNOLOGI TELEMATIKA TELKOM Algoritma & Pemrograman PROSEDUR/SUB RUTIN Pengampu : Agus Priyanto, M.Kom SEKOLAH TINGGI TEKNOLOGI TELEMATIKA TELKOM Smart, Trustworthy, And Teamwork Pemrograman Modular Teknik pemrograman modular : Program

Lebih terperinci

Pertemuan 4 RUNTUNAN/SEKUENSIAL

Pertemuan 4 RUNTUNAN/SEKUENSIAL ALGORITMA PEMROGRAMAN (Semester 1 - IF6110202) Pertemuan 4 RUNTUNAN/SEKUENSIAL Jadwal: Selasa, 17/10/2017, 10:20-12.00 (2 sks) Dosen:Condro Kartiko CAPAIAN PEMBELAJARAN UMUM Setelah mengikuti mata kuliah

Lebih terperinci

Algoritma Pemrograman

Algoritma Pemrograman Algoritma Pemrograman Pertemuan Ke-3 Tipe Data dan Nama :: Noor Ifada :: S1 Teknik Informatika-Unijoyo 1 Sub Pokok Bahasan Pendahuluan Tipe Dasar Tipe Bentukan Nama S1 Teknik Informatika-Unijoyo 2 Pendahuluan

Lebih terperinci

Algoritma Pemrograman

Algoritma Pemrograman Algoritma Pemrograman Pertemuan Ke-3 (Tipe Data dan Nama) :: Noor Ifada :: S1 Teknik Informatika-Unijoyo 1 Sub Pokok Bahasan Pendahuluan Tipe Dasar Tipe Bentukan Nama S1 Teknik Informatika-Unijoyo 2 1

Lebih terperinci

AlgoritmaBrute Force. Desain dan Analisis Algoritma (CS3024)

AlgoritmaBrute Force. Desain dan Analisis Algoritma (CS3024) AlgoritmaBrute Force Desain dan Analisis Algoritma (CS3024) Definisi Brute Force Brute forceadalah sebuah pendekatan yang lempang (straightforward) untuk memecahkan suatu masalah, biasanya didasarkan pada

Lebih terperinci

Brigida Arie Minartiningtyas, M.Kom

Brigida Arie Minartiningtyas, M.Kom Brigida Arie Minartiningtyas, M.Kom Pseudocode Pseudo berarti imitasi atau mirip atau menyerupai Code menunjukkan kode dari program Pseudocode adalah kode yang mirip dengan instruksi kode program yang

Lebih terperinci

MODUL PRAKTIKUM. MODUL I - VIII Modul penuntun dan bahan praktikum matakuliah algoritma dan pemograman

MODUL PRAKTIKUM. MODUL I - VIII Modul penuntun dan bahan praktikum matakuliah algoritma dan pemograman I - VIII Modul penuntun dan bahan praktikum matakuliah algoritma dan pemograman Jurusan Teknik Informatika Fakultas Teknik Universitas Maritim Raja Ali Haji ALGORITMA DAN PEMOGRAMAN I. ALGORITMA II. BAHASA

Lebih terperinci

MODUL PRAKTIKUM ALGORITMA PEMROGRAMAN TEKNIK INFORMATIKA

MODUL PRAKTIKUM ALGORITMA PEMROGRAMAN TEKNIK INFORMATIKA MODUL PRAKTIKUM ALGORITMA PEMROGRAMAN TEKNIK INFORMATIKA Nama : NRP : Laboratorium Pemrograman JURUSAN TEKNIK INFORMATIKA FAKULTAS TEKNIK UNIVERSITAS TRUNOJOYO 2012 KONTRAK PRAKTIKUM Nama Mata Kuliah :

Lebih terperinci

MODUL 10 Fungsi 10.1 Kompetensi 10.2 Alat Dan Bahan: 10.3 Ulasan Teori: Dasar Fungsi Deklarasi Fungsi

MODUL 10 Fungsi 10.1 Kompetensi 10.2 Alat Dan Bahan: 10.3 Ulasan Teori: Dasar Fungsi Deklarasi Fungsi MODUL 10 Fungsi 10.1 Kompetensi 1. Mahasiswa mampu membagi logika program dengan menggunakan fungsi. 2. Mahasiswa memahami konsep rekursif serta mengimplementasikan dengan menggunakan fungsi. 10.2 Alat

Lebih terperinci

PROCEDURE DAN FUNCTION

PROCEDURE DAN FUNCTION PROCEDURE DAN FUNCTION Seolah-olah terpisah dari program utama, namun sebenarnya mrpkn bagian dari program utama yg kemudian dipanggil (dapat berulang) oleh program utama tsb. Modul atau blok program yang

Lebih terperinci

Spesifikasi: Ukuran: 14x21 cm Tebal: 225 hlm Harga: Rp Terbit pertama: Februari 2005 Sinopsis singkat:

Spesifikasi: Ukuran: 14x21 cm Tebal: 225 hlm Harga: Rp Terbit pertama: Februari 2005 Sinopsis singkat: Spesifikasi: Ukuran: 14x21 cm Tebal: 225 hlm Harga: Rp 32.800 Terbit pertama: Februari 2005 Sinopsis singkat: Struktur data merupakan salah satu ilmu fundamental untuk mempelajari pemrograman. Mahasiswa

Lebih terperinci

c. Hasil pencarian berupa nilai Boolean yang menyatakan status hasil pencarian. Versi 1 (Pembandingan elemen dilakukan sebagai kondisi pengulangan)

c. Hasil pencarian berupa nilai Boolean yang menyatakan status hasil pencarian. Versi 1 (Pembandingan elemen dilakukan sebagai kondisi pengulangan) ALGORITMA PENCARIAN MINGGU KE: 9 TUJUAN: Mahasiswa dapat memahami masalah pencarian. Mahasiswa dapat memahami algoritma pencarian beruntun. Mahasiswa dapat memahami algoritma pencarian beruntun Versi 1

Lebih terperinci

Subprogram (dalam Bahasa C++ + Flowchart)

Subprogram (dalam Bahasa C++ + Flowchart) Subprogram (dalam Bahasa C++ + Flowchart) Tim Penyusun Materi PTI-B KU1072/Pengenalan Teknologi Informasi B Tahap Tahun Pertama Bersama Institut Teknologi Bandung Tujuan Mahasiswa memahami makna dan kegunaan

Lebih terperinci

Algoritma Pemrograman

Algoritma Pemrograman Algoritma Pemrograman Pertemuan Ke-14 (Rekursi) :: Noor Ifada :: S1 Teknik Informatika-Unijoyo 1 Sub Pokok Bahasan Pendahuluan Faktorial Menara Hanoi S1 Teknik Informatika-Unijoyo 2 Pendahuluan Algoritma

Lebih terperinci

PERTEMUAN - 3 PEMROGRAMAN MODULAR

PERTEMUAN - 3 PEMROGRAMAN MODULAR ALGORITMA & PEMROGRAMAN 2 PERTEMUAN - 3 PEMROGRAMAN MODULAR Oleh : NAZARUDDIN AHMAD, S.T, M.T Design By mytemplate 2013 1. Pemrograman Modular Pemrograman Modular adalah pemrograman yang dilakukan dengan

Lebih terperinci

Algoritma Pemrograman

Algoritma Pemrograman Algoritma Pemrograman Pertemuan Ke-14 (Rekursi) Noor Ifada noor.ifada@if.trunojoyo.ac.id S1 Teknik Informatika-Unijoyo 1 Sub Pokok Bahasan Pendahuluan Faktorial Menara Hanoi S1 Teknik Informatika-Unijoyo

Lebih terperinci

Algoritma dan Pemrograman. Loop control structures: WHILE. Loop control structures: WHILE Perhatikan potongan program berikut: 12/29/2011

Algoritma dan Pemrograman. Loop control structures: WHILE. Loop control structures: WHILE Perhatikan potongan program berikut: 12/29/2011 Algoritma dan Pemrograman WHILE while (kondisi) statement; FALSE kondisi? TRUE statement Pernyataan (statements) di dalam struktur WHILE akan diproses minimum NOL kali. Mengapa? WHILE Perhatikan potongan

Lebih terperinci

Algoritma & Pemrograman 1. Muhamad Nursalman Pendilkom/Ilkom Universitas Pendidikan Indonesia

Algoritma & Pemrograman 1. Muhamad Nursalman Pendilkom/Ilkom Universitas Pendidikan Indonesia Algoritma & Pemrograman 1 Muhamad Nursalman Pendilkom/Ilkom Universitas Pendidikan Indonesia Daftar Isi 1. Bab 1 Pengantar & Dasar Dasar Algoritma 2. Bab 2 Aturan Penulisan Teks Algoritma 3. Bab 3 Tipe,

Lebih terperinci

Procedure. Brigida Arie Minartiningtyas, M.Kom

Procedure. Brigida Arie Minartiningtyas, M.Kom Procedure Brigida Arie Minartiningtyas, M.Kom Pemrograman Modular Program besar dipecah menjadi beberapa sub-program yang kecil Tiap sub-program disebut MODUL Sehingga suatu program utama dapat dibuat

Lebih terperinci

Definisi Percabangan

Definisi Percabangan Pertemuan 2 Percabangan Sederhana MK. Algoritma dan Struktur Data Bekti Wulandari, M.Pd. TE KELAS B 2014 Definisi Percabangan Percabangan adalah suatu suatu perintah (pernyataan) yang memungkinkan suatu

Lebih terperinci

CCH1A4 / Dasar Algoritma & Pemrogramanan

CCH1A4 / Dasar Algoritma & Pemrogramanan CCH1A4 / Dasar & Pemrogramanan Yuliant Sibaroni M.T, Abdurahman Baizal M.Kom KK Modeling and Computational Experiment FUNGSI Overview Fungsi Konsep Fungsi Fungsi Sederhana Fungsi dengan Analisa Kasus If...Then...Else

Lebih terperinci

BAHAN AJAR ALGORITMA DAN PEMROGRAMAN I

BAHAN AJAR ALGORITMA DAN PEMROGRAMAN I BAHAN AJAR ALGORITMA DAN PEMROGRAMAN I OLEH: Budi Mulyono, S.Pd., M.Sc. Drs. Purwoko, M.Si. PENDIDIKAN MATEMATIKA FAKULTAS KEGURUAN DAN ILMU PENDIDIKAN UNIVERSITAS SRIWIJAYA i KATA PENGANTAR Bahan ajar

Lebih terperinci

CCH1A4 / Dasar Algoritma & Pemrogramanan

CCH1A4 / Dasar Algoritma & Pemrogramanan CCH1A4 / Dasar & Pemrogramanan Yuliant Sibaroni M.T, Abdurahman Baizal M.Kom KK Modeling and Computational Experiment PROSEDUR Overview Prosedur Konsep Prosedur Prosedur Tanpa Input/Output Prosedur dengan

Lebih terperinci

PEMILIHAN. Runtunan. Dian Palupi Rini, M.Kom

PEMILIHAN. Runtunan. Dian Palupi Rini, M.Kom PEMILIHAN Dian Palupi Rini, M.Kom Runtunan Struktur runtunan hanya terdapat pada program sederhana. Pada umumnya, masalah yang akan diselesaikan memiliki beberapa alternatif pelaksanaan aksi. Suatu aksi

Lebih terperinci

Algoritma dan Struktur Data I Mia Fitriawati, S.Kom, M.Kom

Algoritma dan Struktur Data I Mia Fitriawati, S.Kom, M.Kom Runtunan Algoritma dan Struktur Data I Mia Fitriawati, S.Kom, M.Kom Runtunan terdiri dari satu atau lebih pernyataan Tiap pernyataan dikerjakan secara berurutan sesuai urutannya Urutan instruksi menentukan

Lebih terperinci

Algoritma Pemrograman 2B (Pemrograman C++)

Algoritma Pemrograman 2B (Pemrograman C++) Algoritma Pemrograman 2B (Pemrograman C++) Jurusan Sistem Komputer Dr. Lily Wulandari Materi 4 FUNGSI (FUNCTION) PADA C++ 1 Outline Konsep Dasar Fungsi Standar File Header Definisi Fungsi Deklarasi Fungsi

Lebih terperinci

A. TUJUAN 1. Memecah program dalam fungsi fungsi yang sederhana. 2. Menjelaskan tentang pemrograman terstruktur.

A. TUJUAN 1. Memecah program dalam fungsi fungsi yang sederhana. 2. Menjelaskan tentang pemrograman terstruktur. Praktikum 7 (3/5) FUNGSI A. TUJUAN 1. Memecah program dalam fungsi fungsi yang sederhana. 2. Menjelaskan tentang pemrograman terstruktur. B. DASAR TEORI Pemanggilan dengan nilai merupakan cara yang dipakai

Lebih terperinci

Pertemuan 3 Prosedur dan Fungsi

Pertemuan 3 Prosedur dan Fungsi Pertemuan 3 Prosedur dan Fungsi Objektif: 1. Memahami penggunaan prosedur dan fungsi 2. Mengerti pengiriman parameter dalam prosedur dan fungsi 3. Dapat membuat program sederhana menggunakan prosedur dan

Lebih terperinci

Algoritma dan Pemrograman 2. PROSEDUR dan FUNGSI

Algoritma dan Pemrograman 2. PROSEDUR dan FUNGSI Algoritma dan Pemrograman 2 PROSEDUR dan FUNGSI Baik prosedur maupun fungsi merupakan suatu modul sub program yang mengerjakan tugas/aktivitas yang spesifik. Perbedaan diantara keduanya adalah sebuah fungsi

Lebih terperinci

ALGORITMA DAN PEMROGRAMAN

ALGORITMA DAN PEMROGRAMAN ALGORITMA DAN PEMROGRAMAN MATERI 3 1 2 Macam macam struktur algoritma : RUNTUNAN (SEQUENCE) PEMILIHAN (SELECTION) PENGULANGAN (REPETITION) 3 RUNTUNAN Runtunan merupakan struktur algoritma paling dasar

Lebih terperinci

SUB PROGRAM P E N G A N TA R P R O G R A M S T U D I. Institut Teknologi Sumatera

SUB PROGRAM P E N G A N TA R P R O G R A M S T U D I. Institut Teknologi Sumatera SUB PROGRAM P E N G A N TA R P R O G R A M S T U D I Institut Teknologi Sumatera PRE TEST Jelaskan apa yang dimaksud dengan perulangan? Sebutkan jenis metode perulangan? Apa perbedaan dari masing-masing

Lebih terperinci

Struktur Pengulangan

Struktur Pengulangan ALGORITMA & STRUKTUR DATA1 Mia Fitriawati S.Kom, M.Kom Struktur Pengulangan Struktur pengulangan secara umum terdiri atas dua bagian: Kondisi pengulangan Badan (body) pengulangan Struktur pengulangan secara

Lebih terperinci

FAKULTAS TEKNIK UNIVERSITAS NEGERI YOGYAKARTA LAB SHEET BAHASA PEMROGRAMAN Fungsi : Passing Parameter by Value & Semester 3

FAKULTAS TEKNIK UNIVERSITAS NEGERI YOGYAKARTA LAB SHEET BAHASA PEMROGRAMAN Fungsi : Passing Parameter by Value & Semester 3 No. LST/EKA/EKA255/09 Revisi : 00 Tgl : 8 Sept 2014 Hal 1 dari 5 A. TUJUAN PEMBELAJARAN 1. Memahami perbedaan pengiriman parameter secara nilai dan secara alamat. 2. Memecah program dalam fungsi fungsi

Lebih terperinci

Algoritma Pemrograman

Algoritma Pemrograman Algoritma Pemrograman Pertemuan Ke-6 (Pengulangan atau Looping [1]) 1 Sub Pokok Bahasan Pendahuluan Struktur Pengulangan Pengulangan tanpa kondisi dan dengan kondisi Struktur FOR (menaik dan menurun) 2

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

LAPORAN PRAKTIKUM ALGORITMA DAN PEMROGRAMAN ( Implementasi Rekursi Pada Java)

LAPORAN PRAKTIKUM ALGORITMA DAN PEMROGRAMAN ( Implementasi Rekursi Pada Java) LAPORAN PRAKTIKUM ALGORITMA DAN PEMROGRAMAN ( Implementasi Rekursi Pada Java) Di susun oleh: Wahyono ( 06/193218/PA/10892 ) Praktikan Algoritma dan Pemrograman Kelas A 7 Mei 2007 LABORATORIUM KOMPUTASI

Lebih terperinci

OPERASI SELEKSI PEMROGRAMAN C++

OPERASI SELEKSI PEMROGRAMAN C++ OPERASI SELEKSI PEMROGRAMAN C++ ruliriki@gmail.com PEMILIHAN IF SWITCH PEMILIHAN Memilih bilangan terbesar atau terkecil dari dua buah bilangan menggunakan Control statement if Syntax Penulisan if statement:

Lebih terperinci