Pemrogram C (Fungsi Rekursif, Bilangan Berpangkat) X Pangkat N

Pada tutorial kali ini, akan dijelaskan tentang penggunaan fungsi rekursif yang diimplementasikan pada bahasa c menggunakan IDE visual stidio 2010.

Fungsi rekursif merupakan fungsi yang memanggil dirinya sendiri di dalam fungsinya. Dalam tutorial kali ini, fungsi yang digunakan mampu menghitng x pangkat n dimana parameter inputannya adalah nilai dari x dan n.

untuk lebih jelasnya, silahkan disimak video berikut ini.

Dari penjelasan video diatas, maka terlihat dengan jelas bagaimana cara deklarasi, pemanggilan serta bagaimana sebuah fungsi bisa dikatakan sebagai fungsi rekursif.

Untuk lebih jelas tentang source code, silahkan dilihat laporan berikut ini.

 

Laporan Praktikum TMD02 AlgoritmadanStruktur Data dengan C

NIM/ No. Reg.

:

49013035

Nama

:

Wayan WidyaArtana

Email

:

wayanwidyaartana@yahoo.co.id

Laporan

:

Tugas 7 dan 8

 

Coding D

Source Code:

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

#include <stdio.h>

#include <stdlib.h>

 

int pangkat(int x, int n);

 

int main(){

 

       unsigned int x,n;

 

       printf(masukkan yang akan dipangkatkan : “);scanf(“%d”,&x);

       printf(masukkan pangkat bilangan : “);scanf(“%d”,&n);

 

       printf(Nilai dari %d pangkat %d adalah : %d \n”,x,n,pangkat(x,n));

 

       system(“pause”);

       return 0;

}

 

int pangkat(int x, int n){

       if (n == 0)

              return 1;

       else

              return x * pangkat(x,n-1);

}

Deskripsi singkat:

Program diatas adalah program yang menerima 2
kali inputan pengguna dan kemudian menghitung hasil pangkat bilangan pertama berpangkat bilangan ke dua
inputan user.

Program diatas menggunakan fungsi rekursif untuk melakukan perhitungan perpangkatan tersebut. Prototype
fungsi di deklarasikan pada baris ke
4. Kemudian implementasi fungsi ada pada
baris ke 19 sampai dengan 24. Dimana fungsi tersebut menerima parameter inputan nilai x dan n yang bertipe integer. Dalam perhitungannya, akan mencari nilai dari x berpangkat n. logika yang digunakan adalah sebagai berikut. Selama nilai pangkat tidak sama dengan 0, maka fungsi akan
memanggil dirinya sendiri yang mengakibatkan perkalian berturut nilai x sebanyak n. hal ini dapat
dilihat pada baris ke 20 yaitu
if(n==0), maka return nilai 0, akan tetapi jika nilai
n belum 0, maka kalikan lagi x dengan x,  dan nilai n dikurangi
dengan 1, begitu seterusnya sampai n = 0 dan perulangan selesai, sehingga menghasilkan  nilai dari x pangkat n.

Pada program utama, pada baris
ke 8 program mendeklarasikan
x dan y sebagai variable yang
bisa menampung nilai dari bilangan
bulat positif atau insigne int. pada baris 10 dan 11, program memberikan petunjuk dengan fungsi printf(), kemudian meminta pengguna untuk menginputkan nilai dari x dan n.

Kemudian memunculkan nilai dari x pangkat n dengan memanggil fungsi pangkat, dan menginputkan nilai parameter x dan n.  



 

Pemrograman C, String, Array 1 Dimensi, Cek Konsonan, Karakter, Vokal

Pada tutorial kali ini, saya akan menjelaskan tutorial tentang bagaimana caranya untuk mendeteksi kalimat inputan user perkarakter sehingga kita bisa mengetahui berapa jumlah karakter vokal yang diinputkan, berapa jumlah karakter konsonan yang diinputkan dan jumlah karakter lainnya yang diinputkan. Untuk lebih jelasnya silahkan di lihat video berikut ini.

Agar lebih jelas silahkan lihat penjelasan program berikut :

Laporan Praktikum TMD02 Algoritma dan Struktur Data dengan C

NIM/ No. Reg.

:

49013035

Nama

:

Wayan Widya Artana

Email

:

wayanwidyaartana@yahoo.co.id

Laporan

:

Tugas 5

 

Coding 2

Source Code:

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

34

35

36

37

38

 

39

40

41

42

43

44

45

46

47

48

49

50

51

#include <stdio.h>

#include <stdlib.h>

#include <ctype.h>

 

int cek_vokal(char kalimat[225]);

int cek_konsonan(char kalimat[225]);

int cek_karakter(char kalimat[225]);

 

int main(void){

       char kalimat[225];

 

       printf(Masukkan kalimat anda : “);scanf(“%[^\n]s”,&kalimat);

       printf(Jumlah Karakter vokal adalah %d \n”,cek_vokal(kalimat));

       printf(Jumlah Karakter konsonan adalah %d \n”,cek_konsonan(kalimat));

       printf(Jumlah Karakter karakter lain adalah %d\n”,cek_karakter(kalimat));

 

       system(“pause”);

       return 0;

}

 

int cek_vokal(char kalimat[225]){

       int jumlah = 0, i = 0;

       while(kalimat[i] != ){

       if(toupper(kalimat[i]) == ‘A’||

          toupper(kalimat[i]) == ‘I’||

          toupper(kalimat[i]) == ‘U’||

          toupper(kalimat[i]) == ‘E’||

          toupper(kalimat[i]) == ‘O’ )

          jumlah++;

       i++;

       }

       return jumlah;

}

int cek_konsonan
(char kalimat[225]){

       int jumlah = 0, i = 0;

       while(kalimat[i] != ){

              if(toascii(toupper(kalimat[i])) >= 65 && toascii(toupper(kalimat[i])) <= 90 )

                     jumlah++;

              i++;

       }

       return jumlah-cek_vokal(kalimat);

}

int cek_karakter(char kalimat[225]){

       int jumlah
= 0, i = 0;

       while(kalimat[i] != ){

                     jumlah++;

              i++;

       }

       return jumlah-cek_vokal(kalimat)-cek_konsonan(kalimat);

}

