LAPORAN RESMI PRAKTIKUM PEMROGRAMAN DASAR

===

PROGRAM STUDI TEKNIK INFORMATIKA FAKULTAS TEKNIK UNIVERSITAS PGRI RONGGOLAWE TUBAN

KATA PENGANTAR

Segala puji bagi Tuhan yang maha kuasa, yang mana telah melimpahkan rahmat, taufiq dan hidayah-Nya sehingga saya dapat menyelesaikan Laporan Resmi dengan judul: “Praktikum Pemrograman Dasar” dari Pak Andik Adi Suryanto ,S.Kom .

Dalam menyelesaikan tugas ini saya menyadari bahwa dalam penyusunan Laporan Resmi ini masih banyak mengalami kesulitan dan hambatan. Namun berkat bantuan dan dorongan dari beberapa pihak maka segala kesulitan dan hambatan yang saya hadapi dapat teratasi.

Saya menyadari bahwa dalam penulisan Laporan Resmi ini banyak kekurangannya, untuk itu kritik dan saran yang membangun dari para pembaca sangat saya harapkan.

Semoga isi dari Laporan Resmi ini bisa bermanfaat bagi para pembaca sekalian dan bagi saya sendiri tentunya.

Tuban, 12 April 2012 Ttd

Penulis

BAB I PENDAHULUAN

1.1 Latar Belakang Bahasa C merupakan bahasa pemrograman yang bersifat open source. Turunan dari bahasa C adalah salah satunya bahasa java. Oleh sebab itu, bahasa java tidak jauh berbeda dengan bahasa C. Selain bahasa java, ada C++, mysql, php, dan masih banyak lagi. Namun, dalam praktikum di sini akan dibahas mengenai bahasa C yaitu induk dari bahasa pemrograman yang telah disebutkan tadi.

Dalam praktikum Modul 1 ini, praktikan di perkenalkan dengan bahasa C yang merupakan induk dari bahasa java. Semua orang boleh mengeksploitasi bahasa pemrograman ini, sebab bahasa ini bersifat open source. Berdasarkan itulah, bahasa C akan digunakan dalam praktikum kali ini.

Dari praktikum pertama ini, praktikan akan diperkenalkan struktur dasar dari bahasa C, pendeklarasian sebuah variabel, tipe data, konstanta, dan berbagai perkenalan mengenai struktur dari pemrograman bahasa C ini serta fungsi dan manfaat penggunaanya.

1.2 Tujuan  Tujuan mahasiswa mengikuti praktikum Algoritma Pemrograman Modul 1

ini adalah :

1. Untuk mengetahui struktur pemrograman Bahasa C

2. Untuk mengetahui macam-macam tipe data dalam Bahasa C

3. Untuk mengetahui pendeklarasian variabel dan konstanta dalam Bahasa C

4. Untuk mengimplementasikan program yang telah dibuat. 5. Dapat membuat program sederhana dengan menggunakan bahasa C. 6. Memahami fungsi standar untuk operasi numerik & matematika serta

operasi karakter & string pada bahasa C.

BAB II TINJAUAN PUSTAKA

2.1. Sejarah Perkembangan Bahasa C

Berasal dari bahasa BCPL (Basic Combined Programming Language) oleh MARTIN RICHARD, Cambridge tahun 1967. KEN THOMPSON membuat bahasa B untuk dipakai pada komputer DEC PDP -7 di bawah sistem operasi UNIX pada Bell laboratory, Murray Hill, New Jersey tahun 1970.

Bahasa B merupakan suatu bahasa pemrograman yang tidak memiliki jenis suatu data seperti halnya PL/M. Berdasarkan gambaran bahasa B, DENNIS RITCHIE menulis bahasa C. Nama C diambil berdasarkan urutan sesudah B dari bahasa BCPL. Tujuan bahasa C pada mulanya untuk membentuk suatu sistem operasi yang akan digunakan pada mesin komputer DEC PDP-11 yang baru. Pada tahun 1975, sistem operasi UNIX versi 6 dan bahasa C mulai diberikan kepada Universitas maupun Akademi. Dan pada tahun 1979, system operasi UNIX versi 7 dikeluarkan dengan bahasa C. Sistem operasi ini (versi 7) seluruhnya ditulis dalam bahasa C.

Pada 1978 Dennis Ritchie dan Brian Kernighan kemudian mempublikasikan buku The C Programming Language yang semakin memperluas pemakaiannya dan dijadikan standar oleh ANSI (American National Standard Institute) pada tahun 1989. C kemudian dikembangkan lagi oleh Bjarne Stroustrup menjadi C++ (1986). C dan/atau C++ banyak digunakan (sehingga

menjadi „standar‟) sebagai bahasa pemrograman untuk membuat sistem operasi.

2.2. Pengenalan Turbo C++

Turbo C++ dengan IDE yang terintegrasi yang dikembangkan oleh Borland, terkenal karena kecepatannya dalam kompilasi dan linking. Produk ini merupakan bagian dari keluarga kompiler borland yang sangat populer termasuk Turbo Pascal, Turbo Basic, Turbo Prolog, dan Turbo C. Turbo C++ merupakan suksesor dari Turbo C yang merupakan pengembangan lebih lanjut dengan keseragaman tata cara dalam kompiler seperti halnya cara yang terdapat pada Turbo Pascal 5.5 dalam menambahkan fungsionalitas object pada versi-versi Turbo Pascal sebelumnya. Namun tidak seperti halnya Turbo Pascal, Turbo C++ senantiasa mengikuti dan mempertahankan standar-standar yang berlaku pada bahasa C++.

2.3. Pengenalan Algoritma Definisi

Definisi algoritma adalah urutan langkah-langkah logis penyeselaian masalah yang disusun secara sistematis dan logis. Kata logis (logika) merupakan kata kunci dalam algoritma. Langkah-langkah dalam algoritma harus dapat ditentukan bernilai benar atau salah.

Algoritma Dalam Kehidupan

Algoritma adalah jantung ilmu komputer atau informatika. Banyak cabang ilmu komputer yang diacu dalam terminologi algoritma. Namun algoritma juga digunakan dalam kehidupan sehari-hari, contohnya resep makanan. Di dalam resep makanan terdapat langkah-langkah yang merupakan algoritma. Selain itu masih banyak contoh algoritma yang lain.

2.4. Pengenalan Program C

2.4.1 Proses Penerjemahan bahasa C

Untuk dapat dimengerti oleh komputer, bahasa C yang ditulis harus diterjemahkan terlebih dahulu ke dalam bentuk yang dikenal oleh bahasa mesin. Ada dua jenis translator atau penerjemah yang digunakan dalam bahasa C, yaitu interpreter dan compiler .

Interpreter merupakan suatu translator yang menerjemahkan bahasa C ke dalam bahasa yang dikenal mesin satu persatu, dan hasil terjemahan langsung dikerjakan. Sedangkan pada compiler, diterjemahkan secara keseluruhan dan hasil terjemahan tersebut disimpan dalam bentuk kode mesin (object code), dan kode eksekusi (execute code). Object code dari compiler baru dapat dilaksanakan setelah object code tersebut diubah menjadi execute code oleh linker. Secara lengkap prosesnya adalah sebagai berikut :

Gambar 2.1 Proses Penerjemah Bahasa C

2.4.2 Struktur Program C

Untuk dapat memahami bagaimana suatu program ditulis, maka struktur dari program harus dimengerti terlebih dahulu. Tiap bahasa komputer mempunyai struktur program yang berbeda. Jika struktur dari program tidak diketahui, maka akan sulit bagi pemula untuk memulai menulis suatu program dengan bahasa yang bersangkutan.

