Perancangan Forum Diskusi Pemrograman Bahasa C Berbasis Web

  L A M P

  I R A N

  1. index.php

  <?php error_reporting(); session_start(); unset($_SESSION["id"]); ?> <html> <head> <title>Portal Program C</title> <link href="index.css" rel="stylesheet" /> </head> <body> <div id="head"> <img src="img/poproimg.png" class="imgpopro"/> </div> <div id="login"> <h3>User Login</h3> <table border="0"> <form method="POST" action="loginproc.php"> <tr><td>Username/email</td><td>:</td><td><input type="text" name="username" size="20"> </td></tr> <tr><td>Password</td><td>:</td><td><input type="password" name="password" size="20"> </td></tr> <tr><td><input type="submit" value="Login"></td><td> </td><td><a href="daftar.php">daftar</a></td></tr> </form> </table> </div> </body> </html>

  2. chapter_1.php

  <div id="tengah"> <div id="host"> </div> <h1>Chapter 1: kompilator</h1> <p> Code::Blocks adalah kompilator (bahasa Inggris: Compiler) bahasa pemrograman C / C++ yang gratis dan open source. Kompilator ini sangat mudah digunakan dan stabil untuk memulai belajar bahasa pemrograman C /atau C++. Selain itu, Code::Blocks juga mendukung format kompilator lain seperti Microsoft Visual C++, Borland C++, Watcom maupun Intel C++ Compiler. </p> <p> Antar muka pengguna pada Code::Block juga sangat mudah dimengerti. Semua program tersusun rapi dalam tab-tab yang bisa dibuka dan ditutup oleh pengguna. Font yang dapat diubah- ubah sesuai keinginan pengguna bahkan pengguna juga bisa merubah warna font setiap baris kode sesuai keinginan. </p> <p> Antar muka pengguna pada Code::Block juga sangat mudah dimengerti. Semua program tersusun rapi dalam tab-tab yang bisa dibuka dan ditutup oleh pengguna. Font yang dapat diubah- ubah sesuai keinginan pengguna bahkan pengguna juga bisa merubah warna font setiap baris kode sesuai keinginan. </p> <p> kami menggunakan Code::Blocks untuk setiap tutorial Bahasa Pemograman C yang kami sediakan di web ini. Oleh karena itu, kami sangat menyaran Anda untuk menggunakan Code::Blocks yang dapat Anda download di <a href="www.codeblocks.org">www.codeblocks.org</a> </p><br> <br><br><br><br><br><br><br><br> </div>

  3. chapter_2.php

  <div id="tengah"> <div id="host"> </div> <h1>Chapter 2: Program Sederhana Bahasa C</h1> <p> Kali ini kami akan menjelaskan bagaimana sebuat program C dijalankan dan struktur sederhana nya, mungkin akan sedikit terlihat familiar bagi anda yang sudah terbiasa menggunakan bahasa pemrograman ini , dan kami akan menjelaskan dengan potongan program sederhana agar anda mengerti. </p> <pre class="scrip"> <code> #include< stdio.h> /*komentar blok*/ int main(){

  //komentar baris printf("wellcome to C"); return 0;

  } </code>

  </pre> <p>Output yang seharusnya anda lihat:</p> <pre class="scrip"> <code> wellcome to C

  • Process exited with return value 0 Press any key to continue . . . </code> </pre> <p> Penjelasan:

  </p> <p> kami akan menjelaskan program yang kami sajikan di atas dengan metode penjelasan perbaris yang akan memudahkan anda memahami program di atas. Dalam pengerjaannya sebuah program C akan di hidangkan melalui baris-baris code program yang akan di ketikkan kedalam kompiler yang dimana baris program itu akan di eksekusi dengan cara dikompile. </p> <p>Baris 1:</p> <p>Penggunaan include merupakan cara untuk menimport sebuat file librari yang terdapat di sebuah file pustaka, didalam bahasa pemrograman C menggunakan file .h untuk dijadikan header file yang berisi daftar fungsi yang ingin anda gunakan dalam proogram anda</p> <p>Baris 3:</p> <p>Penggunaan komentar blok yang akan memberitahu kompiler agar menganggap argumen yang berada di antara tanda /* sampai */ agar dilewatkan dan tidak dimasukkan atau dianggap sebagai sintaks dasar bahasa C.</p> <p>Baris 5:</p> <p>Adalah fungsi main ataupun fungsi utama, mengenai penjelasan bagai mana struktur dari fungsi akan dijelaaskan di bagian penggunaan fungsi</p> <p>Baris 6:</p> <p>{ Adalah sebuat sintaks dasar dalam bahasa C untuk mengawali sebuah blok program di dalam sebuah fungsi.</p> <p>Baris 7: </p> <p>Adalah penggunaan komentar baris, sama seperti penggunaan komentar blok perbedaannya hanya terletak di masa penggunaan komentar tersebut yaitu hanya berlaku sampai baris itu saja.</p> <p>Baris 9: </p> <p>Penggunaan printf bertujuan untuk menampilkan kalimat atau karakter sepanjang isi dari printf tersebut untuk penjelasan selanjutnya akan dijelaskan dibagian output.</p> <br> <br><br><br><br><br><br><br><br> </div>

  4. chapter_3.php

  <div id="tengah"> <div id="host">

  </div> <h1>Chapter 3: Output </h1> <p> Kali ini kami akan menjelaskan bagaimana sebuah program C untuk mengeksekusi penanganan output.

  </p> <pre class="scrip"> <code> #include< stdio.h> int main(){ int umur=25; int tinggi=180; printf("umur saya %d tahun\n", umur); printf("tinggi saya %d cm\n",tinggi); return 0; } </code> </pre> <p>Output yang keluar:</p> <pre class="scrip"> <code> umur saya 25 tahun tinggi saya 180 cm Process returned 0 (0x0) execution time : 1.548 s Press any key to continue.

  </code> </pre> <p>Penjelasan:</p> <p>Kali ini yang menjadi fukos kita untuk dibahas adalah bagian output, dalam program diatas bagai mana untuk menampilkan suatu string atau pun kalimat yang ingin kita tampilkan dapat dengan mudah kita lakukan dengan menggunakan sintaks printf("/*kalimat yang ingin di tampilkan */");, begitu juga dengan menampilkan suatu nilai dalam suatu variabel dapat dengan mudah dilakukan dengan menggunakan sintak printf(" /*format penentu*/ ", nama_variabel);, sekedar penjelasan format penentu disini tergantung jenis tipedata dari variabel yang akan ditampilkan contoh: untuk integer %d, untuk float %f, untuk char %c %s, dan lain-lain.</p> <br> <br><br><br><br><br><br><br><br> </div>

  5. chapter_4.php

  <div id="tengah"> <div id="host"> </div> <h1>Chapter 4: Tipe Data dan Variabel</h1> <p>Kali ini kita akan membahas bagaimana penggunaan variabel dalam program C, di dalam C variabel(data) seharusnya di deklarasikan terlebih dahulu sebelum digunakan, dan tipe data merupakan penjelasan tentang jenis data yang ada didalam sebuah variabel.</p> <pre class="scrip"> <code> #include< stdio.h> int main(){ int jarak = 100; float daya = 2.345f; double mili = 56789.4532; char inisial = 'A'; char na_depan[] = "Janus"; char na_belakang[] = "Dexter"; printf("jarak yang anda tempuh adalah %d.\n", jarak); printf("level tenaga anda adalah %f.\n", daya); printf("anda mempunyai %f kekuatan.\n", mili); printf("inisial anda %c.\n", inisial); printf("nama depan anda %s.\n", na_depan); printf("nama belakang anda %s.\n", na_belakang); printf("nama lengkap anda %s %c. %s.\n",na_depan, inisial, na_belakang); return 0; } </code> </pre> <p>Output yang seharusnya anda lihat:</p> <pre class="scrip"> <code> jarak yang anda tempuh adalah 100. level tenaga anda adalah 2.345000. anda mempunyai 56789.453200 kekuatan. inisial anda A. nama depan anda Janus. nama belakang anda Dexter. nama lengkap anda Janus A. Dexter. Process returned 0 (0x0) execution time : 0.872 s Press any key to continue.

  </code> </pre> <p>Penjelasan:</p> <p>Dalam pendeklarasian variabel kita membutuhkan tipe data untuk menjelaskan jenis dari variabel, struktur dasarnya adalah tipe_data variabel contoh : int jarak, float daya, double mili, char inisial dan seterusnya. Perlu diperhatikan tipe data yang berbeda akan menentukan nilai yang dapat di terima oleh suatu variabel.</p> <br> <br><br><br><br><br><br><br><br> </div>

  6. chapter_5.php

  <div id="tengah"> <div id="host"> </div> <h1>Chapter 5: Tipe Data Array Dan penggunaan Size Of</h1> <p>Pada dasarnya sebuah array merupakan tipe data, tetapi tipe data array dikelompokkan berbeda dengan tipe data lain nya. Array merupakan tipe data yang bisa menyimpan atau menerima banyak nilai yang terdiri atas satu tipe, dan sintaks size of merupakan fungsi yang digunakan untuk mencari panjang dari suatu variabel atau tipe data.</p> <pre class="scrip"> <code> #include< stdio.h> int main(){ int areas[] = {10, 12, 13, 14, 20}; char name[] = "Zed"; char full_name[] = { 'Z', 'e', 'd', ' ', 'A', '.', ' ', 'S', 'h', 'a', 'w', '\0' }; printf("ukuran dari tipe data integer : %ld\n", sizeof(int)); printf("ukuran dari areas (int[]): %ld\n",sizeof(areas)); printf("panjang array areas: %ld\n",sizeof(areas) / sizeof(int)); printf("bilangan pertama di array %d, dan yang kedua %d.\n",areas[0], areas[1]); printf("ukuran dari char char: %ld\n", sizeof(char)); printf("ukuran dari name (char[]): %ld\n",sizeof(name)); printf("panjang array name: %ld\n",sizeof(name) / sizeof(char)); printf("ukuran full_name (char[]): %ld\n",sizeof(full_name)); printf("panjang karakter full_name: %ld\n",sizeof(full_name) / sizeof(char)); printf("nama=\"%s\" and nama lengkap=\"%s\"\n",name, full_name); return 0; } </code> </pre> <p>Output yang seharusnya anda lihat:</p> <pre class="scrip"> <code> ukuran dari tipe data integer : 4 ukuran dari areas (int[]): 20 panjang array areas: 5 bilangan pertama di array 10, dan yang kedua 12. ukuran dari char char: 1 ukuran dari name (char[]): 4 panjang array name: 4 ukuran full_name (char[]): 12 panjang karakter full_name: 12 nama="Zed" and nama lengkap="Zed A. Shaw" Process returned 0 (0x0) execution time : 0.806 s Press any key to continue.

  </code> </pre> <p>penjelasan:</p> <p>Dalam program diatas dapat dilihat bagaimana pendeklarasian array yang dapat menampung lebih dari satu nilai seperti int areas[] = {10, 12, 13, 14, 20};, sintaks dasar pendeklarasian array adalah tipe_data nama_variabel_array[]={daftar_nilai_array}. Dan untuk mengetahui panjang dari array kita menggunakan fungsi sizeof dalam kasus diatas penggunaan sizeof terbagi 3 yaitu untuk mengetahui panjang dari tipedata, panjang dari variabel dan panjang dari array.</p> <br> <br><br><br><br><br><br><br><br> </div>

  7. chapter_6.php

  <div id="tengah"> <div id="host"> </div> <h1>Chapter 6: Input</h1> <p>Proses input adalah proses yang sangat dibutuhkan untuk menunjang kedinamisan program, penginputan dalam hal ini adalah penginputan melalui keyboar dan user langsung yang menginput.</p> <pre class="scrip"> <code> #include< stdio.h> int main(){ long nim; char nama[30]; printf("Masukkan nim anda : "); scanf("%ld",&nim); printf("masukkan nama anda : "); scanf(" %[^\t\n]s",&nama); printf("nim anda adalah : %ld\n",nim); printf("nama anda adalah : %s\n",nama); return 0; } </code> </pre> <p>Output yang seharusnya anda lihat:</p>

  <pre class="scrip"> <code> Masukkan nim anda : 112406126 masukkan nama anda : riki hariandi nim anda adalah : 112406126 nama anda adalah : riki hariandi Process returned 0 (0x0) execution time : 10.558 s Press any key to continue.

  </code> </pre> <p>Penjelasan:</p> <p>Pada program diatas kita dapat melihat pada pemrograman C kita menggunakan scanf() untuk menginput nilai pada suatu variabel, sama pada printf() kita membutuhkan format penentu untuk mengakses varibel yang ingin di input/output, perbedaan nya pada scanf() digunakan tanda & untuk mengakses alamat variabel contoh scanf("%ld",&nim); dan keistimewaan scanf() pada saat penginputan, penginputan hanya akan berakhir jika telah menekan spasi, tab, dan enter, ketiga tombol tersebut akan mengakhiri proses input. Tetapi hal itu dapat kita manipulasi lagi dengan mendeklarasikan ulang tombol-tombol apa sajakan yang dapat menyelesaikan output contoh scanf(" %[^\t\n]s",&nama);, dalam hal ini yang mengentikan input adalah \t(tab) dan \n(enter) yang membuat tombol space akan dinyatakan inputan juga oleh program.</p> <br> <br><br><br><br><br><br><br><br> </div>

  8. chapter_7.php

  <div id="tengah"> <div id="host"> </div> <h1>Chapter 7: Penggunaan If</h1> <p>Keputusan sangat dibutuhkan ketika program dijalankan berdasarkan situasi tertentu untuk mendapatkan statement yang di inginkan. maka dari pada itu C menyediakan fungsi khusus untuk penanganan keputusan seperti itu.</p> <pre class="scrip"> <code> #include< stdio.h> int main(){ int bilangan; printf("masukkan bilangan : "); scanf("%d",&bilangan); if(bilangan%2==0){ printf("bilangan dapat dibagi 2\n"); printf("proses didalam if\n"); } printf("proses diluar if\n"); return 0; }

  </code> </pre> <p>Output 1:</p> <pre class="scrip"> <code> masukkan bilangan : 6 bilangan dapat dibagi 2 proses didalam if proses diluar if Process returned 0 (0x0) execution time : 29.529 s Press any key to continue.

  </code> </pre> <p>Output 2:</p> <pre class="scrip"> <code> masukkan bilangan : 3 proses diluar if Process returned 0 (0x0) execution time : 3.862 s Press any key to continue.

  </code> </pre> <p>Penjelasan:</p> <p>Dari program diatas kita bisa melihat bahwa berdasarkan input yang diberikan akan membuat hasil output yang berbeda-beda, berdasarkan sintaknya fungsi if adalah sebagai berikut</p> <pre class="scrip"> <code> if (test expression){ statement/s to be executed if test expression is true; } </code> </pre> <p> Dapat dilihat bahwa jika test exprision dalam hal ini (bilangan %2==0) benar maka statmen yang ada di body if akan dikerjakan jika salah maka akan di lewatkan. Seperti program di atas jika dimasukkan angka yang dapat dibagi 2 maka program akan mengeksekusi argumen yang ada di dalam body if. Jika tidak program akan melewatkan fungsi if. </p> <br> <br><br><br><br><br><br><br><br> </div>

  9. chapter_8.php

  <div id="tengah"> <div id="host"> </div> <h1>Chapter 8: Penggunaan If dan else</h1> <p>

  Sistem keputusan berikut membuat user hanya memiliki 2 pilihan sehingga akan membuat program memiliki opsi yang lebih. </p> <pre class="scrip"> <code> #include< stdio.h> int main(){ int bilangan; printf("masukkan bilangan : "); scanf("%d",&bilangan); if(bilangan%2==0){ printf("bilangan yang anda masukkan genap\n"); } else{ printf("bilangan yang anda masukkan ganjil\n"); } return 0; } </code> </pre> <p>Output 1:</p> <pre class="scrip"> <code> masukkan bilangan : 4 bilangan yang anda masukkan genap Process returned 0 (0x0) execution time : 61.082 s Press any key to continue.

  </code> </pre> <p>Output 2:</p> <pre class="scrip"> <code> masukkan bilangan : 5 bilangan yang anda masukkan ganjil Process returned 0 (0x0) execution time : 26.395 s Press any key to continue.

  </code> </pre> <p>Penjelasan:</p> <p> Sama seperti if pada kali ini jika ekspresi nya bernilai benar maka program akan mengerjakan argument yang ada didalam if jika bernilai salah maka program akan menjalankan yang ada didalam else. Sintaks nya adalah sebagai berikut </p> <pre class="scrip"> <code> If(ekspresi){

  Argumen 1; Argumen 2; Argumen 3; .

  . . Argumen N;

  } Else{

  Argumen 1; Argumen 2; Argumen 3; .

  . . Argumen N;

  } </code> </pre> <br> <br><br><br><br><br><br><br><br> </div>

  10. chapter_9.php

  <div id="tengah"> <div id="host"> </div> <h1>Chapter 9: penggunaan else if</h1> <p> Kita kali ini akan membahas tentang penggunaan dan bagai mana else if bekerja. D chapter sebelumnya kita telah membahas bagai mana if dan else bekerja, pada else if tidak jauh berbeda dengan keduanya, namun cara kerjanya adalah sebagai berikut jika if benar maka program akan mengerjakan argumen yang ada didalam if jika if salah program akan menguji ekspresi yang ada didalam else if dan jika else if juga salah program akan langsung mengsekusi argume yang ada di dalam else. </p> <pre class="scrip"> <code> #include< stdio.h> int main(){ int bilangan; printf("masukkan bilangan : "); scanf("%d",&bilangan); if(bilangan==0){ printf("bilangan yang anda masukkan nol\n"); } else if(bilangan%2==0){ printf("bilangan yang anda masukkan genap\n"); } else{ printf("bilangan yang anda masukkan ganjil\n"); } return 0; }

  </code> </pre> <p>Output akan anda lihat:</p> <pre class="scrip"> <code> masukkan bilangan : 6 bilangan yang anda masukkan genap Process returned 0 (0x0) execution time : 9.827 s Press any key to continue.

  </code> </pre> <p>Penjelasan:</p> <p>Seperti yang kita bahas di atas karena if bernilai salah sehingga program menguji ekspresi yang ada di else fi dan kebetulan ekspresi tersebut benar maka program menjalankan argumen yang ada di dalam else fi tersebut.</p> <br> <br><br><br><br><br><br><br><br> </div>

  11. chapter_10.php

  <div id="tengah"> <div id="host"> </div> <h1>Chapter 10: penggunaan switch </h1> <p>Pada penggunaan switch tidak lagi mengacu pada nilai benar atau salah dan tidak lagi menggunakan ekspresi penguji, pengerjaan switch mengacu ke nilai dari suatu variabel langsung.</p> <pre class="scrip"> <code> #include< stdio.h> int main(){ int bil; printf("program menyebut angka dari 1 sampai 10\n\n") printf("masukkan bilangan : "); scanf("%d",&bil); switch(bil){ case 1: printf("yang dimasukkan angka satu"); break; case 2: printf("yang dimasukkan angka dua"); break; case 3: printf("yang dimasukkan angka tiga"); break; case 4: printf("yang dimasukkan angka empat"); break; case 5: printf("yang dimasukkan angka lima"); break; case 6: printf("yang dimasukkan angka enam"); break; case 7: printf("yang dimasukkan angka tujuh"); break; case 8: printf("yang dimasukkan angka delapan"); break; case 9: printf("yang dimasukkan angka sembilan"); break; case 10: printf("yang dimasukkan angka sepuluh"); break; default: printf("bilangan tidak termasuk dalam jangkauan"); } return 0; } </code> </pre> <p>Output akan anda lihat:</p> <pre class="scrip"> <code> program menyebut angka dari 1 sampai 10 masukkan bilangan : 9 yang dimasukkan angka sembilan Process returned 0 (0x0) execution time : 11.641 s Press any key to continue.

  </code> </pre> <p>Penjelasan:</p> <p>Pada program switch di atas dapat dilihat bahwa proses switch hanya mengambil nilai dari suatu variabel atau operasi langsung yang menghasilkan atau mempunyai nilai seperti switch(bil) program mengambil nilai dari bil untuk di cari pilihannya di case yang ada karena yang diinput itu angka 9 maka nilai bil = 9 sehingga case yang bekerja adalah case yang ke-9 tetapi jika yang di input tidak ada nilai nya dalam daftar case maka default lah yang akan bekerja, sintaks switch adalah sebagai berikut</p> <pre class="scrip"> <code> switch (expression) { case constant1: codes to be executed if expression equals to constant1; break; case constant2: codes to be executed if expression equals to constant3; break; . . . default: codes to be executed if expression doesn't match to any cases;

  } </code> </pre> <br> <br><br><br><br><br><br><br><br> </div>

  12. chapter_11.php

  <div id="tengah"> <div id="host"> </div> <h1>Chapter 11: struktur perulangan for</h1> <p>Struktur perulangan sangat penting digunakan jika terjadi pekerjaan yang berulang-ulang di kerjakan dan membutuhkan waktu lama untuk mengeksekusinya satu persatu, tetapi dengan struktur looping(perulangan) akan memudahkan programer untuk melakukan masalah tersebut. Salah satu struktur looping yang sering digunakan adalah for, dan sintaks nya adalah sebagai berikut</p> <pre class="scrip"> <code> for(initial expression; test expression; update expression) { code/s to be executed; } Keterangan: Initial expression = nilai awal yang diberikan test expression = pengujian ekspresi yang mengandung nilai benar dan salah update expression = peubah nilai yang membuat nilai awal berubah setiap 1 kali loop </code> </pre> <pre class="scrip"> <code> #include< stdio.h> int main(){ int a; for(a=1;a<=10;a++){ printf("%d\n",a); } return 0; } </code> </pre> <p>Output akan anda lihat:</p> <pre class="scrip"> <code>

  1

  2

  3

  4

  5

  6

  7

  8

  9

  10

  • Process exited with return value Press any key to continue . . . </code> </pre> <p>Penjelasan:</p> <p>Program diatas akan sangat merepot kan jika kita menggunakan

  printf untuk menampilkan satu persatu angka dari 1 sampai 10 tetapi dengan proses loop akan sangat memudahkan programer untuk melakukan pekerjaan yang sama sebanyak yang dia inginkan. flow chart nya adalah sebagai berikut:</p> <img src="img/C_for_loops.jpg" width="369" height="472" alt="C_for_loops"/> <br> <br><br><br><br><br><br><br><br> </div>

  13. chapter_12.php

  <div id="tengah"> <div id="host"> </div> <h1>Chapter 12: struktur perulangan while</h1> <p> Struktur perulangan while sangat berbeda dengan for dalam sistem proses pengerjaannya yaitu di dalam while program akan melakukan proses pengujian ekspresi terlebih dahulu jika benar akan masuk ke fungsi while jika tidak akan dilewatkan.

  </p> <pre class="scrip"> <code> while (test expression) { statmen yang akan di eksekusi } keterangan: test expression = pengujian ekspresi yang mengandung nilai benar dan salah </code> </pre> <pre class="scrip"> <code> #include< stdio.h> int main(){ int a=1; while(a<=10){ printf("%d\n",a); a++; } return 0; } </code> </pre> <p>Output akan anda lihat:</p> <pre class="scrip"> <code>

  1

  2

  3

  4

  5

  6

  7

  8

  9

  10

  • Process exited with return value 0 Press any key to continue . . . </code> </pre> <p>Penjelasan:</p> <p>

  Sama seperti for perbedaannya hanya terletak pada proses pengerjaannya saja akan lebih jelas jika kita lihat flow chart nya ,adalah sebagai berikut: </p> <img src="img/C_while_loop.jpg" width="362" height="263" alt="C_while_loop"/> <br> <br><br><br><br><br><br><br><br> </div>

  14. chapter_13.php

  <div id="tengah"> <div id="host"> </div> <h1>Chapter 13: struktur perulangan do-while</h1> <p> Struktur perulangan do-while adalah struktur perulangan yang secara langsung membiarkan proses unuk masuk ke body perulangan di awal tetapi akan keluar jika ekspresi nya bernilai salah. </p> <pre class="scrip"> <code> do { argumen yang akan dikerjakan } while (test expression); keterangan: test expression = pengujian ekspresi yang mengandung nilai benar dan salah </code> </pre> <pre class="scrip"> <code> #include< stdio.h> int main(){ int a=1; do{ printf("%d\n",a); a++;

  }while(a<=10); return 0; } </code> </pre> <p>Output akan anda lihat:</p> <pre class="scrip"> <code>

  1

  2

  3

  4

  5

  6

  7

  8

  9

  10

  • Process exited with return value 0 Press any key to continue . . . </code> </pre> <p>Penjelasan:</p> <p>

  Seperti yang kami katakan di awal do while membiarkan proses untuk masuk ke sistem perulangan di awal proses berjalan. Untuk lebih jelasnya silah kan perhatikan flow chart berikut. </p> <img src="img/C_do_while_loop (1).jpg" width="374" height="248" alt="C_do_while_loop (1)"/> <br> <br><br><br><br><br><br><br><br> </div>

  15. chapter_15.php

  <div id="tengah"> <div id="host"> </div> <h1>Chapter 14: goto</h1> <p> Goto adalah suatu fungsi dimana program dipaksakan untuk kembali ke tempat dimana telah dideklarasikan titik balik dari goto, pada dasarnya proses pengerjaan goto hampir sama dengan looping tetapi perbedaannya terletak di sistem perulangan nya yang tidak membutuhkan syarat maka dari pada itu agak tidak terjadi infinite looping (perulangan tanpa batas ) maka struktur goto di sandingkan dengan if, kami tidak menyarankan anda untuk menggunakan lopping yang satu ini.

  Tetapi struktur goto juga bisa digunakan untuk melewati statement yang tidak diinginkan dan itu merupakan salah satu kelebihan goto. Struktur sintaks goto: </p> <pre class="scrip"> <code> goto label; ............. ............. ............. label: statement; atau label: statement; ............. ............. ............. goto label; </code> </pre> <pre class="scrip"> <code> #include< stdio.h > int main(){ int a=1; s1: if(a<=10){ printf("%d\n",a); a++; goto s1;

  } return 0; } </code> </pre> <p>Output akan anda lihat:</p> <pre class="scrip"> <code>

  1

  2

  3

  4

  5

  6

  7

  8

  9

  10

  • Process exited with return value 0 Press any key to continue . . . </code> </pre> <p>Penjelasan:</p> <p>

  Seperti yang kita lihat bahwa jika dikombinasikan dengan if akan membuat fungsi goto menjadi proses looping. Agar lebih jelas lihat gambar berikut </p> <img src="img/C_goto_statement.jpg" width="232" height="108" alt="C_goto_statement"/> <br> <br><br><br><br><br><br><br><br> </div>

  16. admin.php

  <?php // Inialize session session_start(); // Check, if username session is NOT set then this page will jump to login page if (!isset($_SESSION['id'])) { header('Location: index.php'); } include 'conn.php'; ?> <html> <head> <title>Portal Program C</title> <link href="tampilanuser.css" rel="stylesheet" /> </head> <body> <div class="wrapper"> <div id="head"> <h1> <?php $id = $_SESSION['id']; $tampil_nama = mysql_query("SELECT * FROM users where id = '$id'"); if ($tampil_nama === FALSE) { die(mysql_error());

  } while ($row = mysql_fetch_array($tampil_nama)) { echo $row['username']; } ?> </h1> <div id="crumbs"> <ul> <li><a href="?menu=homeadmin">Home</a></li> <li><a href="?menu=profil">Profil User</a></li> <li><a href="?menu=forum">forum</a></li> <li><a href="logout.php">Logout</a></li> </ul> </div> </div> <div id="content"> <div id="left-content"> </div> <div id="mid-content"> <?php include"jumpadmin.php"; ?> </div> <div id="right-content"> </div> </div> </div> </body> </html>

  17. admin_editforum.php

  <div id="editforum"> <br> <div id="forumpost"> <a href="?menu=buatposting">buat posting</a> </div> <br> <div id="forumtabelpost"> <?php include 'conn.php'; echo "<br><table border='0' cellspacing='0'>"; $tampil = mysql_query("SELECT * FROM posting order by tanggal_reply desc"); echo "<thead>" . "<tr>" . "<th>Username</th>" . "<th>Posting</th>" . "<th>Tanggal Posting</th>" . "<th colspan='2'>Proses</th>" . "</tr>" . "</thead>"; while ($row = mysql_fetch_array($tampil)) { ?>

  <tbody> <tr> <td> <?php $id_user = $row['id_posting']; $tampil_nama = mysql_query("SELECT * FROM users where id = " . mysql_real_escape_string($id_user) . ""); $row_nama = mysql_fetch_array($tampil_nama); echo $row_nama['username']; ?> </td> <td> <a href="?menu=adminlihatkom&id_komentar=<?php echo $row['id_komentar']; ?>"><?php echo nl2br($row['komentar']); ?></a> </td> <td> <?php echo $row['tanggal_reply']; ?></td> <td id="buttonlihat"><a href="?menu=adminlihatkom&id_komentar=<?php echo $row['id_komentar']; ?>"><input type="submit" value="Lihat" name="balas" /></a> </td> <td id="buttonlihat"><a href="?menu=adminhapuskom&id_komentar=<?php echo $row['id_komentar']; ?>"><input type="submit" value="Hapus" name="balas" /></a> </td> </tr> </tbody> <?php } ?> </table> </div> <br> </div>

  18. admin_hapusbal.php

  <?php $id_balasan = $_GET['id_balasan']; $id_komentar = $_GET['id_komentar']; $sql1 = "DELETE FROM balasan WHERE r_id = '$id_balasan'"; $retval1 = mysql_query($sql1); if (!$retval1) { die('gagal menginput data : ' . mysql_error()); } header('Location: admin.php?menu=adminlihatkom&id_komentar='.$id_komentar.''); ?>

  19. admin_hapuskom.php

  <?php $id_komentar = $_GET['id_komentar']; $sql1 = "DELETE FROM posting WHERE id_komentar = '$id_komentar'"; $sql2 = "DELETE FROM balasan WHERE id_komentar = '$id_komentar'"; $retval1 = mysql_query($sql1); $retval2 = mysql_query($sql2); if (!$retval1) { die('gagal menginput data : ' . mysql_error()); } if (!$retval2) { die('gagal menginput data : ' . mysql_error()); } header('Location: admin.php?menu=forum'); ?>

  20. admin_hapususer.php

  <?php $id = $_GET['id']; $sql1 = "DELETE FROM users WHERE id = '$id'"; $sql2 = "DELETE FROM posting WHERE id_posting = '$id'"; $sql3 = "DELETE FROM balasan WHERE id_user = '$id'"; $retval1 = mysql_query($sql1); $retval2 = mysql_query($sql2); $retval3 = mysql_query($sql3); if (!$retval1) { die('gagal menginput data : ' . mysql_error()); } if (!$retval2) { die('gagal menginput data : ' . mysql_error()); } if (!$retval3) { die('gagal menginput data : ' . mysql_error()); } header('Location: admin.php?menu=profil'); ?>

  20. admin_lihatkom.php

  <div id="balaskomentar"> <?php include 'conn.php'; $id = $_SESSION['id']; $tampil = mysql_query("SELECT * FROM posting where id_komentar = '" . mysql_real_escape_string($_GET['id_komentar']) . "'"); echo"<br> <table id='balaskom'>"; while ($row = mysql_fetch_array($tampil)) { ?> <tr> <td> <?php $id_user = $row['id_posting']; $tampil_nama = mysql_query("SELECT * FROM users where id = " . mysql_real_escape_string($id_user) . ""); $row_nama = mysql_fetch_array($tampil_nama); echo "<h1>" . $row_nama['username'] . "<h1>"; ?> </td> <td rowspan="3" align="right"> <a href="?menu=adminhapuskom&id_komentar=<?php echo $row['id_komentar']; ?>"><input name="tambah" type="submit" id="tambah" value="hapus"></a> </td> </td>

  </tr> <tr> <td><?php echo nl2br($row['komentar']); ?></td> </tr> <tr> <td> <?php echo $row['tanggal_reply']; ?></td> </tr> <?php } ?> </table> <?php echo '<br>'; $id_komentar = $_GET['id_komentar']; $tampil = mysql_query("SELECT * FROM balasan where id_komentar = " . mysql_real_escape_string($id_komentar) . " order by r_tanggal"); while ($row2 = mysql_fetch_array($tampil)) { ?> <table id="tampilbalas"> <tr> <td> <?php $id_user = $row2['id_user']; $tampil_nama = mysql_query("SELECT * FROM users where id = " . mysql_real_escape_string($id_user) . ""); $row_nama = mysql_fetch_array($tampil_nama); echo $row_nama['username']; ?> </td> <td rowspan="3" align="right"> <a href="?menu=adminhapusbalasan&id_balasan=<?php echo $row2['r_id']; ?>&id_komentar=<?php echo $row2['id_komentar']; ?>"><input name="tambah" type="submit" id="tambah" value="hapus"></a> </td> </td> </tr> <tr> <td><?php echo nl2br($row2['komentar']); ?></td> </tr> <tr> <td> <?php echo $row2['r_tanggal']; ?></td> </tr> </table> <br> <?php } ?> <form action="?menu=prosesbalas&id_komentar=<?php echo $id_komentar; ?>" method="POST"> <table id="formbalas"> <tr> <td>Balas</td> </tr> <td><textarea name="komentar" rows="30" cols="100"> </textarea></td> <tr> <td><input name="tambah" type="submit" id="tambah" value="Balas"></td> </tr> </table> </form>

  </div>

  21. balas_komentar.php

  <div id="balaskomentar"> <?php include 'conn.php'; $id = $_SESSION['id']; $tampil = mysql_query("SELECT * FROM posting where id_komentar = '" . mysql_real_escape_string($_GET['id_komentar']) . "'"); echo"<br> <table id='balaskom'>"; while ($row = mysql_fetch_array($tampil)) { ?> <tr> <td> <?php $id_user = $row['id_posting']; $tampil_nama = mysql_query("SELECT * FROM users where id = " . mysql_real_escape_string($id_user) . ""); $row_nama = mysql_fetch_array($tampil_nama); echo "<h1>" . $row_nama['username'] . "<h1>"; ?> </td> </tr> <tr> <td><?php echo nl2br($row['komentar']); ?></td> </tr> <tr> <td> <?php echo $row['tanggal_reply']; ?></td> </tr> <?php } ?> </table> <?php echo '<br>'; $id_komentar = $_GET['id_komentar']; $tampil = mysql_query("SELECT * FROM balasan where id_komentar = " . mysql_real_escape_string($id_komentar) . " order by r_tanggal"); while ($row2 = mysql_fetch_array($tampil)) { ?> <table id="tampilbalas"> <tr> <td> <?php $id_user = $row2['id_user']; $tampil_nama = mysql_query("SELECT * FROM users where id = " . mysql_real_escape_string($id_user) . ""); $row_nama = mysql_fetch_array($tampil_nama); echo $row_nama['username']; ?> </td> </tr> <tr> <td><?php echo nl2br($row2['komentar']); ?></td> </tr> <tr> <td> <?php echo $row2['r_tanggal']; ?></td>

  </tr> </table> <br> <?php } ?> <form action="?menu=prosesbalas&id_komentar=<?php echo $id_komentar; ?>" method="POST"> <table id="formbalas"> <tr> <td>Balas</td> </tr> <td><textarea name="komentar" rows="30" cols="100"> </textarea></td> <tr> <td><input name="tambah" type="submit" id="tambah" value="Balas"></td> </tr> </table> </form> </div>

  21. buat_posting.php

  <div id="buatposting"> <form action="?menu=prosesposting" method="POST"> <table border="0"> <tr> <td id="headbuatpost">Komentar</td> </tr> <td><textarea name="komentar" rows="30" cols="100"> </textarea></td> <tr> <td id="buttonbuatposting"><input name="tambah" type="submit" id="tambah" value="POST"></td> </tr> </table> </form> </div>

  22. conn.php