Deskripsi singkat:

 Program diatas adalah program dalam bahasa C yang menngunakan beberapa fungsi dalam file header ctype.h untuk membantu menentukan jumlah karakter vocal, konsonan, dan karakter selain itu yang sebelumnya diinputkan oleh pengguna.

Program
ini menggunakan fungsi yang dibuat oleh coder yaitu fungsi cek_konsonan, cek_vokal, dan cek_karakter untuk menentukan jumlah dari masing-masing tipe karakter. Tiga baris pertama,
adalah pemanggilan file
header yaitu stdio.h, stdlib.h, dan ctype.h. sedangkan
tiga baris selanjutnya adalah prototype dari fungsi yang akan dibuat oleh
coder. Baris 9 sampai ke 19 adalah baris main program (program utama)
yang akan dieksekusi apabila program dijalankan. Ini ditandai dengan adanya code ‘int main(void){’. Baris code 21 sampai 33 mengecek karakter vokal (a,i,u,e,o),
fungsi tersebut melakukan perulangan sebanyak karakter yang diinputkan user. Yang menjadi pertanda perulangan tersebut berhenti adalah tanda ‘’ atau karakter null, karena setiap string inputan user akan ditandai di akhir dengan karakter ‘’.

Kemudian dengan logika if program mengecek apakah karakter yang dicek sama dengan
‘A’, ‘I’, ‘U’, ‘E’, ’O’. Sebelumnya masing-masing karakter yang dicek diupper terlebih dulu sehingga berubah menjadi huruf capital dan memudahkan pengecekan. Di dalam fungsi tersebut mendeklarasikan jumlah dan i. variable jumlah digunakan untuk menampung sementara jumlah huruf vocal yang ditemukan dan nantinya di kembalikan sebagai nilai balikan dari fungsi. Sementara variable i digunakan untuk membantu pengambilan index dari karakter yang diambil. Dua fungsi selanjutnya  cek
konsonan dan cek karakter juga melakukan hal yang sama. Akan tetapi dua fungsi
tersebut juga menggunakan fungsi cek vocal untuk mnguragi jumlah karakter yang ditemukan. Pada fungsi cek_konsonan,
variable yang ditemukan diambil
yang hanya memiliki ascii 65 sampai 90. Dan kemudian dikurangi dengan jumlah konsonan yang ditemukan.

Sedangkan pada fungsi cek karakter,
semua karakter yang diinputkan user diambil dan kemudian dikurangi dengan jumlah karakter vocal dan konsonan yang ditemukan pada fungsi sebelumnya.

Berikut adalah tampilan program tersebut :

 image001

Pemrograman C (Fungsi) cek tahun Kabisat

Tahun kabisat adalah tahun dimana jumlah hari pada bulan februari 1 hari lebih banyak dibandingkan dengan tahun-tahun biasa.

Terdapat algoritma mudah untuk menentukan apakah suatu tahun termasuk tahun kabisat atau bukan sebagai berikut:

  1. Jika angka tahun itu habis dibagi 400, maka tahun itu sudah pasti tahun kabisat.
  2. Jika angka tahun itu tidak habis dibagi 400 tetapi habis dibagi 100, maka tahun itu sudah pasti bukan merupakan tahun kabisat.
  3. Jika angka tahun itu tidak habis dibagi 400, tidak habis dibagi 100 akan tetapi habis dibagi 4, maka tahun itu merupakan tahun kabisat.
  4. Jika angka tahun tidak habis dibagi 400, tidak habis dibagi 100, dan tidak habis dibagi 4, maka tahun tersebut bukan merupakan tahun kabisat.

Pada video kali ini, saya membuat sebuah fungsi dalam bahasa c yang dapat mendeteksi, apakah sebuah tahun yang diinputkan pengguna adalah tahun kabisat atau bukan. Fungi tersebut kemudian di panggil untuk mengoutputkan hasil tahun kabisat atau bukan. berikut adalah video dari pembuatan program tersebut. Semoga bagi teman-teman yang sedang belajar fungsi di bahasa c bisa terbantu dengan video ini.

Sebagai penjelasan lebih lanjut, berikut adalah program dan deskripsi yang telah saya sediakan. Selamat Belajar!.

Laporan Praktikum TMD02 Algoritma dan Struktur Data dengan C

NIM/ No. Reg.

:

49013035

Nama

:

Wayan Widya Artana

Email

:

wayanwidyaartana@yahoo.co.id

Laporan

:

Tugas 4

Coding D

Source Code:

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

#include<stdio.h>

#include<stdlib.h>

int cekkabisat(int tahun);

int main(void){

     int tahun;

     printf(Silahkan masukkan tahun yang akan di cek :”);scanf(“%d”,&tahun);

     printf(Tahun yang anda inputkan adalah tahun: %s \n”,cekkabisat(tahun) ? Kabisat:Bukan Kabisat);

system(“pause”);

return 0;

}

int cekkabisat(inttahun){

return ((tahun % 4) == 0 || (tahun % 400) == 0 ? 1:0);

}

Deskripsi singkat:

Program diatas adalah program yang dapat mendeteksi inputan pengguna, apakah inputan pengguna adalah tahun kbisat atau tidak.

Baris 1 dan 2 adalah baris untuk memanggil file header yang berisikan header fungsi yang dibutuhkan dalam program seperti fungsi printf, scanf, dan system(“pause”). Baris ke 4 merupakan prototype dari fungsi yang akan dibuat. Pada baris 6, main program dimulai. Baris ke 7. Baris ke 10 meberikan petunjuk kepada pengguna untuk menginputkan tahun yang akan di cek, kemudian menyimpannya dalam variable tahun yang telah dideklarasikan sebelumnya di baris ke 8. Pada baris 17 sampai 19, adalah fungsi untuk mengecek tahun adalah tahun kabisat atau bukan. Pada baris ke 18 fungsi tersebut melakukan pengecekan apakah tahuyang diinputkan user habis dibagi 4, 400 atau tidak. Jika habis dibagi 4 atau 400 maka akan fungsi akan mengembalikan nilai 1, yang dapat diartikan pada main program sebagai signal bahwa tahun yang diinputkan pengguna adalah tahun kabisat.

Berikut adalah tampilan program diatas :

image002



Perulangan Pada Pemrograman C

–>Video berikut adalah video tutorial penggunaan looping statement pada bahasa pemrograman c. IDE yang digunakan adalah visual studio 2010. pada video ini terdapat tiga statement looping yang digunakan yaitu
-While
-Do While
-For

silahkan menikmati video berikut :

Untuk lebih jelasnya anda dapat melihat code programnya serta penjelasanya dibawah ini. selain code dari program diatas, juga ada beberapa contoh program yang lain sebegai reverens. Selamat belajar dan semoga membantu.

Coding Schaum (6.45)

Source Code:

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

#include <stdio.h>

#include <stdlib.h>

 

int main(void){

       int i=2 ,jum = 0;

//a

       while(i<100){

         printf(“nilai i saat ini adalah : %d \n”,i);

         jum = jum + i;

         i=i+3;

       }

       printf(“Jumlah = %d\n”,jum);

       //b

       i = 2,jum = 0;

       do{

          printf(“nilai i saat ini adalah : %d \n”,i);
jum = jum + i;
i=i+3;

       }while(i<100);

       printf(“Jumlah = %d\n”,jum);

       //c

       i = 2,jum = 0;

       for(i=2;i<100;i++){
printf(“nilai i saat ini adalah : %d \n”,i);   

           jum = jum + i;

           i=i+2;

       }

       printf(“Jumlah = %d\n”,jum);


system(“pause”);

       return 0;

}

Deskripsi singkat:

Program diatas adalah
contoh dari penggunaan statement while, do-while, dan for untuk looping. Program
diatas menjumlahkan nilai integer ke 3 yang dimulai dari 2 dan selama nilai
integer tersebut tidak lebih atau samadengan 100.

Baris 7 sampai 12 adalah
contoh penggunaan while, dimana ada kemungkinan bahwa baris perintah
didalamnya tidak akan pernah di eksekusi jika kondis yang disyaratkan tidak
terpenuhi. Dalam baris perintah ini, baris ke 8 mengoutputkan nilai dari i
setiap kali perulangan. Baris 9 menjumlahkan total jumlah yang sebelumnya
dengan nilai baru dari i pada setiap perulangannya, dan baris 10, akan
menambahkan nilai i dengan 3. Jika i telah sama atau lebih dari 100 maka
perulangannya akan berhenti. Setelah perulangan selesai barulah program
mengeluarkan nilai dari hasil mentotalkan pada variabel jum di baris ke 12.

Begitu pula dengan baris
ke 15 sampai ke 19 dimana yang berbeda hanya letak syarat dan kondisi yang ada
di bagian akhir perulanga. Karena syarat berada di akhir perulangan maka
baris perintah yang ada di dalam perulangan tersebut minimal dieksekusi 1
kali.

Pada baris 23 sampai ke 27
perulangan yang dilakukan masih tetap sama. Penggunaan for biasanya digunakan
apabila jumlah dari perulangan yang dilakukan sudah pasti dan diketahui.

 

image004

 

Contoh Program Operator Matematika Pada Pemrograman C

–>

Berikut adalah video tutorial dan analisa penggunaan oprator pada bahasa pemrograman C. Dalam video berikut dijelaskan langkah” pengerjaan sistem apabila melakukan perhitungan matematika yang menggunakan lebih dari 1 operator serta prioritas operator dalam aturan pemrograman c.

Silahkan tonton video berikut :

Anda juga dapat melihat source code dan penjelasannya di laporan penulis di bawah ini.

Laporan Praktikum TMD02 Algoritma dan Struktur
Data dengan C

NIM/ No. Reg.

:

49013035

Nama

:

Wayan Widya Artana

Email

:

wayanwidyaartana@yahoo.co.id

Laporan

:

Tugas 2

 

Coding 1

Source Code:

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

34

35

36

37

38

39

40

41

42

43

44

45

46

47

48

49

50

51

52

53

54

55

56

57

58

59

60

61

62

63

64

65

66

67

68

69

70

71

72

73

74

75

76

77

78

78

79

80

81

82

83

84

85

86

87

88

89

90

91

92

93

94

95

96

97

98

99

100

101

102

103

104

105

106

107

108

109

110

111

112

113

114

115

116

117

118

119

120

121

122

123

124

125

126

127

128

129

130

131

132

133

134

135

136

137

138

139

140

141

142

143

144

145

146

147

148

149

150

151

152

153

154

155

156

157

158

159

160

161

162

163

164

165

166

167

168

169

170

171

172

173

174

175

176

177

178

179

180

181

182

183

184

185

186

187

188

189

190

191

192

193

194

195

196

197

198

199

200

201

202

203

204

205

206

207

208

209

210

211

212

213

214

215

216

217

218

219

220

221

222

223

224

225

226

227

228

229

230

231

232

233

234

235

236

237

238

239

240

241

242

243

244

245

246

247

248

249

250

251

252

253

254

255

256

257

258

259

260

261

262

263

264

265

266

267

268

269

270

271

272

273

274

275

276

277

278

279

280

281

282

283

284

285

286

287

288

289

290

291

292

293

294

295

296

297

298

299

300

301

302

303

304

305

306

307

308

309

310

311

312

313

314

315

316

317

318

319

320

321

322

323

324

325

326

327

328

329

330

331

332

333

334

335

336

337

338

339

340

341

342

343

344

345

346

347

348

349

350

351

352

353

354

355

356

357

358

359

360

361

362

363

364

365

366

367

368

369

370

371

372

373

374

375

376

377

378

379

380

381

382

383

384

385

386

387

388

389

390

391

392

393

394

395

396

397

398

399

400

401

402

403

404

405

406

407

408

409

410

411

412

413

414

415

416

417

418

419

420

421

422

423

424

425

426

427

428

429

430

431

432

433

434

435

436

437

438

439

440

441

442

443

444

445

446

447

448

449

450

451

452

453

454

455

456

457

458

459

460

461

462

463

464

465

466

467

468

469

470

471

472

473

474

475

476

477

478

479

480

481

482

483

484

485

486

487

488

489

490

491

492

493

494

495

496

497

498

499

500

501

502

503

504

505

506

#include <stdio.h>

#include <stdlib.h>

 

int main(void){

 

       int i=8,j=5,k;

       float x=0.005,y=-0.01, z;


printf(“======================================================== \n”);

       printf(“=====Tugas 2 TMD002 ALPRO & Struktur Data Dengan C ===== \n”);

       printf(“=====                Wayan WidyaArtana             ===== \n”);

       printf(“=====Tugas 2 TMD002 ALPRO & Struktur Data Dengan C ===== \n”);

       printf(“======================================================== \n\n”);

 

       printf(“========================================================\n”);

       printf(” Nilai i = %d, nilai j = %d \n”,i, j);

       printf(” Nilai x = %f, nilai y = %f \n”,x, y);

       printf(” 1. Output (3*i-2*j)%c(2*j-4) : %d \n\n”,‘%’,(3*i-2*j)%(2*j-4));

       printf(“========================================================\n\n”);

       /* Penjelasan Soal 1

              Nilai i pada awalnya = 8, dan nilai j = 5.

              Berikut adalah langkah pengerjaan sistem:

              ==> 3×8 = 24 (3xi)

              ==> 2×5 = 10 (2xj)

              ==> 24 – 10 = 14 (3xi – 2xj)

              ==> 2 x 5 = 10 (2xj)

              ==> 10 – 4 = 6 (2xj – 4)

              ==> 14 modulus 6 = 2

              ==> outputkan 2

       */

       i=8,j=5;

       printf(“========================================================\n”);

       printf(” Nilai i = %d, nilai j = %d \n”,i, j);

       printf(” Nilai x = %f, nilai y = %f \n”,x, y);

       printf(” 2. Output dari 2*((i/5)+(4*(j-3))%c(i+j-2)) : %d \n\n”,‘%’,2*((i/5)+(4*(j-3))%(i+j-2)));

       printf(“========================================================\n\n”);

       /* Penjelasan Soal 2

              Nilai i pada awalnya = 8, dan nilai j = 5.

              Berikut adalah langkah pengerjaan sistem:

              ==> cek hasil 8/5 dalam desimal = 1

              ==> cek nilai j-3 atau 5-3 = 2

              ==> nilai dari (4*(j-3)) adalah 4 * (5-3) = 4 * 2 = 8

              ==> cek nilai (i+j-2) = 8 + 5 – 2 = 11

              ==> cek nilai (4*(j-3))%(i+j-2)) = 8 % 11 = 8

              ==> cek nilai (i/5)+(4*(j-3))%(i+j-2)) = 1 + 8 = 9

              ==> cek nilai 2*((i/5)+(4*(j-3))%(i+j-2))) = 2 * 9 = 18

              ==> outputkan 18

       */

       x=0.005,y=-0.01;i=8,j=5;

       printf(“========================================================\n”);

       printf(” Nilai i = %d, nilai j = %d \n”,i, j);

       printf(” Nilai x = %f, nilai y = %f \n”,x, y);

       printf(” 3. Output dari (i-3 *j) %c ( 12 +2 *j ) / ( x – y ) : %f \n\n”,‘%’,(i-3 *j) % ( 12 +2 *j ) / ( x – y ));

       printf(“========================================================\n\n”);

       /* Penjelasan Soal 3

              Nilai i pada awalnya = 8, dan nilai j = 5, nilai x = 0.005 dan y = -0.01;

              Berikut adalah langkah pengerjaan sistem:

              ==> cek nilai (i-3 *j) = 8 – 3 * 5 = 8 – 15 = -7

              ==> cek nilai (12 +2 *j) = 12 + 2 * 5 = 24

              ==> cek nilai (x – y) = 0.005 + 0.01 = 0.015

              ==> cek nilai (i-3 *j) % ( 12 +2 *j ) = -7 % 24 = -7

              ==> cek nilai -7 / 0.015 = -466,6666677

              ==> outputkan  -466,666667

       */

       i=8,j=5;

       printf(“========================================================\n”);

       printf(” Nilai i = %d, nilai j = %d \n”,i, j);

       printf(” Nilai x = %f, nilai y = %f \n”,x, y);

       printf(” 4. Output -(i + j) : %d \n\n”,-(i + j));

       printf(“========================================================\n\n”);

       /* Penjelasan Soal 4

              Nilai i pada awalnya = 8, dan nilai j = 5.

              Berikut adalah langkah pengerjaan sistem:

              ==> 8+5 = 13 (i+j)

              ==> -13 ()

       */

       i=8,j=5;

       printf(“========================================================\n”);

       printf(” Nilai i = %d, nilai j = %d \n”,i, j);

       printf(” Nilai x = %f, nilai y = %f \n”,x, y);

       printf(” 5. Output dari ++i :  %d \n\n”,++i);

       printf(“========================================================\n\n”);

       /* Penjelasan Soal 5

              Nilai i pada awalnya = 8, dan nilai j = 5.

              Berikut adalah langkah pengerjaan sistem:

              ==> increment 8 atau 8 + 1

              ==> 9

       */

       i=8,j=5;

       printf(“========================================================\n”);

       printf(” Nilai i = %d, nilai j = %d \n”,i, j);

       printf(” Nilai x = %f, nilai y = %f \n”,x, y);

       printf(” 6. Output dari i++ : %d \n\n”,i++);

       printf(“========================================================\n\n”);

       /* Penjelasan Soal 6

              Nilai i pada awalnya = 8, dan nilai j = 5.

              Berikut adalah langkah pengerjaan sistem:

              ==> 8  / i yang belum diincrement

       */

 

       i=8,j=5;

       printf(“========================================================\n”);

       printf(” Nilai i = %d, nilai j = %d \n”,i, j);

       printf(” Nilai x = %f, nilai y = %f \n”,x, y);

       printf(” 7. Output dari –j : %d \n\n”,–j);

       printf(“========================================================\n\n”);

       /* Penjelasan Soal 7

              Nilai i pada awalnya = 8, dan nilai j = 5.

              Berikut adalah langkah pengerjaan sistem:

              ==> 5- 1 / i yang belum decrement

              ==> 4

       */

       x=0.005,y=-0.01;

       printf(“========================================================\n”);

       printf(” Nilai i = %d, nilai j = %d \n”,i, j);

       printf(” Nilai x = %f, nilai y = %f \n”,x, y);

       printf(” 8. Output dari ++x : %f \n\n”,++x);

       printf(“========================================================\n\n”);

       /* Penjelasan Soal 8

              Nilai x pada awalnya = 0.005, dan nilai y = -0.01.

              Berikut adalah langkah pengerjaan sistem:

              ==>  0.005 + 1 /  increment x

              ==>  1.005

       */

 

       x=0.005,y=-0.01;

       printf(“========================================================\n”);

       printf(” Nilai i = %d, nilai j = %d \n”,i, j);

       printf(” Nilai x = %f, nilai y = %f \n”,x, y);

       printf(” 9. Output dari y– : %f \n\n”,y–);

       printf(“========================================================\n\n”);

       /* Penjelasan Soal 9

              Nilai x pada awalnya = 0.005, dan nilai y = -0.01.

              Berikut adalah langkah pengerjaan sistem:

              ==> -0.01 / decrement dilakukan setelahditampilkan

              ==> nilai y  setelah ditampilkan -1.01

       */

 

       i=8,j=5;x=0.005,y=-0.01;

       printf(“========================================================\n”);

       printf(” Nilai i = %d, nilai j = %d \n”,i, j);

       printf(” Nilai x = %f, nilai y = %f \n”,x, y);

       printf(“10. Output dari i <= j : %d \n\n”,i
<= j);

       printf(“========================================================\n\n”);

       /* Penjelasan Soal 10

              Nilai i pada awalnya = 8, dan nilai j = 5, x = 0.005, dan y=-0.01.

              Berikut adalah langkah pengerjaan sistem:

              ==> melakukan pembandingan apakah nilai i lebih kecil atau lebih besar dari j

              ==> Nilai i lebih besar dari j

              ==> keadaan salah

              ==> outputkan 0

       */

       x=0.005,y=-0.01;i=8,j=5;

       printf(“========================================================\n”);

       printf(” Nilai i = %d, nilai j = %d \n”,i, j);

       printf(” Nilai x = %f, nilai y = %f \n”,x, y);

       printf(“11. Output dari x >= 0 : %d \n\n”,x >= 0);

       printf(“========================================================\n\n”);

       /* Penjelasan Soal 11

              Nilai i pada awalnya = 8, dan nilai j = 5, x = 0.005, dan y=-0.01.

              Berikut adalah langkah pengerjaan sistem:

              ==> melakukan pembandingan apakah nilai x lebih besar atau sama dengan 0

              ==> Nilai x lebih besar dari 0

              ==> benar

              ==> outputkan 1

       */

       x=0.005,y=-0.01;i=8,j=5;

       printf(“========================================================\n”);

       printf(” Nilai i = %d, nilai j = %d \n”,i, j);

       printf(” Nilai x = %f, nilai y = %f \n”,x, y);

       printf(“12. Output dari x < y : %d \n\n”,x < y);

       printf(“========================================================\n\n”);

       /* Penjelasan Soal 12

              Nilai i pada awalnya = 8, dan nilai j = 5, x = 0.005, dan y=-0.01.

              Berikut adalah langkah pengerjaan sistem:

              ==> melakukan pembandingan apakah nilai x lebih kecil dari y

              ==> Nilai x lebih besar dari y

              ==> salah

              ==> outputkan 0

       */

       x=0.005,y=-0.01;i=8,j=5;

       printf(“========================================================\n”);

       printf(” Nilai i = %d, nilai j = %d \n”,i, j);

       printf(” Nilai x = %f, nilai y = %f \n”,x, y);

       printf(“13. Output dari j != 6 : %d \n\n”,j != 6);

       printf(“========================================================\n\n”);

       /* Penjelasan Soal 13

              Nilai i pada awalnya = 8, dan nilai j = 5, x = 0.005, dan y=-0.01.

              Berikut adalah langkah pengerjaan sistem:

              ==> melakukan pembandingan apakah nilai j tidak sama dengan 6

              ==> Nilai j = 5, tidak samadengan 6

              ==> Benar

              ==> outputkan 1

       */

       x=0.005,y=-0.01;i=8,j=5;

       printf(“========================================================\n”);

       printf(” Nilai i = %d, nilai j = %d \n”,i, j);

       printf(” Nilai x = %f, nilai y = %f \n”,x, y);

       printf(“14. Output dari (2 * x + y) == 0 : %d \n\n”,(2 * x + y) == 0);

       printf(“========================================================\n\n”);

       /* Penjelasan Soal 14

              Nilai i pada awalnya = 8, dan nilai j = 5, x = 0.005, dan y=-0.01.

              Berikut adalah langkah pengerjaan sistem:

              ==> 2 x 0.005 = 0.01 (2 * x)

              ==> 0.01 + (-0.01) = 0 (2 * x) – y

              ==> Bandingkan 0 dengan 0

              ==> benar

              ==> outputkan 1

       */

       x=0.005,y=-0.01;i=8,j=5;

       printf(“========================================================\n”);

       printf(” Nilai i = %d, nilai j = %d \n”,i, j);

       printf(” Nilai x = %f, nilai y = %f \n”,x, y);

       printf(“15. Output dari 2 * x + ( y == 0) : %.2f \n\n”,2 * x + ( y == 0));

       printf(“========================================================\n\n”);

       /* Penjelasan Soal 15

              Nilai i pada awalnya = 8, dan nilai j = 5, x = 0.005, dan y=-0.01.

              Berikut adalah langkah pengerjaan sistem:

              ==> 2 x 0.005 = 0.01 (2 * x)

              ==> apakah y  sama dengan 0  hasilnya salah nilainya 0

              ==> 0.01 + 0 ((2 * x) + hasil perbadingan y dengan x)

              ==> outputkan 0.01

       */

       x=0.005,y=-0.01;i=8,j=5;

       printf(“========================================================\n”);

       printf(” Nilai i = %d, nilai j = %d \n”,i, j);

       printf(” Nilai x = %f, nilai y = %f \n”,x, y);

       printf(“16. Output dari 2 * x + y == 0 : %d \n\n”,2 * x + y == 0);

       printf(“========================================================\n\n”);

       /* Penjelasan Soal 16

              Nilai i pada awalnya = 8, dan nilai j = 5, x = 0.005, dan y=-0.01.

              Berikut adalah langkah pengerjaan sistem:

              ==> 2 x 0.05 = 0.01 (2 * x)

              ==> 0.01 + (-0.01) = 0 ((2 * x) + y)

              ==> Cek apakah 0 sama dengan 0

              ==> Benar

              ==> outputkan 1

       */

       x=0.005,y=-0.01;i=8,j=5;

       printf(“========================================================\n”);

       printf(” Nilai i = %d, nilai j = %d \n”,i, j);

       printf(” Nilai x = %f, nilai y = %f \n”,x, y);

       printf(“17. Output dari ! ( i <= j ) : %d \n\n”,! ( i <= j ));

       printf(“========================================================\n\n”);

       /* Penjelasan Soal 17

              Nilai i pada awalnya = 8, dan nilai j = 5, x = 0.005, dan y=-0.01.

              Berikut adalah langkah pengerjaan sistem:

              ==> Cek 8 apakah lebih kecil atau sama dengan 5 (i <= j)

              ==> 8 lebih besar dari 5

              ==> nilai 0

              ==> Cek apakah bukan 0 (! ( i <= j ))

              ==> Benar 0

              ==> Outputkan 1

       */

       x=0.005,y=-0.01;i=8,j=5;

       printf(“========================================================\n”);

       printf(” Nilai i = %d, nilai j = %d \n”,i, j);

       printf(” Nilai x = %f, nilai y = %f \n”,x, y);

       printf(“18. Output dari !( x > 0) : %d \n\n”,! ( x > 0));

       printf(“========================================================\n\n”);

       /* Penjelasan Soal 18

              Nilai i pada awalnya = 8, dan nilai j = 5, x = 0.005, dan y=-0.01.

              Berikut adalah langkah pengerjaan sistem:

              ==> Cek 0.05 apakah lebih besar dari 0 (x > 0)

              ==>  0.05 lebih besar 0

              ==> nilai 1

              ==> Cek apakah bukan 0 (!(x > 0))

              ==> Salah

              ==> Outputkan 0

       */

       x=0.005,y=-0.01;i=8,j=5;

       printf(“========================================================\n”);

       printf(” Nilai i = %d, nilai j = %d \n”,i, j);

       printf(” Nilai x = %f, nilai y = %f \n”,x, y);

       printf(“19. Output dari (i > 0) && ( j < 5) : %d \n\n”,(i > 0) && ( j < 5));

       printf(“========================================================\n\n”);

       /* Penjelasan Soal 19

              Nilai i pada awalnya = 8, dan nilai j = 5, x =0.005, dan y=-0.01.

              Berikut adalah langkah pengerjaan sistem:

              ==> Cek apakah 8 lebih besar dari 0 (i > 0)

              ==> Hasilnya 1

              ==> Cek apakah 5 lebih kecil dari 5

              ==> hasilnya salah nilainya 0

              ==> cek apakah keduanya bernilai benar atau 1

              ==> tidak, .. salah satunya bernilai 0

              ==> outputkan 0

       */

       x=0.005,y=-0.01;i=8,j=5;

       printf(“========================================================\n”);

       printf(” Nilai i = %d, nilai j = %d \n”,i, j);

       printf(” Nilai x = %f, nilai y = %f \n”,x, y);

       printf(“20. Output dari (i > 0) || (j < 5) : %d \n\n”,(i > 0) || (j < 5));

       printf(“========================================================\n\n”);

       /* Penjelasan Soal 20

              Nilai i pada awalnya = 8, dan nilai j = 5, x = 0.005, dan y=-0.01.

              Berikut adalah langkah pengerjaan sistem:

              ==> Cek apakah 8 lebih besar dari 0 (i > 0)

              ==> Hasilnya 1

              ==> Cek apakah 5 lebih kecil dari 5

              ==> hasilnya salah nilainya 0

              ==> cek apakah salah satunya bernilai benar atau 1

              ==> Ya, .. salah satunya bernilai 1

              ==> Outputkan 1

       */

       x=0.005,y=-0.01;i=8,j=5;

       printf(“========================================================\n”);

       printf(” Nilai i = %d, nilai j = %d \n”,i, j);

       printf(” Nilai x = %f, nilai y = %f \n”,x, y);

       printf(“21. Output dari (x > y) && (i > 0)||( j < 5) : %d \n\n”,(x > y) && (i > 0)||( j < 5));

       printf(“========================================================\n\n”);

       /* Penjelasan Soal 21

              Nilai i pada awalnya = 8, dan nilai j = 5, x = 0.005, dan y=-0.01.

              Berikut adalah langkah pengerjaan sistem:

              ==> cek nilai x > y atau cek apakah 0.005lebih besar dari -0.01

              ==> bernilai benar atau 1

              ==> cek apakah i > 0 atau cek apakah 8 lebih besar dari 0. hasilnya benar atau 1

              ==> Cek apakah j < 5 atau cek apakah 5 kurang dari 5. hasilnya salah karena 5 sama dengan 5 nilainya 0

              ==> Cek nilai dari “i > 0 atau j < 5”. Karena i>0 bernilai benar maka hasilnya bernilai 1

              ==> Cek nilai dari “x > y dan (i > 0)” cek nilai dari 1 dan 1, maka hasilnya adalah 1

              ==> Cek nilai 1 atau ((x > y) && (i > 0)) || ( j < 5) karena salah sati bernilai benar maka hasilnya adalah 1

              ==> Outputkan 1

       */

       x=0.005,y=-0.01;i=8,j=5;

       printf(“========================================================\n”);

       printf(” Nilai i = %d, nilai j = %d \n”,i,j);

       printf(” Nilai x = %f, nilai y = %f \n”,x,y);

       printf(“22. Output dari (x > y) && (i > 0) && ( j < 5 ) : %d \n\n”,(x > y) && (i > 0) && ( j < 5 ));

       printf(“========================================================\n\n”);

       /* Penjelasan Soal 22

              Nilai i pada awalnya = 8, dan nilai j = 5, x = 0.005, dan y=-0.01.

              Berikut adalah langkah pengerjaan sistem:

              ==> cek x > y, mengecek apakah 0.005 > -0.01. bernilai benar (1)

              ==> cek i > 0, mengecek 8 apakah lebih besar dari 0. bernilai benar atau 1

              ==> cek j < 5, mengecek apakah 5 lebih kecil dari 5. bernilai salah atau 0

              ==> cek dengan operator logika dan “1 dan 1 dan 0” hasilnya 0, karena salah satunya bernilai 0

              ==> outputkan 0.

       */

       x=0.005,y=-0.01;i=8,j=5;

       printf(“========================================================\n”);

       printf(” Nilai i = %d, nilai j = %d \n”,i,j);

       printf(” Nilai x = %f, nilai y = %f \n”,x,y);

       printf(“23. Output dari k = (i + j ) : %d \n\n”,k= (i + j ));

       printf(“========================================================\n\n”);

       /* Penjelasan Soal 23

              Nilai i pada awalnya = 8, dan nilai j = 5, x =0.005, dan y=-0.01.

              Berikut adalah langkah pengerjaan sistem:

              ==> mengisi nilai k dengan i + j atau mengisinilai k dengan 5 + 8 hasilnya adalah 13

              ==> k = 13

              ==> outputkan 13

       */

       x=0.005,y=-0.01;i=8,j=5;

       printf(“========================================================\n”);

       printf(” Nilai i = %d, nilai j = %d \n”,i,j);

       printf(” Nilai x = %f, nilai y = %f \n”,x,y);

       printf(“24. Output dari y -= x : %f \n\n”,y-= x);

       printf(“========================================================\n\n”);

       /* Penjelasan Soal 24

              Nilai i pada awalnya = 8, dan nilai j = 5, x =0.005, dan y=-0.01.

              Berikut adalah langkah pengerjaan sistem:

              ==> mengisi nilai y dengan y-x atau -0.01 -0.005 hasilnya adalah -0.015

              ==> outputkan -0.015

       */

       x=0.005,y=-0.01;i=8,j=5;

       printf(“========================================================\n”);

       printf(” Nilai i = %d, nilai j = %d \n”,i,j);

       printf(” Nilai x = %f, nilai y = %f \n”,x,y);

       printf(“25. Output dari z = ( x + y) : %f \n\n”,z= ( x + y));

       printf(“========================================================\n\n”);

       /* Penjelasan Soal 25

              Nilai i pada awalnya = 8, dan nilai j = 5, x = 0.005, dan y=-0.01. Berikut adalah langkah pengerjaan sistem:

              ==> mengisi nilai z dengan x + y atau z = 0.005 + (-0.01) = -0.005

              ==> outputkan -0.005

       */

       x=0.005,y=-0.01;i=8,j=5;

       printf(“========================================================\n”);

       printf(” Nilai i = %d, nilai j = %d \n”,i,j);

       printf(” Nilai x = %f, nilai y = %f \n”,x,y);

       printf(“26. Output dari x *= 2 : %f \n\n”,x *= 2);

       printf(“========================================================\n\n”);

       /* Penjelasan Soal 26

              Nilai i pada awalnya = 8, dan nilai j = 5, x = 0.005, dan y=-0.01. Berikut adalah langkah pengerjaan sistem:

              ==> mengisi nilai x dengan x = x * 2 atau x = 0.005 + 0.005 = 0.01

              ==> outputkan 0.01

       */

       x=0.005,y=-0.01;i=8,j=5;

       printf(“========================================================\n”);

       printf(” Nilai i = %d, nilai j = %d \n”,i,j);

       printf(” Nilai x = %f, nilai y = %f \n”,x,y);

       printf(“27. Output dari k = ( x + y) : %d \n\n”,k = ( x + y));

       printf(“========================================================\n\n”);

       /* Penjelasan Soal 27

              Nilai i pada awalnya = 8, dan nilai j = 5, x = 0.005, dan y=-0.01. Berikut adalah langkah pengerjaan sistem:

              ==> mengisi nilai k dengan x ditambah y atau k = 0.005 + (-0.01) hasilnya adalah -0.05

              ==> karena k adalah bilangan bulat jadi nilai k = 0

              ==> outputkan 0

       */

       x=0.005,y=-0.01;i=8,j=5;

       printf(“========================================================\n”);

       printf(” Nilai i = %d, nilai j = %d \n”,i,j);

       printf(” Nilai x = %f, nilai y = %f \n”,x,y);

       printf(“28. Output dari i %= j : %d \n\n”,i %= j);

       printf(“========================================================\n\n”);

       /* Penjelasan Soal 28

              Nilai i pada awalnya = 8, dan nilai j = 5, x = 0.005, dan y=-0.01.

              Berikut adalah langkah pengerjaan sistem:

              ==> mengisi nilai i yang baru dengan i % j atau 8 modulus 5 hasilnya adalah 3

              ==> outputkan 3

       */

       x=0.005,y=-0.01;i=8,j=5;

       printf(“========================================================\n”);

       printf(” Nilai i = %d, nilai j = %d \n”,i,j);

       printf(” Nilai x = %f, nilai y = %f \n”,x,y);

       printf(“29. Output dari i+= (j -2) : %d \n\n”,i+= (j -2));

       printf(“========================================================\n\n”);

       /* Penjelasan Soal 29

              Nilai i pada awalnya = 8, dan nilai j = 5, x =0.005, dan y=-0.01.

              Berikut adalah langkah pengerjaan sistem:

              ==> mengurangi j dengan 2 atau 5 – 2 = 3

              ==> mngisi nilai i dengan hasil i + hasil diatas atau i  = 8 + 3 = 11

              ==> outputkan 11

       */

       x=0.005,y=-0.01;i=8,j=5;

       printf(“========================================================\n”);

       printf(” Nilai i = %d, nilai j = %d \n”,i,j);

       printf(” Nilai x = %f, nilai y = %f \n”,x,y);

       printf(“30. Output dari k = i = j : %d \n\n”,k= i = j);

       printf(“========================================================\n\n”);

       /* Penjelasan Soal 30

              Nilai i pada awalnya = 8, dan nilai j = 5, x =0.005, dan y=-0.01.

              Berikut adalah langkah pengerjaan sistem:

              ==> mengisi k dengan i kemudian mengisi j dan k dengan j dimana j bernilai 5

              ==> outputkan 5

       */

       x=0.005,y=-0.01;i=8,j=5;

       printf(“========================================================\n”);

       printf(” Nilai i = %d, nilai j = %d \n”,i,j);

       printf(” Nilai x = %f, nilai y = %f \n”,x,y);

       printf(“31. Output dari k = (j==5) ? i : j : %d\n\n”,k = (j==5) ? i : j);

       printf(“========================================================\n\n”);

       /* Penjelasan Soal 31

              Nilai i pada awalnya = 8, dan nilai j = 5, x =0.005, dan y=-0.01.

              Berikut adalah langkah pengerjaan sistem:

              ==> Cek apakah nilai j sama dengan 5. j samadengan 5 maka bernilai benar

              ==> jika bernilai benar maka outputkan i yangbernilai 8 jika salah outputkan j yang bernilai 5

              ==> nilainya benar jadi outputkan nilai i atau8

              ==> outputkan 8

       */

       x=0.005,y=-0.01;i=8,j=5;

       printf(“========================================================\n”);

       printf(” Nilai i = %d, nilai j = %d \n”,i,j);

       printf(” Nilai x = %f, nilai y = %f \n”,x,y);

       printf(“32. Output dari (k = ( j > 5 ) ? i : j) : %d \n\n”,k = ( j > 5 ) ? i : j);

       printf(“========================================================\n\n”);

       /* Penjelasan Soal 32

              Nilai i pada awalnya = 8, dan nilai j = 5, x = 0.005, dan y=-0.01.

              Berikut adalah langkah pengerjaan sistem:

              ==> mengisi nilai k dengan membandingkan j apakah lebih besar dari 5 (bernilai salah karena j sama dengan 5)

              ==> nilai k samadengan 0

              ==> jika nilai k samadengan 0 maka outputkan nilai j

              ==> outputkan 5

       */

       x=0.005,y=-0.01;i=8,j=5;

       printf(“========================================================\n”);

       printf(” Nilai i = %d, nilai j = %d \n”,i, j);

       printf(” Nilai x = %f, nilai y = %f \n”,x, y);

       printf(“33. Output dari (z = (x >= 0) ? x : 0) : %f \n\n”,z = (x >= 0) ? x : 0);

       printf(“========================================================\n\n”);

       /* Penjelasan Soal 33

              Nilai i pada awalnya = 8, dan nilai j = 5, x = 0.005, dan y=-0.01.

              Berikut adalah langkah pengerjaan sistem:

              ==> mengisi nilai z dengan membandingkan apakah x lebih besar atau sama dengan 0

              ==> karena x bernilai 0.005 berari lebih besar dari 0 maka z bernilai 1

              ==> jika z bernilai 1 maka outputkan nilai x

              ==> outputkan 0.005

       */

       x=0.005,y=-0.01;i=8,j=5;

       printf(“========================================================\n”);

       printf(” Nilai i = %d, nilai j = %d \n”,i, j);

       printf(” Nilai x = %f, nilai y = %f \n”,x, y);

       printf(“34. Output dari (z = (y >= 0) ? y : 0) : %f \n\n”,z = (y >= 0) ? y : 0);

       printf(“========================================================\n\n”);

       /* Penjelasan Soal 34

              Nilai i pada awalnya = 8, dan nilai j = 5, x = 0.005, dan y=-0.01.

              Berikut adalah langkah pengerjaan sistem:

              ==> nilai z diisi dengan hasil membandingkan nilai y apakah > atau sama dengan 0

              ==> nilai y adalah -0.01 artinya lebih kecil dari 0 jadi hasilnya adalah 0

              ==> nilai z = 0

              == jika nilai z = 0 maka outputkan 0

              ==> outputkan 0

       */

       x=0.005,y=-0.01;i=8,j=5;

       printf(“========================================================\n”);

       printf(” Nilai i = %d, nilai j = %d \n”,i, j);

       printf(” Nilai x = %f, nilai y = %f \n”,x, y);

       printf(“35. Output dari (i -= (j > 0) ? j : 0) : %d \n\n”,i -= (j > 0) ? j : 0);

       printf(“========================================================\n\n”);

       /* Penjelasan Soal 34

              Nilai i pada awalnya = 8, dan nilai j = 5, x = 0.005, dan y=-0.01.

              Berikut adalah langkah pengerjaan sistem:

              ==> j dibandingkan, apakah nilaiya lebih besar dari 0

              ==> nilai j = 5 jasi j lebih besar dari 0 maka nilai dari (j > 0) ? j : 0) adalah nilai dari j yaitu 5

              ==> mengisi nilai i dengan i – 5  yaitu i = 8 – 5 = 3

              ==> outputkan 3

       */

       system(“pause”);

       return 0;

}

Deskripsi singkat:

Program diatas, melakukan perhitungan sesuai fungsi yang ditentukan. Terdapat 35 fungsi yang dijalankan
oleh program tersebut. masing masing fungsi tersebut adalah  :

1. (3*i-2*j)%(2*j-4)

2.2*((i/5)+(4*(j-3))%(i+j-2))

3. (i-3 *j) % ( 12 +2*j ) / ( x – y )

4. -(i + j )

5. ++i

6. i++

7. –j

8. ++x

9. y–

10. i <= j

11. x >= 0

12. x < y

13. j != 6

14. (2 * x + y) == 0

15. 2 * x + ( y = = 0)

16. 2* x + y == 0

17. ! ( i <= j )

18. ! ( x > 0)

19. (i > 0)&& ( j < 5)

20. (i > 0)|| (j< 5)

21. (x > y)&& (i > 0)||( j < 5)

22. (x >y)&& (i > 0) && ( j < 5 )

23. k = (i + j )

24. y -= x

25. z = ( x + y)

26. x *= 2

27. k = ( x + y)

28. i %= j

29. i+= (j -2)

30. k = i = j

31. k = ( j ==5) ? i :j

32. k = ( j > 5 ) ?i : j

33. z = ( x >= 0) ?x : 0

34. z = ( y >= 0) ?y : 0

35. i -= ( j > 0) ? j : 0

 

Dengan ketentuan nilai
x = 0.005, y = -0.01, i = 8, dan j = 5 pada awal masing-masing setiap
fungsi.  Penjelasan masing-masing code dan fungsi tersebut telah ada di
source code diatas dalam bentuk komentar.