Struktur dari program C terdiri dari koleksi satu / lebih fungsi-fungsi. Fungsi pertama yang harus ada di program C sudah ditentukan namanya, yaitu bernama main() . Suatu fungsi di dalam program C dibuka dengan kurung kurawal buka “{” dan ditutup dengan kurung kurawal tutup “}”. Di antara kurung kurawal Struktur dari program C terdiri dari koleksi satu / lebih fungsi-fungsi. Fungsi pertama yang harus ada di program C sudah ditentukan namanya, yaitu bernama main() . Suatu fungsi di dalam program C dibuka dengan kurung kurawal buka “{” dan ditutup dengan kurung kurawal tutup “}”. Di antara kurung kurawal

Gambar 2.2 Struktur Umum Bahasa C

Bahasa C dikatakan sebagai bahasa pemrograman terstruktur, karena strukturnya menggunakan fungsi-fungsi sebagai program-program bagian (subroutine). Fungsi-fungsi selain fungsi utama merupakan program-program bagian. Fungsi-fungsi ini dapat ditulis setelah fungsi utama atau diletakkan pada file pustaka dan akan dipakai di suatu program, maka nama judulnya (header file) harus dilibatkan di dalam program yang menggunakan preprocessor directive #include .

Header file merupakan file yang berisi dengan prototype (judul, nama, sintak) dari sekumpulan fungsi-fungsi pustaka tertentu. Jadi file ini hanya berisi dengan prototipe dari fungsi-fungsi pustaka, sedangkan fungsi-fungsi pustakanya sendiri disimpan dalam file pustaka (library file dengan nama extension file -nya adalah .LIB). Misalnya prototipe dari fungsi-fungsi pustaka printf() dan scanf() terdapat di file stdio.h, sehingga jika fungsi-fungsi ini digunakan di program, maka nama file judulnya harus dilibatkan dengan menggunakan preposcessor #include. File judul stdio.h berisi prototype fungsi-fungsi pustaka untuk operasi input dan output standar. Ada dua cara melibatkan file judul disuatu program C, yaitu :

#include<stdio.h> atau #include “stdio.h”.

File judul selain berisi dengan prototype dari fungsi-fungsi pustaka, juga umumnya berisi dengan konstanta-konstanta terdefinisi dan makro-makro. Misalnya nama konstanta terdefinisi M_PI telah didefinisikan di file judul math.h oleh Turbo-C. Selanjutnya untuk menggunakan nilai phi, nama konstanta M_PI dapat digunakan yang telah berisi dengan nilai konstanta

2.4.3 Program C Sederhana

Berikut merupakan contoh program sederhana menggunakan bahasa C : /* Program C yang sederhana */ #include <stdio.h> main() {

float Celcius, Fahrenheit; printf(“masukkan nilai celcius?”;

scanf(“%f”,&Celcius); Fahrenheit = Celcius * 1.8 + 3.2;

printf(“%f celcius adalah %f fahrenheit \n”, Celcius, Fahrenheit); } Output dari listing program di atas adalah :

masukkan nilai celcius?10 10.000000 celcius adalah 50.000000 fahrenheit Pembahasan program secara singkat :

1. Untuk memberi keterangan program, suatu komentar bebas dapat diletakkan dimanapun di program C. Komentar atau keterangan program diawali dengan bentuk /* dan diakhiri dengan bentuk */ yang terlihat sebagai berikut : /* Program C yang sederhana */

2. Karena program ini menggunakan fungsi-fungsi pustaka printf() dan scanf() yang disediakan oleh C dan diletakkan di file pustaka, maka nama file yang berisi prototype dari fungsi-fungsi ini (file ini disebut header file) harus disebutkan dengan prepocessor directive #include. File judul (header file ) untuk fungsi-fungsi printf() dan scanf() adalah dengan nama stdio.h. Nama extention file .h menunjukkan suatu header file.

3. Di dalam fungsi utama, digunakan lima buah statemen sebagai berikut: float Celcius, Fahrenheit; 3. Di dalam fungsi utama, digunakan lima buah statemen sebagai berikut: float Celcius, Fahrenheit;

Fahrenheit = Celcius * 1.8 + 3.2; printf(“%f celcius adalah %f fahrenheit \n”,

Celcius, Fahrenheit); Masing-masing statemen ditulis dengan diakhiri oleh titik koma. Statemenstatemen (pernyataan-pernyataan) di program C dapat dibentuk dari kata-kata kunci (seperti misalnya float, int, for atau if), dibentuk dari fungsi-fungsi (misalnya printf(), scanf()) atau dibentuk dari suatu pengerjaan (seperti perhitungan, memindahkan suatu nilai ke suatu variabel).

2.4.4 Kelebihan dan kelemahan Bahasa C

 Kelebihan Bahasa C: - Bahasa C tersedia hampir di semua jenis computer.

- Kode bahasa C sifatnya adalah portable dan fleksibel untuk semua jenis computer. - Bahasa C hanya menyediakan sedikit kata-kata kunci. hanya terdapat 32 kata kunci. - Proses executable program bahasa C lebih cepat - Dukungan pustaka yang banyak. - C adalah bahasa yang terstruktur - Bahasa C termasuk bahasa tingkat menengah penempatan ini hanya menegaskan bahwa c bukan bahasa pemrograman yang berorientasi pada mesin. yang merupakan ciri bahasa tingkat rendah. melainkan berorientasi pada obyek tetapi dapat dinterprestasikan oleh mesin dengan cepat. secepat bahasa mesin. inilah salah satu kelebihan c yaitu memiliki kemudahan dalam menyusun programnya semudah bahasa tingkat tinggi namun dalam mengesekusi program secepat bahasa tingkat rendah.

 Kekurangan Bahasa C: - Banyaknya operator serta fleksibilitas penulisan program kadang-kadang

membingungkan pemakai. - Bagi pemula pada umumnya akan kesulitan menggunakan pointer.

BAB III PENGENALAN PEMROGRAMAN BAHASA C

3.1 Pokok Bahasan

 Fungsi  Fungsi main ()  Fungsi printf ()  Praposesor #include

3.2 Tujuan

 Agar mahasiswa mampu dan memahami fungsi dasar bahasa C.  Agar mahasiswa mengerti dan memahami header program bahasa C.  Agar mahasiswa dapat menggunakan fungsi-fungsi dasar

pemrograman bahasa C.  Agar mahasiswa mampu membuat program dasar sederhana .

3.3 Dasar Teori  Fungsi

Program C pada hakekatnya tersusun atas sejumlah blok fungsi. Sebuah program minimal mengandung sebuah fungsi. Setiap fungsi terdiri dari satu atau bebrapa pernyataan dimaksudkan untuk melaksanakan tugas khusus. Secara umum fungsi mempunyai bentuk ssebagai berikut.

nama fungsi (daftar parameter) deklarasi parameter; { bagian isi fungsi }

 Fungsi main ()

Fungsi main( ) harus ada pada program, sebab fungsi inilah yang menjadi titik awal dan akhir eksekusi program. Tanda { diawal fungsi menyatakan awal tubuh fungsi dan juga sebagai awal program dijalankan, sedangkan tanda } di akhir fungsi merupakan akhir bagian isi fungsi dan sekaligus adalah akhir dari eksekusi program.

 Fungsi printf()

Merupakan fungsi yang umum dipakai utuk menampilkan suatu keluaran pada layar peraga.

 Praposesor #include

