Teknik Pemrograman (TEKPRO

)
Oleh: Achmad Zakki Falani, S.Kom.

Fakultas Ilmu Komputer Universitas Narotama

Teknik Pemrograman

Materi
Pertemuan keI Materi - Pengenalan Algorithma - Dasar-dasar pemrograman - Sequence - Selection - Iteration QUIZ I (Materi pertemuan ke-I,II,III) - Array & Random - Procedure & Function QUIZ II (Materi pertemuan ke V, VI) UAS (Semua Materi)
BACK NEXT

II III IV V VI VII

Teknik Pemrograman

Kriteria Penilaian:
 Kehadiran

 Tugas
 Keaktifan  NIlai

UTS  Nilai UAS
 Nilai

: 10 % : 15 % : 15 % : 30 % (Reg./Kelas A&B) : 30 % (Reg./Kelas A&B) : 60 % (Ins./Kelas C)

UAS

BACK

NEXT

Teknik Pemrograman Back to ALPRO (Algoritma & Pemrograman)  Algoritma ? BACK NEXT .

Teknik Pemrograman Back to ALPRO (Algoritma & Pemrograman)  Pemrograman ? BACK NEXT .

Teknik Pemrograman Level Bahasa Pemrograman  High Level Language  Low Level Language BACK NEXT .

Teknik Pemrograman Klasifikasi  Desktop Programming  Web Programming  Mobile Programming  Machine Programming BACK NEXT .

Teknik Pemrograman Tools  Flowchart ? BACK NEXT .

3. • Input & Output BACK NEXT .Teknik Pemrograman Symbol Flowchart Symbol 1. Keterangan • Start & Finish • Begin & End • Mulai & Selesai • Inisialisasi 2.

Loop. dll…) • Perputaran Lanjutan Loop (Next Construction) BACK NEXT 7. . Until.Teknik Pemrograman Symbol Flowchart Symbol 4. Keterangan • Proses 5. Do. • Pengecekan (If . dll…) 6. • Perulangan / Loop (For. While.

• Sambungan / Lanjutan 10. Keterangan • Garis Penghubung 9.Teknik Pemrograman Symbol Flowchart Symbol 8. • Prosedur / Fungsi BACK NEXT .

Teknik Pemrograman Back to ALPRO (Algoritma & Pemrograman) Macam Operator:  Operator Aritmatika  Operator Assignment  Operator Perbandingan  Operator Logika BACK NEXT .

Teknik Pemrograman Operator Aritmatika  Digunakan untuk melakukan Perhitungan BACK NEXT .

Teknik Pemrograman Operator Aritmatika Simbol + * / atau div MOD atau % Fungsi Penjumlahan Pengurangan Perkalian Pembagian Sisa Hasil Pembagian Contoh jumlah=2+4 kurang=4-2 perkalian=4*2 Pembagian=6/3 Sisa=6/3 Sisa=0 BACK NEXT .

Teknik Pemrograman Operator Assignment  Digunakan untuk mengisi variable yang terletak di sebelah kiri operator dengan nilai yang ada disebelah kanan operator BACK NEXT .

Contoh 12=10+2 += i=2 i+=4 i=6 i=4 i-=2 i=2 i=2 i*=5 i=10 BACK NEXT -= */ . Menambahkan nilai yang di sebelah kanan operator ke variabel yang disebelah kiri dan hasilnya akan disimpan di variabel tersebut juga. Mengalikan nilai yang di sebelah kiri operator dengan variabel yang disebelah kanan dan hasilnya akan disimpan di variabel tersebut juga.Teknik Pemrograman Operator Assignment Simbol = Fungsi Mengisikan nilai yang disebelah kanan operator ke variabel yang terletak di sebelah kiri operator. Mengurangkan nilai yang di sebelah kanan operator ke variabel yang disebelah kiri dan hasilnya akan disimpan di variabel tersebut juga.

Teknik Pemrograman Operator Assignment Simbol /= Fungsi Membagi nilai yang di sebelah kiri operator dengan variabel yang disebelah kanan dan hasilnya akan disimpan di variabel tersebut juga. Membagi nilai yang di sebelah kiri operator dengan variabel yang disebelah kanan kemudian sisa pembagian disimpan di variabel tersebut juga. Contoh i=6 i/=3 i=2 i=6 i%=3 i=0 %= BACK NEXT .

Teknik Pemrograman Operator Perbandingan  Digunakan untuk membandingkan dua kondisi atau lebih BACK NEXT .

Contoh jumlah=6 <> 2<>4 > 4>2 BACK NEXT . selain itu bernilai FALSE atau 0.Teknik Pemrograman Operator Perbandingan Simbol = Fungsi Akan bernilai TRUE atau 1 bila dua kondisi yang dibandingkan memiliki nilai yang sama. Akan bernilai TRUE atau 1 hanya jika dua kondisi yang dibandingkan memiliki nilai yang tidak sama (selain ini bernilai FALSE atau 0). Akan bernilai TRUE atau 1 hanya jika nilai yang disebelah kiri lebih besar dari yang disebelah kanan (selain ini akan bernilai FALSE atau 0).

Akan bernilai TRUE atau 1 hanya jika nilai yang disebelah kiri lebih kecil atau sama dengan dari yang disebelah kanan (selain ini akan bernilai FALSE atau 0). 2<=2 BACK NEXT . Akan bernilai TRUE atau 1 hanya jika nilai yang disebelah kiri lebih besar atau sama dengan dari yang disebelah kanan (selain ini akan bernilai FALSE atau 0). 4>=2. 4>=4 >= <= 2<4.Teknik Pemrograman Operator Perbandingan Simbol < Fungsi Contoh Akan bernilai TRUE atau 1 hanya jika 2<4 nilai yang disebelah kiri lebih kecil dari yang di sebelah kanan (selain ini akan bernilai FALSE atau 0).

Teknik Pemrograman Operator Logika  Digunakan untuk menggabungkan 2 (dua) kondisi atau lebih BACK NEXT .

Hasilnya akan bernilai 1 atau TRUE jika kedua kondisi memiliki nilai 1.Teknik Pemrograman Operator Logika Simbol AND Fungsi simbol dari operator AND. OR XOR operator xor akan menghasilkan nilai 1 atau TRUE jika kedua kondisi sama dan 0 atau FALSE bila keduanya tidak sama. BACK NEXT . selain ini hasil akan bernilai 1 atau TRUE. selain ini hasil akan bernilai 0 atau FALSE. Hasilnya akan bernilai 0 jika kedua kondisi memiliki nilai 0.. simbol dari operator OR.

Teknik Pemrograman Back to ALPRO (Algoritma & Pemrograman)  Variable ? Statis (Constanta)  Variable ? BACK NEXT  Variable Dinamis ? .

Double  Boolean (TRUE & FALSE / 1 & 0) BACK NEXT . Char  Number: Integer. Long Integer.Teknik Pemrograman Tipe Data  Teks: String.

Teknik Pemrograman Konstruksi Fundamental  Sequence  Selection  Iteration BACK NEXT .

Teknik Pemrograman Konstruksi Fundamental BACK NEXT .

Teknik Pemrograman Konstruksi Fundamental (Sequence) BACK NEXT .

Keterangan • Start & Finish • Begin & End • Mulai & Selesai • Inisialisasi 2. • Input & Output BACK NEXT .Teknik Pemrograman Konstruksi Fundamental (Sequence) Symbol 1. 3.

Teknik Pemrograman Konstruksi Fundamental (Sequence) Symbol 4. Keterangan • Proses 5. • Sambungan / Lanjutan BACK NEXT . • Penghubung 6.

dimana TAHUN KELAHIRAN di inputkan dari keyboard.Teknik Pemrograman Konstruksi Fundamental (Sequence)  Studi Kasus (1)  Tulis Flowchart & Program untuk memasukkan Bilangan N. Kemudian Cetak Hasilnya pada layar BACK NEXT . dan kalikan bilangan tersebut dengan TAHUN KELAHIRAN Anda.

luas (l) (s*s) Bujur Sangkar.Teknik Pemrograman Konstruksi Fundamental (Sequence)  Studi Kasus (2)  Tulislah Flowchart dan Program untuk menghitung dan mencetak: .keliling (k) (4*s) . dimana (s) adalah bilangan sisi yang di inputkan dari keyboard BACK NEXT .

 Catatan: kuadrat bisa diwakili dengan tanda caping (^) atau dikalikan dengan dirinya sendiri BACK NEXT .Teknik Pemrograman Konstruksi Fundamental (Sequence)  Studi Kasus (3)  Tulislah Flowchart & Program untuk Mengisikan nilai jari-jari sebuah lingkaran. dan kemudian mencetak keliling (2* *r) dan luas ( *𝑟 2 ) tersebut.

*) k=a + t + s *) s= (𝑎 ∗ 𝑎) + (𝑡 ∗ 𝑡) *) l=(a*t)/2   Catatan: Untuk akar bisa menggunakan fungsi sqr / sqrt. BACK NEXT .Teknik Pemrograman Konstruksi Fundamental (Sequence) Soal (1)  Tulislah flowchart dan program untuk menghitung dan mencetak keliling (k) dan luas (l) dari sebuah segitiga siku-siku.

kemudian tukarlah pasangan nilainya. A and B. (Tulis Flowchart & Program) BACK NEXT . Sebelum dan sesudah proses pertukaran. cetaklah isi kedua variabel tersebut ke layar.Teknik Pemrograman Konstruksi Fundamental (Sequence)  Soal (2)  Masukkan dari keyboard nilai dari 2 buah variabel.

Teknik Pemrograman Konstruksi Fundamental (Sequence)  Soal (3)  Masukkan sebuah bilangan dan kemudian cetaklah nilai RATUSAN. (Tulis Flowchart & Program) BACK NEXT . dan SATUAN dari bilangan tersebut. PULUHAN.

PULUHAN dan SATUAN. RATUSAN.Teknik Pemrograman Konstruksi Fundamental (Sequence)  Soal (4)  Dari soal no. kembangkan menjadi dalam bentuk RIBUAN.3. BACK NEXT .

maka tugas akan dikembalikan keduanya (baik yg.Teknik Pemrograman Tugas1 (Sequence)  Buatlah 3 Soal lagi tentang Sequence (tidak termasuk dalam modul).  Jika Copy-Paste.Copy. BACK NEXT . maupun yg Paste)  Waktu 1 minggu dari sekarang  Kumpulkan dalam bentuk print Jilid A4.  Jawab soal tersebut dengan menulis: Flowchart & Programnya.

Teknik Pemrograman Konstruksi Fundamental (Selection) BACK NEXT .

• Input & Output BACK NEXT . 3. Keterangan • Start & Finish • Begin & End • Mulai & Selesai • Inisialisasi 2.Teknik Pemrograman Konstruksi Fundamental (Selection) Symbol 1.

Keterangan • Proses 5. 6. • Sambungan / Lanjutan BACK NEXT .Teknik Pemrograman Konstruksi Fundamental (Selection) Symbol 4. • Penghubung • Pengecekan 7.

Teknik Pemrograman Konstruksi Fundamental (Selection)  Pengecekan  if …... end if BACK NEXT .(kondisi)…..(aksi). then ….

..(aksi FALSE). then …(aksi TRUE)… else …. end if BACK NEXT .(kondisi)…..Teknik Pemrograman Konstruksi Fundamental (Selection)  Pengecekan  If ….

.(aksi-TRUE-3). elseif (kondisi-3) then ….(kondisi-TRUE-1)…....(aksi-FALSE)…..Teknik Pemrograman Konstruksi Fundamental (Selection)   Pengecekan If ….(aksi-TRUE-2). end if BACK NEXT . then …(aksi-TRUE-1)… elseif (kondisi-TRUE-2) then ….. else ….

(aksi-FALSE)….. elseif (kondisi-3) then …... else ….(kondisi-TRUE-1)….. end if BACK NEXT .(aksi-TRUE-3)..(aksi-TRUE-2).Teknik Pemrograman Konstruksi Fundamental (Selection)   Pengecekan If ….. then …(aksi-TRUE-1)… elseif (kondisi-TRUE-2) then ….

(kondisi-TRUE-1)…. then ….(aksi-TRUE-2)….Teknik Pemrograman Konstruksi Fundamental (Selection)   Pengecekan If …. then …(aksi-TRUE-1)… else if …. end if end if BACK NEXT .(kondisi-TRUE-2)….(aksi-FALSE)…. else ….

Teknik Pemrograman

Konstruksi Fundamental (Selection)

