Studi Kasus Latihan 10.1 (Struktur Data - Modul 10)

Source Code:
Hasil Running:

Studi Kasus Praktikum 10.2 (Struktur Data - Modul 10)

Source Code:
Hasil Running:

Studi Kasus Praktikum 10.1 (Struktur Data - Modul 10)

Source Code:

Hasil Running:

Studi Kasus Praktikum 9.2 (Struktur Data - Modul 9)

Source Code:

Hasil Running:

Studi Kasus Praktikum 9.1 (Struktur Data - Modul 9)

Source Code:
Hasil Running:

Pilih i dan input 2 field (22)(19).

Lihat hasil input dengan pilih v.
Pilih d hapus field (22) dan lihat queue yang tersisa.

Pilih e dan muncul option untuk selesai.

Studi Kasus Praktikum 3.3 (Struktur Data - Modul 3)

Bilangan fibonacci adalah bilangan yang melakukan penambahan terhadap dirinya sendiri dari nilai penjumlahan dari bilangan pada dirinya yang sebelumnya seperti teorinya berikut ini :
f0 = 0, f1 = 1, fn>2 = fn-1 + fn-2
f2 = f0 + f1 = 0 + 1 = 1
f3 = f1 + f2 = 1 + 1 = 2
f4 = f2 + f3 = 1 = 2 = 3
f5 = f3 + f4 = 2 + 3 = 5

Source Code:

Hasil Running:

Penjelasan:
Program ini digunakan untuk melakukan penghitungan bilangan fibonaci yaitu penambahan terhadap bilangan itu sendiri dari hasil penjumlahan pada bilangan tersebut dengan cara melakukan penginputan nilai kedalam variabel bil lalu dilakukan perulangan sebanyak nilai bil yang dimasukan kedalam bilangan fibo.
Didalam fungsi fibo terdapat pengecekan nilai fibo dimana nilai i==0 maka nilai yang dikembalikan adalah 0 dan apabila nilai i==1 maka dibalikan 1 nilai i tetap apabila nilai i!=0||!=1 maka fungsi rekrusif akan dilakukan yaitu pengembalian nilai fibo (i-1)+ fibo (i-2). fungsi ini dilakukan sesuai nilai bil yang diinputkan.

Studi Kasus Latihan 8.1 (Struktur Data - Modul 8)

Konsep stack di logikakan seperti sebuah tumpukan barang yang tersusun ke atas dengan ketinggian tumpukan yang telah ditentukan. Untuk mengilustrasikannya program dibawah ini.

Source Code:

Hasil Running:

Apabila lebih dari 20:

Penjelasan:
Program ini digunakan untuk menumpukan sebuah nilai yang diinputkan jumlah nilai yang diinput disesuaikan dengan nilai awal yang diberikan. Akan tetapi hanya sampai 20 angka karena telah disesuaikan dengan define.
Program ini menggunakan struct untuk menyimpan data. Didalamnya terdapat 2 elemen / field int atas digunakan untuk menyimpan data paling atas atau baru masuk, dan nilai[N] akan menyimpan tumpukan nilai.
Di dalam program ini menggunakan variabel nilai, i, dan jumlah. Variabel nilai diluar struk ini bertujuan memasukan nilai kembali ke dalam struktur, variabel i digunakan untuk perulangan for, dan variabel jml digunakan untuk menentukan jumlah nilai yang akan dimasukan.

Studi Kasus Praktikum 8.2 (Struktur Data - Modul 8)

Source Code:
Penjelasan & Hasil Running:

Program ini menggunakan konsep stack yaitu dimana suatu kumpulan data yang seolah-olah diletakan diatas data yang lain. Jika kita akan menghapus atau mengambil data maka data yang akan dihapus atau diambil pada bagian paling atas karena stack bersifat LIFO (Last In First Out). Program ini menggunakan struct untuk memudahkan dalam menyimpan dan mengelolah data. Dan di dalam program ini terdapat function untuk mengkelompokan setiap perintah, agar mudah di akses.

Didalam struct terdapat 4 buah variabel:
  1. char data[15][100] array untuk menyimpan data.
  2. char max[15] batasan max=15.
  3. variabel i untuk perulangan array dimensi ke 1.
  4. variabel j untuk perulangan array dimensi ke 2.
Pada function terdapat 4 function:
  1. void push() untuk mengisi data.
  2. void pop() untuk mengambil data paling atas.
  3. void view (int n) untuk melihat semua isi data.
  4. void clear() untuk menghapus semua isi data.