#include merupakan salahsatu jenis pengarah praprosesor yang dipakai untuk membaca file yang dinamakan file-judul (header file). File-judul yaitu file yang diantaranya berisi deklarasi fungsi dan definisi konstanta. File ini mempunyai ciri yaitu nama file-nya diakhiri dengan extensi .h , misalnya = stdio.h.

3.4 Hasil Praktikum

3.4.1 Percobaan 1

 Menganalisa kesalahan dari menampilkan data ke layar di bawah ini :

#include “stdio.h” Main() { Printf(“belajar pemrograman bahasa C”) Printf(“dengan Borland turbo c++ versi 4.5”); Printf(“PRODI STUDI TEKNIK PERANGKAT LUNAK”);

} Berikut di bawah ini adalah pembenaranya : #include <stdio.h>

main () { printf ("belajar Pemrograman Bahasa C\n"); printf ("dengan borland turbo c++ versi 4.5\n"); printf ("PRODI TEKNIK INFORMATIKA"); }

Maka hasil dari pembenaran program di atas akan seperti pada gambar di bawah ini :

Gambar 3.1 percobaan

 Keterangan : manfaat dari program di atas yaitu , mahasiswa mampu

menganalisa kesalahan program serta dapat membenarkanya.

3.4.2 Percobaan 2

 Membuat biodata pribadi Di sini saya akan membuat sebuah contoh program yang cukup sederhana , yaitu menampilkan sebuah biodata pribadi tentang latar belakang diri saya , Berikut di bawah ini scripnya : #include <stdio.h>

main () { printf ("\t\tBIODATA PRIBADI\n"); printf ("==========================================\n"); printf ("NAMA\t = SAEUN MU'ARIF\n"); printf ("NPM\t = 1412110300\n"); printf ("PRODI\t = TEKNIK INFORMATIKA\n"); printf ("ALAMAT\t = SOKO - TUBAN\n"); printf ("\tTELEPON\t = 081515624505\n"); printf ("\tKODE POS = 62372\n"); printf ("ASAL SEKOLAH\t = SMKN 2 BOJONEGORO\n"); printf ("HOBY\t\t = OTAK-ATIK KOMPUTER dll.\n"); printf ("AGAMA\t\t = ISLAM\n"); printf ("TEMPAT/LAHIR\t = TUBAN , 06 MARET 1992\n"); printf ("==========================================\n"); }

Maka dari hasil scrip program di atas akan menghasilkan output atau sebuah keluaran seperti pada gambar di bawah ini :

Gambar 3.2 percobaan 2

 Keterangan : Manfaat dari program di atas yaitu mahasiswa dapat membuat program biodata dengan fungsi dasar bahasa C++.

3.4.3 Percobaan 3

 Mencari Letak kesalahan dari listing program di bawah ini : #include <stdio.h>

Main () { Printf(“%d dan %d adalah bilangan genap” 2 , 4);

Printf(“%s pangkal %s, “rajin” , pandai ); }

Maka dari kesalahan srcip program di atas , akan menghasilkan sebuah pembenaran seperti scrip program di bawah ini #include <stdio.h>

main() { printf ("% d dan % d adalah bilangan genap\n", 2,4); printf ("% s pangkal % s","rajin","pandai"); }

Dari pembenaran scrip program diatas , maka akan menghasilkan sebuah output atau keluaran seperti pada gambar berikut di bawah ini :

Gambar 3.3 percobaan 3  Keterangan : Manfaat dari program di atas yaitu mahasiswa mampu

menganalisa letak kesalahan program serta memperbaikinya.

BAB IV

DASAR PEMROGRAMAN DAN OPERASI MASUKAN- KELUARAN

4.1 Pokok Bahasan

 Pengenal (identifitier)  Kata kunci (reserved word)  Tipe Data Dasar  Variabel  Operator Aritmatika

4.2 Tujuan

 Agar mahasiswa mampu dan mengerti pengenal dan kata kunci dalam

bahasa C.  Agar mahasiswa mampu menggunakan variabel dan tipe variabel dalam

sebuah program.  Agar mahasiswa mampu mengenal dan mengerti variabel , tipe data dalam

bahasa C.

4.3 Dasar Teori

 Tipe Data Dasar Data berdasarkan jenisnya dapat dibagi menjadi lima kelompok, yang dinamakan sebagai tipe data dasar. Kelima tipe data dasar : Tipe

Keterangan Bit Char

Total

Kapasitas

8 -128 s/d 127

Karakter

Bil. Interger Float

Int

16 -32768 s/d 32767

Bil. Real (presisi tunggal) Double

32 3.4E-38 s/d 3.4E+38

64 1.7E-308 s/d 1.7E_308 Bil. Real (presisi ganda) Void

0 Tak bertipe

 Variable Bentuk pendeklarasian variabel :

Tipe daftar-variabel

Contoh deklarasi : int jumlah; float, harga, bayar;

 Operator Aritmatika

Yang tergolong operator binary Yang tergolong operator unary *

Tanda minus /

Perkalian

Tanda plus %

Pembbagian

Sisa pembagian +

Penjumlahan -

Pengurangan

4.4 Hasil Praktikum

4.4.1 Percobaan 1

 Menganalisa sebuah kesalahan program  Berikut dibawah ini adalah scrip yang salah :

#include <stdio.h> #include <math.h> int main() { float a,b,c; printf("masukkan a: ") scanf("%f",a); printf("masukkan b: ") scanf("%f",b); c=a*a+b*b printf("jadi sisi miring segitiga

adalah=%2.f",sqrt(c)); }

 Dari scrip program kesalahan diatas , maka akan didapatkan sebuah

pembenaranya seperti pada scrip berikut dibawah ini : #include<stdio.h> #include<math.h> main() { float a,b,c ; printf ("masukan a : "); scanf ("%f",&a); printf ("masukan b : "); scanf ("%f",&b); c=a*a+b*b; printf ("jadi sisi miring segitiga adalah : %2.f",sqrt(c)); }

 Dari scrip program pembenaran di atas akan dapat menghasilkan sebuah keluaran seperti pada gambar di bawah ini :

Gambar 4.1 percobaan 1

Dari output program di atas ,sebuah proses masih belum selesai karena saya masih akan menginputkan sebuah nilai „a‟ dan nilai „b‟, contoh di

sini saya akan menginput nilai a=4 dan nilai b=5 , seperti pada gambar sini saya akan menginput nilai a=4 dan nilai b=5 , seperti pada gambar

Gambar 4.2 menginputkan nilai ‘a’ dan nilai ‘b’

Dan langkah terakhir saya akan menekan enter program di atas , maka akan menghasilkan sebuah tampilan seperti pada gambar di bawah ini :

Gambar 4.3 hasil sisi miring segitiga

Jadi dari program di atas telah dihasilkan sebuah sisi miring segitiga dengan nilai 6.

 Keterangan : Manfaat dari program diatas yaitu mahasiswa mampu menganalisa kesalahan serta dapat memperbaiki dan menghasilkan sisi miring segitiga .

4.4.2 Percobaan 2

 Membuat program mencari luas permukaan balok, keliling dan luas lingkaran,serta volum sebuah kubus.  Berikut di bawah ini scripnya : Ket : dari sebuah scrip program di bawah ini saya telah menggabungkan scrip dari program luas permukaan balok,keliling dan luas lingkaran serta volume kubus , jadi intinya satu program bisa menghasilkan beberapa hasil output , #include<stdio.h>

main () { main () {

printf ("======================================\n"); printf ("\t Luas permukaan Balok\n"); printf ("======================================\n"); printf ("Masukan panjang : ");scanf("%d",&p); printf ("Masukan lebar : ");scanf("%d",&l); printf ("Masukan tinggi : ");scanf("%d",&t); la = 2*((p*l)+(p*t)+(l*t)); printf ("Luas permukaan Balok : %d\n",la); printf ("======================================\n"); printf ("\tKeliling dan Luas Lingkaran\n"); printf ("======================================\n"); printf ("Masukan jari-jari : ");scanf("%d",&r); if (r%7 == 0) {k=2*22/7*r; printf ("Keliling Lingkaran: %.2lf\n",k);} else {k = 2*3.14*r; printf ("Keliling Lingkaran: %.2lf\n",k);} if (r%7 ==0) {luas = 22/7*7*7; printf ("Luas Lingkaran : %.2lf\n",luas);} else {luas = 3.14*r*r; printf ("Luas Lingkaran : %.2lf\n",luas);} printf ("======================================\n"); printf ("\t Volume Kubus\n"); printf ("======================================\n"); printf ("Masukan rusuk : ");scanf("%d",&s); v = s*s*s; printf ("Volume Kubus : %d\n",v);

}  Dari scrip program diatas saya telah menginputkan beberapa nilai dai

luas permukaan balok,keliling dan luas lingkaran,serta volume kubus ,

Maka hasil akhir setelah saya menginputkan beberapa nilai diatas akan menghasilkan sebuah tampilan keluaran seperti pada gambar berikut di bawah ini :

Gambar 4.4 hasil dari penjumlahan

 Keterangan : Manfaat dari program di atas yaitu mahasiswa dapat membuat program dengan sekaligus 3 fungsi .

4.4.3 Percobaan 3

 Program menghitung kapasitansi : Input : banyaknya muatan (Q), Tegangan (V) Output : Kapasitansi Proses : Q dibagi V Berikut di bawah ini adalah scripnya :

#include<stdio.h> main() { double q,v,kp; printf ("**************************************\n"); printf ("\t Menghitung Kapasistansi\n"); printf ("**************************************\n"); printf ("Banyak Muatan : ");scanf("%lf",&q); printf ("Tegangan : ");scanf("%lf",&v); kp = q/v; printf ("Kapasistansi : %.2lf",kp);

} di sini saya menyontohkan memasukan nilai input banyak muatan : 7 , Tegangan : 4 , maka akan menghasilkan Kapasitansi 1.75 Maka hasil dari scrip di atas akan menghasilkan sebuah output seperti gambar di bawah :

Gambar 4.5 hasil kapasitas

 Keterangan : Manfaat dari program di atas yaitu mahasiswa mampu

menghitung hasil kapasitansi.

BAB V PENGAMBILAN KEPUTUSAN DENGAN IF ELSE

5.1 Pokok Bahasan

 Operator relasi.  Operator logika.  Prioritas operator logika dan relasi  Pernyataan If

5.2 Tujuan

 Mahasiswa mampu mengenal dan memahami operator untuk control bahasa C.  Mahasiswa mampu mengerti dan memahami struktur control if else.  Mahasiswa dapat menggunakan struktur control if else dalam program.

5.3 Dasar Teori  Operator Relasi

Operator relasi biasa digunakan untuk membandingkan 2 buah nilai. Hasil pembandingan berupa keadaan benar atau salah. Adapun operator relasi dalam Bahasa C, sebagai berikut : >

Lebih dari

Lebih dari atau sama dengan

Kurang dari

Kurang dari atau sama dengan

Sama dengan

Tidak sama dengan

 Operator Logika Operator logika biasa digunakan untuk menghubungkan ungkapan relasi.

Adapun operator logika dalam Bahasa C, sebagai berikut : &&

dan (AND)

atau (OR)

tidak (NOT)

 Prioritas operator Logika daan relasi Tertinggi

= = != && Terend

ah ||

 Pernyataan If

Pernyatan if mempunyai bentuk penggunaan yang bermacam-macam sesuai dengan kasus pengambilan keputusan yang dikerjakan .

 Contoh Program Program 1 #include <stdio.h> main() { double beli, diskon, bayar; print f(“jumlah pembelian = Rp. “);scanf(“%lf”, &beli); if (beli >= 100000) diskon = 10000; else

diskon = 0; bayar = beli – diskon; print f(“jumlah pembelian = Rp. %.2lf ”, beli); print f(“besar diskon = Rp. %.2lf ”, beli); printf(“total pembayaran = Rp. % .2lf”, bayar);

- Program 2 #include <stdio.h> main() {

int data; printf(“Masukkan Nilai data = “); scanf(“%d”,&data);

if (data == 2) if (data == 2)

5.4 Hasil Praktikum

5.4.1 Percobaan 1

 Membuat program algoritma di bawah ini :

- Masukan : NAMA, NPM, Nilai UTS, Nilai UAS , Nilai Tugas - Proses : Nilai Akhir = 45% x Nilai UAS + 30% Nilai Tugas + 25%

Nilai UTS

Nilai Akhir

Berikut adalah scripnya : #include <stdio.h>

#include <string.h> main () { double nu,na,nas,nt,npm; char nm[25]; printf ("=========================================\n"); printf ("NAMA\t : ");gets(nm); printf ("NPM \t : ");scanf("%lf",&npm); printf ("Nilai UTS : ");scanf("%lf",&nu); printf ("Nilai UAS : ");scanf("%lf",&nas); printf ("Nilai Tugas: ");scanf("%lf",&nt); #include <string.h> main () { double nu,na,nas,nt,npm; char nm[25]; printf ("=========================================\n"); printf ("NAMA\t : ");gets(nm); printf ("NPM \t : ");scanf("%lf",&npm); printf ("Nilai UTS : ");scanf("%lf",&nu); printf ("Nilai UAS : ");scanf("%lf",&nas); printf ("Nilai Tugas: ");scanf("%lf",&nt);

Gambar 5.1 nilai akhir

 Keterangan : Manfaat dari program di atas yaitu mahasiswa dapat

mengetahui hasil dari nilai akhir atas UTS, UAS, TUGAS .

5.4.2 Percobaan 2

 Membuat program menentukan bilangan prima yang di inputkan dari keyboard ! Berikut scripnya di bawah ini : #include <stdio.h>

main() {

int x; int x;

if(x%i==0) prima=0;

} if (prima) {

printf("%d Adalah bilangan prima",x); } else {

printf("%d Bukan bilangan prima",x); } } Dari scrip program di atas maka akan di dapat output seperti terlihat pada

gambar di bawah ini :

Gambar 5.2 output

Dari keterangan output program di atas , maka kita akan diarahkan untuk memasukan sebuah bilangan angka untuk di cek , di sini misalnya saya akan menginputkan angka 11 , apakah angka 11 termasuk bilangan prima atau kah tidak , berikut di bawah ini jawabanya :

Gambar 5.3 11 adalah bilangan prima

 Keterangan : Manfaat dari program di atas yaitu mahasiswa mampu

untuk membuat sebuah program untuk mengecek bilangan prima atau tidak .

5.4.3 Percobaan 3

 Program menentukan nilai terbesar dan terkecil Berikut di bawah ini scripnya :