Pengecekan If ….(kondisi-TRUE-1)…. then …(aksi-TRUE-1)… else if ….(kondisi-TRUE-2)…. then ….(aksi-TRUE-2)…. elseif ….(kondisi-TRUE-3)…. Then ….(aksi-TRUE-3)…. else ….(aksi-FALSE)…. end if end if
BACK NEXT

Teknik Pemrograman

Konstruksi Fundamental (Selection)
 Pengecekan

If ….(kondisi-TRUE-1)…. then if …(kondisi-TRUE-2)… then if …(kondisi-TRUE-3)… then ……………dst…….………. end if end if end if
BACK NEXT

Teknik Pemrograman

Konstruksi Fundamental (Selection)

Pengecekan Select Case Case …(kondisi-1)… ………….(aksi-TRUE-1) …………. Case …(kondisi-2)… ………….(aksi-TRUE-2) …………. Case …(kondisi-2)… .…………(aksi-TRUE-3) ………… …………………………………………………. Case Else ……………(aksi-FALSE) …………… End Select
BACK NEXT

kemudian tampilkan keterangan pada layar komputer.Teknik Pemrograman Konstruksi Fundamental (Selection)  Studi Kasus (1)  Masukkan sebuah bilangan melalui keyboard. apakah bilangan tersebut adalah gasal atau genap. (Tulis Flowchart & Program) BACK NEXT .

(Tulis Flowchart & Program) BACK NEXT .Teknik Pemrograman Konstruksi Fundamental (Selection)  Studi Kasus (2)  Masukkan 2 (dua) buah bilangan A & B. kemudian cetak keterangan apakah A>B. B>A atau A=B.

untuk melakukan Penjumlahan (+). (Tulis Flowchart & Program) BACK NEXT . Perkalian (*).Teknik Pemrograman Konstruksi Fundamental (Selection)  Studi Kasus (3)  Buatlah Kalkulator Sederhana. Pembagian (/) serta Pangkat (^) dari 2 (dua) buah bilangan A & B. Pengurangan (-).

kemudian tampilkan keterangan pada layar komputer. apakah bilangan tersebut adalah Positif.Teknik Pemrograman Konstruksi Fundamental (Selection)  Soal (1)  Masukkan sebuah bilangan melalui keyboard. atau Nol. (Tulis Flowchart & Program) BACK NEXT . Negatif.

. . . .tidak diberikan discount.000. 350. sedangkan output adalah uang yang harus dibayar pembeli setelah discount (jika ada) diberikan.--.s.000.-.Discount 7.5% akan diberikan untuk pembelian Rp. 200.Discount 15% akan diberikan untuk pembelian di atas Rp.-.--. 350.Teknik Pemrograman Konstruksi Fundamental (Selection) Soal (2)  Gambarlah flowchart unuk membantu seorang kasir menentukan jumlah uang yang harus dibayar pembeli pada suatu penjualan berdiscount.000.000.000.  BACK NEXT .s. 200. 100.Pembelian di bawah Rp.d. 100.d.Sebagai data input adalah total nilai penjualan.-.000.Discount 10% akan diberikan untuk pembelian Rp.

dimana N adalah deteksi warna yang sesuai pada table berikut: Nilai N Merah Warna Kuning Hijau Tulis Flowchart & Program BACK NEXT .Teknik Pemrograman Konstruksi Fundamental (Selection)  Soal (3)  Masukkan N.

BACK NEXT .  Jawab soal tersebut dengan menulis: Flowchart & Programnya.Copy.  Jika Copy-Paste. maka tugas akan dikembalikan keduanya (baik yg. maupun yg Paste)  Waktu 1 minggu dari sekarang  Kumpulkan dalam bentuk print Jilid A4.Teknik Pemrograman Tugas2 (Selection)  Buatlah 3 Soal lagi tentang Selection (tidak termasuk dalam modul).

Teknik Pemrograman Konstruksi Fundamental (Iteration) BACK NEXT .

Teknik Pemrograman Konstruksi Fundamental (Iteration)  FOR . ….counter... TO .nilai loop..aksi…. STEP .... Next BACK NEXT .nilai awal.

Teknik Pemrograman Konstruksi Fundamental (Iteration)  DO WHILE …(kondisi)… …aksi… LOOP BACK NEXT .

Teknik Pemrograman Konstruksi Fundamental (Iteration)  DO UNTIL…(kondisi)… …aksi… LOOP BACK NEXT .

Teknik Pemrograman Konstruksi Fundamental (Iteration)  DO …aksi… LOOP UNTIL …(kondisi)… BACK NEXT .

Teknik Pemrograman Konstruksi Fundamental (Iteration)  DO …aksi… LOOP WHILE …(kondisi)… BACK NEXT .

Teknik Pemrograman Konstruksi Fundamental (Iteration)  Kesimpulan TOP WHILE TOP UNTIL BOTTOM WHILE BOTTOM UNTIL  Until = sampai -> cirinya. jika Y berhenti  While = selama -> cirinya. jika Y perulangan BACK NEXT .

jika Y perulangan BACK NEXT .Teknik Pemrograman Konstruksi Fundamental (Iteration)  Kesimpulan  Until = sampai -> cirinya. jika Y berhenti  While = selama -> cirinya.

Teknik Pemrograman Konstruksi Fundamental (Iteration)  Catatan: = > < AND vs vs vs vs <> <= >= OR BACK NEXT .

5. dimana n adalah input dari keyboard.6..4. 1.3.n BACK NEXT .Teknik Pemrograman Konstruksi Fundamental (Iteration)  Studi Kasus (1)  Gambarlah flowchart dan tulislah program melalui VBScript untuk mencetak deret angka 1sampai n.7….2.

Teknik Pemrograman Konstruksi Fundamental (Iteration)   Studi Kasus (2) Dari studi kasus 1. 1 (Ganjil) 2 (Genap) 3 (Ganjil) 4 (Genap) 5 (Ganjil) : : n BACK NEXT . kembangkan menjadi soal berikut. Deteksi apakah angka tersebut adalah ganjil / genap.

.15..28.10.Teknik Pemrograman Konstruksi Fundamental (Iteration)  Studi Kasus (3)  Gambarlah flowchart dan tulislah program melalui VBScript untuk mencetak deret 0. kecuali 0 tidak dihitung BACK NEXT .6.3.21.1..  Dimana jumlah deret angka diwakili dengan inputan n.

8. Perhatikan bahwa sebuah bilangan pada deret Fibonacci adalah hasil penjumlahan dua bilangan sebelumnya BACK NEXT .21.5..2.1.1.34.55..13.Teknik Pemrograman Konstruksi Fundamental (Iteration) Tugas  Studi Kasus (4)  Gambarlah flowchart dan tulislah program melalui VBScript untuk mencetak deret Fibonacci yang secara logika tidak akan pernah berhenti atau infinite loop seperti berikut ini: 0..3.

1000 dengan format: 0 (GENAP) 1 (GASAL) 1 (GASAL) 2 (GENAP) 3 (GASAL) 5 (GASAL) 8 (GENAP) : : : 987 (GASAL) BACK NEXT .Teknik Pemrograman Konstruksi Fundamental (Iteration) Tugas   Studi Kasus (5) Tulislah algoritma atau Flowchart untuk mencetak deret Fibonnacci dalam range 1 s.d.

Bottom Tested BACK NEXT .Top Tested .  “Cetak hasil n”  Kerjakan dengan menggunakan: . apabila n bilangan ganjil maka input ulang sampai nilai n benar-benar adalah sebuah bilangan genap.Teknik Pemrograman Konstruksi Fundamental (Iteration)  Soal (i)  Buatlah Flowchartnya dan tulis Programnya untuk membuat validasi pengisian n.

Teknik Pemrograman

Konstruksi Fundamental (Iteration)
 Soal

(ii)  Buatlah Flowchartnya dan tulis Programnya untuk membuat validasi pengisian n, apabila n bukan bilangan positif maka input ulang sampai nilai n benar-benar adalah sebuah bilangan positif.  “Cetak hasil n”  Kerjakan dengan menggunakan: - Top Tested - Bottom Tested
BACK NEXT

Teknik Pemrograman

Konstruksi Fundamental (Iteration) Tugas
 Soal

(iii)  Buatlah sebuah Flowchart & program input validator dimana inputan antara range 0..100

BACK

NEXT

Teknik Pemrograman

Konstruksi Fundamental (Iteration)
 

Soal (iv) Tulislah algoritma atau Flowchart untuk mencetak karakter bintang dengan model berikut: n=5 n=3 ***** ***** ***** ***** ***** *** *** ***

BACK

NEXT

Teknik Pemrograman Konstruksi Fundamental (Iteration)   Soal (v) Tulislah algoritma atau Flowchart untuk mencetak karakter bintang dengan model berikut: n=5 n=3 * ** *** **** ***** * ** *** BACK NEXT .

BACK NEXT .  Jawab soal tersebut dengan menulis: Flowchart & Programnya.Copy. maupun yg Paste)  Waktu 1 minggu dari sekarang  Kumpulkan dalam bentuk print Jilid A4.  Jika Copy-Paste.Teknik Pemrograman Tugas3 (Iteration)  Buatlah 3 Soal lagi tentang Iteration (tidak termasuk dalam modul). maka tugas akan dikembalikan keduanya (baik yg.

.Teknik Pemrograman Array   (= subscrefield variable.n) BACK NEXT .………. = indexed variable) Array adalah sebuah variable jamak Syntax: namavar(indeks1. indeks2. indeks3.

Teknik Pemrograman Jenis Array  Array 1 Dimensi  Array 2 Dimensi  Array 3 Dimensi  Array 4 Dimensi BACK NEXT .

Teknik Pemrograman Array 1 Dimensi (Vektor) V(3) BACK NEXT .

Teknik Pemrograman Array 2 Dimensi (Matriks) 0 1 2 3 4 1 2 3 4 5 M(2.4) 5 BACK NEXT .

Teknik Pemrograman Array 3 & 4 Dimensi  Kubik / Cube BACK NEXT .

konstanta. BACK NEXT . expressive).Teknik Pemrograman Keistimewaan Array  Indeks dapat di interpresentasikan dalam bentuk value (varibel dinamis.

Teknik Pemrograman Array //deklarasi variabel Dim x(3) x(1)=17 x(2)=8 x(3)=1945 document.write x(1) //hasil 17 A=2 B=3 document.write x(A) //hasil 8 BACK NEXT .

BACK NEXT . dimana jumlah elemennya adalah 3. kemudian cetak elemen – elemen array tersebut pada layar.Teknik Pemrograman Array  Studi Kasus (1)  Isi elemen array dari sebuah inputan keyboard.

dimana jumlah elemennya ditentukan dari inputan pada keyboard. BACK NEXT . kemudian cetak elemen – elemen array tersebut.1 dapat dikembangkan menjadi soal berikut.  Isi elemen array dari sebuah inputan keyboard.Teknik Pemrograman Array  Studi Kasus (2)  Dari soal no.

BACK NEXT . Nilam Ramadhani 4. Hariyadi Yutanto 3.Teknik Pemrograman Array  Soal (1)  Tulis Flowchart & Program untuk memasukkan data berikut ke dalam elemen array. 1. Roni Pambudi  Cetak data tersebut ke dalam layar. Noval Riswandha 2.

Teknik Pemrograman Random Number (Randomize) randomize for i=1 to 5 document.write rnd & “<br>” next BACK NEXT .

Teknik Pemrograman Random Number (Randomize)  Acak angka 0-99 randomize for i=1 to 5 document.write int(rnd*100) & “<br>” next BACK NEXT .

Teknik Pemrograman Random Number (Randomize)  Jika nilai random hanya ingin menghendaki nilai range 10 – 89. jadi rumusnya: 10 + int(RND*90) dimana nilai 90 diperoleh dari 89+1 BACK NEXT . maka data nilai range terakhir ditambahi 1.

maka data nilai range terakhir ditambahi 10.Teknik Pemrograman Random Number (Randomize)  Jika nilai random hanya ingin menghendaki nilai range 100 – 989. jadi rumusnya: 100 + int(RND*999) dimana nilai 999 diperoleh dari 989+10 BACK NEXT .

Teknik Pemrograman Random Number (Randomize)  Studi Kasus (1)  Tulis Flowchart & Program untuk merandom atau mengacak permainan dadu.  Rumus: 1 + int(RND * 6) BACK NEXT .

jika terdapat 2 (dua) buah dadu yang digunakan secara bersamaan. BACK NEXT .Teknik Pemrograman Random Number (Randomize)  Studi Kasus (2)  Tulis Flowchart & Program untuk merandom atau mengacak permainan dadu.

com/vbscriptTutorial BACK NEXT .hansmichael.tizag.com  http://www.Teknik Pemrograman Referensi: (Teknik Pemrograman)  http://www.