Pada fungsi main() didalam nya terdapat fungsi goto gunanya untuk melakukan pengulangan ke menu pilihan apabila kita selesai melakukan salah satu proses. Terdapat juga pemilihan if untuk memilih pilihan menu dengan menggunakan angka.

Cara kerja program ini. Pada inputan akan memasukan 3 nama yaitu Komala, Sari, dan Dina. Untuk memasukan data nama pilih angka 1 (push). Jika data sudah dimasukan maka akan kembali lagi ke menu awal menggunakan fungsi goto.


Untuk melihat data kita pilih angka 3(view). Kemudian akan langsung masuk ke parameter void view() setelah menampilkan data maka akan kembali lagi ke menu awal menggunakan fungsi goto.


Untuk mengambil data paling atas kita pilih angka 2(pop). Kemudian akan langsung masuk ke parameter void pop() setelah melakukan proses penghapusan data maka akan kembali ke menu awal menggunakan fungsi goto.


Jika ingin menghapus keseluruhan data pilih angka 4(clear). Kemudian akan langsung masuk ke parameter void clear() setelah melakukan proses pembersihan data maka akan kembali ke menu awal menggunakan fungsi goto.

Studi Kasus Praktikum 8.1 (Struktur Data - Modul 8)

Source Code:
Penjelasan & Hasil Running:

Program ini menggunakan konsep stack yaitu dimana suatu kumpulan data yang seolah-olah diletakan diatas data yang lain. Jika kita akan menghapus atau mengambil data maka data yang akan dihapus atau diambil pada bagian paling atas karena stack bersifat LIFO (Last In First Out). Program ini menggunakan struct untuk memudahkan dalam menyimpan dan mengelolah data. Dan di dalam program ini terdapat function untuk mengkelompokan setiap perintah, agar mudah di akses.

Pada awalnya dibuat sebuah struct ‘struct tumpukan’, kemudian struct tumpukan dijadikan menjadi sebuah tipe data dari variabel stackbaru. Dan beberapa prototype fungsi diantaranya :
·         void awal()

·         void input()

·         void hapus()

·         void tampil()

·         void kosong()
 
Masuk ke fungsi main(), deklarasikan variabel. Kemudian masuk ke perulangan do-while dengan kondisi Masukan pilihan == data. Pada perulangan ini akan ditampilkan beberapa menu pilihan yang dapat dipilih.
Jika input pilihan== ‘1’ maka program akan menjalankan seluruh pernyataan yang ada pada kondisi pertama,   //panggil fungsi input()
Pertama kali akan dicek apakah stack dalam keadaan penuh, jika true maka proses tidak bisa dilakukan. Jika bernilai salah maka stack baru, T akan diincrement kemudian data yang tadi diinputkan ditambahkan pada stack.

Jika input pilihan== ‘2’ maka program akan menjalankan seluruh pernyataan yang ada pada kondisi kedua,  hapus(data); //panggil fungsi hapus()


Jika input pilihan== ‘3’ maka program akan menjalankan seluruh pernyataan yang ada pada kondisi kedua,  tampil(data); //panggil fungsi tampil()

Jika input pilihan== ‘4’ maka program akan menjalankan seluruh pernyataan yang ada pada kondisi kedua,  bersih(data); //panggil fungsi bersih()

Jika input pilihan== ‘5’ maka perulangan akan selesai.

Studi Kasus Post Test 7.2 (Struktur Data - Modul 7)

Buatlah program yang dapat menentukan rata-rata kecepatan sebuah mobil dengan menggunakan variabel pointer.

Source Code:

Studi Kasus Post Test 7.1 (Struktur Data - Modul 7)

Ada lima buah bilangan dengan urutan yang tidak sesuai. Ke lima bilangan tersebut adalah bilangan bulat, buat program untuk mengurutkan ke lima bilangan tersebut menggunakan variabel pointer.

Source Code:

Studi Kasus Latihan 7.2 (Struktur Data - Modul 7)

Dengan memasukan nilai integer sebanyak N nilai, dan melalui variabel pointer. Bagaimana agar dapat mengetahui elemen tersebut akan menempati di lokasi memori berapa. Program berjalan secara dinamis sebanyak N buah nilai integer.

Source Code:

Hasil Running:

Penjelasan:
Pada program ini akan memasukan nilai kedalam elemen array, dan akan menampilkan isi elemen beserta dengan alamat memori penyimpanan data tersebut. Program ini bersifat dinamis karena jumlah nilai masukan sesuai keinginan user. Di program ini terdapat 4 buah variabel, yang pertama variabel i digunakan untuk perulangan, variabel kedua N digunakan untuk jumlah nilai yang akan dimasukan, variabel ketiga adalah variabel array, dan yang keempat *trnilai digunaan untuk menunjuk lokasi varibel. Akan dilakukan persamaan nilai agar dapat menunjukan lokasi memori satu persatu. Nilai akan dimasukan satu persatu ke dalam variabel array nilai[i] dengan menggunakan for sebanyak N. Kemudian akan langsung ditampilkan menggunakan perulangan for sebanyak N. Didalam perulangan ini terdapat penampilan isi nilai di dalam elemen dengan variabel nilai[i]. Dan akan menampilkan juga lokasi memori yang digunakan dengan variabel trnilai[i]. Dapat terlihat pada percobaan satu dan ke dua, nilai yang dimasukan berbeda, akan tetapi alamat lokasi penyimpanan memori tetap sama, jika bertambah maka alamat memori berbeda juga. 

Studi Kasus Latihan 7.1 (Struktur Data - Modul 7)

Dengan memasukan nilai integer sebanyak 5 nilai dan melalui variabel pointer. Bagaimana agar dapat mengetahui elemen tersebut akan menempati lokasi memori berapa program berjalan secara statis hanya sebanyak 5 buah nilai integer.

Source Code:

Hasil Running:

Penjelasan:

Studi Kasus Praktikum 7.3 (Struktur Data - Modul 7)

Source Code:

Hasil Running:

Penjelasan:

Studi Kasus Praktikum 7.2 (Struktur Data - Modul 7)

Terdapat sebuah array yang memiliki hanya satu elemen yaitu 5 dan tempatkan pada indeks ke 0 dalam array, sementara alamat indeks selebihnya bernilai 0. Buatlah program yang dapat mengisi indeks yang lain melalui nilai elemen indeks ke 0 (contoh penyelesaian kasus diatas pada program dibawah ini adalah statis).

Source Code:

Hasil Running:

Penjelasan:
Program ini terdapat 3 variabel yaitu p = x yaitu 5, variabel k digunakan untuk perulangan, variabel array x, dan terdapat fungsi pointer. Array tersebut memiliki 5 elemen, akan tetapi didalam elemen tersebut belum terdapat nilai. Untuk memasukan nilai pada elemen array akan menggunakan fungsi pointer. Pada elemen pertama x[0] angka diisi dengan nilai 5 dengan penulisan x[0] = 5. Untuk elemen kedua diisi dengan elemen yang pertama yaitu nilai 5 dengan persamaan nilai x[1] = x[0]. Untuk elemen ke tiga x[1] akan dilakukan fungsi pointer dengan penulisan *p + 2, yang artinya menunjukkan nilai di p yaitu 5 dan ditambah 2 hasilnya 7. Untuk elemen ke empat x[3] dilakukan fungsi pointer *(p + 1) - 3 yang artinya *(p + 1) menunjukan indeks ke 1 yaitu x[5] dengan nilai 5 kemudian dikurangi 3 hasilnya 3. Dan untuk elemen ke lima x[4] akan diisi nilai dengan penulisan pointer *(x + 2) yang artinya menunjukan indeks ke dua x[2] hasilnya adalah 7. Pada penujukan indeks didalam kurung nilai awal variabel adalah 0

Studi Kasus Praktikum 7.1 (Struktur Data - Modul 7)

Buatlah program yang memindahkan isi variabel awal menuju ke variabel tujuan yang ditunjuk serta menampilkan alamat alokasi memori sebelum dipindahkan ke variabel tujuan.

Source Code:

Hasil Running:

Penjelasan:

Studi Kasus Post Test 6.1 (Struktur Data - Modul 6)

Setiap mahasiswa memiliki identitas sebagai mahasiswa. Buatlah program yang dapat menghasilkan keluaran identitas mahasiswa dengan lengkap, menggunakan array dalam struktur.
Source Code:

Studi Kasus Latihan 6.1 (Struktur Data - Modul 6)

Source Code:

Hasil Running:

Penjelasan:
Program ini digunakan untuk menginput data pribadi lalu mencetak hasil inputan pada layar, pada method main() terdapat sctruct mahasiswa untuk menyimpan data mahasiswa beserta type datanya. Lalu akan ada form untuk menginput data pada keyboard sesuai dengan field yang tersedia lalu akan disimpan kedalam struct mahasiswa dan menampilkannya kembali kedalam layar.

