Menghitung Nilai Akhir Dengan PowerBASIC (2)

first of all lets thank to allah the almighty who has been giving us mercy and blessing so we can make this program without any obstacles.

secondly may sholawat and salam to our prophet muhammad saw, which has brought us from the days of ignorance until the time of the bright as it is now.

sudah tidak terasa perkuliahan di semester 2 akan segera berakhir, di kesempatan ini kamu telah membuat program individu tentang perhitungan terakhir dari mata kuliah pemrograman komputer. berikut ini adalah batasan-batasan dari program yang kami buat:

1. Nilai Akhir = 30% Nilai Quiz + 40% Nilai Tugas + 30% Nilai UAS

2. Nilai Tugas (8x), Nilai Quiz (2x), Nilai UAS (1x)

3. Konversi Nilai Akhir dengan Predikat A-E (range tertera pada coding)

4. Ada prasyarat kehadiran minimal 13x untuk menampilkan nilai akhir

program berikut dibuat oleh LUQMAN BAIHAQI

program dapat diunduh disini

berikut tampilan dan koding dari program yang sudah dibuat1

2

3

4

5

6

7

8

9

 

Bahasa Assembly

Bahasa Assembly (bahasa rakitan) adalah bahasa pemrograman terendah kedua setelah bahasa mesin yang digunakan dalam pemrograman komputer. Bahasa assembly kadang disebut juga sebagai bahasa simbol dari bahasa mesin, karena setiap kode dalam bahasa mesin memiliki simbol sendiri (disebut mnemonic) dalam bahasa assembly.

Bahasa assembly diciptakan karena bahasa mesin memiliki kelemahan, yaitu:

1. Terlalu lama dalam penulisan, karena masih menggunakan angka biner (10000101111) sehingga sulit dimengerti oleh manusia.

2. Hanya bisa dibaca oleh komputer, dan tidak bisa dikoreksi.

Maka dari itu, diciptakanlah bahasa assembly untuk mempermudah dan mempercepat manusia dalam menulis program.

Bahasa assembly menggunakan frasa-frasa yang mudah, misalnya MOVE untuk memindahkan isi data, ADD untuk penjumlahan, MUL untuk perkalian, SUB untuk pengurangan, dan lain-lain. Hal tersebut membuat kode mudah dibaca dan diubah oleh programmer lain dibandingkan dengan bahasa mesin. Namun, tetap saja pada akhirnya penggunaan bahasa assembly dirasa belum sempurna karena selain sulit untuk diimplementasikan, ternyata bahasa ini juga sulit jika sang programer ingin mengembangkan program buatannya.

Seperti dijelaskan sebelumnya bahwa bahasa Assembly menggunakan simbol (mnemonic) sebagai pengganti bagi instruksi bahasa Mesin, sehingga program yang ditulis dalam bahasa Assembly tidak dapat secara langsung dieksekusi oleh CPU. Dalam hal ini, berperanlah Assembler sebagai penerjemah mnemonic tersebut menjadi bahasa mesin yang dapat dibaca CPU. Untuk melakukan assembler dapat menggunakan program DEBUG.EXE maupun beberapa aplikasi compiler seperti TASM, MASM, NASM, FASM, emulator8086.

Adapun bahasa assembly memiliki kelemahan juga, diantaranya:

1. Lebih memakan banyak memori/disk dari bahasa mesin

2. Tidak bisa ditransfer ke komputer lain. Karena 1 CPU memiliki 1 bahasa assembly sendiri, sehingga jika dipindah ke komputer lain harus ditulis ulang atau disesuaikan lebih jauh.

3. Rumit dan time-consuming.

4. Tidak dapat mengakses semua bagian komputer

5. Jika dibandingkan oleh bahasa pemrograman tingkat menengah dan tinggi sudah jelas bahasa assembly tertinggal jauh.

Karena kekurangan tersebut, terciptalah the portable assemblers yaitu COBOL dan FORTRAN.

