IndeksBSI-PCCalendarFAQPencarianAnggotaGroupPendaftaranLogin

Share | 
 

 Algoritma Penanggalan

Topik sebelumnya Topik selanjutnya Go down 
PengirimMessage
agoenxz21
Moderator
Moderator


Male
Jumlah posting : 88
Age : 27
Lokasi : Pontianak
Registration date : 11.12.08

PostSubyek: Algoritma Penanggalan   2009-04-23, 22:18

Berikut contoh Algoritma Penentu Bintang Zodiac berdasarkan tanggal yang dimasukkan.

Algoritma dibuat dalam bentuk fungsi :
bernama Zodiac
parameter masukannya adalah tanggal
nilai keluarannya adalah:
( 1 ) untuk Aquarius
( 2 ) untuk Pisces
( 3 ) untuk Aries
( 4 ) untuk Taurus
( 5 ) untuk Gemini
( 6 ) untuk Cancer
( 7 ) untuk Leo
( 8 ) untuk Virgo
( 9 ) untuk Libra
( 10 ) untuk Scorpio
( 11 ) untuk Sagitarius
( 12 ) untuk Capicorn

Gunakan perintah pengendali IF atau select case
Apabila tanggal masukan antara:
20 Januari sampai 17 Februari maka Zodiac = 1 'aquarius
18 Februari sampai 19 Maret maka Zodiac = 2 'pisces
20 Maret sampai 19 April Maka Zodiac = 3 'aries
20 April sampai 19 Mei maka Zodiac = 4 'taurus
20 Mei sampai 20 Juni Maka Zodiac = 5 'gemini
21 Juni sampai 21 Juli maka Zodiac = 6 'cancer
22 Juli sampai 22 Agustus maka Zodiac = 7 'Leo
23 Agustus sampai 21 September maka Zodiac = 8 'Virgo
22 September sampai 22 Oktober maka Zodiac = 9 'libra
23 Oktober Sampai 21 November maka Zodiac = 10 'scorpio
22 November sampai 21 Agustus maka Zodiac = 11 'Sagitarius
Selain tanggal tsb maka Zodiac = 12 'capicorn

Code:

Function Zodiac(ByVal tanggal As Date) As Byte
    Dim bln As Integer
    Dim tgl As Integer
   
    bln = Month(tanggal)
    tgl = Day(tanggal)
   
    If (bln = 1 And tgl >= 20) Or (bln = 2 And tgl <= 17) Then
        Zodiac = 1
    ElseIf (bln = 2 And tgl >= 18) Or (bln = 3 And tgl <= 19) Then
        Zodiac = 2
    ElseIf (bln = 3 And tgl >= 20) Or (bln = 4 And tgl <= 19) Then
        Zodiac = 3
    ElseIf (bln = 4 And tgl >= 20) Or (bln = 5 And tgl <= 19) Then
        Zodiac = 4
    ElseIf (bln = 5 And tgl >= 20) Or (bln = 6 And tgl <= 20) Then
        Zodiac = 5
    ElseIf (bln = 6 And tgl >= 21) Or (bln = 7 And tgl <= 21) Then
        Zodiac = 6
    ElseIf (bln = 7 And tgl >= 22) Or (bln = 8 And tgl <= 22) Then
        Zodiac = 7
    ElseIf (bln = 8 And tgl >= 23) Or (bln = 9 And tgl <= 21) Then
        Zodiac = 8
    ElseIf (bln = 9 And tgl >= 22) Or (bln = 10 And tgl <= 22) Then
        Zodiac = 9
    ElseIf (bln = 10 And tgl >= 23) Or (bln = 11 And tgl <= 21) Then
        Zodiac = 10
    ElseIf (bln = 11 And tgl >= 22) Or (bln = 12 And tgl <= 21) Then
        Zodiac = 11
    Else
        Zodiac = 12
    End If
End Function

atau kalau mau pake yang Select Case

Code:
Private Function Zodiax(ByVal tanggal As Date) As Byte
    Dim yr As Integer
   
    yr = Year(tanggal)
   
    Select Case tanggal
        Case CDate(yr & "-01-20") To CDate(yr & "-02-17"): Zodiax = 1
        Case CDate(yr & "-02-18") To CDate(yr & "-03-19"): Zodiax = 2
        Case CDate(yr & "-03-20") To CDate(yr & "-04-19"): Zodiax = 3
        Case CDate(yr & "-04-20") To CDate(yr & "-05-19"): Zodiax = 4
        Case CDate(yr & "-05-20") To CDate(yr & "-06-20"): Zodiax = 5
        Case CDate(yr & "-06-21") To CDate(yr & "-07-21"): Zodiax = 6
        Case CDate(yr & "-07-22") To CDate(yr & "-08-22"): Zodiax = 7
        Case CDate(yr & "-08-23") To CDate(yr & "-09-21"): Zodiax = 8
        Case CDate(yr & "-09-22") To CDate(yr & "-10-22"): Zodiax = 9
        Case CDate(yr & "-10-23") To CDate(yr & "-11-21"): Zodiax = 10
        Case CDate(yr & "-11-22") To CDate(yr & "-12-21"): Zodiax = 11
        Case Else: Zodiax = 12
    End Select