Studi Kasus Praktikum 6.2 (Struktur Data - Modul 6)

Source Code:

Hasil Running:

Penjelasan:
Program ini digunakan untuk melakukan proses input nama dan tanggal lahir dimana pada method main() terdapat struct data_tanggal untuk menyimpan tanggal, bulan dan tahun lalu pada stcruct data_rekan terdapat nama dan pemanggilan struct data_tanggal.
Lalu terdapat fungsi puts untuk form isi data rekan, setelah dilakukan pengisian akan ada option value untuk melanjutkan isi data atau tidak jika pilih "Y" maka akan menjalankan fungsi puts dan melakukan pengisian kembali tetapi jika memilih "T" maka akan mencetak nama dan tanggal lahir yang sudah dimasukan.

Studi Kasus Praktikum 6.1 (Struktur Data - Modul 6)

Source Code:

Hasil Running:

Penjelasan:
Program ini digunakan untuk menginput judul film favorit dan film yang sudah ada dalam source program lalu ditampilkan hasilnya. Cara kerja program ini adalah dengan menggunakan struct pada movies_t untuk mendeklarasikan type data yaitu char untuk nama dan int untuk tahun rilis dengan struct mine & years, pada method main() akan dilakukan proses copy dengan strcpy untuk judul film dan judul lalu disimpan kedalam struct. Dan akan ditampilkan secara bersamaan film yang tersedia didalam struct dan yang diinputkan bersama dengan tahun rilisnya.

Studi Kasus Post Test 5.1 (Struktur Data - Modul 5)

Mahasiswa pada suatu perguruan tinggi mendapat 4 matakuliah disetiap semesternya, dan pihak kampus ingin mendata hasil studi kelas terdiri dari 1500 mahasiswanya.

Source Code:

Hasil Running:

Penjelasan:

Studi Kasus Latihan 5.1 (Struktur Data - Modul 5)

Pada suatu daerah memiliki perubahan suhu udara yang fluktuatif pengukuran dilakukan setiap satu jam dan akan mendapatkan suhu rata-rata di hari tersebut. Selasaikan kasus tersebut dengan menggunakan struktur.

Source Code:


Hasil Running:

Penjelasan:

Studi Kasus Praktikum 5.3 (Struktur Data - Modul 5)

Sebuah titik pada bidang datar mempunyai koordinat x dan y. Kedua koordinat dijadikan field dari structure. Misal kedua titik adalah a yang berkoordinat di x1, y1 dan b yang berkoordinat di x2, y2 dengan demikian kita dapat menghitung jarak antara kedua titik tersebut dengan melalui koordinat yang tertera pada setiap titik. Adapun rumus mencari jarak titik koordinat √(x1 - x2)2 + (y1 - y2)2

Source Code:

Hasil Running:

Penjelasan:

Studi Kasus Praktikum 5.2 (Struktur Data - Modul 5)

Buatlah program dengan menggunakan struktur tentang biaya kuliah mahasiswa dengan ketentuan sebagai berikut:
1.  D3
     SPP Tetap = Rp. 500
     SPP Variabel = Rp. 250/sks
2. S1
    SPP Tetap = Rp. 750
    SPP Variabel = Rp. 500/sks

Source Code:

Hasil Runing:

Penjelasan:
Program ini digunakan untuk melakukan proses perhitungan biaya kuliah perSPP dan SKS, sebelum melakukan perhitungan kita melakukan penginputan data pribadi terlebih dahulu yang terdapat pada method main(). Lalu terdapat biaya tetap = 500; dan var  yaitu jumlah sks dikalikan 250;.
Program perhitungan ini dilakukan sesuai kategori program studi D3 / S1 jika D3 maka jumlah sks dikalikan 250 dan jika S1 makan jumlah sks dikalikan 500.

Studi Kasus Praktikum 5.1 (Struktur Data - Modul 5)

Buatlah program pengisian data pribadi seseorang beserta dengan identitas yang melekat pada pribadi tersebut dengan menggunakan fungsi struktur dalam pemrograman C/C++.

Source Code:

Hasil Running:

Penjelesan:
Program ini berfungsi untuk melakukan pengisian data pribadi yaitu Nama, Alamat, Nomor HP, Nama ibu kandung, Pekerjaan Ayah dan Pendidikan terakhir yang di simpan didalam variabel array untuk huruf menggunakan type data char dan angka menggukanan float.
Setelah melakukan input data sesuai kategori data akan disimpan pada struct mahasiswa dan ditampilkan kembali sesuai yang diinputkan sebelumnya.

Studi Kasus Latihan 3.3 (Struktur Data - Modul 3)

Dalam perhitungan matematika dikenal perpangkatan dengan menentukan bilangan dasar yang akan dipangkatkan dan menentukan pangkat yang akan diterapkan pada bilangan dasar tersebut. Bagaimana perhitungan matematika tersebut jika dibuat kedalam sebuah program yang dapat menampilkan deret nilai yang dipangkatkan tersebut. Contoh 94 => 9 81.

Source Code:


Hasil Running:

Penjelasan:
Program ini digunakan untuk menampilkan hasil perpangkatan dengan cara menginputkan nilai dan pangkat yang digunakan. Kemudian akan dilakukan proses rekrusif dan hasilnya akan disimpan didalam array lalu dicetak dilayar.
Proses yang diigunakan yaitu melakukan perulangan untuk menyimpan deret pangkat lalu dilakukan proses penyimpanan jumlahnya yaitu jml[i]=pangkat(x, y-1) lalu menampilkan hasilnya dilayar.
Untuk proses rekrusifnya yaitu dilakukan pengecekan nilai pangkat yang diinput y==0 yaitu apabila nilai pangkat yang diinput 0 maka hanya dilakukan pemanggilan 1 kali, jika nilai pangkat !=0 atau else maka fungsi rekrusif yaitu x*pangkat(x, y-1) akan dilakukan. Dan untuk menampilkan hasilnya akan dilakukan proses perulangan jumlah untuk menampilkan hasil dari nilai pangkat.

Studi Kasus Latihan 3.2 (Struktur Data - Modul 3)

Deret fibonaci adalah deret unik dapat dirumuskan dalam rumus matematika sederhana bagaimana membuat menampilkan deret fibonacci dengan memberikan batasan akhir dari sebuah angka fibonacci dengan menggunakan statement #defne variabel.

Source Code:


Hasil Running:

Penjelasan:
Program ini digunakan untuk menghitung angka fibonaci  dengan nilai inputan nilai fibo[10] atau 10 nilai array dengan type long.
Kemudian didefinikan dua nilai fibo dan dilakukan perulangan untuk melakukan proses perhitungan nilai fibo. Perulangan pertama digunakan untuk proses perhitungan dan yang keduan untuk menampilkan hasil perulangan lalu mencetak hasilnya.

Studi Kasus Latihan 3.1 (Struktur Data - Modul 3)

Program berikut ini berfungsi untuk membalikan urutan deret bilangan yang diinput menggunakan fungsi rekursif.
Contoh : 123456789 ==> 987654321
Perhatikan fungsi membandingkan bilangan sebelum dan berikutnya.


Source Code:

Hasil Running:

Penjelasan:
Program ini digunakan untuk melakukan pembalikan angka yang diinputkan pada saat pertama, program ini dijalankan dengan menggunakan perintah gets() untuk memasukan nilai kedalam array bil kemudian nilai bil akan dipindahkan menggunakan fungsi strlen pada bil.
Fungsi strlen ini bertujuan mengetahui panjang string dari nilai yang dimasukan. Kemudian dilakukan perulangan pada fungsi parameter untuk dilakukan perhitungan mundur (i--) sebanyak nilai strlen atau inputan yang dilakukan diawal.

Studi Kasus Latihan 2.2 (Struktur Data - Modul 2)

  No
Harga BMM
        Jarak
           Tarif
1
Rp. 6.700
800 Km
Rp. 6.700.000
2
Rp. 6.700
600 Km
Rp. 5.900.000
3
Rp. 6.700
400 Km
Rp. 5.000.000
4
Rp. 6.700
200 Km
Rp. 4.700.000

Tabel diatas menujukan biaya pengiriman barang dengan menggunakan kendaraan truk dengan asumsi bahwa konsumsi BBM kendaraan 1:3 berapakah rasio BBM terhadap tarif tersebut dalam prosentase (%) yang diinput jarak dan tarif Lengkapilah program dibawah ini untuk menyelesaikan studi kasus diatas.

Source Code:

Hasil Running:

Penjelasan:
Program ini menghitung biaya pengiriman barang dengan menggunakan truk. Jaraknya, tarif, dan harga BBM telah dicantumkan pada tabel. Maka yang harus dicari adalah prosentasi terhadap tarif dan BBM tersebut.