Lalu mengapa kita harus belajar bahasa assembly yang kiranya tidak relevan lagi? Karena ada juga kelebihan bahasa assembly dibandingkan dengan bahasa tingkat tinggi yang sering dipakai saat ini.

1. Program yang ditulis dengan assembly akan lebih cepat dan lebih kecil ukurannya, dibandingkan dengan kode yang dihasilkan dengan menggunakan compiler.

2. Assembly memungkinkan akses langsung ke fasilitas sistem hardware yang mungkin tidak dapat dilakukan dengan menggunakan bahasa tingkat tinggi (membaca/menulis data langsung ke sector, memformat harddisk).

3. Mempelajari assembly akan membantu pengertian yang lebih mendalam bagaimana komputer bekerja.

4. Mempelajari pemrograman assembly akan membantu pengertian yang lebih baik tentang bagaimana compiler dan bahasa tingkat tinggi seperti C bekerja.

5. Dengan mengerti bahasa Assembly anda dapat melakukan proses disassembly untuk menganalisa program tertentu.

>>>> CONTOH PENGGUNAAN BAHASA ASSEMBLY <<<<

Untuk memahami cara kerja bahasa Assembly, Berikut ini akan dijelaskan tahapan-tahapan bagaimana sebuah huruf “A” bisa tampil di layar monitor menggunakan bahasa Assembly :

1. Microprocessor mengisi register di internal mikroprosesor dengan kode ascii “A”, yaitu 41h.
2. Microprocessor mengirim sinyal interrupt 21h. Akibatnya interupsi 21h dijalankan. Yaitu mengirimkan “A” ke monitor.
3. Microprocessor mengirimkan sinyal interupt 20h tanda sudah selesai.

Lalu, langsung saja ke contoh programnya untuk menulis “A” pada layar:

.model small 
.code 
org 100h  
mulai:
   mov ah,02h    
   mov dl,41h    
   int 21h    
   int 20h 
end mulai

Tulis kode di atas menggunakan notepad kemudian simpan dengan ekstensi *.asm misalnya saja kita beri nama hurufA.asm. Untuk memudahkan proses kompilasi, simpan di “C:\ASM\” . Taruh juga file tasm.exe dan tlink.exe di folder tersebut untuk mengkompilasi dan menjalankan program yang telah dibuat tadi.

(Catatan: Turbo Assembler (tasm) hanya dapat berjalan di sistem operasi 32 bit)

Setelah file hurufA.asm disimpan, bukalah CMD dan masukkan perintah berikut ini :

cd\
cd asm
tasm hurufa
tlink /t hurufa

Maka, kurang lebih hasilnya seperti ini:

http://i2.wp.com/gallery.pramudito.com/Foto/Pemograman/Assembly/1/hurufa.jpg?w=620

Jika tidak muncul error atau Error: None berarti program telah berjalan dengan semestinya dan akan menampilkan sebuah huruf “A”. Bagaimana? Panjang kan, jika dibandingkan dengan bahasa BASIC? 🙂

Source:

http://taqiyyuddinalawiy.com/wp-content/uploads/2013/03/pengenalan-bahasa-assembly.pdf

Mengenal Apa itu Assembly?

Sejarah dan Perkembangan bahasa pemograman

Menghitung Nilai Akhir dengan PowerBASIC

Tak terasa pembelajaran di Semester 2 sudah hampir berakhir. Sudah ada kurang lebih 8 Program yang kami buat menggunakan PowerBASIC ini. Maka dari itu, sebagai penutup dari Semester 2 ini kami bermaksud membuat aplikasi untuk menghitung nilai akhir yang tertera di KHS. Adapun aplikasi tersebut kami buat menggunakan perintah-perintah dan tutorial yang telah kami tampilkan sebelumnya di blog ini. Namun, tetap akan kami tampilkan codingan nya seperti biasa. Akan tetapi, dalam aplikasi ini kami memiliki beberapa batasan-batasan diantaranya:

1. Nilai Akhir = 30% Nilai Quiz + 40% Nilai Tugas + 30% Nilai UAS