End Function

Contoh Cara pemakaiannya fungsinya:

Dim zod
dim index as Byte

Zod = Array("", "Aquarius", "Pisces", "Aries", "Taurus", "Gemini", "Cancer", _
"Leo", "Virgo", "Libra", "Scorpio", "Sagitarius", "Capicorn")

index = Zodiac(cdate("2009/04/30"))
text1.text = Zod(index)


Atau ada algoritma yang paling simple??? Silahkan posting. Berbagi disini. smoking
Kembali Ke Atas Go down
Lihat profil user http://aobe.web44.net
agoenxz21
Moderator
Moderator


Male
Jumlah posting : 88
Age : 27
Lokasi : Pontianak
Registration date : 11.12.08

PostSubyek: Mengetahui Nama Hari   2009-04-23, 22:43

Bagaimana algoritma untuk mengetahui nama hari berdasarkan tanggal yang dimasukkan???
Hal yang harus dilakukan :
1. Tentukan tanggal yang akan dijadikan sebagai hari dan tanggal acuan. Misal tanggal 21 April 2009 yaitu hari Selasa
2. Cari selisih tanggal antara tanggal yang akan ingin diketahui nama harinya dengan tanggal acuan yang telah diketahui nama harinya (tanggal pada langkah 1)
3. Hasil dari selisih tanggal (hasil pada langkah ke 2) di modulokan dengan 7 (tujuh). Karena jumlah hari dalam seminggu ada 7, yaitu : Senin, Selasa, Rabu, Kamis, Jumat, Sabtu, dan Minggu
4. Kemudian hasil dari modulo pada langkah ke 3 dibandingkan:
5. Apabila hasil modulo adalah 0 (nol) : maka dipastikan nama hari adalah sama dengan nama hari tanggal acuan yang ditetapkan pada langkah ke 1, yaitu disini adalah hari selasa.
6. Apabia hasil modulo adalah 1 (satu) atau -6 (min enam) : maka dipastikan nama hari adalah sanam dengan satu hari setelah nama hari dari tanggal acuan. Yaitu untuk kasus disini adalah hari Rabu
7. Apabia hasil modulo adalah 2 (dua) atau -5 (min lima) : maka dipastikan nama hari adalah sanam dengan satu hari setelah nama hari dari tanggal acuan. Yaitu untuk kasus disini adalah hari Kamis
8. Apabia hasil modulo adalah 3 (tiga) atau -4 (min empat) : maka dipastikan nama hari adalah sanam dengan satu hari setelah nama hari dari tanggal acuan. Yaitu untuk kasus disini adalah hari Jumat
9. Apabia hasil modulo adalah 4 (empat) atau -3 (min tiga) : maka dipastikan nama hari adalah sanam dengan satu hari setelah nama hari dari tanggal acuan. Yaitu untuk kasus disini adalah hari Sabtu
10. Apabia hasil modulo adalah 5 (lima) atau -2 (min dua) : maka dipastikan nama hari adalah sanam dengan satu hari setelah nama hari dari tanggal acuan. Yaitu untuk kasus disini adalah hari Minggu
11. Apabia hasil modulo adalah 6 (enam) atau -1 (min satu) : maka dipastikan nama hari adalah sanam dengan satu hari setelah nama hari dari tanggal acuan. Yaitu untuk kasus disini adalah hari Senin

Code:
Function namahari(ByVal tanggal As Date) As String
    Dim selisih As Long
   
    selisih = DateDiff("d", CDate("2009-04-21"), tanggal)
    Select Case selisih Mod 7
        Case 0: namahari = "Selasa"
        Case 1, -6: namahari = "Rabu"
        Case 2, -5: namahari = "Kamis"
        Case 3, -4: namahari = "Jumat"
        Case 4, -3: namahari = "Sabtu"
        Case 5, -2: namahari = "Minggu"
        Case Else: namahari = "Senin"
    End Select
End Function
Kembali Ke Atas Go down
Lihat profil user http://aobe.web44.net
agoenxz21
Moderator
Moderator


Male
Jumlah posting : 88
Age : 27
Lokasi : Pontianak
Registration date : 11.12.08

PostSubyek: Re: Algoritma Penanggalan   2009-04-24, 18:47

Contoh Program Untuk Mengetahui Hari dengan susunan combobox yang dibuat secara objek berindeks.

Code:
Option Explicit

Private Sub InitTanggal()
    Dim I%
   
    'Isi combo index 0 dengan angka 1 s/d 31 (untuk tanggal)
    cbo(0).Clear
    For I = 1 To 31
        cbo(0).AddItem I
    Next I
    cbo(0).ListIndex = Day(Now) - 1 'posisikan combo pada daftar angka tanggal termutakhir
   
    'Isi combo index 1 dengan bulan January s/d December (untuk bulan)
    cbo(1).Clear
    For I = 1 To 12
        cbo(1).AddItem MonthName(I)
    Next I
    cbo(1).ListIndex = Month(Now) - 1 'posisikan combo pada daftar angka bulan termutakhir
   
    'Isi combo index 2 dengan angka tahun termutahir s/d 1900 (untuk tahun)
    cbo(2).Clear
    For I = Year(Now) To 1900 Step -1
        cbo(2).AddItem I
    Next I
    cbo(2).ListIndex = 0 'posisikan combo pada daftar angka paling awal (tahun termutahir)
   