#include <stdio.h> main() { int a,b,c; printf("================================\n"); printf ("Masukan angka kesatu : "); scanf ("%d", & a); printf ("Masukan angka kedua : "); scanf ("%d", & b); printf("Masukan angka ketiga : "); scanf ("%d", & c); printf("================================\n"); if ((a>b)&&(b>c)) printf("Angka kesatu terbesar\nAngka ketiga terkecil"); else if ((a>c)&&(c>b)) printf("Angka kesatu terbesar\nAngka kedua terkecil"); else if ((b>a)&&(a>c)) #include <stdio.h> main() { int a,b,c; printf("================================\n"); printf ("Masukan angka kesatu : "); scanf ("%d", & a); printf ("Masukan angka kedua : "); scanf ("%d", & b); printf("Masukan angka ketiga : "); scanf ("%d", & c); printf("================================\n"); if ((a>b)&&(b>c)) printf("Angka kesatu terbesar\nAngka ketiga terkecil"); else if ((a>c)&&(c>b)) printf("Angka kesatu terbesar\nAngka kedua terkecil"); else if ((b>a)&&(a>c))

} Maka dari output program di atas saya akan menetukan sebuah nilai yang kesatu 56, kedua 98, ketiga 76 , selanjutnya saya akan mengeksekusi sebuah program diatas maka akan menghasilkan tampilan seperti pada gambar di bawah ini :

Gambar 5.4 nilai terbesar dan terkecil

 Keterangan : Manfaat dari program di atas yaitu mahasiswa dapat

menentukan nilai terbesar dan terkecil dengan menggunakan program sederhana seperti di atas.

BAB VI PENGAMBILAN KEPUTUSAN DENGAN SWITCH

6.1 Pokok Bahasan

 Pernyataan Switch

6.2 Tujuan

 Mahasiswa mampu dan mengenal struktur control switch dalam bahasa C.  Mahasiswa dapat menggunakan struktur control switch dalam sebuah

program.

6.3 Dasar Teori  Pernyataan swicth

Pernyataan switch merupakan pernyataan yang dirancang khusus untuk menangani pengambilan keputusan yang melibatakan sejumlah alternatif. Bentuk umum pernyataan switch. switch (ekspresi)

{ case konst anta- 1: pern yataa n-1 brea k;

case konst anta- 2: pern yataa n-2 case konst anta- 2: pern yataa n-2

case kons tant a-x: pern yata an-x brea k;

default:

pernyataan-n

 Contoh Program

#include <stdio.h> #include <conio.h> main() {

char operatore; double operand1, operand2; clrscr(); puts("Program kalkulator sederhana.....\n"); puts("operator yang dapat digunakan adalah : "); puts("* => perkalian\n"); puts("/ => pembagian\n"); puts("+ => penjumlahan\n") ; puts("- => pengurangan\n")

; puts("Contoh Menghitung => 5 / 2 Lalu tekan ENTER"); printf("\nSilahkan Menghitung Angka : "); scanf("%lf %c %lf", &operand1, &operatore, &operand2); switch (operatore) {

case '*' : printf("Hasil = %.10lg", operand1 * operand2); break; case '/' : printf("Hasil = %.10lg", operand1 / operand2); break; case '+' : printf("Hasil = %.10lg", operand1 + operand2); break; case '-' : printf("Hasil = %.10lg", operand1 - operand2); break; default : puts("\nPerintah Anda Salah Silahkan Ulangi");

Hasil output dari program di atas :

Gambar 6.1 contoh program kalkulator

6.4 Hasil Praktikum

6.4.1 Percobaan 1

 Membuat program Menu pilihan proses “RANGKAIAN SERI” Berikut di bawah ini scripnya : #include<stdio.h>

#include<conio.h> #include<stdlib.h> main() { int r1,r2,r3,pilihan,total,max,min,menu; char sembarang; menu: clrscr(); gotoxy(35,6);printf("Menu Pilihan Proses"); gotoxy(20,7);printf("=============================== ================="); gotoxy(20,8);printf("[1] Menentukan R Total Rangkaian Seri"); gotoxy(20,9);printf("[2] Menentukan nilai R Terbesar dan Terkecil"); gotoxy(20,10);printf("[3] Selesai"); gotoxy(20,11);printf("============================== =================="); gotoxy(20,12);printf("Masukkan Pilihan Anda [1/2/3]="); scanf("%d",&pilihan); switch(pilihan) { case 1: clrscr(); printf("Menentukan R pada rangkaian seri \n"); printf("masukkan R1 :"); scanf("%d",&r1); printf("masukkan R2 :"); scanf("%d",&r2);

printf("masukkan R3 :"); scanf("%d",&r3); total=r1+r2+r3; printf("Rtotal =%d \n",total); printf("Tekan Sembarang Untuk Ke menu :"); scanf("%s",&sembarang); goto menu; case 2: clrscr(); printf("masukkan R1 :"); scanf("%d",&r1); printf("masukkan R2 :"); scanf("%d",&r2); printf("masukkan R3 :"); scanf("%d",&r3); if((r1>=r2)&&(r1>=r3)) max=r1; if((r2>=r1)&&(r2>=r3)) max=r2; if((r3>=r1)&&(r3>=r2)) max=r3; printf("R terbesar adalah=%d \n",max); if((r1<=r2)&&(r1<=r3)) min=r1; if((r2<=r1)&&(r2<=r3)) min=r2; if((r3<=r2)&&(r3<=r1)) min=r3; printf("R terkecil adalah=%d \n",min); printf("Tekan Sembarang Untuk Ke menu :"); scanf("%s",&sembarang); goto menu; case 3 : _exit(0); break; default : printf("salah input"); break;

} } Dari scrip program di atas , maka akan dihasilkan sebuah output seperti

pada gambar di bawah ini :

Gambar 6.2 pilihan proses

Dan selanjutnya saya akan mencontohkan memilih menu pilihan di atas , missal saya akan memilih pilihan nomor 1 , langkahnya kita tinggal memasukan angka 1 lalu tekan enter dan setelah itu saya akan memasukan sebuah angka R1 : 4, R2 : 6, R3 : 3, hasil yang di dapat pada Rtotal=13 . berikut outputnya :

Gambar 6.3 hasil dari Rangkaian seri

 Keterangan : Manfaat dari program di atas yaitu mahasiswa mampu untuk mencari hasil dari sebuah rangkaian seri.

6.4.2 Percobaan 2

 Membuat program Menu pilihan proses “RANGKAIAN PARALEL” Berikut di bawah ini scripnya : #include<stdio.h>

#include<stdlib.h> #include<conio.h> main(){

float c,d,s,x,y,a,z,r_tot; char pilih; menu: clrscr(); puts("\t\tMenu Pilihan Proses"); puts("===========================================

==="); puts("[1] Masukan R Total Rangkaian Paralel\n"); puts("[2] Menentukan nilai R Terbesar dan

Terkecil\n"); puts("[3] selesai\n"); puts("===========================================

printf("Pilihan Anda [ 1 / 2 / 3 ] : "); scanf("%s",&pilih); clrscr(); switch(pilih){

case '1':

printf("Masukkan Nilai R1 : "); scanf("%f",&x); printf("Masukkan Nilai R2 : "); scanf("%f",&y); printf("Masukkan Nilai R3 : "); scanf("%f",&a); r_tot=(1/x)+(1/y)+(1/a); printf("R total Dari Rangkaian Paralel

adalah : %.2f\n",r_tot);

break; break;

puts("Menentukan nilai R Terbesar dan Terkecil");

z = max(x, y); s = max(z, a);

c = min(x, y); d = min(c, a);

printf("Nilai Terbesar adalah : %.0f\n",s); printf("Nilai Terkecil adalah : %.0f\n",d);

break; case '3':

goto keluar; break; default:

puts("Maaf Pilihan Yang Anda Masukkan Salah"); printf("Kembali Ke menu sebelumnya [y/t] : ");

scanf("%s",&pilih); if(pilih=='y'||pilih=='Y')

goto menu; else goto keluar; break;

} printf("Kembali Ke menu sebelumnya [y/t] : "); scanf("%s",&pilih); if(pilih=='y'||pilih=='Y')

goto menu;

else

goto keluar; keluar: clrscr(); printf("Terima Kasih");

} Dari scrip program di atas maka akan dihasilkan tampilan tepatnya seperti pada gambar di bawah ini :

Gambar 6.4 pilihan parallel

Selanjutnya saya akan mencontohkon memilih menu nomer 1 , misalnya saya akan menginputkan sebuah nilai R1: 3, R2: 5, R3: 6 , maka nilai yang dihasilkan dari totalR “0.70” , untuk membuktikan berikut dibawah ini outputnya :

Gambar 6.5 hasil totalR paralel

 Keterangan : Manfaat dari program di atas yaitu mahasiswa mampu menghitung total nilai parallel.

BAB VII PERULANGAN

7.1 Pokok Bahasan

 Do – while  While  Pernyataan for

7.2 Tujuan

 Mahasiswa mampu mengenal dan mengerti proses pengulangan do while

dan for.  Mahasiswa dapat menggunakan perulangan do – while dan for pada

program.

7.3. Dasar Teori

 Do-while Tahapan proses : mula-mula pernyataan dijalankan dulu, kemudian kondisi di uji, jika kondisi bernilai benar , maka pernyataan dijalankan lagi dan jika nilai salah maka pernyataan tidak dijalankan lagi (dihentikan).

 While

Tahapan proses : dari awal langsung dilakukan tes kondisi jika kondisi bernilai benar maka menjalankan pernyataan dan jika kondisi bernilai salah maka akan keluar dari lop. Jadi pada perulangan menggunakan while memungkinkan sebuah pernyataan tidak dijalankan sama sekali. Yang membedakan antara perulangan menggunakan do-while dan

while , biasanya adalah pada pernyataan while harus diberikan terlebih dahulu inisialisasi terhadap variabel yang akan dijadikan sebagai kondisi dari while .

 Pernyataan for Tahapan proses: pernyataan akan dijalankan mulai dari nilai awal (ungkapan1) dan keluar dari lop jika sudah dengan nilai akhir (ungkapan2). Sintaks : For (ungkapan1,ungkapan2,ungkapan3) Pernyataan

- Ungkapan1 digunakan untuk memberikan inisialisasi terhadap variabel

pengendali loop. - Ungkapan2 digunakan sebagai kondisi keluar loop. - Ungkapan3 digunakan sebagai pengatur kenaikan nilai ariabel pengendali

loop.  Contoh program Program 1 #include <stdio.h> #include <conio.h>

main() { int hitung1,hitung2; hitung1 = 0; while (hitung1 < 6) { printf("Nilai Hitung %d\n",hitung1); hitung1 = hitung1 + 1; } hitung2= 6; while (hitung2 < 15) { printf("Nilai Hitung %d\n",hitung2); hitung2 = hitung2 + 1; } gets(0); return(0); } Maka dari program di atas akan dihasilkan output seperti dibawah ini :

Gambar 7.1 contoh 1

- Program 2 #include <stdio.h> main() { int baris, kolom, hasil_tambah; for (baris = 1; baris <= 5; baris++) { for (kolom = 1; kolom <= 5; kolom++) { hasil_tambah = baris + kolom; printf (" %2d", hasil_tambah); } printf("\n"); } } Dari contoh scrip program di atas makan akan dihasilkan tampilan berikut

di bawah ini :

Gambar 7.2 contoh 2

7.4 Hasil Praktikum

7.4.1 Percobaan 1

 Membuat sebuah program seperti output di bawah ini :

22 333 4444 55555 Berikut di bawah ini scripnya : #include <stdio.h>

main() { int a,b; for(a=1;a<=5;a++){ for(b=1;b<=a;b++){ printf("%d",a);} printf("\n");} } Maka dari scrip program di atas akan menghasilkan sebuah output si bawah ini :

Gambar 7.3 hasil percobaan 1

 Keterangan : Manfaat dari program di atas yaitu mahasiswa dapat menyusun sebuah angka dalam bentuk segitiga siku – siku.

7.4.2 Percobaan 2

 Membuat program seperti output di bawah ini :

1 232 34543 4567654 567898765 Keterangan : scrip di bawah ini sengaja saya modifikasi dalam bentuk pencarian segitiga pyramid , Berikut di bawah ini scripnya : #include <stdio.h>

#include <conio.h>

int main() {

int a,b,c,tinggi; clrscr();

printf("Masukkan Tinggi Segitiga : "); scanf("%d",&tinggi); printf("\n\n"); clrscr(); printf("Berikut Tampilan Segitiganya\n"); for(a=1; a<=tinggi; a++) {

for(c=tinggi; c>=a; c--) printf(" "); for(c=a;c<2*a;c++) {

b=c%10; printf("%d",b); } for(c=2*(a-1);c>=a; c--) {

b= c%10; b= c%10;

printf("\n"); } getch();

} Dari scrip program di atas maka telah dihasilkan sebuah piramida segitiga , berikut di bawah ini outputnya :

Gambar 7.4 percobaan 2

 Keterangan : Manfaat dari program di atas yaitu mahasiswa mampu menyusun angka dalam bentuk segitiga pyramid atau segitiga sama kaki.

7.4.3 Percobaan 3

 Membuat program mencari FPB dari dua bilangan yang diinputkan dari

keyboard. Berikut di bawah ini scripnya : #include <stdio.h> #include <conio.h>

#include <math.h> int fpb(int x,int y) {

int hasil,sisabagi; if(y<=x && x%y==0) { return(y); } else if(x<y)

{ hasil=fpb(y,x); return(hasil); } else sisabagi=x%y; hasil=fpb(y,sisabagi); return(hasil); }

main() { int hasil,m,n; printf("Masukkan bilangan pertama :"); scanf("%d",&m); printf("Masukkan bilangan kedua :"); scanf("%d",&n); printf("=============================="); hasil=fpb(m,n); printf("\nFPB dari kedua angka tersebut adalah %d",hasil); getch (); } Maka dari scrip program di atas akan menampilkan sebuah program dan di

sini saya akan menginputkan 2 bilangan , yaitu bilangan pertama : 2 dan bilangan kedua: 4 , maka hasil FPB dari kedua bilangan di atas : “2” … berikut outputnya :

Gambar 7.5 percobaan 3

 Keterangan : Manfaat dari program di atas yaitu mahasiswa mampu

menghitung hasil Faktor Persekutuan Terbesar (FPB) dari nilai yang telah diinputkan di atas.

BAB VIII FUNGSI

8.1 Pokok Bahasan

 Tujuan Fungsi  Cara Melewati Parameter ke dalam Fungsi

o Pemanggilan dengan nilai (call by value) o Pemanggilan dengan referensi (call by refrense)

8.2 Tujuan

 Mahasiswa mampu mengenal dan memahami fungsi parametik dan non

parametik .  Mahasiswa dapat menggunakan fungsi dalam pemrograman.

8.3 Dasar Teori  Tujuan fungsi

Fungsi adalah kumpulan baris perintah (blok program) yang di buat untuk melaksanakan tugus tertentu, yang tujuanya adalah :

1. Program menjadi lebih terstruktur, sehingga mudah untuk dipahami, mencari kesalahan kode dan dikembangkan lebih lanjut.

2. Untuk mengurangi penulisan kebali kode yang telah dibuat. Fungsi memerlukan masukan yang dinamakan argumen atau parameter, yang akan diolah oleh fungsi. Hasil akhir dari sebuah fungsi adalah sebuah nilai berupa nilai keluaran fungsi.

Tipe_fungsi nama_fungsi(parameter) tipe_fungsi = tipe keluaran fungsi Deklarasi parameter Nama_fungsi= nama fungsi { Parameter= daftar parameter Bagian fungsi Deklarasi parameter= deklarasi variabel }

bagian fungsi= tubuh/isi fungsi

 Contoh Program

#include <stdio.h> main( )

{ int a, b;

x= isika x= isika

f(“ x =

%d\ n” ,x); y= isika n_b( ); print

f(“ y = %d\ n”

,y); }

isikan_a( ) {

return (0); }

isikan_b( ) { return (0); }

 Cara Melewatkan Parameter ke dalam Fungsi

Ada dua cara yang dapat dilakukan untuk melewatkan parameter, yaitu

1. Pemanggilan dengan nilai (call by value) Nilai dari parameter aktual akan disalin dalam parameter formal, sehingga nilai pada parameter aktual tidak bisa berubah sekalipun nilai parameter formalnya mengalami perubahan.

2. Pemanggilan dengan referensi (call by reference) Dengan melewatkan alamat dari suatu variabel kedalam fungsi. Dengan cara ini isi dari sebuah variabel dapat diubah diluar fungsi dengan proses perubahan didalam fungsi.

8.4 Hasil Praktikum

8.4.1 Percobaan 1

 Membuat program dengan menggunakan minimal 2 fungsi ! Di sini saya akan menghitung Luas Segitiga serta Sisi miringnya , berikut di bawah ini scripnya : #include <stdio.h>

#include <math.h> void luas_segitiga() { double a,t,L; printf("Masukan alas : "); scanf("%1f",& a); printf("Masukan Tinggi : "); scanf("%1f", & t); L=0,5*a*t ; printf("luas segitiga:%.21f",L); } void sisi_miring() { int a,b; double c; printf("Masukan a : "); scanf("%d",& a); printf("masukan b : "); scanf("%d",& b); c=a*a+b*b; printf("Sisi miring segitiga: %.21f",sqrt(c)); } main() { int pil; pil: printf("=====================================\n"); printf("Menghitung sisi miring dan luas segitiga\n"); printf("=====================================\n"); #include <math.h> void luas_segitiga() { double a,t,L; printf("Masukan alas : "); scanf("%1f",& a); printf("Masukan Tinggi : "); scanf("%1f", & t); L=0,5*a*t ; printf("luas segitiga:%.21f",L); } void sisi_miring() { int a,b; double c; printf("Masukan a : "); scanf("%d",& a); printf("masukan b : "); scanf("%d",& b); c=a*a+b*b; printf("Sisi miring segitiga: %.21f",sqrt(c)); } main() { int pil; pil: printf("=====================================\n"); printf("Menghitung sisi miring dan luas segitiga\n"); printf("=====================================\n");

Gambar 8.1 menu pilihan

Selanjutnya saya akan memilih salah satu dari pilihan menu di atas , misal saya akan memilih no. 2 , di mana saya akan menginputkan sebuah angka yaitu a: 4, b:5 , maka hasil yang di dapat =6 , untuk membuktikanya langsung lihat tampilan di bawah ini :

Gambar 8.2 hasil sisi miring segitiga

 Keterangan : Manfaat dari program di atas yaitu mahasiswa mampu

membuat program sekaligus dengan 2 fungsi yang dimaksudkan disini Mencari Luas dan Sisi Miring segitiga.

8.4.2 Percobaan 2

 Membuat program mencari permutasi ! Berikut di bawah ini scripnya : #include<stdio.h>

void permutasi() { int n,r,x,y,i,j,p; printf("===============================\n"); printf("\tMencari Permutasi\n"); printf("===============================\n"); printf("Masukan Nilai n: "); scanf("%d",& n); printf("Masukan nilai r: "); scanf("%d",& r); if(n>r)

{ x=1; y=1; for(i=1;i<=n;i++); {x=x*i;} for(j=1;j<=(n-r);j++); {y=y*j;} p=x/y; printf("permutasi p(%d,%d);%d",n,r,p); } else printf("permutasi p(%d,%d);tidak valid",n,r); } main() {permutasi();}

Dari scrip program di atas maka akan dihasilkan tampilan berikut di bawah ini :

Gambar 8.3 mencari permutasi

Selanjutnya saya akan menginputkan nilai n dan r , berikut nilai n saya misalkan 8 dan nilai r 6 maka akan di dapat hasil permutasinya 3 , berikut di bawah ini untuk lebih jelasnya :

Gambar 8.4 hasil permutasi

 Keterangan : Manfaat dari program di atas yaitu mahasiswa mampu mencari nilai permutasi dari sebuah bilangan dengan menggunakan program fungsi bahasa C++.

BAB IX ARRAY DAN STRING

9.1 Pokok Bahasan

 Array berdimensi Satu  Array berdimensi dua  Variabel string  Input output data string  Menampilkan isi variabel string

9.2 Tujuan

 Mahasiswa mampu mengenal dan memahami fungsi parametik dan nonparametik.

 Mahasiswa dapat menggunakan fungsi array dalam pemrograman.  Mahasiswa mampu mengenal dan memahami konsep string.  Mahasiswa dapat menggunakan I/O pada string.

9.3 Dasar Teori  Array berdimensi satu

Pendeklarasian dengan bentuk umum berupa :

Tipe nama_var[ukuran]

Contoh deklarasi : float nilai[5];

Bentuk pengaksesan

nama_var[indeks]

 Array berdimensi dua

Pendeklarasian dengan bentuk umum berupa :

Tipe nama_var[ukuran1][ukuran2]

Contoh deklarasi : float data_nilai[4][3] Bentuk pengaksesan

nama_var[indeks pertama] [indeks kedua]  String merupakan bentuk data yang biasa dipakai dalam bahasa pemrograman untuk keperluan menampung dan memanipulasi data teks, misalnya untuk menampung (menyimpan) suatu kalimat. Pada bahasa C, string bukanlah merupakan tipe data tersendiri, melainkan hanyalah kumpulan dari nilai-nilai karakter yang berurutan dalam bentuk array berdimensi satu.

1. Variabel string Variabel string adalah variabel yang dipakai utuk menyimpan nilai string.

Char nama_var [size] Misalnya :

char name[15]; merupakan instruksi untuk mendeklarasikan variabel string dengan panjang maksimal 15 karakter (termasuk karakter NULL). Deklarasi tersebut sebenarnya tidak lain merupakan deklarasi array bertipe char.

 Input Output Data String Pemasukan data string ke dalam suatu variabel biasa dilakukan dengan fungsi gets() atau scanf(). Bentuk umum pemakaiannya adalah sebagai

berikut : #include <stdio.h> gets(nama_array);

atau

#include <stdio.h> scanf(“%s”, nama_array);

 Menampilkan isi variable string Untuk menampilkan isi variabel string, fungsi yang digunakan

adalah puts() atau printf(). Bentuk umum pemakaiannya adalah sebagai berikut :

#include <stdio.h> puts(var_string);

atau printf("%s",var_string);  Fungsi-fungsi Mengenai string

 Fungsi strcpy() untuk menyalin nilai string  Fungsi strlen() untuk mengetahui panjang nilai string  Fungsi strcat() untuk menggabung nilai string  Fungsi strcmp() untuk membandingkan dua nilai string  Fungsi strchr() untuk mencari nilai karakter dalam string

Contoh Program 1: #include <stdio.h> main() {

char jur[25]; printf(“Masukkan Jurusan yang dipilih : “); gets(jur);

printf(“\n Jurusan yang anda pilih %s”,jur); } Contoh program 2:

#include <stdio.h> main() {

char nama[50]; printf(“Masukkan nama anda : “); gets(jur);

printf(“\n Nama anda : %s”,nama);

= %d karakter\n,strlen(nama)); }

printf(“Jumlah

karakter

9.4 Hasil Praktikum

9.4.1 Percobaan 1

 Membuat program penjumlahan dan pengurangan matrik ordo 3x3 !

Berikut di bawah ini scripnya : Ket : Sengaja scrip di bawah ini saya beri komentar hal ini bertujuan untuk memperjelas penggunakan dari setiap fungsi. #include <iostream.h>

main() {

// Mendefinisikan tipe data yang berbentuk array dua dimensi typedef int MATRIK33 [3][3][3];

// Mendeklarasikan matriks1 sebagai array dua dimensi MATRIK33 matriks1,matriks2,matriks3,jumlahmatriks,hasilmatriks ;

int i, j, k; // Mendeklarasikan variabel // untuk indeks pengulangan

// Mengisikan nilai ke dalam elemen-elemen matriks1 cout<<"inputan matriks 1"<<endl; for (i=0; i<2; i++) { for (j=0; j<2; j++) { for (k=0; k<2; k++) { cout<<"matriks1["<<i<<"]["<<j<<"]["<<k<<"] = "; cin>>matriks1[i][j][k]; } } } // Mengisikan nilai ke dalam elemen-elemen matriks1 cout<<"inputan matriks 1"<<endl; for (i=0; i<2; i++) { for (j=0; j<2; j++) { for (k=0; k<2; k++) { cout<<"matriks1["<<i<<"]["<<j<<"]["<<k<<"] = "; cin>>matriks1[i][j][k]; } } }

// Mengisikan nilai ke dalam elemen-elemen matriks2 cout<<"inputen matriks 2"<<endl; for (i=0; i<2; i++) { for (j=0; j<2; j++) { for (k=0;k<2; k++) { cout<<"matriks2["<<i<<"]["<<j<<"]["<<k<<"] = "; cin>>matriks2[i][j][k]; } } } cout<<endl;

// Melakukan penjumlahan matriks1,matriks2, dan matriks 3 // dan menyimpan hasilnya ke dalam jumlahmatriks for (i=0; i<2; i++) { for (j=0; j<2; j++) { for (k=0;k<2; k++) { jumlahmatriks[i][j][k] = matriks1[i][j][k] + matriks2[i][j][k]; } } }

// Menampilkan hasil penjumlahan cout<<"hasil penjumlahan matriks"<<endl; for (i=0; i<2; i++) { for (j=0; j<2; j++) { for (k=0;k<2; k++) { cout<<"matriks["<<i<<"]["<<j<<"]["<<k<<"] = "<<jumlahmatriks[i][j][k]<<endl; } }

} cout <<endl; // Melakukan pengurangan matriks1,matriks2, dan matriks 3 // dan menyimpan hasilnya ke dalam jumlahmatriks for (i=0; i<2; i++) { for (j=0; j<2; j++) { for (k=0;k<2; k++) { hasilmatriks[i][j][k] = matriks1[i][j][k] - matriks2[i][j][k]; } } }

// Menampilkan hasil penjumlahan cout<<"hasil pengurangan matriks"<<endl; for (i=0; i<2; i++) { for (j=0; j<2; j++) { for (k=0;k<2; k++) { cout<<"matriks["<<i<<"]["<<j<<"]["<<k<<"] = "<<hasilmatriks[i][j][k]<<endl; } } }

return 0; }

Dari hasil scrip di atas maka akan di dapat sebuah outputan berikut gambar di bawah ini :

Gambar 9.1 inputan matrik

Dan langkah selanjutnya saya akan menginputkan beberapa bilangan pada program di atas , maka hasil yang di dapat akan seperti pada gambar di bawah ini :

Gambar 9.2 hasil percobaan 1

 Keterangan : Manfaat dari program di atas yaitu Mahasiswa mampu menghitung nilai matrik pengurangan dan penjumlahan dengan

menggunakan fungsi program array.

9.4.2 Percobaan 2

 Membuat program menghitung nilai karakter. Berikut di bawah ini scripnya : #include<stdio.h>

#include<conio.h> main() { char kar,kalimat; int jumkar=1, jumspasi=0; printf("\tMasukkan Kalimat : "); scanf("%c",&kalimat); while((kar = getchar()) != '\n'){ // jumlah karakter yang diinput tambah 1 hingga menemukan karakter enter jumkar++; // jika terdapat karakter spasi,maka variabel akan dihitung 1 if (kar == ' ') jumspasi++; }

printf("\n\tJumlah karakter\t= %d", jumkar); printf("\n\tJumlah spasi\t= %d\n", jumspasi); } Dari hasil scrip di atas maka akan didapatkan sebuah program berikut di

bawah ini :

Gambar 9.3 masukan kalimat

Dan selanjutnya saya akan memasukan kalimat di mana kalimat yang akan saya masukan nanti akn di hitung jumlah karakter serta spasinya , berikut di bawah ini output programnya :

Gambar 9.4 hasil percobaan 2

 Keterangan : Manfaat dari program di atas yaitu Mahasiswa mampu

menghitung jumlah dari nilai kaarakter dan spasi yang telaah diiunputkan pada program.

9.4.3 Percobaan 3

 Menganalisa dan memperbaiki kesalahan dari sebuah program . Berikut di bawah ini scripnya yang salah : #include<stdio.h>

void main(){ struct date{ int tgl; int bulan; int tahun;}

struct person{ char nama[30]; struct date lahir;}

struct person siswa[2]; int i; printf("Masukkan Data siswa : \n"); for (i=0;i<2;i+) {

printf("Masukkan Nama :");

fgets(siswa[i].nama, sizeof siswa[i]. nama, stdin);

Printf("Masukkan Tanngal lahir : "); scanf("%d", &siswa[i].lahir.tgl);

Printf("Masukkan bulan lahir : "); scanf("%d", &siswa[i].lahir.bulan); printf("Masukkan tahun lahir

: "); scanf("%d", &siswa[i].lahir.tahun) fflush(stdin); printf("\n"); }; for(i=0;i<2;i++) { printf(" data ke : %d \n ",i+1);

printf("Nama Siswa : %s",siswa[i].nama); printf("Tanggal lahir : %d-%d-%d ",siswa[i].lahir.tgl,siswa[i].lahir.bulan,siswa[i ].lahir.tahun)

printf("\n\n") ; }

Berikut di bawah ini pembenaranya : #include<stdio.h>

void main(){ struct date{ int tgl; int bulan; int tahun;};

struct person{ char nama[30]; struct date lahir;}; struct person siswa[2]; int i; printf("\t\tMasukkan Data siswa : \n"); printf("\t==================================\n"); for (i=0;i<2;i++) {

printf("Masukkan Nama\t\t : "); fgets(siswa[i].nama, sizeof siswa[i].nama, stdin); printf("Masukkan Tanggal lahir\t : "); scanf("%d", &siswa[i].lahir.tgl); printf("Masukkan bulan lahir\t : "); scanf("%d", &siswa[i].lahir.bulan); printf("Masukkan tahun lahir\t : "); scanf("%d", &siswa[i].lahir.tahun); fflush(stdin); printf("\n"); } for(i=0;i<2;i++) { printf("data ke : %d \n ",i+1); printf("Nama Siswa\t : %s",siswa[i].nama); printf("Tanggal lahir\t : %d-%d-%d

",siswa[i].lahir.tgl,siswa[i].lahir.bulan,siswa[i].lah ir.tahun);

printf("\n\n") ; } } Dari hasil pembenaran program di atas , maka akan di dapat sebuah output

program berikut seperti pada gambar di bawah ini :

Gambar 9.5 input data