2. Nilai Tugas (8x), Nilai Quiz (2x), Nilai UAS (1x)

3. Konversi Nilai Akhir dengan Predikat A-E (range tertera pada coding)

4. Ada prasyarat kehadiran minimal 13x untuk menampilkan nilai akhir.

Untuk aplikasi “Menghitung Nilai Akhir” ini kami tidak lagi mengerjakan nya secara berkelompok, tetapi secara individu. Jadi akan terdapat 3 aplikasi/program pada posting kali ini, sesuai dengan jumlah anggota kelompok ini. Dan berikut ini adalah aplikasinya:

1. Owner: Putri Rahayu

Aplikasi buatan Putri Rahayu dapat diunduh disini

Langsung saja, untuk tampilan interface aplikasinya:

Interface1 interface2 interface3 interface4

Sementara untuk tampilan codingnya adalah sebagai berikut:

coding1 coding2 coding3 coding4 coding5

Berdasarkan codingan di atas, dapat kita lihat bahwa aplikasi tersebut ditulis menggunakan perintah-perintah dan kontrol pemrograman yang sudah dijelaskan di blog ini pada postingan sebelumnya, seperti: ARRAY, SELECTCASE, dan FOR…NEXT.

PowerBASIC – Menghitung Free Vibration Without Damping

Pada kesempatan kali ini, kami kembali membuat aplikasi berbasis Teknik Mesin melanjutkan getaran mekanis pada posting sebelumnya.

Untuk aplikasi kali ini adalah tentang Free Vibration Without Damping, yang terdiri dari menghitung:

1. Kecepatan Angular Natural

2. Frekuensi

3. Periode

Lebih jelasnya, dapat melihat codingan program kami di bawah ini:

1 2 3 4 5

 

Perintah penggunaannya, masih sama dengan aplikasi-aplikasi sebelumnya. Sementara untuk tampilan awal program kami seperti ini

6

 

Dan aplikasi kami ini dapat diunduh disini: vibrasi

PowerBASIC – Menghitung Gerak Rotasi dan Translasi

Pada postingan kali ini (dan kemudian posting-posting berikutnya) kami akan menjelaskan mengenai penerapan Pemrograman Komputer pada dunia Teknik Mesin, yaitu dengan cara membuat aplikasi-aplikasi yang mendukung pekerjaan pada Teknik Mesin.

Untuk saat ini, kami membuat program mengenai Getaran Mekanis, yang terdiri dari:

1. Translational Motion / Gerak Translasi

a) Gaya pada Spring (pegas) dengan rumus F = k (x-u)

b) Hukum Massa (Newton II) dengan rumus F = mx

c) Damper (peredam) dengan rumus F = c (x u)

 

2. Rotational Motion / Gerak Rotasi

a) Gaya pada Spring (pegas) dengan rumus M = kr(α1 − α2)

b) Hukum Massa dengan rumus M = Iα

c) Damper (peredam) dengan rumus M = Cr(α¨ 1 − α˙ 2)

 

Dan aplikasi yang kami buat dapat diunduh disini

Agar mempermudah, langsung kita lihat codingan nya saja:

1 2 3 4 5 6 7fix 7 9 10

 

Untuk instruksi yang digunakan masih sama dengan posting-posting sebelumnya, jadi silahkan membaca postingan sebelum ini 🙂

 

Hasil program kami kira-kira seperti ini jika dijalankan:

11 12 13

PowerBASIC – Penerapan SubProgram

Dalam membuat coding suatu program/aplikasi, kita haruslah mengantisipasi terjadinya spaghetti coding pada program yang kita buat. Maka dari itu, kali ini kami akan membahas tentang bagaimana tata cara menyusun coding program yang baik dan benar.

Untuk metodenya sendiri ada tiga jenis, yaitu:

1. Sequential Instruction

2. Making Decision

3. Looping

Metode tersebut seperti tersusun dalam suatu hierarki, yang artinya pertama-tama kita dianjurkan untuk mengcoding dengan metode pertama. Lalu, apabila kiranya metode pertama dirasa tidak lagi efektif (muncul percabangan jawaban, coding menjadi ruwet, dsb.) barulah kita menggunakan metode kedua dan setelah itu metode ketiga.

Selain itu, cara untuk menghindari terjadinya spaghetti coding, kita juga dapat menerapkan Sub-Program. Sub-Program adalah suatu program bagian dengan blok terpisah di dalam program utama, dan akan dipanggil pada program utama jika Sub-Program itu diperlukan untuk dijalankan.

Agar lebih mempermudah pengertian pembaca, kami membuat program (Menghitung GLB dan GLBB) yang mencakup keempat aspek di atas. Program tersebut dapat diunduh disini

Penjelasan mendetail tentang program tersebut dapat dilihat melalui codingnya:

1 2 3 4

Keterangan gambar:

Pada printscreen di atas terdapat beberapa instruksi atau perintah yang belum pernah digunakan di program sebelumnya, diantaranya:

1. cls = clear screen, fungsinya adalah untuk menghapus semua output yang telah ditampilkan sebelumnya.

2. TAB (n) = tabulasi, fungsinya sama seperti TAB pada Ms. Word yaitu untuk memberikan jarak pada sumbu x. Sementara (n) menunjukkan berapa jumlah spasi yang diinginkan.

3. Color x, y, z = pewarnaan, fungsinya untuk memberikan warna pada tulisan (x), background (y), dan kursor (z)

4. Lambang % di belakang variabel, fungsinya adalah untuk mendeklarasikan variabel sebagai tipe data integer.

Untuk instruksi lainnya sudah pernah di bahas di posting-posting sebelum ini.

Kemudian, untuk penerapan keempat aspek yang dijelaskan sebelumnya dalam program kami akan dibahas lebih detail lagi di bawah ini:

1. Sequential Instruction

5

Pengertian Sequential Instruction adalah penyusunan coding secara berurutan (tidak ada yang melompat dan tidak ada percabangan). Contohnya adalah pada tampilan coding di atas.

2. Making Decision

6

Pengertian dari Making Decision adalah cara pengcodingan dengan menggunakan percabangan atau kontrol keputusan (IF… THEN, IF… THEN… ELSE, SELECT… CASE). Biasanya digunakan apabila kemungkinan jawaban/input dari user lebih dari satu. Pada gambar di atas merupakan salah satu contoh pengcodingan menggunakan metode Making Decision.

3. Looping

7

Pengertian dari Looping adalah cara pengcodingan menggunakan sistem pengulangan atau kontrol pengulangan (DO… LOOP, WHILE… WEND, FOR… NEXT). Biasanya metode ini digunakan apabila metode 1 dan 2 sudah tidak efektif untuk digunakan karena kemungkinan input/jawaban dari user sangatlah banyak. Pada gambar di atas merupakan contoh coding menggunakan metode Looping.

4. Penggunaan Sub-Program

9

8

Gambar di atas adalah contoh penggunaan Sub-Program karena perintah pada nomor 35 dipanggil oleh perintah pada nomor 15 dengan kata kunci “GOTO” dan setelah Sub-Program “GLB” (REM merupakan salah satu cara pendeklarasian nama Sub-Program) dijalankan, komputer kembali memanggil perintah pada nomor 29 dengan kata kunci “GOSUB”.

P.S. : Kami juga menyediakan presentasi tentang bahasan ini. Presentasi dapat di unduh disini

Source: http://bayoe.staff.uns.ac.id/files/2009/12/subprogram2.pdf

PowerBASIC – Penggunaan Fungsi Pengulangan FOR…NEXT

Menggunakan kontrol pemrograman pengulangan terdapat dua jenis fungsi yang dapat digunakan, yaitu fungsi DO… LOOP dan fungsi FOR… NEXT. Pada kesempatan kali ini, kelompok kami mencoba membuat program sederhana yang menggunakan fungsi FOR… NEXT. Untuk aplikasi yang kami buat dapat diunduh disini.

Sementara itu, tutorial untuk menjalankan program masih sama seperti aplikasi-aplikasi sebelumnya (silahkan lihat di posting yang lebih lama.)

Fungsi FOR…NEXT sendiri digunakan untuk melakukan pengulangan suatu blok program beberapa kali yang di tentukan nilai awal dan nilai akhirnya (banyak pengulangan sudah pasti). kita tidak perlu menuliskan sebuah kondisi untuk di uji, kita hanya perlu menuliskan nilai awal dan akhir variabel penghitung. Nilai variabel penghitung ini akan secara otomatis bertambah dan berkurang setiap kali sebuah pengulangan (loop) dilaksanakan.

Tutorial penggunaan aplikasi kami, masih sama seperti program-program sebelumnya. Untuk mempermudah berikut  kami tampilkan coding dari program kami:

 coding 1

coding2coding 3

Berdasarkan printscreen coding di atas, kita dapat mengasumsikan bahwa fungsi FOR…NEXT pada PowerBASIC hanya dapat digunakan untuk tipe file angka (integer), ditunjukkan dengan penambahan fungsi VAL pada syntax nya. Dan harus memiliki rentang yang pasti

Untuk cara penulisan syntaxnya sendiri adalah

FOR [counter] = [start] to [stop] STEP [increment]

[statements]

NEXT [counter]

Penjelasan:

[counter] adalah suatu permisalan yang dipakai, biasanya di baris sebelumnya dijelaskan terlebih dahulu seperti pada baris 017

[start] adalah awalan

[stop] adalah akhiran atau angka akhir

[increment] adalah jarak dari satu angka ke angka lainnya

[statements] adalah tempat kita menulis perintah

NEXT adalah fungsi yang menunjukkan perintah itu akan diulang

Untuk perintah lainnya, masih sama dengan aplikasi-aplikasi sebelumnya.

Source: Tutorial PowerBASIC (Help F1)

PowerBASIC – Penggunaan Fungsi SELECT CASE

SELECT CASE  adalah struktur kontrol yang merupakan variasi bentuk dari IF.. THEN.. ELSE. SELECT CASE digunakan untuk mempersingkat coding dan mempermudah pembacaan. Berikut ini merupakan aplikasi baru kami yang menggunakan struktur kontrol SELECT CASE: Ramalan Zodiak

Tutorial penggunaan aplikasi kami, masih sama seperti program-program sebelumnya.

Untuk mempermudah penggunaan kami tampilkan coding dari program kami:

CODI1 CODI2 CODI3

 

Di screen shot tersebut dapat dilihat bahwa fungsi SELECT CASE memiliki sifat yang sama dengan IF THEN hanya saja penulisannya lebih ringkas. Adapaun cara penulisan SELECT CASE adalah sebagai berikut:

SELECT CASE <nama pilihan>

CASE <pilihan 1>

<kode program pilihan 1>

CASE <pilihan 2>

<kode program pilihan 2>

dst.

Untuk instruksi lainnya masih sama dengan aplikasi-aplikasi sebelumnya.

PowerBASIC – Penggunaan Fungsi VAL

Masih terkait dengan penggunaan fungsi VAL, kami mencoba melakukan coding ulang pada program ke-2 kami yaitu “Berapakah Berat Ideal Anda?” dan menambahkan beberapa penggunaan fungsi VAL yang lebih rumit. Untuk programnya dapat diunduh disini dan dijalankan dengan cara yang sama dengan program yang sebelumnya.

Berikut ini kami tampilkan coding dari revisi program kami:

c1 c2

Pada printscreen diatas, terdapat algoritma yang ditandai dengan lingkaran merah. Algoritma tersebut mengandung perintah penggunaan fungsi VAL yang lebih kompleks. Hal tersebut menunjukkan bahwa fungsi VAL dapat dikombinasikan dengan fungsi IF-THEN dan dioperasikan secara matematis untuk mendapatkan variabel baru lagi.