End Sub

Private Sub cbo_Click(Index As Integer)
    Dim tgl As Date
    Dim strtgl As String
    Dim NamaHari
   
    'susun combo menjadi tahun-bulan-tanggal
    strtgl = cbo(2).Text & "-" & cbo(1).Text & "-" & cbo(0).Text
    If IsDate(strtgl) Then 'Cek, apakah susunan combo tsb adalah tanggal yang benar? Jika Benar maka
        tgl = CDate(strtgl)
        Label1.ForeColor = vbBlack
        NamaHari = Array("", "Minggu", "Senin", "Selasa", "Rabu", "Kamis", "Jumat", "Sabtu")
        Label1.Caption = NamaHari(Weekday(tgl))
    Else 'Jika susunan combo tsb tanggal yang tidak benar
        Label1.ForeColor = vbRed
        Label1.Caption = "Tanggal Tidak Benar!"
    End If
End Sub

Private Sub Form_Load()
    Call InitTanggal 'panggil prosedur pengisian tanggal pada combo
End Sub

Source Code Dapat Di Download Disini
Kembali Ke Atas Go down
Lihat profil user http://aobe.web44.net
Administrator
Admin
Admin


Male
Jumlah posting : 130
Age : 28
Lokasi : Pontianak Kota Bersinar
Registration date : 07.12.08

PostSubyek: Re: Algoritma Penanggalan   2009-04-24, 19:57

Algoritma Mengetahui Nama Weton (Nama hari penanggalan Jawa) Atau nama pasaran.

Weton merupakan gabungan dari tujuh hari dalam seminggu (Senin, Selasa, dll.) dengan lima hari pasaran Jawa (Legi, Pahing, Pon, Wage, Kliwon). Perputaran ini berulang setiap 35 (7 x 5) hari, sehingga menurut perhitungan Jawa hari kelahiran anda berulang setiap lima minggu dimulai dari hari kelahiran anda.

Untuk membuat Algoritma dalam bahasa pemrograman yaitu sebagai berikut langkah-langkahnya

Hal yang harus dilakukan :
1. Tentukan tanggal yang akan dijadikan sebagai hari dan tanggal acuan. Misal tanggal 1 April 2009 yaitu hari Rabu Wage
2. Cari selisih tanggal antara tanggal yang akan ingin diketahui nama harinya dengan tanggal acuan yang telah diketahui nama harinya (tanggal pada langkah 1)
3. Hasil dari selisih tanggal (hasil pada langkah ke 2) di modulokan dengan 5(lima). Karena jumlah hari weton dalam seminggu ada 5, yaitu : Legi, Pahing, Pon, Wage dan Kliwon maka, untuk kasus disini karena yang menjadi tanggal acuan yaitu tanggal 1 April 2009 hari Rabu WAGE, maka nama hari akan dimulai dari Wage, Kliwon, Legi Pahing, baru Pon. Seperti berikut:

-. Apabila hasil modulo = 0 maka hari : Wage
-. Apabila hasil modulo = 1 atau modulo = -4 maka hari : Kliwon
-. Apabila hasil modulo = 2 atau modulo = -3 maka hari : Legi
-. Apabila hasil modulo = 3 atau modulo = -2 maka hari : Pahing
-. Apabila hasil modulo = 4 atau modulo = -1 maka hari : Pon

Source Code dalam Bahasa BASIC

Code:
Function Weton(ByVal tanggal As Date) As String
    Dim selisih As Long
    Dim hasilModulo As Integer

    selisih = DateDiff("d", CDate("2009-04-1"), tanggal)
    hasilModulo = selisih Mod 5

    Select Case hasilModulo
        Case 0: Weton = "Wage"
        Case 1, -4: Weton = "Kliwon"
        Case 2, -3: Weton = "Legi"
        Case 3, -2: Weton = "Pahing"
        Case Else: Weton = "Pon"
    End Select
End Function

Cara menggunakannya, Misal pada Form_Load

Code:
Msgbox "Weton Hari ini adalah : " & Weton(now())

Semoga berguna. Smile
Mungkin ada Algoritma yang lain?? Silahkan posting. Smile

Selamat Mencoba...
Memperhatikan
Kembali Ke Atas Go down
Lihat profil user http://bsi-ptk.forumotion.com
Sponsored content




PostSubyek: Re: Algoritma Penanggalan   Today at 14:43

Kembali Ke Atas Go down
 
Algoritma Penanggalan
Topik sebelumnya Topik selanjutnya Kembali Ke Atas 
Halaman 1 dari 1

Permissions in this forum:Anda tidak dapat menjawab topik
 :: Programming :: Pemrograman Visual :: Visual Basic-
Navigasi: